@aztec/accounts 0.65.2 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "transpiled": true,
3
- "noir_version": "1.0.0-beta.0+d9e6d430f90682f49805eba18941129678cf1930-x8664",
3
+ "noir_version": "1.0.0-beta.0+a46035ba69b0a659897fe25271c346e005925a6c-x8664",
4
4
  "name": "EcdsaRAccount",
5
5
  "functions": [
6
6
  {
@@ -103,21 +103,27 @@
103
103
  "visibility": "public"
104
104
  }
105
105
  },
106
- "bytecode": "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",
107
- "debug_symbols": "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",
106
+ "bytecode": "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",
107
+ "debug_symbols": "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",
108
108
  "brillig_names": [
109
109
  "compute_note_hash_and_optionally_a_nullifier"
110
110
  ]
111
111
  },
112
112
  {
113
- "name": "constructor",
113
+ "name": "verify_private_authwit",
114
114
  "is_unconstrained": false,
115
115
  "custom_attributes": [
116
116
  "private",
117
- "initializer"
117
+ "noinitcheck",
118
+ "view"
118
119
  ],
119
120
  "abi": {
120
121
  "error_types": {
122
+ "11091894166229312484": {
123
+ "error_kind": "fmtstring",
124
+ "item_types": [],
125
+ "length": 20
126
+ },
121
127
  "14514982005979867414": {
122
128
  "error_kind": "string",
123
129
  "string": "attempt to bit-shift with overflow"
@@ -126,49 +132,37 @@
126
132
  "error_kind": "string",
127
133
  "string": "Array index out of bounds"
128
134
  },
129
- "17618083556256589634": {
135
+ "1705275289401561847": {
130
136
  "error_kind": "string",
131
- "string": "Initialization hash does not match"
137
+ "string": "Mismatch note header storage slot."
132
138
  },
133
139
  "17843811134343075018": {
134
140
  "error_kind": "string",
135
141
  "string": "Stack too deep"
136
142
  },
137
- "2233873454491509486": {
138
- "error_kind": "string",
139
- "string": "Initializer address is not the contract deployer"
140
- },
141
- "2429784973622283587": {
142
- "error_kind": "string",
143
- "string": "Can only emit a note log for an existing note."
144
- },
145
- "2709101749560550278": {
143
+ "19458536156181958": {
146
144
  "error_kind": "string",
147
- "string": "Cannot serialize point at infinity as bytes."
145
+ "string": "Function verify_private_authwit can only be called statically"
148
146
  },
149
147
  "2920182694213909827": {
150
148
  "error_kind": "string",
151
149
  "string": "attempt to subtract with overflow"
152
150
  },
151
+ "4939791462094160055": {
152
+ "error_kind": "string",
153
+ "string": "Message not authorized by account"
154
+ },
153
155
  "5019202896831570965": {
154
156
  "error_kind": "string",
155
157
  "string": "attempt to add with overflow"
156
158
  },
157
- "6485997221020871071": {
159
+ "6869395374906889440": {
158
160
  "error_kind": "string",
159
- "string": "call to assert_max_bit_size"
161
+ "string": "Mismatch note header contract address."
160
162
  },
161
163
  "7233212735005103307": {
162
164
  "error_kind": "string",
163
165
  "string": "attempt to multiply with overflow"
164
- },
165
- "8193989641828211937": {
166
- "error_kind": "string",
167
- "string": "ciphertext length mismatch"
168
- },
169
- "8270195893599566439": {
170
- "error_kind": "string",
171
- "string": "Invalid public keys hint for address"
172
166
  }
173
167
  },
174
168
  "parameters": [
@@ -633,28 +627,9 @@
633
627
  "visibility": "private"
634
628
  },
635
629
  {
636
- "name": "signing_pub_key_x",
637
- "type": {
638
- "kind": "array",
639
- "length": 32,
640
- "type": {
641
- "kind": "integer",
642
- "sign": "unsigned",
643
- "width": 8
644
- }
645
- },
646
- "visibility": "private"
647
- },
648
- {
649
- "name": "signing_pub_key_y",
630
+ "name": "inner_hash",
650
631
  "type": {
651
- "kind": "array",
652
- "length": 32,
653
- "type": {
654
- "kind": "integer",
655
- "sign": "unsigned",
656
- "width": 8
657
- }
632
+ "kind": "field"
658
633
  },
659
634
  "visibility": "private"
660
635
  }
@@ -961,7 +936,7 @@
961
936
  "name": "private_call_requests",
962
937
  "type": {
963
938
  "kind": "array",
964
- "length": 4,
939
+ "length": 5,
965
940
  "type": {
966
941
  "fields": [
967
942
  {
@@ -1145,7 +1120,7 @@
1145
1120
  }
1146
1121
  ],
1147
1122
  "kind": "struct",
1148
- "path": "authwit::aztec::protocol_types::abis::side_effect::Counted"
1123
+ "path": "authwit::aztec::protocol_types::abis::side_effect::counted::Counted"
1149
1124
  }
1150
1125
  }
1151
1126
  },
@@ -1260,46 +1235,29 @@
1260
1235
  }
1261
1236
  },
1262
1237
  {
1263
- "name": "start_side_effect_counter",
1264
- "type": {
1265
- "kind": "integer",
1266
- "sign": "unsigned",
1267
- "width": 32
1268
- }
1269
- },
1270
- {
1271
- "name": "end_side_effect_counter",
1272
- "type": {
1273
- "kind": "integer",
1274
- "sign": "unsigned",
1275
- "width": 32
1276
- }
1277
- },
1278
- {
1279
- "name": "note_encrypted_logs_hashes",
1238
+ "name": "private_logs",
1280
1239
  "type": {
1281
1240
  "kind": "array",
1282
1241
  "length": 16,
1283
1242
  "type": {
1284
1243
  "fields": [
1285
1244
  {
1286
- "name": "value",
1287
- "type": {
1288
- "kind": "field"
1289
- }
1290
- },
1291
- {
1292
- "name": "counter",
1293
- "type": {
1294
- "kind": "integer",
1295
- "sign": "unsigned",
1296
- "width": 32
1297
- }
1298
- },
1299
- {
1300
- "name": "length",
1245
+ "name": "log",
1301
1246
  "type": {
1302
- "kind": "field"
1247
+ "fields": [
1248
+ {
1249
+ "name": "fields",
1250
+ "type": {
1251
+ "kind": "array",
1252
+ "length": 18,
1253
+ "type": {
1254
+ "kind": "field"
1255
+ }
1256
+ }
1257
+ }
1258
+ ],
1259
+ "kind": "struct",
1260
+ "path": "authwit::aztec::protocol_types::abis::log::Log"
1303
1261
  }
1304
1262
  },
1305
1263
  {
@@ -1309,25 +1267,6 @@
1309
1267
  "sign": "unsigned",
1310
1268
  "width": 32
1311
1269
  }
1312
- }
1313
- ],
1314
- "kind": "struct",
1315
- "path": "authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"
1316
- }
1317
- }
1318
- },
1319
- {
1320
- "name": "encrypted_logs_hashes",
1321
- "type": {
1322
- "kind": "array",
1323
- "length": 4,
1324
- "type": {
1325
- "fields": [
1326
- {
1327
- "name": "value",
1328
- "type": {
1329
- "kind": "field"
1330
- }
1331
1270
  },
1332
1271
  {
1333
1272
  "name": "counter",
@@ -1336,22 +1275,10 @@
1336
1275
  "sign": "unsigned",
1337
1276
  "width": 32
1338
1277
  }
1339
- },
1340
- {
1341
- "name": "length",
1342
- "type": {
1343
- "kind": "field"
1344
- }
1345
- },
1346
- {
1347
- "name": "randomness",
1348
- "type": {
1349
- "kind": "field"
1350
- }
1351
1278
  }
1352
1279
  ],
1353
1280
  "kind": "struct",
1354
- "path": "authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"
1281
+ "path": "authwit::aztec::protocol_types::abis::private_log::PrivateLogData"
1355
1282
  }
1356
1283
  }
1357
1284
  },
@@ -1388,6 +1315,22 @@
1388
1315
  }
1389
1316
  }
1390
1317
  },
1318
+ {
1319
+ "name": "start_side_effect_counter",
1320
+ "type": {
1321
+ "kind": "integer",
1322
+ "sign": "unsigned",
1323
+ "width": 32
1324
+ }
1325
+ },
1326
+ {
1327
+ "name": "end_side_effect_counter",
1328
+ "type": {
1329
+ "kind": "integer",
1330
+ "sign": "unsigned",
1331
+ "width": 32
1332
+ }
1333
+ },
1391
1334
  {
1392
1335
  "name": "historical_header",
1393
1336
  "type": {
@@ -1775,46 +1718,51 @@
1775
1718
  "visibility": "databus"
1776
1719
  }
1777
1720
  },
1778
- "bytecode": "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",
1779
- "debug_symbols": "7P3RcuvKlqVpvktc5wUBOAgwXqWtra26K6stzcoy2yqjr9Ly3Utn70Mu7ZRPQfssyN018cXVijCGNvmPSXGOHxD9f/zb//6f/9/////v/+u//Nf/47/993/79//H//i3//O//X/+t//4L//tv779b//j37btj//bf////W//9R//63//j//t//qPf/v36f64/ad/+8//9X9/++d2u/3P//Rv/8d/+T//87/9+7I//ud/+vDoeV/2fz563u+/Hj2tU+XRyzo9/vnoZX3MB49+zKX889GPed1ej57n2jOZyjw/n3cp069H32sPnubnE5mmbX//4P/nf/q3bQemDuYBTBXMfgOmDmYCpg5mBqYOZgGmDqYAUwezAlMHcwemDsbmG4Cx+QZgbL51MA+bbwDG5huAsfkGYGy+AZgCTB2MzTcAY/MNwNh8AzA23wCMzbcOZrpZfSMydt+IjOU3ImP7jcgUZAIy9t+IjAU4ImMDjshYgSMyduCAzGQHjsjYgSMyduCIjB04IlOQCcjYgSMyduCIjB04ImMHjsjYgQMysx04ImMHjsjYgSMyduCITEEmIGMHjsjYgSMyduCIjB04ImMHDsgsduCIjB04ImMHjsjYgSMyBZmAjB04ImMHjsjYgSMyduCIjB04IFPswBEZO3BExg4ckbEDR2QKMgEZO3BExg4ckbEDR2TswBEZO3BAZrUDR2TswBEZO3BExg4ckSnIBGTswBEZO3BExg4ckbEDR2TswAGZ+/A78D69yDzWIzL7fn8+78dt/T0yw+/A3cgMvwN3I3PCDlymef3no8vbEP56rbf5z/9GafDfOGMvm9cn1/kt4nf/jb3y6K08H7ztvzKYpsefz+fe/PlMv57P/S/PpzIUj/1Jcy635dej/zF7H9nftseL/btnPT3+yX670GvdL/RaH9d5rdvtQq91utBrnS/0WpcLvdZyode6Xui1ZtqbltuzI5dlXj++1kx709FrzbQ3Hb3WTHvTwWvdM+1NR68109509Foz7U1HrzXT3nT0WsuFXmumvenotWbam9aXsizr+nFH3DPtTUevNdPedPRaM+1NB6/1kWlvOnqtmfamo9eaaW86eq2Z9qaj11ou9Foz7U1HrzXT3rSty/O1btvHHfGRaW86eq2Z9qaj15ppb/r8tc63THvT0WvNtDcdvdZMe9PRa820Nx291nKh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KpcLn6/26V7nfLWAi/sZ6lz43TqXgkuVC79b58Lv1rnwu3Uu/G6di323uu86Xy3g4n6GOhd+t86F361zKbhUufC7dS78bp2Lfbe61zlfLeDifoYal7vz1QIu/G6dC79b58Lv1rkUXKpc+N06F/tubd+9O18t4OJ+hjoXfrfKxflqARd+t86F361z4XfrXIq9rrbXOV8t4OJ+hjoXfrfOhd+tc+F3q1ycrxZw4XfrXPjdOhf7bnXfdb5awMX9DHUu/G6dC79b58Lv1rnwu1UuFz5f7XMu/G6di323uu86Xy3gUnCpcuF361z43ToXfrfOhd+tc+F3q1wufL7a51zsu9V91/lqARd+t86l4FLlwu/WufC7dS78bp2Lfbe+v9h3q1ycrxZwcT9DnQu/W+fC79a5FFyqXPjdOhd+t87Fvlvdd52vFnBxP0OVi/PVAi78bp0Lv1vnwu/WuRRcqlz43ToX+25133W+WsCF361z4XerXJyvFnDhd+tc+N06F363zqXgUuVi363uu85XC7jwu3Uu/G6dC79b5XLh89U+58Lv1rnwu3Uu9t3qXud8tYCL+xnqXPjdOhd+t86F361z4XerXC58vtrnXPjdOhf7bnXfdb5awKXgUuXC79a58Lt1LvxunQu/W+fC79a4bM5Xq+51m/PVAi7uZ6hz4XfrXAouVS78bp0Lv1vnwu/WufC7dS723eq+63y1gIv7Gepc+N06F363zqXgUuXC79a58Lt1Lvbd6l7nfLWAi/sZqlycrxZw4XfrXPjdOhd+t86l4FLlwu/Wudh3q/uu89UCLu5nqHPhd6tcnK8WcOF361z43ToXfrfOpdjranud89UCLu5nqHPhd+tc+N06F363ysX5agEXfrfOhd+tc7HvVvdd56sFXNzPUOfC79a58Lt1LvxunQu/W+XifLX6/uJ8tYCLfbfOxf0MdS4FlyoXfrfOhd+tc+F361z43ToX+25133W+WsDF/Qx1Lu5nqHPhd+tcCi5VLvxunQu/W+di363udc5XC7i4n6HKxflqARd+t86F361z4XfrXAouVS78bp2Lfbe67zpfLeDifoY6F363ysX5agEXfrfOhd+tc+F361wKLlUu9t3qvut8tYALv1vnwu/WufC7VS7OVwu48Lt1LvxunQu/W+dS7Lu1fdf5agEXfrfOhd+tc+F361z43RqX/cLnq33Ohd+tc7Hv1va63flqAZeCS5ULv1vnwu/WufC7dS78bp0Lv1vlcuHz1T7nYt+t7rvOVwu4uJ+hzqXgUuXC79a58Lt1LvxunQu/W+fC71a5OF+tvu86Xy3gwu/WufC7dS4FlyoXfrfOhd+tc+F361z43ToX+25133W+WsCF361z4XfrXPjdOpeCS5ULv1vnwu/Wudh3q3ud89UCLu5nqHJxvlrAhd+tc+F361z43TqXgkuVC79b52Lfre67zlcLuLifoc6F361yufD5ap9z4XfrXPjdOhd+t86l2Otqe53z1QIu7meoc+F361z43ToXfrfK5cLnq33Ohd+tc+F361zsu9V91/lqARf3M9S58Lt1LvxunQu/W+fC71a5XPh8tc+52Here53z1QIu7meocym4VLnwu3Uu/G6dC79b58Lv1rnwu1Uuzler77vOVwu4uJ+hzoXfrXMpuFS58Lt1LvxunYt9t76/8Lv1eeF3q1wufL7a51zsu3Uu9t06F363+nnkfLVgXuy7dS723ToX9zPUudh361zsuzUujwufr/bZ5/Tjwuerfc7F/Qx1LvbdOpeCS5WL+xnqXNzPUOdy2X1326cnl+3d035yuey+O6/bk8u8/YXLxwev5fZ8ImuZyweIl12OT4R43ZPbzoR42bX7TIiX3dHPhHjZhf5MiAXE34d42apwJsTL9oozIV62hJwJUWM5AaLG8vsQr3v23pkQNZYTIGosJ0DUWE6AWED8fYgaywkQNZYTIGosJ0DUWE6AqLH8PsTrnp54JkSN5QSIGssJEDWWEyAWEH8fosZyAkSN5QSIGssJEDWWEyBqLL8P8brnX54JUWM5AaK/VK7+BdSFT9b8nEvBpcrFXyrXufjLjepfblz4ZM3PufgmyjoX30RZ5XLhkzU/5+KbeaqfR07WDLjYd+tcCi5VLv5Suf57175b52LfrXOx79a52HerXJysGXDxzTx1Lr6Zp87Fvlvd65ysGXDhd+tcfBNlnYtvoqxz8U2UdS723ern9IVP1vyci323zsW+W+fimyjrXAouVS78bp0Lv1vnwu/Wudh3q/vuhU/W/JSLkzUDLu5nqHNxP0OdC79b51JwqXLhd+tc7LvVvc7JmgEX9zPUufC7VS4XPlnzcy78bp0Lv1vnwu/WuRRcqlzsu9V918maARf3M9S58Lt1Lvxujct0u/DRmgdgGN4ADMUbgLHz1na7NzAFmDoYdzUEYGjeAAzPG4AhegMwTG8dzHWPwjwCw/UGYGy+9c33usdQHoEpwNTB8L0BGMI3AMP4BmAo3wCMzbe+x1z3SMUjMDbfAIzbHAIwnG8ApgBTB8P5BmA43wAM5xuAsfnWN9/rHuN3AOa6R/MdgXG3QwCG8w3AcL4BmAJMHYzNt77HXPdIuiMwNt8AjLsdAjCcbx3MdY94OwLD+QZgON8ADOcbgCk23+rm6zS2CIy7HQIw7nYIwHC+ARjOtw7mwkeyHYCx+db3mAsfynYAxuYbgCnA1MFwvgEYzjcAw/kGYDjfAAznWwdz4cPZPt98L3w62wEYdzsEYNztEIApwNTBcL4BGM43AMP5BmBsvsGCZ/Otg3FMWwSG8w3AcL4BGM43AFOAqYPhfAMwnG8AxuZb33wd1xaBcbdDHYwD2yIwnG8AhvMNwHC+AZhij6nuMRc+te0AjM03AONuhwAM5xuA4XzrYBzdFoHhfAMwnG8AxuZb33wvfHzbARh3OwRg3O0QgOF8AzCcbwCG862CmZzhFoGx+VYXvOnCZ7gdgHG3QwCmAFMHw/kGYDjfAAznG4DhfAMwnG8dzIXPcPt8873wGW4HYNztEIDhfAMwBZg6GM43AMP5BmA43wCMzTdY8Gy+dTDOcIvAcL4BGM43AMP5BmAKMHUwnG8AhvMNwNh865uvM9wiMO52qINxhlsEhvMNwHC+ARjONwBTgKmDsfnWFzxnuEVg3O0QgOF8AzCcbx2MM9wiMJxvAIbzDcBwvgGYYvOtbr7OcIvAuNshAMP5BmA43wAM51sH4wy3CAznG4Cx+dYXPGe4RWAKMHUwnG8AhvMNwHC+ARjONwDD+dbBXPgMtwMwNt/65usMtwiMux0CMAWYOhjONwDD+QZgON8ADOcbgOF862Cc4RZsvs5wi8BwvgEYzjcAU4Cpg+F8AzCcbwCG8w3AcL4BGJtvffN1hlsEhvMNwHC+ARjONwBTgKmD4XwDMDbf+h7jDLcIjM03AONuhzoYZ7hFYDjfAAznG4DhfAMwBZg6GJtvffN1hlsExt0OARh3OwRgON8qmNkZbhEYzjcAw/kGYDjfAEyx+dY239kZbhEYzjcAw/kGYDjfAAznWwdz4TPcDsBwvgEYzjcAY/Otb77OcIvAcL4BGM43AMP5BmA43wAM51sHc+Ez3A7A2HzrC54z3CIw7nYIwBRg6mA43wAM5xuA4XwDMJxvAIbzrYNxhluw+TrDLQLjbocADOcbgCnA1MFwvgEYzjcAw/kGYGy+wYJn862DcYZbBIbzDcBwvgEYzjcAU4Cpg+F8AzCcbwDG5lvffJ3hFoFxt0MdjDPcIjCcbwCG8w3AcL4BmAJMHYzNt77gOcMtAuNuhwAM5xuA4XzrYJzhFoHhfAMwnG8AhvMNwBSbb3XzdYZbBMbdDgEYzjcAw/kGYDjfOpgLn+F2AIbzDcDYfOsLnjPcIjAFmDoYzjcAw/kGYDjfAAznG4DhfOtgLnyG2wEYm29983WGWwTG3Q4BmAJMHQznG4DhfAMwnG8AxuYb7DE23zoYZ7hFYNztEIDhfAMwnG8ApgBTB8P5BmA43wCMzbe++TrDLQLjbocqmMUZbhEYzjcAw/kGYDjfAEwBpg7G5ltd8BZnuEVg3O0QgOF8AzCcbx2MM9wiMJxvAIbzDcBwvgGYYvOtbr7OcIvAuNshAMP5BmA43wAM51sH4wy3CAznG4DhfAMwNt/65usMtwgM5xuA4XwDMJxvAIbzDcBwvnUwFz7D7QAM5xuAsfnWN19nuEVgCjB1MJxvAIbzDcBwvgEYzjcAw/nWwTjDLVjwnOEWgXG3QwCG8w3AFGDqYDjfAAznG4DhfAMwnG8AxuZb33yd4RaBcbdDAIbzDcBwvgGYAkwdDOcbgOF8AzCcbwDG5lvffJ3hFoBxhlsEhvMNwHC+ARjONwBTgKmD4XwDMJxvAMbmW998neEWgeF862Cc4RaB4XwDMJxvAIbzDcAUYOpgbL71Bc8ZbhEYdzsEYDjfAAznWwfjDLcIDOcbgOF8AzCcbwCm2Hyrm68z3CIw7nYIwHC+ARjONwDD+dbBXPgMtwMwnG8AxuZbX/Cc4RaBKcDUwXC+ARjONwDD+QZgON8ADOdbBVMufIbbARibb3XzLc5wi8C42yEAU4Cpg+F8AzCcbwCG8w3AcL4BGJtvfcFzhlsExt0OARjONwDD+QZgCjB1MJxvAIbzDcBwvgEYm29983WGWwDGGW4RGM43AMP5BmA43wBMAaYOxuZb32MufIbbwcRwvgEYm28AxuZbB3PhM9wOwHC+9U8lZ7hFE2PzDcAUYOpg3O0QgLH5BmBsvgEY9/kGH9fudqiDcYZbBMbmG4Bxt0MAxt0OAZgCTB3MZTffbZ+eYLZ3T/sF5rKb77xuTzDz9hcwHx+8ltvziaxvF1Y+Urzsmnwqxcvu1KdSvOwCfibF6547dyrFy672p1K8bA84leJlS8OpFAuKJ1C8bB05laLucgZF3eUMirrLGRR1lxMoXvfkwFMp6i5nUNRdzqCou5xBsaB4AkXd5QyKussZFHWXMyjqLmdQ1F1OoHjdsx9Ppai7nEFRdzmDou5yBsWC4gkUdZczKOouZ1DUXc6gqLucQVF3OYHihU/v/PyPpS58eucBGH/bHIDxt80BmOIvPKp/4XHh0zsPwPg+ywCM77MMwPjb5gCMb/Wpfyo5vTMCY/MNwNh8AzD+trn+y9fpnREYm28AxuYbgLH5BmBsvgEY3+pTBbM6vTMCY/OtLnir0zsjMJxvAKYAUwfj+ywDML7PMgBj8w0+rm2+ARibbx2M0zsjML7PMgDj+ywDMJxvAKYAUwfD+QZgbL71zffCp3cegHGGUQDG3Q51ME7vjMBwvgEYzjcAw/kGYIoFr7rgOb0zAuNuhwAM5xuA4XwDMJxvHcyFT+88AMP5BmA43wCMzbe++Tq9MwLjbocADOcbgOF8AzCcbwCG862DufDpnQdgbL71Bc/pnREYdzsEYAowdTCcbwCG8w3AcL4BGM43AMP51sFc9yTMg833uodbHoFxt0MAhvMNwBRg6mA43wAM5xuAsfkGe4zNNwBj862Due45ikdgON8ADOcbgOF8AzAFmDoYzjcAY/Otb77XPQzwCIy7HQIw7naog7nuKXxHYDjfAAznG4Cx+db3mOueaHcExuYbgHG3QwCG8w3AcL4BGM63DubCZ7gdgOF8AzA23/rm6wy3CEwBpg7G3Q4BGM43AMP5BmA43wCMzbe+x1z4DLcDMDbfAIy7HQIwnG8ApgBTB8P5BmA43wAM5xuAsfnWN98Ln+H2KZj7hc9wOwDjbocADOcbgOF8AzAFmDoYzjcAY/OtLnh3Z7hFYNztEIDhfOtgnOEWgeF8AzCcbwCG8w3AFGDqYGy+9c3XGW4RGHc7BGA43wAM51sH4wy3CAznG4Cx+db3mAuf4XYApgBTB+NuhwAM5xuA4XwDMJxvAIbzrYNxhlsExuZb33wvfIbbARh3OwRgCjB1MJxvAIbzDcBwvgEYzjcAY/OtL3gXPsPtAIy7HQIwnG8AhvMNwBRg6mA43wAM5xuA4XwDMDbf+uZ74TPcPgfjDLcIDOcbgOF8AzCcbwCmAFMHw/kGYGy+9QXPGW4RGHc7BGA43zoYZ7hFYDjfAAznG4DhfAMwBZg6GJtvffN1hlsExt0OARjONwDD+dbBOMMtAsP5BmA43wCMzbe+4DnDLQLjbocADOcbgOF8AzCcbwCG862DcYZbBIbzDcDYfOubrzPcIjAFmDoYzjcAw/kGYDjfAAznG4DhfOtgnOEWLHjOcIvAuNshAMP5BmAKMHUwnG8AhvMNwHC+ARjONwBj861uvpsz3CIw7nYIwHC+ARjONwBTgKmD4XwDMJxvAIbzDcDYfKub7+YMtwCMM9wiMJxvAIbzDcBwvgGYAkwdDOcbgOF8AzA23/rm6wy3CAznWwfjDLcIDOcbgOF8AzCcbwCm2GOqe4wz3CIwNt8AjLsdAjCcbwCG862DcYZbBIbzDcBwvgEYm29983WGWwTG3Q4BGHc7BGA43wAM5xuA4XzrYC58htsBGM43AGPzrW++znCLwBRg6mA43wAM5xuA4XwDMJxvAIbzrYO58BluB2BsvvXN1xluERjONwBTgKmD4XwDMJxvAIbzDcBwvgEYm299wXOGWwTG3Q4BGM43AMP5BmAKMHUwnG8AhvMNwHC+ARibb33zdYZbAMYZbhEYzjcAw/kGYDjfAEwBpg6G8w3A2HzrC54z3CIw7nYIwHC+dTDOcIvAcL4BGM43AMP5BmAKMHUwNt/65usMtwiMux0CMJxvAIbzrYO58BluB2A43wAM5xuAsfnWFzxnuEVg3O0QgOF8AzCcbwCG8w3AcL5VMPuFz3A7AMP5BmBsvtXNd3eGWwSmAFMHw/kGYDjfAAznG4DhfAMwnG8djDPcggXPGW4RGHc7BGA43wBMAaYOhvMNwHC+ARjONwDD+QZgbL71zdcZbhEYdzsEYDjfAAznG4ApwNTBcL4BGJtvfY9xhlsExuYbgHG3Qx2MM9wiMJxvAIbzDcBwvgGYAkwdjM23vvk6wy0C426HAIy7HQIwnG8djDPcIjCcbwCG8w3A2HzrC54z3CIw7nYIwHC+ARjONwDD+QZgON86GGe4RWA43wCMzbe++TrDLQJTgKmD4XwDMJxvAIbzDcBwvgEYzrcO5sJnuB2AsfnWN19nuEVgON8ATAGmDobzDcBwvgEYzjcAw/kGYDjfOhhnuAWbrzPcIjCcbwCG8w3AFGDqYDjfAAznG4DhfAMwNt9gwbP51sE4wy0Cw/kGYDjfAAznG4ApwNTBcL4BGM43AGPzrW++znCLwLjboQ7GGW4RGM43AMP5BmA43wBMAaYOhvMNwNh865uvM9wiMJxvAIbzrYJ5OMMtAsP5BmA43wAM5xuAKcDUwdh8q5vvwxluERjONwDD+QZgON86mAuf4XYAhvMNwHC+ARibb33Bc4ZbBMbdDgEYzjcAw/kGYDjfAAznWwdz4TPcDsBwvgEYm29983WGWwSmAFMHw/kGYDjfAAznG4DhfAMwnG8djDPcggXPGW4RGHc7BGA43wBMAaYOhvMNwHC+ARjONwDD+QZgbL71zdcZbhEYdzsEYDjfAAznG4ApwNTBcL4BGM43AGPzrS94znCLwLjboQ7GGW4RGM43AMP5BmA43wBMAaYOhvMNwNh865uvM9wiMO52CMBwvnUwznCLwHC+ARjONwBj863vMRc+w+1gYjjfAIzNNwBj8w3A2HwDMJxv/VPJGW7BxDjDLQJj8w3AuNshAFOAqYOx+QZg3OcbfFy72yEA426HAIzNtw7GGW4RGHc7BGDc7RCAuezmu+3TE8z27mm/wJSrgpnX7Qlm3v4C5uOD13J7PpG1zOUjxcuuyadSvOxOfSrFyy7gp1K87LZ+KsXLrvZnUrzuiXanUrxsaTiV4mUbxqkUL1tHTqVYUDyBou5yBkXd5QyKussZFHWXMyjqLr9Ncb5d90zCUynqLmdQ1F3OoKi7nEGxoHgCRd3lDIq6yxkUdZczKOouZ1DUXU6geN1TJU+lqLucQVF3OYOi7nIGxYLiCRR1lzMo6i5nUNRdzqDob5trfyz1Bsa3+tTBXPj0zgMw/rY5AOMvPGp/4fH2/+9bfQIwBZg6GN9nGYDxt80BGN/qE3wq2XwDMDbfOpgLn955AMbfNtd/+Tq9MwJj8w3AFGDqYGy+ARibbwDGt/oEYHyrTwDG5ltf8JzeGYHhfAMwvs8yAOP7LAMwBZg6GJtv/eP6wqd3HoCx+QZgbL4BGN9nWQfj9M4IDOcbgOF8AzCcbwCm2Hyrm++FT+88AOMMowCMux0CMO52CMBwvnUwTu+MwHC+ARibb33Bc3pnBKYAUwfD+QZgON8ADOcbgOF8AzCcbx3MhU/vPABj861vvk7vjMC42yEAU4Cpg+F8AzCcbwCG8w3AcL4BGJtvfcFzemcExt0OARjONwDD+QZgCjB1MJxvAIbzDcBwvgEYm299873u4ZYHYK57XuURGM43AMP5BmA43wBMAaYOxuZb32Oue0LjERibbwDG3Q4BGM63Cma67mmHR2A43wAM5xuA4XwDMMXmW9t8p+seBngExt0OARh3OwRgON8ADOdbB3Pds/KOwNh863vMdU+0OwJj8w3AFGDqYDjfAAznG4DhfAMwnG8AhvOtg3GGW7D5OsMtAuNuhwCMux0CMAWYOhjONwDD+QZgbL7BHmPzDcDYfOtgLnyG2wEYzjcAw/kGYDjfAEwBpg6G8w3A2Hzrm++Fz3A7AONuhwCMux3qYJzhFoHhfAMwnG8AhvMNwBQLXnXBc4ZbBMbdDgEYzjcAw/kGYDjfOhhnuEVgON8ADOcbgLH51jdfZ7hFYNztEIDhfAMwnG8AhvMNwHC+dTAXPsPt8z3mwme4HYCx+QZg3O0QgCnA1MFwvgEYzjcAw/kGYDjfAIzNt775XvgMtwMw7nYIwLjbIQDD+QZgCjB1MJxvAIbzDcDYfOsL3oXPcDsA426HOhhnuEVgON8ADOcbgOF8AzAFmDoYzjcAY/Otb74XPsPtAIy7HQIwnG8djDPcIjCcbwCG8w3AcL4BmGLBqy54znCLwLjbIQDD+QZgON8ADOdbBTM7wy0Cw/kGYDjfAIzNt7r5zrcCTB2Mux0CMJxvAIbzDcBwvgEYzrcOxhluERibb33Bc4ZbBMbdDgGYAkwdDOcbgOF8AzCcbwCG8w3AcL51MM5wCzZfZ7hFYNztEIDhfAMwBZg6GM43AMP5BmA43wCMzTdY8Gy+dTDOcIvAcL4BGM43AMP5BmAKMHUwnG8AhvMNwNh865uvM9wiMO52qINxhlsEhvMNwHC+ARjONwBTgKmD4XwDMDbf+ubrDLcIDOcbgOF862Cc4RaB4XwDMJxvAIbzDcAUYOpgbL71zdcZbhEYzjcAw/kGYDjfOpgLn+F2AIbzDcDYfOt7jDPcIjAFmDoYdzsEYDjfAAznG4DhfAMwnG8dzIXPcDsAY/Otb77OcIvAuNshAFOAqYPhfAMwnG8AhvMNwHC+ARjOtw7GGW7B5usMtwgM5xuA4XwDMAWYOhjONwDD+QZgON8ADOcbgLH51jdfZ7hFYDjfAAznG4DhfAMwBZg6GM43AMP5BmBsvvUFzxluERh3O1TBLM5wi8BwvgEYzjcAw/kGYAowdTCcbwDG5lvdfBdnuEVg3O0QgOF862Cc4RaB4XwDMJxvAIbzDcAUC151wXOGWwTG3Q4BGM43AMP5BmA43zqYC5/hdgCG8w3AcL4BGJtvffN1hlsExt0OARjONwDD+QZgON8ADOdbB3PhM9wOwNh86wueM9wiMO52CMAUYOpgON8ADOcbgOF8AzCcbwCG862DcYZbsPk6wy0C426HAAznG4ApwNTBcL4BGM43AMP5BmBsvsGCZ/Otg3GGWwSG8w3AcL4BGM43AFOAqYPhfAMwnG8AxuZb33yd4RaBcbdDHYwz3CIwnG8AhvMNwHC+AZhij6nuMc5wi8DYfAMw7nYIwHC+ARjOtw7GGW4RGM43AMP5BmBsvvXN1xluERh3OwRg3O0QgOF8AzCcbwCG862DufAZbgdgbL71Bc8ZbhEYdzsEYAowdTCcbwCG8w3AcL4BGM43AMP51sE4wy3YfJ3hFoFxt0MAhvMNwBRg6mA43wAM5xuA4XwDMJxvAMbmW918izPcIjCcbwCG8w3AcL4BmAJMHQznG4DhfAMwnG8AxuZb3XyLM9wCMM5wi8BwvgEYzjcAw/kGYAowdTCcbwDG5ltf8JzhFoFxt0MAhvOtg3GGWwSG8w3AcL4BGM43AFOAqYOx+dY3X2e4RWDc7RCA4XwDMJxvHYwz3CIwnG8AhvMNwHC+AZhi861uvs5wi8BwvgEYzjcAw/kGYDjfOpgLn+F2AIbzDcBwvgEYm29983WGWwSG8w3AcL4BGM43AMP5BmA43zqYC5/hdgDG5ltf8JzhFoFxt0MApgBTB8P5BmA43wAM5xuA4XwDMJxvHYwz3ILN1xluERh3OwRgON8ATAGmDobzDcBwvgEYzjcAY/MNFjybbx2MM9wiMJxvAIbzDcBwvgGYAkwdDOcbgOF8AzA23/rm6wy3CIy7HepgnOEWgeF8AzCcbwCG8w3AFGDqYGy+9QXPGW4RGHc7BGA43wAM51sHc+Ez3A7AcL4BGM43AMP5BmCKzbe6+TrDLQLjbocADOcbgOF8AzCcbxXMeuEz3A7A2Hyre8x64TPcDiaG8w3AFGDqYGy+ARibbwCG8w0+lWy+wcTYfOtgnOEWgXG3QwDG5huAsfkGYIqP6+rH9YXPcDsA426HAIzNNwDjbocAjLsd6mCc4RaBuezmu+3TE8z27mm/wFx2853X7Qlm3v4C5uOD13J7PpG1zOUjxcuuyadSLCieQPGyC/ipFC+7rZ9K8bKr/akUL9sDTqV42dJwJsXrnpV3KsXL1pFTKeouZ1DUXc6gWFA8gaLucgZF3eUMirrLGRR1lzMo6i4nULzuaYenUtRdzqCou5xBUXc5g2JB8QSKussZFHWXMyjqLmdQ1F3OoKi7nEDxuudVnkpRdzmDou5yBkXd5QyKBcUTKOouZ1D0t831P5a68OmdB2D8bXMAxt8218Fc+PTOz//C48Kndx6A8X2WARjfZxmAKcDUwfhWn+BTyeYbgLH5BmBsvgEYf9tc/+Xr9M4IjM03AGPzDcDYfAMwBZg6GN/qE4DxrT4BGJtvfcFzemcEhvOtg3F6ZwTG91kGYHyfZQDG5lv/uL7w6Z0HYGy+ARibbwDG91kGYHyfZQCG862DcXpnBIbzDcDYfOub74VP7zwAU4Cpg3G3QwDG3Q4BGM43AMP5BmA43yqY+4VP7/x0wbs7vTMC426HAAznG4ApwNTBcL4BGM43AMP5BmA43wCMzbe++Tq9MwLjbocADOcbgOF8AzAFmDoYzjcAw/kGYGy+9QXP6Z0RGHc71ME4vTMCw/kGYDjfAAznG4ApwNTBcL4BGJtvffO97uGWR2Dc7RCA4XzrYK57quQRGM43AMP5BmBsvvU95ronNB6BsfkGYNztEIDhfAMwnG8AhvOtg7numYRHYDjfAIzNt775XvcwwCMwBZg6GHc7BGA43wAM5xuA4XwDMDbf+h5z3RPtjsDYfAMw7nYIwHC+AZgCTB0M5xuA4XwDMJxvAMbmW998neEWgLnwGW4HYNztEIDhfAMwnG8ApgBTB2Pzre8xFz7D7QCMzTcA426HAAznWwfjDLcIDOcbgOF8AzCcbwCm2Hyrm++Fz3A7AONuhwCMux0CMJxvAIbzrYNxhlsEhvMNwNh86wueM9wiMAWYOhjONwDD+QZgON8ADOcbgOF862Cc4RaBsfnWN19nuEVg3O0QgCnA1MFwvgEYzjcAw/kGYGy+wR5j862C2ZzhFoFxt0MAhvMNwHC+AZgCTB0M5xuA4XwDMDbf6ua7XfgMtwMw7naog3GGWwSG8w3AcL4BGM43AFOAqYOx+dYXvAuf4XYAxt0OARjONwDD+dbBOMMtAsP5BmA43wAM5xuAKTbf6uZ74TPcDsC42yEAw/kGYDjfAAznWwfjDLcIDOcbgLH51hc8Z7hFYAowdTCcbwCG8w3AcL4BGM43AMP51sE4wy0CY/Otb77OcIvAuNshAFOAqYPhfAMwnG8AhvMNwHC+ARibb33Bc4ZbBMbdDgEYzjcAw/kGYAowdTCcbwCG8w3AcL4BGJtvffN1hlsAxhluERjONwDD+QZgON8ATAGmDobzDcDYfOsLnjPcIjDudgjAcL51MM5wi8BwvgEYzjcAw/kGYAowdTA23/rm6wy3CIy7HQIwnG8AhvOtg3GGWwSG8w3AcL4BGM43AFNsvtXN1xluERjONwDD+QZgON8ADOdbB+MMtwgM5xuA4XwDMDbf+ubrDLcIDOcbgOF8AzCcbwCG8w3AcL5VMLsz3Op7zO4MtwiMzTcA426HAEwBpg6G8w3AcL4BGM43AMP5BmBsvvXN1xluERh3OwRg3O0QgOF8AzAFmDoYzjcAw/kGYDjfAIzNt775OsMtAOMMtwgM5xuA4XwDMJxvAKYAUwfD+QZgON8AjM23vvk6wy0Cw/nWwTjDLQLD+QZgON8ADOcbgCnA1MHYfOsLnjPcIjDudgjAcL4BGM63DsYZbhEYzjcAw/kGYDjfAEyx+VY3X2e4RWDc7RCA4XwDMJxvAIbzrYO58BluB2A43wCMzbe+4DnDLQJTgKmD4XwDMJxvAIbzDcBwvgEYzrcO5sJnuB2AsfnWN19nuEVg3O0QgCnA1MFwvgEYzjcAw/kGYDjfAIzNt77gOcMtAuNuhwAM5xuA4XwDMAWYOhjONwDD+QZgON8AjM23vvk6wy0A4wy3CAznG4DhfAMwnG8ApgBTB8P5BmBsvvUFzxluERh3OwRgON86GGe4RWA43wAM5xuA4XwDMAWYOhibb33zdYZbBMbdDgEYzjcAw/lWwTwufIbbARjONwBj863uMQ9nuEVgCjB1MO52CMBwvgEYzjcAw/kGYDjfOpgLn+F2AMbmW998neEWgXG3QwCmAFMHw/kGYDjfAAznG4DhfAMwNt/6gucMtwiMux0CMJxvAIbzDcAUYOpgON8ADOcbgOF8AzA23/rm6wy3AIwz3CIwnG8AhvMNwHC+AZgCTB0M5xuA4XwDMDbf+ubrDLcIDOdbB+MMtwgM5xuA4XwDMJxvAKYAUwfD+QZgbL71zdcZbhEYzjcAw/nWwTjDLQLD+QZgON8ADOcbgCkWvOqC5wy3CIy7HQIwnG8AhvMNwHC+dTDOcIvAcL4BGM43AGPzrW++znCLwLjbIQDD+QZgON8ADOcbgOF862AufIbbARjONwBj861vvs5wi8AUYOpgON8ADOcbgOF8AzCcbwCG862DufAZbgdgbL71zdcZbhEYzjcAU4Cpg+F8AzCcbwCG8w3AcL4BGJtvfcFzhlsExt0OARjONwDD+QZgCjB1MJxvAIbzDcBwvgEYm29983WGWxXMcnOGWwSG8w3AcL4BGM43AFOAqYPhfAMwNt/agvcGxuYbgHG3QwCG862DcYZbBIbzDcBwvgEYzjcAU4Cpg7H51jdfZ7hFYNztEIDhfAMwnG8dzIXPcDsAw/kGYDjfAIzNt77gOcMtAuNuhwAM5xuA4XwDMJxvAIbzrYO58BluB2A43wCMzbe++TrDLQJTgKmD4XwDMJxvAIbzDcBwvgEYm299j7nwGW6fT8yFz3A7AGPzDcDYfAMwBZg6GM43+FSy+QYTY/MNwNh8AzDudqiDcYZbBMbmG4Bxn2/94/rCZ7gdgCnA1MHYfAMw7nYIwLjbIQDjbocAzGU3322fnmC2d0/7CWbsM9zmdXk+jeXxOHj0XKYnxrmsv570VGrP5D69fvZ92qa/PPpPMkOvvl3JDL37diUz9PLblUxBJiAz9PrblczQ+29XMkMvwF3JDL0BdyUz9Arck8zYp7l1JWMHjsjYgSMyduCITEEmIGMHjsjYgSMyduCIjB04ImMHDsiMfa5bVzJ24IiMHTgiYweOyBRkAjJ24IiMHTgiYweOyNiBIzJ24IDM2Ce8dSVjB47I2IEjMnbgiExBJiBjB47I2IEjMnbgiIwdOCJjB66TmcY+660rGTtwRMYOHJGxA0dkCjIBGTtwRMYOHJGxA0dk7MARGTtwQGbsU9+6krEDR2TswBEZO3BEpiATkLEDR2TswBEZO3BExg4ckbEDB2TGPv+tKxk7cETGDhyRsQNHZAoyARk7cETGDhyRsQNHZOzAERk7cEBm7JPgupKxA0dk7MARGTtwRKYgE5CxA0dk7MARGTtwRMYOHJGxAwdkxj4TrisZO3BExg4ckbEDR2QKMgEZO3BExg4ckbEDR2TswBEZO3BAZuzT4bqSsQNHZOzAERk7cESmIBOQsQNHZOzAERk7cETGDhyRsQMHZJwTF5KxA0dk7MARGTtwRKYgE5CxA0dk7MARGTtwRMYOHJGxAwdknBMXkrEDR2TswBEZO3BEpiATkLEDR2TswBEZO3BExg4ckbEDB2ScExeSsQNHZOzAERk7cESmIBOQsQNHZOzAERk7cETGDhyRsQMHZJwTF5KxA0dk7MARGTtwRKYgE5CxA0dk7MARGTtwRMYOHJGxA9fJzM6JC8nYgSMyduCIjB04IlOQCcjYgSMyduCIjB04ImMHjsjYgQMyzokLydiBIzJ24IiMHTgiU5AJyNiBIzJ24IiMHTgiYweOyNiBAzLOiQvJ2IEjMnbgiIwdOCJTkAnI2IEjMnbgiIwdOCJjB47I2IEDMs6JC8nYgSMyduCIjB04IlOQCcjYgSMyduCIjB04ImMHjsjYgQMyzokLydiBIzJ24IiMHTgiU5AJyNiBIzJ24IiMHTgiYweOyNiBAzLOiQvJ2IEjMnbgiIwdOCJTkAnI2IEjMnbgiIwdOCJjB47I2IEDMs6JC8nYgSMyduCIjB04IlOQCcjYgSMyduCIjB04ImMHjsjYgQMyzokLydiBIzJ24IiMHTgiU5AJyNiBIzJ24IiMHTgiYweOyNiBAzLOiQvJ2IEjMnbgiIwdOCJTkAnI2IEjMnbgiIwdOCJjB47I2IEDMs6JC8nYgSMyduCIjB04IlOQCcjYgSMyduCIjB04ImMHjsjYgetkFufEhWTswBEZO3BExg4ckSnIBGTswBEZO3BExg4ckbEDR2TswAEZ58SFZOzAERk7cETGDhyRKcgEZOzAERk7cETGDhyRybQD36fnz75PtwMyy34vr2f9WA4evZXtSX0re6lwzLQxfyPHe3k+k+2+Hf7seXlS/8f92a9Hz/+EnurAumGgL+X1s5fH/SP0THv+d0Lfn89726Zy8OhSpieR8vY/vx69Vendt9cTmZb3D/4zoUx942cmtD+eT3t51BLK1HtyJlQkNHhCmXpgzoQy9dGcCWXqxTkT0s9HT0jzHzyhVGd65kzoqk6h3MrTcJXbNh88ep7m2/NnT/M7H3YrlUfvZX0S2ddp/4Vvnv9J/aqe4G9Sn1/6bJ7X/Yj64/ai/pjmv1CvZfQynHspcyWjq5qCkTI6eh8VGQ3/PrqqLfhJGV3VF/ykjK5qDH5SRld1Bj8po6tagx+UUapzkJPu3qlOZM76PuIZxn8f8Qzjv4+KjIbPiGcYPyOeYfzPI55h/PcRzzB+RjzD8BmlOms+a0Y8w/A7w8ozjP8+4hnGz6jIaPiMeIbxP494hvHfRzzD+O8jnmH89xHPMPz76M4zDP8+uvMM42fEM4yfEc8w/udRkdHw7yOeYfz3Ec8w/vuIZxj/fcQzjP8+4hmGz2jjGcbPiGcY/vNo4xnGfx/xDONnVGQ0/O86nmH89xHPMP77iGcY/33EM4z/PuIZhn8f7TzD+BnxDONnxDOMnxHPMH5GRUaj73U7zzD++4hnGD8jnmH8jHiG8T+PeIbh30cPnmH499GDZxj/fcQzjJ8RzzB+RkVGw2fEM4y/M/AM47+PeIbx30c8w/jvI55h9IzKjWcY/XddufEM47+PeIbxM+IZxs+oyGj4jHiG8TPiGcbPiGcYPyOeYfyMeIbhO+zEMwz/Ppp4hvEz4hnG/13HM4z/PioyGj4jnmH8jHiG8T+PeIbx30c8w/jvI55h+PfRzDOMnxHPMPzvuplnGP99xDOM/z4qMhr+fcQzjP8+4hnGfx/xDONnxDOMnxHPMHxGC88wfkY8w/B73cIzjP8+4hnGz6jIaPjfdTzD+O8jnmH8jHiG8TPiGcbPiGcYPqPCM4yfEc8w/O5deIbx30c8w/gZFRkNnxHPMH5GPMP4OwPPMP77iGcYPyOeYfjfdSvPMPz7aOUZxn8f8Qzjv494hvEzKjIa/ncdzzD++4hnGP99xDOM/z7iGcbPiGcY/nfdnWcY/n105xnGfx/xDOO/j3iG8TMqMhr+dx3PMP77iGcYPyOeYfyMeIbxM+IZhs9o4xnGz4hnGD8jnmH4frTxDOO/j4qMhn8f8Qzjv494hvEz4hnGz4hnGD8jnmH4jHaeYfyMeIbxM+IZhu9HO88w/vuoyGj4jHiG8X/X8Qzjv494hvEz4hnG/13HMwz/PnrwDMO/jx48w/jvI55h/Ix4hvEzKjIaPiOeYfyMeIbx9zqeYfz3Ec8wfkY8w+i/69YbzzD6+2i98Qzjv494hvHfRzzD+O+jIqPh30c8w/gZ8Qzj/67jGcZ/H/EM42fEMwyf0cQzDP95NPEM47+PeIbxM+IZxv9dV2Q0/PuIZxg/I55h/Ix4hvEz4hnGz4hnGD6jmWcYfveeeYbx30c8w/jvI55h/PdRkdHwGfEM42fEM4z/ecQzjP8+4hnGfx/xDMO/jxaeYfj30cIzjP8+4hnGfx/xDOO/j4qMhn8f8Qzjv494hvEz4hnG/13HM4z/PuIZhs+o8AzjZ8QzjJ8RzzB+RjzD8HtdKTIa/n3EM4yfEc8wfkY8w/ifRzzD+O8jnmH4jFaeYfyMeIbxM+IZxs+IZxh+r1uLjIZ/H/EM47+PeIbx30c8w/jvI55h/PcRzzD8++jOMwz/PrrzDONnxDOMnxHPMP7nUZHR8O8jnmH89xHPMP77iGcYPyOeYfzfdTzD8O+jjWcY/n208Qzjv494hvHfRzzD+O+jIqPhM+IZxs+IZxj/84hnGP99xDOMnxHPMPzvup1nGP59tPMM47+PeIbx30c8w/jvoyKj4d9HPMP4GfEM42fEM4yfEc8wfkY8w/B73YNnGP599OAZxs+IZxg/I55h/M+jIqPh30c8w/gZ8QzjZ8QzjJ8RzzD+zsAzjP4+ut94hvEz4hlG/113v/EM47+PeIbxMyoyGj4jnmH8jHiG8TPiGcbf63iG8d9HPMPw76OJZxj+fTTxDOO/j3iG8d9HPMP476Mio+HfRzzD+O8jnmH89xHPMH5GPMP4GfEMw2c08wzjZ8QzDL/XzTzD+O8jnmH891GR0fDvI55h/PcRzzD++4hnGP99xDOM/z7iGYZ/Hy08w/Dvo4VnGD8jnmH833U8w/jvoyKj4TPiGcb/XcczjP8+4hnGfx/xDOO/j3iG4TMqPMP4GfEMw38eFZ5h/PcRzzB+RkVGw2fEM4z/ecQzjP8+4hnGfx/xDOO/j3iG4d9HK88w/Pto5RnGfx/xDOO/j3iG8d9HRUbfkNFye2W0rBXqzMF3U39UqHMB51N/3O77Px/9uG2lQl2770FdX+9BXQPvQP2uU/egriX3oK739qCuyfagXlDvQF037UFdN+1BXTftQV037UFdN+1AfdNNe1DXTXtQ1017UNdNe1AvqHegrpv2oK6b9qCum/agrpv2oK6bdqC+66Y9qOumPajrpt9Afbo9H/32z8odd7tu2oN6Qb0Ddd20B3Xd9Ds+TR/ri/p8r1DXTXtQ1017bI66aQfqD920B3XdtAd13bQHdd20B/WCegfqumkP6rppD+q6aQ/qumkP6rppe+rbTTftQV037UFdN+1BXTftQb2g3oG6btqDum7ag7pu2oO6btqDum7agfqkm/agrpv2oK6b9qCum7a/z3GbCuodqOumPajrpj2o66bt7+ndJt20B3XdtMPmOOumPajrpj2o66Y9qOumPagX1DtQ1017UNdNe1DXTXtQ1017UNdNO1BfdNMe1HXTHtR10x7UddMe1AvqHajrpj2o66Y9qOumPajrpj2o66YdqBfdtAd13bQHdd20B3XdtMMdd6Wg3oG6btqDum7ag7pu2uHu0qKb9qCum3bYHFfdtAd13bQHdd20B3XdtAf1gnoH6rppD+q6aQ/qumkP6rppD+q6aQfqd920B3XdtAd13bQHdd20B/WCegfqumkP6rppD+q6aQ/qumkP6rppB+qbbtqDum7ag7pu2uHer0037UG9oN6Bum7ag7pu2uE+x0037UFdN+2xOeqmHajvumkP6rppD+q6aQ/qumkP6gX1DtR10x7UddMe1HXTHtR10x7UddMO1B+6aQ/qumkP6rppD+q6aQ/qBfUO1HXTHtR10x7UddMe1HXTHtR10/bU95tu2v4upP2mm/agrpv2oK6b9qBeUG9+x91+0017UNdNe2yOumkP6rppD+q6aQfqk27ag7pu2oO6btqDum7ag3pBvQN13bQHdd20B3XdtAd13bQHdd20A/VZN+1BXTftQV037UFdN+1BvaDegbpu2oO6btqDum7a4X6YWTftQV037UB90U17UNdNO9z7teimPajrph02x6Wg3oG6btqDum7ag7pu2oO6btqDum7agXrRTXtQ1017UNdNe1DXTXtQL6h3oK6b9qCum/agrpv2oK6b9qCum3agvuqmPajrpj2o66Y9qOumHe7MWAvqHajrpj2o66Y9qOumHe5CWnXTHtR10w6b41037UFdN+1BXTftQV037UG9oN6Bum7ag7pu2oO6btqDum7ag7pu2oH6ppv2oK6b9qCum/agrpv2oF5Q70BdN+1BXTftQV037UFdN+1wj8Cmm3agvuumPajrpj2o66Yd7ofZddMe1Avq7TfHXTftQV037UFdN+1BXTftQV037UD9oZv2oK6b9qCum/agrpv2oF5Q70BdN+1BXTftQV037UFdN+1BXTdtT/1x0017UNdNe1DXTdtfrX7cdNMe1AvqHajrpj2o66bt78x4+4hFvQN13bTH5qibdqA+6aY9qOumPajrpj2o66Y9qBfUO1DXTXtQ1017UNdNe1DXTXtQ1007UJ910x7UddMe1HXTHtR10x7UC+odqOumHa6bzrppD+q6aQ/qumkP6rpph3sEFt20B3XdtMPmuOimPajrpj2oF9Q7UNdNe1DXTXtQ1017UNdNe1DXTTtQL7ppD+q6aQ/qumkP6rppD+oF9Q7UddMe1HXTHtR10w5X8Ipu2oO6btqB+qqb9qCum3a4Wr3qpj2o66YdNse1oN6Bum7ag7pu2oO6btqDum7ag7pu2oH6XTftQV037UFdN+1BXTftQb2g3oG6btqDum7ag7pu2oO6btrhWtJdN+1AfdNNe1DXTXtQ1007XDfddNMe1Avq7TfHTTftQV037UFdN+1BXTftQV037UB91017UNdNe1DXTXtQ1017UC+od6Cum/agrpv2oK6b9qCum3a4qrHrph2oP3TTHtR10x7UddMOV/AeumkP6gX19pvjQzftQV037UFdN+1BXTftQV03bU693G66aQ/qumkP6rppD+q6aQ/qBfUO1HXTHtR10x7UddPmfv2Num7ag7pu2oH6pJv2oK6bNr+W9EZdN+1BXTftsDlOBfUO1HXTHtR10x7UddMe1HXTHtR10w7UZ920B3XdtAd13bQHdd20B/WCegfqumkH0zvrpj2o66Y9qOumPajrph2uaiy6aQ/qummHzXHRTXtQ1017UC+od6Cum/agrpv2oK6b9qCum/agrpt2oF500x7UddMe1HXTDs6x6KY9qBfUO1DXTXtQ1007+PWim/agrpv22Bx10w7UV920B3XdtAd13bQHdd20B/WCegfqumkP6rppD+q6aQ/qumkH+7Xqph2o33XTHtR10x7UddMOpveum/agXlBvvzneddMe1HXTHtR10x7UddMe1HXTDtQ33bQHdd20B3XdtAd13bSDh9kK6h2o66Y9qOumPajrph2c46ab9qCum3bYHHfdtAd13bQHdd20B3XdtAf1gnoH6rppD+q6aQ/qumkHI7Drpj2o66YdqD900x7UddMO9uuhm/agrpt22BwfBfUO1HXTHtR10x7UddMe1HXTHtR10/bUp5tu2r6bTjfdtAd13bQHdd20B/WCenMPM9100x7UddMem6Nu2oO6btqDum7agfqkm/agrpv2oK6bdmhJk27ag3pBvQN13bQHdd20gxGYdNMe1HXTHpujbtqB+qyb9qCum/agrpv2oK6bdtjX54J6B+q6aQ/qumkP6rpph24666Y9qOumHTbHRTftQV03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yLXP5si1z+bItc/myLXP1lXooX02R659NkeufTZHrn02R14gb41c+2y9JD60z+bItc/myLXP5si1z8bI55v22Ry59tkcufbZHLn22Rx5gbxt+5xv2mdz5Npnc+TaZ3Pk2mdz5Npna+ST9tkcufbZHLn22boKTdpnc+QF8tbItc/myLXP5si1z+bItc/myLXP1shn7bM5cu2zdfuctc/myLXP5sgL5K2Ra5/NkWufzZFrn82Ra5/NkWufravQon02R659NkeufTZHrn02R14gb41c+2yOXPtsjlz7bI5c+2zdPhftszXyon02R659NkeufTZHrn02R14gb41c+2y9lxftszly7bM5cu2zOXLtszXyVftsjlz7bI5c+2yOXPtsjrxA3rh9rtpnc+TaZ3Pk2mdz5Npnc+TaZ2vkd+2zOXLts/Veftc+myPXPpsjL5C3Rq59NkeufTZHrn02R659NkeufbZGvmmfrdvnpn02R659NkeufTZHXiBvjVz7bI5c+2yOXPtsvpdrn82Ra5+tke/aZ3Pk2mdz5Npnc+TaZ3PkBfLWyLXP5si1z9btc9c+myPXPpsj1z5bI39on82Ra5/NkWufzZFrn82RF8gbV6GH9tkcufbZHLn22Ry59tkcufbZGPly0z6bI9c+myPXPpsj1z4bt8/lViBvjVz7bI5c+2yOXPtsjlz7bI5c+2yNfNI+W+/lk/bZHLn22Ry59tkceYG8NXLtszly7bM5cu2zOXLtszly7bN1+5y1z+bItc/myLXP5si1z+bIC+StkWufzZFrn82Ra5+tq9CsfTZHrn22Rr5on82Ra5/NkWufzZFrn82RF8hbI9c+myPXPlu3z0X7bI5c+2yOXPtsjbxon82Ra5/NkWufzZFrn82RF8gbV6GifTZHrn02R659NkeufTZHrn22Rr5qn82Ra5/NkWufzZFrn63b51ogb41c+2yOXPtsjlz7bI5c+2yOXPtsjfyufTZHrn22rkJ37bM5cu2zOfICeWvk2mdz5Npnc+TaZ3Pk2mdz5Npna+Sb9tm6fW7aZ3Pk2mdz5Npnc+QF8tbItc/myLXP5si1z+bItc/mVUj7bI181z6bI9c+myPXPpsj1z6bIy+Qt0aufTZHrn02R659tm6fu/bZHLn22Rr5Q/tsjlz7bI5c+2yOXPtsjrxA3hq59tkcufbZun0+tM/m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",
1721
+ "bytecode": "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Vw1Q31lT3zBT3wdT395S37VS34xS32NS3zpS3xFS3+hR379R35ZR321R30RR3xtR3/JQ38lQ36BQ33dQ305Q3yVQ7/xX79NX76pX74FX71hX7y9X7wZX791W77RW74u+BKDec6zeIazez6vefaveK6ve2areh6reNare46nekaneP6ne7ajem6jeSaje96fepafeU6feAafer6beXabeC6beuaXeZ6XeFaXew6TecaTeH6TezaPee6PeKaPe1/IQQL1nRL3DQ70fQ717Qr3XQb0zQb2PQD3rr56jV8+oq+e/1bPV6rll9Uywet5WPcuqnhNVz2Cq5xvVs4PquTz1zJt6nkw9q6Weg1LPGKnnd9SzMeq5E/VMh3peYgVA3eev7qFX615177e6r1rds6zu4VX3x6p7PNU9j+oeQHVPnLpHTN0zpe4hUvfUqHtM1D0X6h4EdU1eXaNW12zVNUx1TU9d41LXfNQ1EHVNQJ0jV+eM1TlUdU5RnWNT55zUORh1TkLF6CpmVTGcimnUGr/Zf0uFgLp3VW2bBWo2expRVa3cr+71VPc+qnsB1b1x6l4xde+UupdI3Vuj7jVR916oexHUtXl1rVpdu1XXMtW1PXWtS137UddC1LUBda5cnTtW51LVuUV1rk2de1LnYroBugN6AFQsp2IbdR91z0DdbSxKt7P/dvp4YJe9nr5qKC7X3v77RHLPw/boXmvXyjW82lZMKbvqln+m7IT3zbL//tq+tO8bOyxdB+/bw+V4m4eK70u77Bvqsm+yy76cy749XPYd4rLvBJd957rsu8pl3+0u+x512feSy773XfZ947LvT5d9ZeHi+9Zx2bepy764y76BLvvGu+yb7bJvN5d9B7jsO9Zl35ku+y532Xerve+ZM1544upFuUq8706X3z3msu8JlzqXufzuaZffPevyuxdc9r3kUucrLr97zeV3b7j8brnLvndc6nzP5XcrXH73ocvvPnHZ95lLnV+4/O4rl9994/K771z2/eBS508uv/vF5Xe/ufzuT5d9f7vU+a/L74KR4r8LRYr/rsRlX6lLnS1cftfK5XdtXH7XzmVfB5c6O7n8bh2X33Vx+d1Al98dau+7c8Cll22+9KQhTn6Z/VetV/H/7f+uXDspaRlg/z/auM0qQ/VS15+JZrJlgdobMf94WaBmPcnVPk6dDPWvfP5FbYOr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",
1722
+ "debug_symbols": "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ZWpCy9SMlqn58ZlabCZUbEmI0AgxGiFBI6RohAyNUEEjVNEINTBCktAIPXzZ53T5Ks70Jy0JPTyoc573skx5SejhQZ1NZ0JNl4QaGCFNaIQyGiFCI8RohASNkD6REN18UWomZGiEChqhx2dqvW4dttzLtIERsoRGKKMRIjRCjEZI0AgpGqGHZ+qpr5gTY0lLQgWNUEUj1MAIlYRGKKMRIjRCjEZI0AgpGqHH56EmM6G2PI6pD19lnOfx/JyXbVB9+CpjbTOhuvzuR2U0QoJGSNEIGRqhgkaoohFqTyQkaXkK2xIaoYxG6AmZ+rp16HIva4xGSNAIKRohQyNU0AhVNEINixCnhEYooxECy9ScwDI1J7BMzQksU3MCy9Sc+mbqVxO1v4nW3URnAcyridzfBPU3cURWmk/qLe1Lu9J8OGM51yUhQSOkaIQMjVBBI1TRCLWuhF5MHCEkyfOviFrm9pWf+QghybGECI0QoxESNEKKRsi6Eno1UfqbqP1NtO4mOPU3kfubOKLG2w7aQ2QQOyakvwntb8L6myj9TdT+Jlp3E4d8iX/HRO5vov/qlv6rW/qvbum/uqX/6pb+q1v6r27pv7q1/+rW/qtb+69u7b+6tf/q1v6rW/uvbu2/urX/6tb+q9v6r27rv7qt/+q2/qvb+q9u67+6rf/qtv6r2/qvbuu/ukv/1V36r+7Sf3WX/qu79F/dpf/qLv1Xd+m/ukv/1V36r+7af3XX/qu79l/dtf/qrv1Xd+2/umv/1V37r+7af3XX/qu79V/drf/qbv1Xd+u/ulv/1d36r+7Wf3W3/qu79V/drfvqlpT6m8j9TVB/E9zfhPQ3of1NWH8Tpb+J2t9E/9Wd+6/u3H915/6rO/df3bn/6s79V3fuv7pz/6X3JV+uq7cmXkBf8nW5JSh7QOQBsQckHpB6QOYBFQ+oekCeiGBPRLAnItgTEeyJCPZEBHsigj0RwZ6IYE9EsCcixBMR4okI8USEeCJCPBEhnogQT0SIJyLEExHiiQj1RIR6IkI9EaGeiFBPRKgnItQTEeqJCPVEhHoiwjwRYZ6IME9EmCcizBMR5okI80SEeSLCPBFhnogonogonogonogonogonogonogonogonogonogonoionoionoionoionoionoionoionoionoionoionohonohonohonohonohonoho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",
1780
1723
  "brillig_names": [
1781
- "get_contract_instance_internal",
1724
+ "get_note_internal",
1782
1725
  "decompose_hint",
1783
- "lte_hint",
1784
- "get_public_keys_and_partial_address",
1785
- "notify_created_note_oracle_wrapper",
1786
- "get_key_validation_request",
1787
- "get_random_bytes",
1788
- "random",
1789
- "field_less_than",
1726
+ "get_auth_witness",
1790
1727
  "build_msg_block",
1791
1728
  "attach_len_to_msg_block",
1792
- "get_app_tag_bytes_as_sender",
1793
- "increment_app_tagging_secret_index_as_sender_wrapper",
1794
- "build_msg_block",
1795
- "emit_encrypted_note_log_oracle_wrapper",
1796
- "directive_integer_quotient",
1729
+ "pack_returns_oracle_wrapper",
1797
1730
  "directive_invert",
1731
+ "directive_integer_quotient",
1798
1732
  "directive_to_radix"
1799
1733
  ],
1800
- "verification_key": "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",
1801
- "artifact_hash": "74acc0382b362be946a173c5740463f2803bc3a9-41fe214ad3184d2cd36c4020770f0651-mega-honk-true"
1734
+ "verification_key": "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",
1735
+ "artifact_hash": "51138cca3416c965bb4ccec1358c0c804a4ada84-550984f8fc08fbd5dc69caa308398612-mega-honk-true"
1802
1736
  },
1803
1737
  {
1804
- "name": "verify_private_authwit",
1738
+ "name": "sync_notes",
1739
+ "is_unconstrained": true,
1740
+ "custom_attributes": [],
1741
+ "abi": {
1742
+ "error_types": {
1743
+ "17843811134343075018": {
1744
+ "error_kind": "string",
1745
+ "string": "Stack too deep"
1746
+ }
1747
+ },
1748
+ "parameters": [],
1749
+ "return_type": null
1750
+ },
1751
+ "bytecode": "H4sIAAAAAAAA/9VUyw6CMBBseURBOaiJ3kz8gyIYOJJ49x8akKMe8OKNT5eabbqpVRKlJkzSbEs3szNlW0oUKESPvAH9tGnIFdhBDCA6aN/tRgFr9hviQKs7JH/O0iQw+BtQ/5OfWtIvIPktnT+bAM+xVfzYi6w77UaIesKWZ/nPbHpe9fhc/MFnh32k1caghm+uIYci3RuYR4Y8iRlRd9prh/eV5YzJei7w++RVO67va/lrWIeafvmOFV/qrDMe1wmv+YFXVVrypcYv4KBzGnMvbGHe1wvY45yo3mjul/J0vZ0b0gNB8gCVxsvQjgYAAA==",
1752
+ "debug_symbols": "ndLBCoQgFAXQf3nrFmmZ2a/EEFYWgmiYDQzRv49FMzRDG908vOJ5bu4KvWiXsZF6MDNU9QrKdNxJo31atwRaK5WSY3O9hnQfCB3v54nrPc6OWwcVIjQBoXt/Koj3g1QCqowV2yMBhMNJFk7ycEKCCb79heUkPQ3LKf0ihPCBSAwqYhCNQWUEym57wEjGPoiQ8hdtPj65lbxV4uzZsOjuUjv3msRfAydrOtEvVuxdvNTQzxrRBGO/1q9+Aw==",
1753
+ "brillig_names": [
1754
+ "sync_notes"
1755
+ ]
1756
+ },
1757
+ {
1758
+ "name": "constructor",
1805
1759
  "is_unconstrained": false,
1806
1760
  "custom_attributes": [
1807
1761
  "private",
1808
- "noinitcheck",
1809
- "view"
1762
+ "initializer"
1810
1763
  ],
1811
1764
  "abi": {
1812
1765
  "error_types": {
1813
- "11091894166229312484": {
1814
- "error_kind": "fmtstring",
1815
- "item_types": [],
1816
- "length": 20
1817
- },
1818
1766
  "14514982005979867414": {
1819
1767
  "error_kind": "string",
1820
1768
  "string": "attempt to bit-shift with overflow"
@@ -1823,37 +1771,64 @@
1823
1771
  "error_kind": "string",
1824
1772
  "string": "Array index out of bounds"
1825
1773
  },
1826
- "1705275289401561847": {
1774
+ "17618083556256589634": {
1827
1775
  "error_kind": "string",
1828
- "string": "Mismatch note header storage slot."
1776
+ "string": "Initialization hash does not match"
1829
1777
  },
1830
1778
  "17843811134343075018": {
1831
1779
  "error_kind": "string",
1832
1780
  "string": "Stack too deep"
1833
1781
  },
1834
- "19458536156181958": {
1782
+ "2233873454491509486": {
1835
1783
  "error_kind": "string",
1836
- "string": "Function verify_private_authwit can only be called statically"
1784
+ "string": "Initializer address is not the contract deployer"
1785
+ },
1786
+ "2429784973622283587": {
1787
+ "error_kind": "string",
1788
+ "string": "Can only emit a note log for an existing note."
1789
+ },
1790
+ "2709101749560550278": {
1791
+ "error_kind": "string",
1792
+ "string": "Cannot serialize point at infinity as bytes."
1837
1793
  },
1838
1794
  "2920182694213909827": {
1839
1795
  "error_kind": "string",
1840
1796
  "string": "attempt to subtract with overflow"
1841
1797
  },
1842
- "4939791462094160055": {
1843
- "error_kind": "string",
1844
- "string": "Message not authorized by account"
1798
+ "3151558035338938026": {
1799
+ "error_kind": "fmtstring",
1800
+ "item_types": [
1801
+ {
1802
+ "kind": "integer",
1803
+ "sign": "unsigned",
1804
+ "width": 32
1805
+ }
1806
+ ],
1807
+ "length": 75
1845
1808
  },
1846
1809
  "5019202896831570965": {
1847
1810
  "error_kind": "string",
1848
1811
  "string": "attempt to add with overflow"
1849
1812
  },
1850
- "6869395374906889440": {
1813
+ "5727012404371710682": {
1851
1814
  "error_kind": "string",
1852
- "string": "Mismatch note header contract address."
1815
+ "string": "push out of bounds"
1816
+ },
1817
+ "6485997221020871071": {
1818
+ "error_kind": "string",
1819
+ "string": "call to assert_max_bit_size"
1853
1820
  },
1854
1821
  "7233212735005103307": {
1855
1822
  "error_kind": "string",
1856
1823
  "string": "attempt to multiply with overflow"
1824
+ },
1825
+ "8193989641828211937": {
1826
+ "error_kind": "string",
1827
+ "string": "ciphertext length mismatch"
1828
+ },
1829
+ "8270195893599566439": {
1830
+ "error_kind": "string",
1831
+ "string": "Invalid public keys hint for address"
1857
1832
  }
1858
1833
  },
1859
1834
  "parameters": [
@@ -2318,9 +2293,28 @@
2318
2293
  "visibility": "private"
2319
2294
  },
2320
2295
  {
2321
- "name": "inner_hash",
2296
+ "name": "signing_pub_key_x",
2322
2297
  "type": {
2323
- "kind": "field"
2298
+ "kind": "array",
2299
+ "length": 32,
2300
+ "type": {
2301
+ "kind": "integer",
2302
+ "sign": "unsigned",
2303
+ "width": 8
2304
+ }
2305
+ },
2306
+ "visibility": "private"
2307
+ },
2308
+ {
2309
+ "name": "signing_pub_key_y",
2310
+ "type": {
2311
+ "kind": "array",
2312
+ "length": 32,
2313
+ "type": {
2314
+ "kind": "integer",
2315
+ "sign": "unsigned",
2316
+ "width": 8
2317
+ }
2324
2318
  },
2325
2319
  "visibility": "private"
2326
2320
  }
@@ -2627,7 +2621,7 @@
2627
2621
  "name": "private_call_requests",
2628
2622
  "type": {
2629
2623
  "kind": "array",
2630
- "length": 4,
2624
+ "length": 5,
2631
2625
  "type": {
2632
2626
  "fields": [
2633
2627
  {
@@ -2811,7 +2805,7 @@
2811
2805
  }
2812
2806
  ],
2813
2807
  "kind": "struct",
2814
- "path": "authwit::aztec::protocol_types::abis::side_effect::Counted"
2808
+ "path": "authwit::aztec::protocol_types::abis::side_effect::counted::Counted"
2815
2809
  }
2816
2810
  }
2817
2811
  },
@@ -2926,46 +2920,29 @@
2926
2920
  }
2927
2921
  },
2928
2922
  {
2929
- "name": "start_side_effect_counter",
2930
- "type": {
2931
- "kind": "integer",
2932
- "sign": "unsigned",
2933
- "width": 32
2934
- }
2935
- },
2936
- {
2937
- "name": "end_side_effect_counter",
2938
- "type": {
2939
- "kind": "integer",
2940
- "sign": "unsigned",
2941
- "width": 32
2942
- }
2943
- },
2944
- {
2945
- "name": "note_encrypted_logs_hashes",
2923
+ "name": "private_logs",
2946
2924
  "type": {
2947
2925
  "kind": "array",
2948
2926
  "length": 16,
2949
2927
  "type": {
2950
2928
  "fields": [
2951
2929
  {
2952
- "name": "value",
2953
- "type": {
2954
- "kind": "field"
2955
- }
2956
- },
2957
- {
2958
- "name": "counter",
2930
+ "name": "log",
2959
2931
  "type": {
2960
- "kind": "integer",
2961
- "sign": "unsigned",
2962
- "width": 32
2963
- }
2964
- },
2965
- {
2966
- "name": "length",
2967
- "type": {
2968
- "kind": "field"
2932
+ "fields": [
2933
+ {
2934
+ "name": "fields",
2935
+ "type": {
2936
+ "kind": "array",
2937
+ "length": 18,
2938
+ "type": {
2939
+ "kind": "field"
2940
+ }
2941
+ }
2942
+ }
2943
+ ],
2944
+ "kind": "struct",
2945
+ "path": "authwit::aztec::protocol_types::abis::log::Log"
2969
2946
  }
2970
2947
  },
2971
2948
  {
@@ -2975,25 +2952,6 @@
2975
2952
  "sign": "unsigned",
2976
2953
  "width": 32
2977
2954
  }
2978
- }
2979
- ],
2980
- "kind": "struct",
2981
- "path": "authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"
2982
- }
2983
- }
2984
- },
2985
- {
2986
- "name": "encrypted_logs_hashes",
2987
- "type": {
2988
- "kind": "array",
2989
- "length": 4,
2990
- "type": {
2991
- "fields": [
2992
- {
2993
- "name": "value",
2994
- "type": {
2995
- "kind": "field"
2996
- }
2997
2955
  },
2998
2956
  {
2999
2957
  "name": "counter",
@@ -3002,22 +2960,10 @@
3002
2960
  "sign": "unsigned",
3003
2961
  "width": 32
3004
2962
  }
3005
- },
3006
- {
3007
- "name": "length",
3008
- "type": {
3009
- "kind": "field"
3010
- }
3011
- },
3012
- {
3013
- "name": "randomness",
3014
- "type": {
3015
- "kind": "field"
3016
- }
3017
2963
  }
3018
2964
  ],
3019
2965
  "kind": "struct",
3020
- "path": "authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"
2966
+ "path": "authwit::aztec::protocol_types::abis::private_log::PrivateLogData"
3021
2967
  }
3022
2968
  }
3023
2969
  },
@@ -3054,6 +3000,22 @@
3054
3000
  }
3055
3001
  }
3056
3002
  },
3003
+ {
3004
+ "name": "start_side_effect_counter",
3005
+ "type": {
3006
+ "kind": "integer",
3007
+ "sign": "unsigned",
3008
+ "width": 32
3009
+ }
3010
+ },
3011
+ {
3012
+ "name": "end_side_effect_counter",
3013
+ "type": {
3014
+ "kind": "integer",
3015
+ "sign": "unsigned",
3016
+ "width": 32
3017
+ }
3018
+ },
3057
3019
  {
3058
3020
  "name": "historical_header",
3059
3021
  "type": {
@@ -3441,41 +3403,28 @@
3441
3403
  "visibility": "databus"
3442
3404
  }
3443
3405
  },
3444
- "bytecode": "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",
3445
- "debug_symbols": "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",
3406
+ "bytecode": "H4sIAAAAAAAA/+z9B5wUxdc9Dq+wbBLYBRNmwYCCoasnI2YxC2YwM1Ex5wQqIphzzjnnnDDnnAXBgIIZzJi/4FtXex56hwJ2mXPqX/3+rOdzn21KvsU99566dU93z+wCNf+OA3rV1Oyywr/XC2jrGPzsoG25irnyz/B1J8PfW9Aw18Uw12yY62aYW1TbuhVzyxr+3nKGuZ6GuV6GuRUNcytpa6iY622YW9kwt4phro9hrq9hblXD3GqGudUNc2sY5jzDnDLM+Ya5mGEubphLGOaShrmUYS5tmMsY5voZ5tY0zPU3zK1lmFvbMLeOYW5dw9x6hrn1DXMbGOY2NMwNMMxtZJjb2DC3iWFuU8PcZoa5zQ1zWxjmtjTMDTTMDTLMbWWY29owt41hblvD3HaGue0NczsY5gYb5oYY5nY0zO1kmNvZMLeLYW5Xw9xuhrndDXNDDXNZw1zOMJc3zBUMc8VgLjwWCH6uG/yMecl4vJjyiyqmsp6fyaUTXjyRS6ZVWiXSiYKfjsWK6Xg6lcllUl5GxWNFVUpkYiXv37Fpx1lreVUNP8/0c7P59jOuKmfEt+7aakO+ShxmBtdyxpSve4euNwv+Tvl/t7n+8xbattQ2sOOs+fLoWBEDr7qhVgautXlHXG4GwTjkecz4rQJcawtg/LaKSPz6ANfaEhi/rYHxM9WGQaHasFXoeuvQ9cCK2rCN/vO22rbTtr2F2tAXuNY2wNzsEBFurwpca1tg/AZHJH6rAdfaDhi/IeTasEOoBgwOXQ8JXW9fURt21H/eSdvO2naxUBtWB661IzA3u0aE22sA19oJGL/dIhI/D7jWzsD47U6uDbuGasBuoevdQ9e7VNSGofrPWW05bXkLtUEB1xoKzE0hItz2gWtlgfErRiR+MeBaOWD8SuTaUAjVgGLouhS6zlfUhj30n/fUNkzbXhZqQxy41h7A3OwdEW4ngGvtCYzfPhGJXxK41jBg/PYl14a9QzVgn9D1vqHrvSpqw376z/trO0DbgRZqQwq41n7A3BwUEW6ngWvtD4zfwRGJXwa41gHA+B1Crg0HhWrAwaHrQ0LXB1bUhkP1nw/Tdri2IyzUhn7AtQ4F5ubIiHB7TeBahwHjd1RE4tcfuNbhwPgNJ9eGI0M14KjQ9fDQ9REVtWGE/vPR2o7RdqyF2rAWcK0RwNyMjAi31waudTQwfsdFJH7rANc6Bhi/UeTaMDJUA44LXY8KXR9bURuO138erW2MthMs1IZ1gWsdD8zNiRHh9nrAtUYD43dSROK3PnCtMcD4nUyuDSeGasBJoeuTQ9cnVNSGU/SfT9V2mrbTLdSGDYBrnQLMzRkR4faGwLVOBcbvzIjEbwBwrdOA8TuLXBvOCNWAM0PXZ4WuT6+oDWfrP5+j7Vxt51moDRsB1zobmJvzI8LtjYFrnQOM3wURid8mwLXOBcbvQnJtOD9UAy4IXV8Yuj6vojZcpP98sbZLtF1qoTZsClzrImBuLosItzcDrnUxMH6XRyR+mwPXugQYvyvIteGyUA24PHR9Rej60oracKX+81XartZ2jYXasAVwrSuBubk2ItzeErjWVcD4XReR+A0ErnU1MH7Xk2vDtaEacF3o+vrQ9TUVteEG/ecbtd2k7WYLtWEQcK0bgLm5JSLc3gq41o3A+N0akfhtDVzrJmD8biPXhltCNeDW0PVtoeubK2rD7frPd2i7U9tdFmrDNsC1bgfm5u6IcHtb4Fp3AON3T0Titx1wrTuB8buXXBvuDtWAe0LX94au76qoDffpP9+v7QFtD1qoDdsD17oPmJuHIsLtHYBr3Q+M38MRid9g4FoPAOP3CLk2PBSqAQ+Hrh8JXT9YURvG6j8/qu0xbY9bqA1DgGuNBebmiYhwe0fgWo8C4/dkROK3E3Ctx4Dxe4pcG54I1YAnQ9dPha4fr6gNT+s/P6PtWW3PWagNOwPXehqYm+cjwu1dgGs9A4zfCxGJ367AtZ4Fxu9Fcm14PlQDXghdvxi6fq6iNryk//yytle0vWqhNuwGXOslYG5eiwi3dweu9TIwfq9HJH5DgWu9AozfG+Ta8FqoBrweun4jdP1qRW14U//5LW1va3vHQm3IAtd6E5ibdyPC7RxwrbeA8XsvIvHLA9d6Gxi/ceTa8G6oBrwXuh4Xun6nojaM139+X9sEbRMt1IYCcK3xwNx8EBFuF4FrvQ+M34dkbn8Q4vCHoesJoeuJFdz+SP/5Y22TtH1i4HYHcG5WrMHF81NcPFX4+3tl3eUqYls5FgDHZYEaLDfKPrYE15M1pinaPtP2ubYvtH2p7SttX2v7RttUbdO0favtO23fa/tB248dg2B0CRGCGYyvSIWmBuunH47FT0EV+7nMovJP+Q8zKubkL1WyCl0FvwJUrmLp3/ETsAr+TEouulIhMU8PraXSMd9PxeTvpQueihfyftr3C7m4l/eyeb+YiatMKe7HY/lCPqfXzKqSV8rmM6X0v37JRuxaY6cqTe+Ir0oyfulIdPiXjvh1fwWSgYX7146zAgxa1+grogD82hG/7m9gspaLtawrxcXmCTg1gifg7wH//qg8AX83nIB/WDgBpwJPwN+BBeCPiJyASMx/RvQE/JN0Av7VkejwX4QT8H+On4CC+38ROQH/CHxFrzuDdALO+P/gBPwugifgzIB/f1eegDMNJ+DfFk7A74An4ExgAfg7IicgErPsnvJaUToBw357VY6wvwvUEh2WxdHrdqh1+wQU3B1C929B61JOQCkAHWrx63as5ZyAsq7tE/DHCJ6AtQH/OtXWtD7t5D9UnoCdavkn4I/AE7AWWAA61UbjBERirovoCVhHOgHra4kO1xNOwAbHT0DB3RCRE7BT4Ct63UbSCdhYO/uph/a9Ceb7P+8H0fxccP79jFdOmB7kSxzKD+wnhx7efx66XrC29YP8zvqii7au2ppr+S+pTAE+fO8MrCstYP5X5qYllJsuoeuuoevmitx00xfdtS2kbWFDbtD8XGT+YxBrSwzC/PwsxMluoflFKmKwqL5YTFsPbYtbiMESMB7E4kw/l5x/PwteG3K1RCgnX4Ry9WXoesmKXC2lL5bWtoy2ZS3UEuArAWopYC1ZjtSko+P3NTB+SwPj1zMi8fsGGL9lgPHrRT7LlgvVhp6h616h62UrasPy+mIFbStqW8lCbQA+LFXLA3PTOyLcngaM3wrA+K0ckfh9C4zfisD4rUKuDb1DNWDl0PUqoeuVKmpDH33RV9uq2lazUBuAj5FUH2BuVo8It78Hxq8vMH5rRCR+PwDjtyowfh65NqweqgFrhK690PVqFbVB7tj62mLa4hZqA/AGu1LA3CTIuUmEcuCHrmOh63hFbpL6IqUtrS1jQZv3w8WgZIpBvxDWZOh60bncn1hTX/TXtpa2tYMY1AZ/18ZDhjWBvAjfp10nALhuGUz5hq78h5EVc+sGc+GB3phrAjfTOm1fKz+PtdS6wARIrDvUmB8T17QznvPyu4ZIynXAxao81qsko0zM61Ewkizz8FXN47976wFJvH4tjAytntis34bNXK3v6wLjgIzpBu2I6bz+rXBMNwgVzYZQPMMx9aobaubc1/PzJRVLFFMJL5mNJwrJmF/wU14hnigp7bCfievQlPLxdCHtx0p+ys/PxPr3D8fKha18kJRP1XWD6w31zwHaNqq1+87MRiTlAM5xq3dmNg5O6E0qi6L8h8p3ZjZpQ6H0qhutgljtOzMbAzf1JqTkot+ZQWLetDaa78xsSuocNqslOrxZLX7dzYFkYOHePCT4QOtS3pnZJPAVve4WYLKWi7WsW3nqMZ/9VRuHDYFc3RIsp2wVri1JhWtgLdHhgYTCNcjxwiW4B5EKV3kwHzRXG9MBwPxsFdHNuhVps25dS3R4a8Jm3cbxzSq4t4nYZt2w1s1iui2Y9I1BvrcN6fgBoetBtbPugn8demvsm9B1+eP82+m/u722HYL/TXntDeew9iahtef1dwbrn0O07VjL2ZuDAo6iu8udwLIV7R8L987A/VMTGh3Afm4C3Ju7gDGjb03I/kTmRfbkTgTu7GrpVg/yqzyqXWs3x7kjtR94C07JXtmVwJ3dwdxBx1E4g+wthDe7E+K4QA1nD6L9HIqLZcH0NsHQUC8iXChff9Rxzm8TZPVFTlteW6GW/7WanwPrUDaiYhD4iaRWYrBYS3S4SBCDJcfFoOAuRUwMhteqNqZTgJt1j4huVqTfYX/3rCU6vCdhsw5zfLMK7mEReT5UCnxFn66lWjfzLWnpWGNnwyK7wS4hP/cKuLV38HOf4Oe+wc/9gp/7Bz8PCH4eGPw8KPh5cPDzkODnocHPwyrfqtgndMupPLe/Ye4gw9yhobm5fdByr9D13rVz/qDl4friCG1Hajuqlv9S9D5AIh8OJPLw2mh0AfsC43cEMH4jIhK//YDxOxIYv6PB3UhlbRgeqgEjQtdHh66PqqgNx+iLY7WN1HachdqwPzA3xwBzMyoi3D4AGL9jgfE7PiLxOxAYv5HA+I0m14ZRoRpwfOh6dOj6uIraMEZfnKDtRG0nWagNBwFzMwaYm5Mjwu2DgfE7ARi/UyISv0OA8TsRGL9TybXh5FANOCV0fWro+qSK2nCavjhd2xnazrRQGw4F5uY0YG7OIufmrFAOTg9dnxG6PrMiN2fri3O0navtvNpZHzCc2wcYzw5dH1Y750cO5+uLC7RdqO2iWvsfYDwfGO8OIT8vDgBeUink5T+MrJi7pJb/AcbzgSS9uO1rzfMDjJcAEyCx7lAT/Q8wXgwuAuVxaSUZL63lf4CxHWDm+QHGS4EkvqwWRoZWr89f1obNXK3vlwDjgIzp5e2IaXs+wHh57X8fYCw/yK+pmXWQlE/VS4LrK/TPK7VdVWv3A4xXkTpycI5bfYDx6uCEvqayKMp/qPwA4zVtKJRedaNVEKv9AOPVwE19DSm56OddSMzXhtaK0gcYryV1DtfVEh2+rha/7vVAMrBwXx8SuaB1KQ+orwl8Ra97A5is5WIt61aeesxnatXG4QrgWjeC5ZStwnUjqXDdVEt0+CZC4brZ8cIluG8mFa7yYD7ArTamVwLXuiWim/UW0ma9tZbo8K2EzXqb45tVcN8Wsc16Ra2bxfR2MOnLHzK8PaTjrwxd31w76y74vqH5/ULX5TfA7tA/79R2V23rDzBeMYe1rwmtPa+/c7f+eY+2e2s5e/PmgKPo7vI+sGxF+8fCfT9w/9SERgewn9cA9+YDYMzoWxOyP5F5kT15H4E7D1q61VOtn/sDufOQ49yR2g+8BadkrzxI4M7DYO4wOHMFmDcPE3pK5CvrNXPZg151Q30K/DzQI7XY+JXvBMm6y9XM/Y2CZWePyzyfQ85trFQZ4ypW6z17vuZ7tZVNuZ/P1VapMeZrvlbrUzOH3M/Han1r5sijdq+2as1cONnO1VarmSu/27Xa6jXz2CvtWG2Nmnnuu7avVtOGPdzG1VRb1mrjan7b1mrTarG2rtWG1eJtX2ueqyXas9Y8Vku2b625rpZq71pzWS3d/rXmuFpmftaaw2r95m8t42przu9ahtX6z/9as622VjVrVay2dnVrtVptnWrXCq22bvVr/d9q6yHWClZbH7PWP6ttgFpLvmgMt1arNyfHBveZHg3dt/xn9Ax+hv7R/xq1eYz/GjWvXeO/Rq19q/3XqLVvtf8atfat9l+j1r7V/mvU2rfa/2uNWrU36sYCP/nxKPjtB1sfGRqAW6tV4/tY0PA+Xtn4op+wDwAS4jEgIR63RAj0Hd+NanBCYuManJDYpAYnJDatwQmJzWpwQmLzGpyQ2KIGJyS2rMEJiYE1OCExqGaee6zNq21V04b92sbVtm7LWm1cbZu2rdWm1bZt61ptWG27tq81z9W2b89a81hth/atNdfVBrd3rbmsNqT9a81xtR3nZ605rLbT/K1lXG3n+V3LsNou87/WbKvtWs1aFavtVt1arVbbvdq1QqsNrX6t/1sti1grWC2HWeuf1fKotfRqBdxarRrfJ4KG90n2Hd//GrX2jf8atf8atcrxX6PWvtX+a9Tat9p/jVr7VvuvUWvfav+vNWrV3uB7AniD78mI3vEt4tZq1fg+FTS8T7Pv+BaBhHgKSIinI0oI5DvaYUI8ExDhWTYhFgAS4hkgIZ4Ff8hOviyoeyiOs/yM+8liMp4tFmNeMZNJ51Usn84Xi/lCNpZNpdJeqpArZgsJP5f3S7FcyStmi+mEysVzKeXlZ/uyIKXxJpJZL5kuJb2Y58f8uJfPJHPxQjYRT8WTSb1cLJdOKZVP+Cqfiqd95WdVIpf3YvFiNsn4sqDwen7aT+RTmXw+mU3kc7lisZQqJLPpksols8rPxbQz2VgsHY972WKpmIvHMkkVT+fTOkOpvBfPzIZXp7ZUUIIul/KSfiGZS0jii7FkLuOlYslYwislS7msp3w/nY9ryL6XySS8TCmR0vWIjdcrFnKq6Gdi+Vi+mFG5kgZR1JfZbMIr+PlEXJWymYImoPZLw/VixVJO5UtZP5+LxRKp0mx4Y3FVSKYSpazObjFfjOmEa3bE8tlYXMchllOZXLKYSSV9L55M6bm4Dp8fz8d1lAvFWIKP1ytkC76f8BLpWMnPZkpeNp/TmAvFQknpiOuNmPNiOh7ZYioRK+lMqXgunc6W0iqfS/iz+ZdJxXKeDlQ+m83HYpliMa7hFrK5hIr5mYzvlVK5f8jj6YX0dDFRKCVTXtzLxTwvk/TpfC7FYnG/mPG8omaXxuGnM7riZIvJtK4rqVi6VMgnNbqC5oDyCsVULuZ7ed1lZTzfS6cKs+U3V8ok0vp/E9NRyxQSGV9XMi+mS1gyozd+spAsZfx4Rm9nPx7XK8YSqqQp4BdKOhR5L03Pb1zvo5jejLqUerqmFvJpv5jOJhLZTMIvxMUNP5EsFT1dSwuZeEZP6z2X9TzNA52o2fmXTQvzk17B0/+vlCikdZmOZwrxdEmXxnjB09vfy2XSxUJKpbKZXCLmZ0vJmK58iZiXyigG3s7BWnI9NvRB5EdD14+Frh8PXT8Run4ydP1U6Prp0PUzoetng2sgHnh8ZL3ntJ/Pa3uhdtbXpHaqmfNAYaGsHc+ruO4QFjBg6AD2f2zbe4p53hlCvrNSxuvy+ymsnDwBzMmTEcgJUkGyfGR98BTt53O10fDzEZKf/zfQm/IR4KejXyR9ovfF4BO9cl35/eMHhA71A0PXB9XO+fvHX9IXL2t7RdurtfxfefoSMMavhWOc9JLJTCnuaT1bUrrJVfFMJqe7tawqJvIqmUkXksW8/nfysXQik9UNX0GrvaxK5/KxhG77bH591GtgkV8er9cSHX6d8FH/N4BkYOF+I7QjQOt65c61Qw2fbC+RqzBobT9ceN4M/vBW8PPt4Oc7IQ7Cv7/jDVLFfrt21n3Zyor9ZqgyvxW6fnsuFftdffGetnHaxocqNqNSIzeorCW+dwDnDUhw9S54s6A5KrF7oxaf6w5AH9+PyHcoIbk9AfwdSuhDQHIygfCdRxPBnUy5Zk4MulxGLMp7CB2LD8i1w6tuKMn/BwTcH5I48GGIA+h6V94Prsf2I1JsPyLGtmNN677Bq278sx6jdn0cgf36MQH3JBKnJoV8RceiE4kDn0SAA58QcH9K4sCnxHNbOMA4tydHgAOTCbinkDgwhXi2lPeD67H9jBTbz4j7a8EaTo39PAL763MC7i9IHPiCzAFGjf0yAhz4koD7KxIHviLX2M9r3Y/t16TYfk3cX/L7CBk19psI7K9vCLinkjgwlcwBRo2dFgEOTCPg/pbEgW/JNfabWvdj+x0ptt8R91dzDafGfh+B/fU9AfcPJA78QOYAo8b+GAEO/EjA/ROJAz+Ra+z3te7H9mdSbH8m7q9uNZwaOz0C+2s6AfcvJA78QuYAo8b+GgEO/ErA/RuJA7+Ra+z0Wvdj+zsptr8T99eiNZwa+0cE9tcfBNx/kjgQXpfBAUaN/SsCHPiLgPt/JA6E12XU2D9q3Y/tDFJsZxD3l3wTLqPGzozA/ppJwP03iQN/E89Z4QCjxsob/q5zQHxE416gE4cDsu5ywbqMGjuz1v3YdiDFtkMn3v6SdRk1tmME9ldHAgdqSRyoJXOAUWM7RYADnQgcqCNxoI5cY4F7lhbbelJs64n7q2cNp8Y2RGB/NRA40EjiQCOZA4wa2xQBDjQROLAgiQMLkmtsQyf3Y9uZFNvOxP3Vq4ZTY7tEYH91IXCgK4kDXckcYNTY5ghwoJnAgRYSB1rINbZLJ/dj240U227E/bViDafGdo/A/upO4MBCJA4sROYAo8YuHAEOLEzgwCIkDixCrrHdO7kf20VJsV2UuL/kG8QYNXaxCOyvxQgc6EHiQA8yBxg1dvEIcGBxAgeWIHFgCXKNXayT+7FdkhTbJYPYyqM6W9/8h/xKzLC/S3UiOrxUJ/y6S3cCPmgn4V6606wAg9b955v/mmtm/T6L8EBvcNe/9zk8MGv7vLXVrA0nP5cLrpfRHFlWCom2ntp6aVte2wraVtS2krbe2lbWtoq2Ptr6altV22raVte2hjZPm3zDha8tpi2uLaEtqS2lLa0to62ftjW19de2VqfAmXJFE2caKuaWNcwtZ5jraZjrZZhb3jC3gmFuRcPcSoa53oa5lQ1zqxjm+hjm+hrmVjXMrWaYW90wt4ZhzjPMKcOcb5iLGebihrmEYS5pmEsZ5tKGuYxhrp9hbk3DXH/D3FrBXHj0Cn6uG/z0qhu0AlbtgbMM4PAqlmR4alnQWhKD5SBr/RvPntWv5Zd/qVGvateKz/oFSctXt5YX/mVLK1Szlt/6FzetOP9reZW/BGql+VwrWZr9F0r1nr+10qZfTrXy/KyVNv+iq1Xav1ZqTr80q09710rN+Rdw9W3fWv7cfpnXqu1ZKzX3Xwy2WtvXmucvGVu9rWul5lkL1RptW8trQ11VXlvW8tpUo5Wa91qJNtZ75c9rrXibzw4Vm+ta8VI7ziEVn9taqXadaSox57XS7TwfVXIOa2VK7T5rVcq8ljcf57ZKm9by5qsHUJnZ11Lz2U+ofpVrFea7N1Frtl4rVkWfo/qH1vJLVfVMai3wncHyqBTN1fZ2a3XCrbU2DHPMs3mXam1grsL+rtOJ6PA6hLtU6zp+l+qfRHWaFWDQuv+QTb6mqEMNn2y4wlCg3v0Jx2K9IObrV96BWS8gYXhufYNSRv86W0TVKivS9YCkXx+cXMYGX68T/pnFehE57foDc70BDHMybvO024B02m3YiejwhoTTboDjp53gHhDx064/jGyZvMFdymm3URDzjStPu40Mp93GFk67/sDTbiMg6TcmJRdd9ZGYN8FVT+NvvqnWv3WDooF+uIqUBpuCuwV00ZIcb0roklzHvW6AG73/kNzZjLz/vOqGkvhtRuDO5uCurXx+bd5p9q4Tnf81gfnfAhaHeNFm170FOH/lsWUnosNbErrugY533YJ7YMS77jVhZMv5BncpXfegIOZbVXbdgwxd91YWum5E1Sp33YOApN+KlFx01Udi3trxU3+zoGh0BMdwM2AMkYV3G8fzIXzZhtCFAXFTfl/uZgFudC1Edt3bAHm4reOKSrBuS+DhdiQ1sJ0FNdAPmP/tYXFI+TbVwPbg/JXHDp2IDu9AUAODHVcDgntwxNVAPxjZ0kWDuxQ1MCSI+Y6VamCIQQ3saEENIKpWWQ0MAZJ+R1Jy0VUfiXknx7vPbYOigVYD2wJjiCy8OzueD+HLzoQuDIiboga2DXCjayGw61Y7A3m4i+NqQLDuQuDhriQ1sKsFNZAB5n83WByKyqYa2A2cv/LYvRPR4d0JamCo42pAcA+NuBrIwMimSgZ3KWogG8Q8V6kGsgY1kLOgBhBVq6wGskDS50jJRVd9JOa8493nLkHRQKuBXYAxRBbeguP5EL4UCF1Ygdx9IvhSIKgBYNetCkAeFh1XA4K1SOBhiaQGShbUQBqY/z1gcYhZVQN7gPNXHnt2Ijq8J0ENDHNcDQjuYRFXA2kY2fLW1MBeQcz3rlQDexnUwN4W1ACiapXVwF5A0u9NSi666iMx7+N491kMigZaDRSBMUQW3n0dz4fwZV9CF7YvuftE8GVfghoAdt1qXyAP93NcDQjW/Qg83J+kBva3oAZSwPwfAItD1up3UxwAzl95HNiJ6PCBBDVwkONqQHAfFHE1kIKRLWntuykODmJ+SKUaONigBg6xoAYQVausBg4Gkv4QUnLRVR+J+VDHu8/9gqKBVgP7AWOILLyHOZ4P4cthhC4MiJuiBvYLcKNrIbDrVocBeXi442pAsB5O4OERJDVwhAU1kATm/0hYHPyMTTVwJDh/5XFUJ6LDRxHUwHDH1YDgHh5xNZCEka2QMrhLUQMjgpgfXakGRhjUwNEW1ACiapXVwAgg6Y8mJRdd9ZGYj3G8+zw8KBpoNXA4MIbIwnus4/kQvhxL6MKOJXefCL4cS1ADwK5bHQvk4UjH1YBgHUng4XEkNXCcBTWQAOZ/FCwOubRNNTAKnL/yOL4T0eHjCWpgtONqQHCPjrgaSMDIFk8b3KWogTFBzE+oVANjDGrgBAtqAFG1ympgDJD0J5CSi676SMwnOt59jgyKBloNjATGEFl4T3I8H8KXkwhd2Enk7hPBl5MIagDYdauTgDw82XE1IFhPJvDwFJIaOMWCGogD838qLA4Jq28KnQrOX3mc1ono8GkENXC642pAcJ8ecTUQx0lma28KnRHE/MxKNXCGQQ2caUENIKpWWQ2cAST9maTkoqs+EvNZjnefJwdFA60GTgbGEFl4z3Y8H8KXswldGBA3RQ2cHOBG10Jg163OBvLwHMfVgGA9h8DDc0lq4FwLaiAGzP95uDtjCZtq4Dxw/srj/E5Eh88nqIELHFcDgvuCiKuBGK5hzBncpaiBC4OYX1SpBi40qIGLLKgBRNUqq4ELgaS/iJRcdNVHYr7Y8e7znKBooNXAOcAYIgvvJY7nQ/hyCaELu4TcfSL4cglBDQC7bnUJkIeXOq4GBOulBB5eRlIDl1lQAz4w/5fjzsKkTTVwOTh/5XFFJ6LDVxDUwJWOqwHBfWXE1YCPk8xZg7sUNXBVEPOrK9XAVQY1cLUFNYCoWmU1cBWQ9FeTkouu+kjM1zjefV4aFA20GrgUGENk4b3W8XwIX64ldGHXkrtPBF+uJagBYNetrgXy8DrH1YBgvY7Aw+tJauB6C2pAAfN/AywOaavfMHoDOH/lcWMnosM3EtTATY6rAcF9U8TVgIKRLWXtG0ZvDmJ+S6UauNmgBm6xoAYQVausBm4Gkv4WUnLRVR+J+VbHu8/rgqKBVgPXAWOILLy3OZ4P4ctthC7sNnL3ieDLbQQ1AOy61W1AHt7uuBoQrLcTeHgHSQ3cYUENeMD83xlRNXAnOH/lcVcnosN3EdTA3Y6rAcF9d8TVgBdBNXBPEPN7K9XAPQY1cK8FNYCoWmU1cA+Q9PdGRA0gMd/nePd5e1A00GrgdmAMkYX3fsfzIXy5n9CF3U/uPhF8uZ+gBoBdt7ofyMMHHFcDgvUBAg8fJKmBBy2ogTWA+X8IFoeE1e8Uegicv/J4uBPR4YcJauARx9WA4H4k4mpgDRjZsta+U2hsEPNHK9XAWIMaeNSCGkBUrbIaGAsk/aOk5KKrPhLzY453nw8ERQOtBh4AxhBZeB93PB/Cl8cJXdjj5O4TwZfHCWoA2HWrx4E8fMJxNSBYnyDw8EmSGnjSghpYHZj/p3BqoGBTDTwFzl95PN2J6PDTBDXwjONqQHA/E3E1sDquYYwZ3KWogWeDmD9XqQaeNaiB5yyoAUTVKquBZ4Gkf46UXHTVR2J+3vHu84mgaKDVwBPAGCIL7wuO50P48gKhC3uB3H0i+PICQQ0Au271ApCHLzquBgTriwQevkRSAy9ZUAOrAfP/MiwOvtVnAy+D81cer3QiOvwKQQ286rgaENyvRlwNrAYjW8Has4HXgpi/XqkGXjOogdctqAFE1SqrgdeApH+dlFx01UdifsPx7vPFoGig1cCLwBgiC++bjudD+PImoQt7k9x9IvjyJkENALtu9SaQh285rgYE61sEHr5NUgNvW1ADqwLz/w4sDrGYTTXwDjh/5fFuJ6LD7xLUwHuOqwHB/V7E1cCqMLLlCwZ3KWpgXBDz8ZVqYJxBDYy3oAYQVausBsYBST+elFx01Udift/x7vOtoGig1cBbwBgiC+8Ex/MhfJlA6MImkLtPBF8mENQAsOtWE4A8nOi4GhCsEwk8/ICkBj6woAb6AvP/ISwORavPBj4E5688PupEdPgjghr42HE1ILg/jrga6Asjm7L2bGBSEPNPKtXAJIMa+MSCGkBUrbIamAQk/Sek5KKrPhLzp453nxODooFWAxOBMUQW3smO50P4MpnQhU0md58IvkwmqAFg160mA3k4xXE1IFinEHj4GUkNfGZBDfQB5v9zWBziVtXA5+D8lccXnYgOf0FQA186rgYE95cRVwN9YGTLWVMDXwUx/7pSDXxlUANfW1ADiKpVVgNfAUn/NSm56KqPxPyN493nlKBooNXAFGAMkYV3quP5EL5MJXRhU8ndJ4IvUwlqANh1q6lAHk5zXA0I1mkEHn5LUgPfWlADqwDz/x0sDqmMTTXwHTh/5fF9J6LD3xPUwA+OqwHB/UPE1cAqMLKlUwZ3KWrgxyDmP1WqgR8NauAnC2oAUbXKauBHIOl/IiUXXfWRmH92vPucFhQNtBqYBowhsvBOdzwfwpfphC5sOrn7RPBlOkENALtuNR3Iw18cVwOC9RcCD38lqYFfLaiBlYH5/w13Z8yqGvgNnL/y+L0T0eHfCWrgD8fVgOD+I+JqYGXcAzRrauDPIOZ/VaqBPw1q4C8LagBRtcpq4E8g6f8iJRdd9ZGY/+d49/lLUDTQauAXYAyRhXeG4/kQvswgdGEzyN0ngi8zCGoA2HWrGUAeznRcDQjWmQQe/k1SA39bUAO9kQ1gHezZgGdTDeD8bq0GFqgjOiyLo9ftUOe2GhDcHepmBRi0rlU10BtWLDKewV2KGugYxLy2rqZ159+xbnY1IH+JrQZ6A9VARyDpa+s4yUVXfSTmTnXADV6D33By4kvRQKuBmcCTE1l46xzPh/Clrg7fhQFxU9SA8KWuDl8LgV23qgPysJ6cD6+68Q/WegIPG8DdZPlcbajjq4GVgDWtEXcWWv1dxI0kNdBUR3S4iaAGFnRcDQjuBSOuBlaCFe+ktd9F3DmIeZdKNdDZoAa6WFADKwHVQGcg6bvUcZKLrvpIzF0d7z7rg6KBVgP1wBgiC2+z4/kQvjQTurBmcveJ4EszQQ0Au27VDORhi+NqQLC2EHjYjaQGullQAysC1UB3WBziVr9htDs4f+WxUB3R4YUIamBhx9WA4F444mpgRdzrdNa+YXSRIOaLVqqBRQxqYFELamBFoBpYBEj6Res4yUVXfSTmxRzvPluCooFWAy3AGCILbw/H8yF86UHownqQu08EX3oQ1ACw61Y9gDxc3HE1IFgXJ/BwCZIaWMKCGlgBqAaWhMWhaPXZwJLg/JXHUnVEh5ciqIGlHVcDgnvpiKuBFWBqQJUM7lLUwDJBzJetVAPLGNTAshbUwApANbAMkPTL1nGSi676SMzLOd59Lh4UDbQaWBwYQ2Th7el4PoQvPQldWE9y94ngS0+CGgB23aonkIe9HFcDgrUXgYfLk9TA8hbUwPJANbACLA6lhE01sAI4f+WxYh3R4RUJamAlx9WA4F4p4mpgedxrnjmDuxQ10DuI+cqVaqC3QQ2sbEENLA9UA72BpF+5jpNcdNVHYl7F8e6zV1A00GqgFzCGyMLbx/F8CF/6ELqwPuTuE8GXPgQ1AOy6VR8gD/s6rgYEa18CD1clqYFVLaiBXkA1sBosDhmrbwqtBs5feaxeR3R4dYIaWMNxNSC414i4GuiF+9yAtTeFvCDmqlINeAY1oCyogV5ANeABSa/qOMlFV30kZt/x7rNvUDTQaqAvMIbIwhtzPB/ClxihC4uRu08EX2IENQDsulUMyMO442pAsMYJPEyQ1EDCghroCVQDSdyzAavfKZQE5688UnVEh1MENZB2XA0I7nTE1UBP3JtC1r5TKBPEvF+lGsgY1EA/C2qgJ1ANZICk71fHSS666iMxr+l49xkPigZaDcSBMUQW3v6O50P40p/QhfUnd58IvvQnqAFg1636A3m4luNqQLCuReDh2iQ1sHbgq83OeDnSd++vU0d0eB1CZ7yu453xP4kidMYmXyGFoW72psarbihgwYHm2+aGXZa0YderIzq8HmHDru/4hhXc60dow67v+IZF57s80MprGeD9tg2A8bNZpDao4xSpDeuIDm9IKFIDHC9SgnuApSLlVTf+KSYDCDJ/LWCOkPneyHGZL4VuI4K82thxWSmYNybg3oQkKzcx3K5Fx4SdM8Qe34hwawbZ4GwErB2bRmAPbUrYQ5uR9tBmhge16JhsClakzTWz+M70e0ANlmuVA7O2T32WtkAotssF15vrfG6hbUttA7UN0raVtq21baNtW23badte2w7aBmsbom1HbTtp21nbLtp21babtt21DdWW1ZbTltdW0FbUVtK2h7Y9tQ3Ttlflc7zNg0MgPLeFYW5Lw9xAw9wgw9xWhrmtDXPbGOa2NcxtZ5jb3jC3g2FusGFuiGFuR8PcToa5nQ1zuxjmdjXM7WaY290wN9QwlzXM5QxzecNcwTBXNMyVDHN7GOb2NMwNM8ztZWg4egY/1w1+etWNVkWn2mK5OaDwlp81bwFaSzBuCVnr33gNrH4tP4iXGlTtWvH/i73aqrq1vFAe1dbVrOW34oTaZv7X8ir4pbadz7WSpdm4qrabv7XSBt6r7ednrbRxD6kd2r9Wag77UQ1u71qpOe5tNaR9a/lzqRNqx/aslZprzVE7tX2t/Dzql9q5rWul5lkL1S5tW8trQ11Vu7ZlLa9NNVrtNu+1Em2s92r3ea0Vb/PZoYbOda14qR3nkMrOba1Uu840lZvzWul2no8qP4e1MqV2n7WqYF7Lm49zWxVNa3nz1QOo0uxrqfnsJ9QelWsV5rs3UXu2XitWRZ+jhoXW8ktV9UxqL/ANhvJAP43Zqw631t4wzDGrj4z3BuYq7O8+dUSH96nDr7svkAws3PvWzQowaF2rbz/jCkPB2tvP+wUx37/yrsl+dbO//bx/Hf/tZ0TVKivS/YCk3x+cXMYG368Of1t5v4icdsOAuT4AhjkZt3naHUA67Q6sIzp8IOG0O8jx005wHxTx024YjGyZvMFdyml3cBDzQypPu4MNp90hFk67YcDT7mAg6Q8hJRdd9ZGYD8VVT+NLJ9X6t29QNNBvKiKlwWHgbgFdtCTHhxG6JNdx7xvgRu8/JHcOJ+8/r7qhJH6HE7hzBLhrK59fR9TN3nWi878nMP9HwuIQL9rsuo8E5688jqojOnwUoese7njXLbiHR7zr3hNGtpxvcJfSdY8IYn50Zdc9wtB1H22h60ZUrXLXPQJI+qNJyUVXfSTmYxw/9Q8Pigb61fvDgTFEFt5jHc+H8OVYQhcGxE15jfvwADe6FiK77mOBPBzpuKISrCMJPDyOpAaOs6AG9gDmfxQsDinfphoYBc5feRxfR3T4eIIaGO24GhDcoyOuBvaAkS1dNLhLUQNjgpifUKkGxhjUwAkW1ACiapXVwBgg6U8gJRdd9ZGYT3S8+xwZFA20GhgJjCGy8J7keD6ELycRurCTyN0ngi8nEdQAsOtWJwF5eLLjakCwnkzg4SkkNXCKBTVQAub/VFgc7P6e7lPB+SuP0+qIDp9GUAOnO64GBPfpEVcDJRjZ7P2e7jOCmJ9ZqQbOMKiBMy2oAUTVKquBM4CkP5OUXHTVR2I+y/Hu8+SgaKDVwMnAGCIL79mO50P4cjahCwPipqiBkwPc6FoI7LrV2UAenuO4GhCs5xB4eC5JDZxrQQ0Ugfk/DxaHmFU1cB44f+Vxfh3R4fMJauACx9WA4L4g4mqgCCNb3poauDCI+UWVauBCgxq4yIIaQFStshq4EEj6i0jJRVd9JOaLHe8+zwmKBloNnAOMIbLwXuJ4PoQvlxC6MCBuiho4J8CNroXArltdAuThpY6rAcF6KYGHl5HUwGUW1EABmP/LYXHIWv1uisvB+SuPK+qIDl9BUANXOq4GBPeVEVcDBRjZkta+m+KqIOZXV6qBqwxq4GoLagBRtcpq4Cog6a8mJRdd9ZGYr3G8+7w0KBpoNXApMIbIwnut4/kQvlxL6MKAuClq4NIAN7oWArtudS2Qh9c5rgYE63UEHl5PUgPXW1ADeWD+b4DFwc/YVAM3gPNXHjfWER2+kaAGbnJcDQjumyKuBvIwshVSBncpauDmIOa3VKqBmw1q4BYLagBRtcpq4GYg6W8hJRdd9ZGYb3W8+7wuKBpoNXAdMIbIwnub4/kQvtxG6MJuI3efCL7cRlADwK5b3Qbk4e2OqwHBejuBh3eQ1MAdFtRADpj/O2FxyKVtqoE7wfkrj7vqiA7fRVADdzuuBgT33RFXAzkY2eJpg7sUNXBPEPN7K9XAPQY1cK8FNYCoWmU1cA+Q9PeSkouu+kjM9znefd4eFA20GrgdGENk4b3f8XwIX+4ndGH3k7tPBF/uJ6gBYNet7gfy8AHH1YBgfYDAwwdJauBBC2ogC8z/Q7A4JKy+KfQQOH/l8XAd0eGHCWrgEcfVgOB+JOJqIIuTzNbeFBobxPzRSjUw1qAGHrWgBhBVq6wGxgJJ/ygpueiqj8T8mOPd5wNB0UCrgQeAMUQW3scdz4fw5XFCFwbETVEDDwS40bUQ2HWrx4E8fMJxNSBYnyDw8EmSGnjSghoYCsz/U7g7YwmbauApcP7K4+k6osNPE9TAM46rAcH9TMTVwFBcw5gzuEtRA88GMX+uUg08a1ADz1lQA4iqVVYDzwJJ/xwpueiqj8T8vOPd5xNB0UCrgSeAMUQW3hccz4fw5QVCF/YCuftE8OUFghoAdt3qBSAPX3RcDQjWFwk8fImkBl6yoAZ2B+b/ZdxZmLSpBl4G5688XqkjOvwKQQ286rgaENyvRlwN7I6TzFmDuxQ18FoQ89cr1cBrBjXwugU1gKhaZTXwGpD0r5OSi676SMxvON59vhgUDbQaeBEYQ2ThfdPxfAhf3iR0YW+Su08EX94kqAFg163eBPLwLcfVgGB9i8DDt0lq4G0LamA3YP7fgcUhbfUbRt8B56883q0jOvwuQQ2857gaENzvRVwN7AYjW6pkcJeiBsYFMR9fqQbGGdTAeAtqAFG1ympgHJD040nJRVd9JOb3He8+3wqKBloNvAWMIbLwTnA8H8KXCYQuDIibogbeCnCjayGw61YTgDyc6LgaEKwTCTz8gKQGPrCgBnYF5v/DiKqBD8H5K4+P6ogOf0RQAx87rgYE98cRVwO7RlANTApi/kmlGphkUAOfWFADiKpVVgOTgKT/JCJqAIn5U8e7z4lB0UCrgYnAGCIL72TH8yF8mUzowoC4KWpgYoAbXQuBXbeaDOThFMfVgGCdQuDhZyQ18JkFNbALMP+fw+KQsPqdQp+D81ceX9QRHf6CoAa+dFwNCO4vI64GdoGRLWvtO4W+CmL+daUa+MqgBr62oAYQVausBr4Ckv5rUnLRVR+J+RvHu88pQdFAq4EpwBgiC+9Ux/MhfJlK6MKmkrtPBF+mEtQAsOtWU4E8nOa4GhCs0wg8/JakBr61oAZ2Bub/O5waKNhUA9+B81ce39cRHf6eoAZ+cFwNCO4fIq4GdsY1jDGDuxQ18GMQ858q1cCPBjXwkwU1gKhaZTXwI5D0P5GSi676SMw/O959TguKBloNTAPGEFl4pzueD+HLdEIXNp3cfSL4Mp2gBoBdt5oO5OEvjqsBwfoLgYe/ktTArxbUwE7A/P8Gi4Nv9dnAb+D8lcfvdUSHfyeogT8cVwOC+4+Iq4GdYGQrWHs28GcQ878q1cCfBjXwlwU1gKhaZTXwJ5D0f5GSi676SMz/c7z7/CUoGmg18AswhsjCO8PxfAhfZhC6sBnk7hPBlxkENQDsutUMIA9nOq4GBOtMAg//JqmBvy2ogR2RDWA9Kg6xmE01gPO7tRpYoJ7osCyOXrdDvdtqQHB3qJ8VYNC6VtXAjrBikS8Y3KWogY5BzGvra1p3/h3rZ1cD8pfYamBHoBroCCR9bT0nueiqj8TcqR64wWvwG05OfCkaaDUwE3hyIgtvneP5EL7U1eO7MCBuihoQvtTV42shsOtWdUAe1pPz4VU3/sFaT+BhA7ibLJ+rDfV8NTAEWNMaYXEoWn020EhSA031RIebCGpgQcfVgOBeMOJqYAiseCtrzwY6BzHvUqkGOhvUQBcLamAIUA10BpK+Sz0nueiqj8Tc1fHusz4oGmg1UA+MIbLwNjueD+FLM6ELa3ZcDdQHuNG1ENh1q2YgD1scVwOCtYXAw24kNdDNghoYDFQD3WFxiFtVA93B+SuPheqJDi9EUAMLO64GBPfCEVcDg2FqIGdNDSwSxHzRSjWwiEENLGpBDQwGqoFFgKRftJ6TXHTVR2JezPHusyUoGmg10AKMIbLw9nA8H8KXHoQurAe5+0TwpQdBDQC7btUDyMPFHVcDgnVxAg+XIKmBJSyogR2AamBJWBxSGZtqYElw/spjqXqiw0sR1MDSjqsBwb10xNXADjA1kE4Z3KWogWWCmC9bqQaWMaiBZS2ogR2AamAZIOmXreckF131kZiXc7z7XDwoGmg1sDgwhsjC29PxfAhfehK6sJ7k7hPBl54ENQDsulVPIA97Oa4GBGsvAg+XJ6mB5S2oge2BamAF3J0xq2pgBXD+ymPFeqLDKxLUwEqOqwHBvVLE1cD2MDUQt6YGegcxX7lSDfQ2qIGVLaiB7YFqoDeQ9CvXc5KLrvpIzKs43n32CooGWg30AsYQWXj7OJ4P4UsfQhfWh9x9IvjSh6AGgF236gPkYV/H1YBg7Uvg4aokNbCqBTWwHVANrIZ7NuDZVAOrgfNXHqvXEx1enaAG1nBcDQjuNSKuBraDqYGMZ3CXoga8IOaqUg14BjWgLKiB7YBqwAOSXtVzkouu+kjMvuPdZ9+gaKDVQF9gDJGFN+Z4PoQvMUIXFiN3nwi+xAhqANh1qxiQh3HH1YBgjRN4mCCpgYQFNbAtUA0kcWeh1d9FnATnrzxS9USHUwQ1kHZcDQjudMTVwLYwNZAsGdylqIFMEPN+lWogY1AD/SyogW2BaiADJH2/ek5y0VUfiXlNx7vPeFA00GogDowhsvD2dzwfwpf+hC6sP7n7RPClP0ENALtu1R/Iw7UcVwOCdS0CD9cmqYG1LaiBbYBqYB3cc3Kr3zC6Djh/5bFuPdNhghpYz3E1ILjXi7ga2Ab3KWJr3zC6fhDzDSrVwPoGNbCBBTWwDVANrA8k/Qb1nOSiqz4S84aOd59rBUUDrQbWAsYQWXgHOJ4P4csAQhc2gNx9IvgygKAGgF23GgDk4UaOqwHBuhGBhxuT1MDGFtTA1kA1sAksDkWrzwY2AeevPDatJzq8KUENbOa4GhDcm0VcDWyN+4ZRa88GNg9ivkWlGtjcoAa2sKAGtgaqgc2BpN+inpNcdNVHYt7S8e5zo6BooNXARsAYIgvvQMfzIXwZSOjCBpK7TwRfBhLUALDrVgOBPBzkuBoQrIMIPNyKpAa2sqAGtgKqga1hcSglbKqBrcH5K49t6okOb0NQA9s6rgYE97YRVwNb4X5ZTM7gLkUNbBfEfPtKNbCdQQ1sb0ENbAVUA9sBSb99PSe56KqPxLyD493noKBooNXAIGAMkYV3sOP5EL4MJnRhg8ndJ4IvgwlqANh1q8FAHg5xXA0I1iEEHu5IUgM7WlADg4BqYCdYHDJW3xTaCZy/8ti5nujwzgQ1sIvjakBw7xJxNTAI97kBa28K7RrEfLdKNbCrQQ3sZkENDAKqgV2BpN+tnpNcdNVHYt7d8e5zSFA00GpgCDCGyMI71PF8CF+GErqwoeTuE8GXoQQ1AOy61VAgD7OOqwHBmiXwMEdSAzkLamAgUA3kcc8GrH6nUB6cv/Io1BMdLhDUQNFxNSC4ixFXAwNxbwpZ+06hUhDzPSrVQMmgBvawoAYGAtVACUj6Peo5yUVXfSTmPR3vPrNB0UCrgSwwhsjCO8zxfAhfhhG6sGHk7hPBl2EENQDsutUwIA/3clwNCNa9CDzcm6QG9g58tdkZb1mHxVIe+9QTHd6H0Bnv63hnLLj3JXTGJl8RhUF87QCOAbDgQPNtc8NuQdqw+9UTHd6PsGH3d3zDCu79I7Rh93d8w6LzXR5o5bU58H7bAcD42SxSB9RzitSB9USHDyQUqYMcL1KC+yBLRcqrbvxTTA4iyPy9gDlC5vtgx2W+FLqDCfLqEMdlpWA+hID7UJKsPNRwuxYdE3bOEHv8YMKtGWSDczCwdhwWgT10GGEPHU7aQ4cbHtSiY3IYWJE218zie3igm/wnatu8lprHf/eerMXytnJg1vapz+UWCPFrueD6CM2NI7UdpW24thHajtZ2jLZjtY3Udpy2UdqO1zZa2xhtJ2g7UdtJ2k7Wdoq2U7Wdpu10bWdoO1PbWdrO1naOtnO1naftfG0XaLuw8pngEcGBEp470jB3lGFuuGFuhGHuaMPcMYa5Yw1zIw1zxxnmRhnmjjfMjTbMjTHMnWCYO9Ewd5Jh7mTD3CmGuVMNc6cZ5k43zJ1hmDvTMHeWYe5sw9w5hrlzDXPnGebON8xdYJi70NC89Ap+rhv89KobtAJWbRE/AnAglJ+BHwlaS2JwFGStf+M5vPq1/CBeakS1a8X/L/bq6OrW8kJ5VMdUs5bfihPq2Plfy6vglxo5n2slS7NxVR03f2ulDbxXo+ZnrbRxD6nj279Wag77UY1u71qpOe5tNaZ9a/lzqRPqhPaslZprzVEntn2t/DzqlzqprWul5lkL1cltW8trQ11Vp7RlLa9NNVqdOu+1Em2s9+q0ea0Vb/PZoU6f61rxUjvOIXXG3NZKtetMU2fOea10O89HddYc1sqU2n3WqrPNa3nzcW6rc0xrefPVA6hzZ19LzWc/oc6rXKsw372JOr/1WrEq+hx1QWgtv1RVz6QuBN/4KA/0U6IL63FrXQTDHLP6KPsiYK7C/l5cT3T44nr8upcAycDCfUn9rACD1rX6VjauMBSsvZV9aRDzyyrvwFxaP/tb2ZfV89/KRlStsiK9FEj6y8DJZWzwS+vxt7svjchpdwEw15fDMCfjNk+7y0mn3RX1RIevIJx2Vzp+2gnuKyN+2l0AI1smb3CXctpdFcT86srT7irDaXe1hdPuAuBpdxWQ9FeTkouu+kjM1+Cqp/FlmGr9uyQoGuiHq0hpcC24W0AXLcnxtYQuyXXclwS40fsPyZ3ryPvPq24oid91BO5cD+7ayufX9fWzd53o/J8PzP8NsDjEiza77hvA+SuPG+uJDt9I6LpvcrzrFtw3RbzrPh9GtpxvcJfSdd8cxPyWyq77ZkPXfYuFrhtRtcpd981A0t9CSi666iMx3+r4qX9dUDTQHwm4DhhDZOG9zfF8CF9uI3RhQNyU18uvC3CjayGy674NyMPbHVdUgvV2Ag/vIKmBOyyogfOA+b8TFoeUb1MN3AnOX3ncVU90+C6CGrjbcTUguO+OuBo4D0a2dNHgLkUN3BPE/N5KNXCPQQ3ca0ENIKpWWQ3cAyT9vaTkoqs+EvN9jneftwdFA60GbgfGEFl473c8H8KX+wld2P3k7hPBl/sJagDYdav7gTx8wHE1IFgfIPDwQZIaeNCCGjgXmP+HYHGw+/vDHwLnrzweric6/DBBDTziuBoQ3I9EXA2cCyObvd8fPjaI+aOVamCsQQ08akENIKpWWQ2MBZL+UVJy0VUfifkxx7vPB4KigVYDDwBjiCy8jzueD+HL44Qu7HFy94ngy+MENQDsutXjQB4+4bgaEKxPEHj4JEkNPGlBDZwDzP9TsDjErKqBp8D5K4+n64kOP01QA884rgYE9zMRVwPnwMiWt6YGng1i/lylGnjWoAaes6AGEFWrrAaeBZL+OVJy0VUfifl5x7vPJ4KigVYDTwBjiCy8LzieD+HLC4Qu7AVy94ngywsENQDsutULQB6+6LgaEKwvEnj4EkkNvGRBDZwNzP/LsDhkrX43xcvg/JXHK/VEh18hqIFXHVcDgvvViKuBs2FkS1r7borXgpi/XqkGXjOogdctqAFE1SqrgdeApH+dlFx01UdifsPx7vPFoGig1cCLwBgiC++bjudD+PImoQsD4qaogRcD3OhaCOy61ZtAHr7luBoQrG8RePg2SQ28bUENnAXM/zuwOPgZm2rgHXD+yuPdeqLD7xLUwHuOqwHB/V7E1cBZMLIVUgZ3KWpgXBDz8ZVqYJxBDYy3oAYQVausBsYBST+elFx01Udift/x7vOtoGig1cBbwBgiC+8Ex/MhfJlA6MImkLtPBF8mENQAsOtWE4A8nOi4GhCsEwk8/ICkBj6woAbOBOb/Q1gccmmbauBDcP7K46N6osMfEdTAx46rAcH9ccTVwJkwssXTBncpamBSEPNPKtXAJIMa+MSCGkBUrbIamAQk/Sek5KKrPhLzp453nxODooFWAxOBMUQW3smO50P4MpnQhU0md58IvkwmqAFg160mA3k4xXE1IFinEHj4GUkNfGZBDZwBzP/nsDgkrL4p9Dk4f+XxRT3R4S8IauBLx9WA4P4y4mrgDJxktvam0FdBzL+uVANfGdTA1xbUAKJqldXAV0DSf01KLrrqIzF/43j3OSUoGmg1MAUYQ2Thnep4PoQvUwldGBA3RQ1MCXCjayGw61ZTgTyc5rgaEKzTCDz8lqQGvrWgBk4H5v873J2xhE018B04f+XxfT3R4e8JauAHx9WA4P4h4mrgdFzDmDO4S1EDPwYx/6lSDfxoUAM/WVADiKpVVgM/Akn/Eym56KqPxPyz493ntKBooNXANGAMkYV3uuP5EL5MJ3Rh08ndJ4Iv0wlqANh1q+lAHv7iuBoQrL8QePgrSQ38akENnAbM/2+4szBpUw38Bs5fefxeT3T4d4Ia+MNxNSC4/4i4GjgNJ5mzBncpauDPIOZ/VaqBPw1q4C8LagBRtcpq4E8g6f8iJRdd9ZGY/+d49/lLUDTQauAXYAyRhXeG4/kQvswgdGEzyN0ngi8zCGoA2HWrGUAeznRcDQjWmQQe/k1SA39bUAOnIhvABlQc0la/YRTnd2s1sEAD0WFZHL1uhwa31YDg7hDqNEHrWlUDp8KKRcraN4x2DGJe21DTuvPv2DC7GpC/xFYDpwLVQEcg6WsbOMlFV30k5k4NwA1eg99wcuJL0UCrgZnAkxNZeOscz4fwpa4B34UBcVPUgPClrgFfC4Fdt6oD8rCenA+vuvEP1noCDxvA3WT5XG1o4KuBU4A1rTGiaqCRpAaaGogONxHUwIKOqwHBvWDE1cApEVQDnYOYd6lUA50NaqCLBTVwClANdAaSvktE1AASc1fHu8/6oGig1UA9MIbIwtvseD6EL82ELqyZ3H0i+NJMUAPArls1A3nY4rgaEKwtBB52I6mBbhbUwMlANdAdFoeE1e8U6g7OX3ks1EB0eCGCGljYcTUguBeOuBo4GaYGsta+U2iRIOaLVqqBRQxqYFELauBkoBpYBEj6RRs4yUVXfSTmxRzvPluCooFWAy3AGCILbw/H8yF86UHownqQu08EX3oQ1ACw61Y9gDxc3HE1IFgXJ/BwCZIaWMKCGjgJqAaWxKmBgk01sCQ4f+WxVAPR4aUIamBpx9WA4F464mrgJJwaiBncpaiBZYKYL1upBpYxqIFlLaiBk4BqYBkg6Zdt4CQXXfWRmJdzvPtcPCgaaDWwODCGyMLb0/F8CF96ErqwnuTuE8GXngQ1AOy6VU8gD3s5rgYEay8CD5cnqYHlLaiBE4FqYAVYHHyrzwZWAOevPFZsIDq8IkENrOS4GhDcK0VcDZwIUwMFa88GegcxX7lSDfQ2qIGVLaiBE4FqoDeQ9Cs3cJKLrvpIzKs43n32CooGWg30AsYQWXj7OJ4P4UsfQhfWh9x9IvjSh6AGgF236gPkYV/H1YBg7Uvg4aokNbCqBTVwAlANrAaLQyxmUw2sBs5feazeQHR4dYIaWMNxNSC414i4GjgBpgbyBYO7FDXgBTFXlWrAM6gBZUENnABUAx6Q9KqBk1x01Udi9h3vPvsGRQOtBvoCY4gsvDHH8yF8iRG6sBi5+0TwJUZQA8CuW8WAPIw7rgYEa5zAwwRJDSQsqIExQDWQhMWhaPXZQBKcv/JINRAdThHUQNpxNSC40xFXA2NgakBZezaQCWLer1INZAxqoJ8FNTAGqAYyQNL3a+AkF131kZjXdLz7jAdFA60G4sAYIgtvf8fzIXzpT+jC+pO7TwRf+hPUALDrVv2BPFzLcTUgWNci8HBtkhpY24IaGA1UA+vA4hC3qgbWAeevPNZtYDpMUAPrOa4GBPd6EVcDo3G/lMOaGlg/iPkGlWpgfYMa2MCCGhgNVAPrA0m/QQMnueiqj8S8oePd51pB0UCrgbWAMUQW3gGO50P4MoDQhQ0gd58IvgwgqAFg160GAHm4keNqQLBuRODhxiQ1sLEFNXA8UA1sAotDKmNTDWwCzl95bNpAdHhTghrYzHE1ILg3i7gaOB6mBtIpg7sUNbB5EPMtKtXA5gY1sIUFNXA8UA1sDiT9Fg2c5KKrPhLzlo53nxsFRQOtBjYCxhBZeAc6ng/hy0BCFzaQ3H0i+DKQoAaAXbcaCOThIMfVgGAdRODhViQ1sJUFNTAKqAa2xt0Zs6oGtgbnrzy2aSA6vA1BDWzruBoQ3NtGXA2Mwv26WmtqYLsg5ttXqoHtDGpgewtqYBRQDWwHJP32DZzkoqs+EvMOjnefg4KigVYDg4AxRBbewY7nQ/gymNCFDSZ3nwi+DCaoAWDXrQYDeTjEcTUgWIcQeLgjSQ3saEENHAdUAzvhng14NtXATuD8lcfODUSHdyaogV0cVwOCe5eIq4HjYGog4xncpaiBXYOY71apBnY1qIHdLKiB44BqYFcg6Xdr4CQXXfWRmHd3vPscEhQNtBoYAowhsvAOdTwfwpehhC5sKLn7RPBlKEENALtuNRTIw6zjakCwZgk8zJHUQM6CGhgJVAN53Flo9XcR58H5K49CA9HhAkENFB1XA4K7GHE1MBKmBpLWfhdxKYj5HpVqoGRQA3tYUAMjgWqgBCT9Hg2c5KKrPhLzno53n9mgaKDVQBYYQ2ThHeZ4PoQvwwhd2DBy94ngyzCCGgB23WoYkId7Oa4GBOteBB7uTVIDe1tQA8cC1cA+uOfkVr9hdB9w/spj3waiw/sS1MB+jqsBwb1fxNXAsbhPEVv7htH9g5gfUKkG9jeogQMsqIFjgWpgfyDpD2jgJBdd9ZGYD3S8+9wrKBpoNbAXMIbIwnuQ4/kQvhxE6MIOInefCL4cRFADwK5bHQTk4cGOqwHBejCBh4eQ1MAhFtTAMUA1cCgsDkWrzwYOBeevPA5rIDp8GEENHO64GhDch0dcDRyD+4ZRa88GjghifmSlGjjCoAaOtKAGjgGqgSOApD+ygZNcdNVHYj7K8e7z4KBooNXAwcAYIgvvcMfzIXwZTujChpO7TwRfhhPUALDrVsOBPBzhuBoQrCMIPDyapAaOtqAGjgaqgWNgcSglbKqBY8D5K49jG4gOH0tQAyMdVwOCe2TE1cDRMDXg5QzuUtTAcUHMR1WqgeMMamCUBTVwNFANHAck/agGTnLRVR+J+XjHu88RQdFAq4ERwBgiC+9ox/MhfBlN6MJGk7tPBF9GE9QAsOtWo4E8HOO4GhCsYwg8PIGkBk6woAZGANXAibA4ZKy+KXQiOH/lcVID0eGTCGrgZMfVgOA+OeJqYATucwPW3hQ6JYj5qZVq4BSDGjjVghoYAVQDpwBJf2oDJ7noqo/EfJrj3eeYoGig1cAYYAyRhfd0x/MhfDmd0IWdTu4+EXw5naAGgF23Oh3IwzMcVwOC9QwCD88kqYEzLaiB4UA1cBbu2YDV7xQ6C5y/8ji7gejw2QQ1cI7jakBwnxNxNTAc96aQte8UOjeI+XmVauBcgxo4z4IaGA5UA+cCSX9eAye56KqPxHy+493nGUHRQKuBM4AxRBbeCxzPh/DlAkIXdgG5+0Tw5QKCGgB23eoCIA8vdFwNCNYLCTy8iKQGLgp8tdkZH1WPxVIeFzcQHb6Y0Blf4nhnLLgvIXTGJl8RhUF87QCOAbDgQPNtc8MeSdqwlzYQHb6UsGEvc3zDCu7LIrRhL3N8w6LzXR5o5XUE8H7b5cD42SxSlzdwitQVDUSHryAUqSsdL1KC+0pLRcqrbvxTTK4kyPwLgTlC5vsqx2W+FLqrCPLqasdlpWC+moD7GpKsvMZwuxYdE3bOEHv8KsKtGWSDcxWwdlwbgT10LWEPXUfaQ9cZHtSiY3ItWJE218ziO9PvYg2Wa5UDs7ZPfZa2QCi2ywXX1+t83qDtRm03abtZ2y3abtV2m7bbtd2h7U5td2m7W9s92u7Vdp+2+7U9oO1BbQ9pe1jbI9rGantU22PaHtf2hLYntT2l7Wltz2h7tvI53vXBIRCeu8Ewd6Nh7ibD3M2GuVsMc7ca5m4zzN1umLvDMHenYe4uw9zdhrl7DHP3GubuM8zdb5h7wDD3oGHuIcPcw4a5RwxzYw1zjxrmHjPMPW6Ye8Iw96Rh7inD3NOGuWcMc882zN5w9Ax+rhv89KobrYpOtcXyekDhLT9rvgG0lmC8EbLWv/G6qfq1/CBe6uZq14r/X+zVLdWt5YXyqG6tZi2/FSfUbfO/llfBL3X7fK6VLM3GVXXH/K2VNvBe3Tk/a6WNe0jd1f61UnPYj+ru9q6VmuPeVve0by1/LnVC3duetVJzrTnqvravlZ9H/VL3t3Wt1DxroXqgbWt5bair6sG2rOW1qUarh+a9VqKN9V49PK+14m0+O9Qjc10rXmrHOaTGzm2tVLvONPXonNdKt/N8VI/NYa1Mqd1nrXrcvJY3H+e2esK0ljdfPYB6cva11Hz2E+qpyrUK892bqKdbrxWros9Rz4TW8ktV9Uzq2QaO6EM/jXm2AbfWczDMMauPjJ8D5irs7/MNRIdlcfS6LwDJwML9Qkg5gda1+vYzrjAUrL39/GIQ85cqleyLDbO//fxSA//tZ0TVKivSF4GkfwmcXMYGf7EBf1v5xYicds8Ac/0yDHMybvO0e5l02r3SQHT4FcJp96rjp53gfjXip90zMLJl8gZ3Kafda0HMX6887V4znHavWzjtngGedq8BSf86Kbnoqo/E/AauehpfOqnWvxeCooF+UxEpDd4EdwvooiU5fpPQJbmO+4UAN3r/IbnzFnn/edUNJfF7i8Cdt8FdW/n8erth9q4Tnf+ngfl/BxaHeNFm1/0OOH/l8W4D0eF3CV33e4533YL7vYh33U/DyJbzDe5Suu5xQczHV3bd4wxd93gLXTeiapW77nFA0o8nJRdd9ZGY33f81H8rKBroV+/fAsYQWXgnOJ4P4csEQhcGxE15jfutADe6FiK77glAHk50XFEJ1okEHn5AUgMfWFADTwHz/yEsDinfphr4EJy/8viogejwRwQ18LHjakBwfxxxNfAUjGzposFdihqYFMT8k0o1MMmgBj6xoAYQVausBiYBSf8JKbnoqo/E/Knj3efEoGig1cBEYAyRhXey4/kQvkwmdGGTyd0ngi+TCWoA2HWryUAeTnFcDQjWKQQefkZSA59ZUANPAvP/OSwOdn9P9+fg/JXHFw1Eh78gqIEvHVcDgvvLiKuBJ2Fks/d7ur8KYv51pRr4yqAGvragBhBVq6wGvgKS/mtSctFVH4n5G8e7zylB0UCrgSnAGCIL71TH8yF8mUrowqaSu08EX6YS1ACw61ZTgTyc5rgaEKzTCDz8lqQGvrWgBp4A5v87WBxiVtXAd+D8lcf3DUSHvyeogR8cVwOC+4eIq4EnYGTLW1MDPwYx/6lSDfxoUAM/WVADiKpVVgM/Akn/Eym56KqPxPyz493ntKBooNXANGAMkYV3uuP5EL5MJ3Rh08ndJ4Iv0wlqANh1q+lAHv7iuBoQrL8QePgrSQ38akENPA7M/2+wOGStfjfFb+D8lcfvDUSHfyeogT8cVwOC+4+Iq4HHYWRLWvtuij+DmP9VqQb+NKiBvyyoAUTVKquBP4Gk/4uUXHTVR2L+n+Pd5y9B0UCrgV+AMUQW3hmO50P4MoPQhQFxU9TALwFudC0Edt1qBpCHMx1XA4J1JoGHf5PUwN8W1MBjyAawERUHP2NTDeD8bq0GFmgkOiyLo9ft0Oi2GhDcHRpnBRi0rlU18BisWBRSBncpaqBjEPPaxprWnX/HxtnVgPwlthp4DKgGOgJJX9vISS666iMxd2oEbvAa/IaTE1+KBloNzASenMjCW+d4PoQvdY34LgyIm6IGhC91jfhaCOy6VR2Qh/XkfHjVjX+w1hN42ADuJsvnakMjXw08CqxpjbA45NI21UAjSQ00NRIdbiKogQUdVwOCe8GIq4FHYcU7nja4S1EDnYOYd6lUA50NaqCLBTXwKFANdAaSvksjJ7noqo/E3NXx7rM+KBpoNVAPjCGy8DY7ng/hSzOhC2t2XA3UB7jRtRDYdatmIA9bHFcDgrWFwMNuJDXQzYIaGAtUA91hcUhYfVOoOzh/5bFQI9HhhQhqYGHH1YDgXjjiamAsTA3krL0ptEgQ80Ur1cAiBjWwqAU1MBaoBhYBkn7RRk5y0VUfiXkxx7vPlqBooNVACzCGyMLbw/F8CF96ELqwHuTuE8GXHgQ1AOy6VQ8gDxd3XA0I1sUJPFyCpAaWsKAGHgGqgSVxd8YSNtXAkuD8lcdSjUSHlyKogaUdVwOCe+mIq4FHcGogZ3CXogaWCWK+bKUaWMagBpa1oAYeAaqBZYCkX7aRk1x01UdiXs7x7nPxoGig1cDiwBgiC29Px/MhfOlJ6MJ6krtPBF96EtQAsOtWPYE87OW4GhCsvQg8XJ6kBpa3oAYeBqqBFXBnYdKmGlgBnL/yWLGR6PCKBDWwkuNqQHCvFHE18DDuTaGswV2KGugdxHzlSjXQ26AGVragBh4GqoHeQNKv3MhJLrrqIzGv4nj32SsoGmg10AsYQ2Th7eN4PoQvfQhdWB9y94ngSx+CGgB23aoPkId9HVcDgrUvgYerktTAqhbUwENANbAaLA5pq98wuho4f+WxeiPR4dUJamANx9WA4F4j4mrgIZgaSFn7hlEviLmqVAOeQQ0oC2rgIaAa8ICkV42c5KKrPhKz73j32TcoGmg10BcYQ2ThjTmeD+FLjNCFxcjdJ4IvMYIaAHbdKgbkYdxxNSBY4wQeJkhqIGFBDTwIVAPJiKqBJDh/5ZFqJDqcIqiBtONqQHCnI64GHoygGsgEMe9XqQYyBjXQz4IaeBCoBjJA0veLiBpAYl7T8e4zHhQNtBqIA2OILLz9Hc+H8KU/oQvrT+4+EXzpT1ADwK5b9QfycC3H1YBgXYvAw7VJamBtC2rgAaAaWAcWh4TV7xRaB5y/8li3kekwQQ2s57gaENzrRVwNPID7pRzWvlNo/SDmG1SqgfUNamADC2rgAaAaWB9I+g0aOclFV30k5g0d7z7XCooGWg2sBYwhsvAOcDwfwpcBhC5sALn7RPBlAEENALtuNQDIw40cVwOCdSMCDzcmqYGNLaiB+4FqYBOcGijYVAObgPNXHps2Eh3elKAGNnNcDQjuzSKuBu7HqYGYwV2KGtg8iPkWlWpgc4Ma2MKCGrgfqAY2B5J+i0ZOctFVH4l5S8e7z42CooFWAxsBY4gsvAMdz4fwZSChCxtI7j4RfBlIUAPArlsNBPJwkONqQLAOIvBwK5Ia2MqCGrgPqAa2hsXBt/psYGtw/spjm0aiw9sQ1MC2jqsBwb1txNXAfbjfPmbt2cB2Qcy3r1QD2xnUwPYW1MB9QDWwHZD02zdykouu+kjMOzjefQ4KigZaDQwCxhBZeAc7ng/hy2BCFzaY3H0i+DKYoAaAXbcaDOThEMfVgGAdQuDhjiQ1sKMFNXAvUA3sBItDLGZTDewEzl957NxIdHhnghrYxXE1ILh3ibgauBemBvIFg7sUNbBrEPPdKtXArgY1sJsFNXAvUA3sCiT9bo2c5KKrPhLz7o53n0OCooFWA0OAMUQW3qGO50P4MpTQhQ0ld58IvgwlqAFg162GAnmYdVwNCNYsgYc5khrIWVAD9wDVQB4Wh6LVZwN5cP7Ko9BIdLhAUANFx9WA4C5GXA3cA1MDytqzgVIQ8z0q1UDJoAb2sKAG7gGqgRKQ9Hs0cpKLrvpIzHs63n1mg6KBVgNZYAyRhXeY4/kQvgwjdGHDyN0ngi/DCGoA2HWrYUAe7uW4GhCsexF4uDdJDextQQ3cDVQD+8DiELeqBvYB56889m0kOrwvQQ3s57gaENz7RVwN3I377WPW1MD+QcwPqFQD+xvUwAEW1MDdQDWwP5D0BzRykouu+kjMBzrefe4VFA20GtgLGENk4T3I8XwIXw4idGEHkbtPBF8OIqgBYNetDgLy8GDH1YBgPZjAw0NIauAQC2rgLqAaOBQWh1TGpho4FJy/8jiskejwYQQ1cLjjakBwHx5xNXAXTA2kUwZ3KWrgiCDmR1aqgSMMauBIC2rgLqAaOAJI+iMbOclFV30k5qMc7z4PDooGWg0cDIwhsvAOdzwfwpfhhC5sOLn7RPBlOEENALtuNRzIwxGOqwHBOoLAw6NJauBoC2rgTqAaOAZ3Z8yqGjgGnL/yOLaR6PCxBDUw0nE1ILhHRlwN3In7XcTW1MBxQcxHVaqB4wxqYJQFNXAnUA0cByT9qEZOctFVH4n5eMe7zxFB0UCrgRHAGCIL72jH8yF8GU3owkaTu08EX0YT1ACw61ajgTwc47gaEKxjCDw8gaQGTrCgBu4AqoETcc8GPJtq4ERw/srjpEaiwycR1MDJjqsBwX1yxNXAHTA1kPEM7lLUwClBzE+tVAOnGNTAqRbUwB1ANXAKkPSnNnKSi676SMynOd59jgmKBloNjAHGEFl4T3c8H8KX0wld2Onk7hPBl9MJagDYdavTgTw8w3E1IFjPIPDwTJIaONOCGrgdqAbOwp2FVn8X8Vng/JXH2Y1Eh88mqIFzHFcDgvuciKuB22FqIGntdxGfG8T8vEo1cK5BDZxnQQ3cDlQD5wJJf14jJ7noqo/EfL7j3ecZQdFAq4EzgDFEFt4LHM+H8OUCQhd2Abn7RPDlAoIaAHbd6gIgDy90XA0I1gsJPLyIpAYusqAGbgOqgYtxz8mtfsPoxeD8lccljUSHLyGogUsdVwOC+9KIq4HbcJ8itvYNo5cFMb+8Ug1cZlADl1tQA7cB1cBlQNJf3shJLrrqIzFf4Xj3eWFQNNBq4EJgDJGF90rH8yF8uZLQhV1J7j4RfLmSoAaAXbe6EsjDqxxXA4L1KgIPryapgastqIFbgWrgGlgcilafDVwDzl95XNtIdPhaghq4znE1ILivi7gauBX3DaPWng1cH8T8hko1cL1BDdxgQQ3cClQD1wNJf0MjJ7noqo/EfKPj3edVQdFAq4GrgDFEFt6bHM+H8OUmQhd2E7n7RPDlJoIaAHbd6iYgD292XA0I1psJPLyFpAZusaAGbgGqgVthcSglbKqBW8H5K4/bGokO30ZQA7c7rgYE9+0RVwO3wNSAlzO4S1EDdwQxv7NSDdxhUAN3WlADtwDVwB1A0t/ZyEkuuuojMd/lePd5c1A00GrgZmAMkYX3bsfzIXy5m9CF3U3uPhF8uZugBoBdt7obyMN7HFcDgvUeAg/vJamBey2ogZuBauA+WBwyVt8Uug+cv/K4v5Ho8P0ENfCA42pAcD8QcTVwM+5zA9beFHowiPlDlWrgQYMaeMiCGrgZqAYeBJL+oUZOctFVH4n5Yce7z3uCooFWA/cAY4gsvI84ng/hyyOELuwRcveJ4MsjBDUA7LrVI0AejnVcDQjWsQQePkpSA49aUAM3AdXAY7hnA1a/U+gxcP7K4/FGosOPE9TAE46rAcH9RMTVwE24N4WsfafQk0HMn6pUA08a1MBTFtTATUA18CSQ9E81cpKLrvpIzE873n2ODYoGWg2MBcYQWXifcTwfwpdnCF3YM+TuE8GXZwhqANh1q2eAPHzWcTUgWJ8l8PA5khp4LvDVZmd8YwMWS3k830h0+HlCZ/yC452x4H6B0BmbfEUUBvG1AzgGwIIDzbfNDXsDacO+2Eh0+EXChn3J8Q0ruF+K0IZ9yfENi853eaCV1/XA+20vA+Nns0i93MgpUq80Eh1+hVCkXnW8SAnuVy0VKa+68U8xeZUg858F5giZ79ccl/lS6F4jyKvXHZeVgvl1Au43SLLyDcPtWnRM2DlD7PHXCLdmkA3Oa8Da8WYE9tCbhD30FmkPvWV4UIuOyZtgRdpcM4vvTL8XqMFyrXJg1vapz9IWCMV2ueD6bZ3Pd7S9q+09beO0jdf2vrYJ2iZq+0Dbh9o+0vaxtknaPtH2qbbJ2qZo+0zb59q+0Paltq+0fa3tG21TtU3T9q2277R9r+0HbT9WPsd7OzgEwnPvGObeNcy9Z5gbZ5gbb5h73zA3wTA30TD3gWHuQ8PcR4a5jw1zkwxznxjmPjXMTTbMTTHMfWaY+9ww94Vh7kvD3FeGua8Nc98Y5qYa5qYZ5r41zH1nmPveMPeDYe5HQ8PRM/i5bvDTq260KjrVFsu3AYW3/Kz5HdBagvFdyFr/xuu96tfyg3ipcdWuFf+/2Kvx1a3lhfKo3q9mLb8VJ9SE+V/Lq+CXmjifayVLs3FVfTB/a6UNvFcfzs9aaeMeUh+1f63UHPaj+ri9a6XmuLfVpPat5c+lTqhP2rNWaq41R33a9rXy86hfanJb10rNsxaqKW1by2tDXVWftWUtr001Wn0+77USbaz36ot5rRVv89mhvpzrWvFSO84h9dXc1kq160xTX895rXQ7z0f1zRzWypTafdaqqea1vPk4t9U001refPUA6tvZ11Lz2U+o7yrXKsx3b6K+b71WrIo+R/0QWssvVdUzqR+BQlv6Rvl128sF6/0YiJjvA1HzbSBypgai5+tABH0ZiKLPA5E0JRBNnwYialIgqj4KRNYHgeiaEIiw8YEoey8QadK7SS9YOdBPiH5sxK31EywPMauPsXF+t35C9HMj0WFZHL3udCAZWLinhzYFaF2rb2TjilXB2hvZvwQx/7XyTs4vjbO/kf1rI/+NbETVKqvkX4Ck/xWcXMYG/6URf6v7F2AFDfMGfdr9AMz1bzDMybjN0+430mn3eyPR4d8Jp90fjp92gvuPiJ92P8DIlskb3KWcdn8GMf+r8rT703Da/WXhtPsBeNr9CST9X6Tkoqs+EvP/cNXT+CJMtf5ND4oG+u1JpDSYAe4W0EVLcjyD0CW5jnt6gBu9/5DcmUnef151Q0n8ZhK48ze4ayufX383zt51ovP/PbLRakLFIV602XXj/G7ddS/QRHRYFkev26HJ7a5bcHdomhVg0LpWu+7vYcUi5xvcpXTdHYOY1zbVtO6wOzbN3nXLX2J33d8Du+6OQNLXNnGSi676SMydmtw+9eXEl6KB/jjATODJiSy8dY7nQ/hS14TvwoC4Ka+WC1/qmvC1ENl11wF5WE/Oh1fd+AdrPYGHDeBusnyuNjTx1cB3wJrWCItDyrepBhpJaqCpiehwE0ENLOi4GhDcC0ZcDXwHK97posFdihroHMS8S6Ua6GxQA10sqIHvgGqgM5D0XZo4yUVXfSTmro53n/VB0UCrgXpgDJGFt9nxfAhfmgldWLPjaqA+wI2uhcCuWzUDedjiuBoQrC0EHnYjqYFuFtTAt0A10B0WB7u/O7w7OH/lsVAT0eGFCGpgYcfVgOBeOOJq4FuYGrD3u8MXCWK+aKUaWMSgBha1oAa+BaqBRYCkX7SJk1x01UdiXszx7rMlKBpoNdACjCGy8PZwPB/Clx6ELqwHuftE8KUHQQ0Au27VA8jDxR1XA4J1cQIPlyCpgSUsqIFpQDWwJCwOMatqYElw/spjqSaiw0sR1MDSjqsBwb10xNXANJgayFtTA8sEMV+2Ug0sY1ADy1pQA9OAamAZIOmXbeIkF131kZiXc7z7XDwoGmg1sDgwhsjC29PxfAhfehK6sJ7k7hPBl54ENQDsulVPIA97Oa4GBGsvAg+XJ6mB5S2ogalANbACLA5Zq99NsQI4f+WxYhPR4RUJamAlx9WA4F4p4mpgKu4j7da+m6J3EPOVK9VAb4MaWNmCGpgKVAO9gaRfuYmTXHTVR2JexfHus1dQNNBqoBcwhsjC28fxfAhf+hC6sD7k7hPBlz4ENQDsulUfIA/7Oq4GBGtfAg9XJamBVS2ogW+AamA1WBz8jE01sBo4f+WxehPR4dUJamANx9WA4F4j4mrgG9yXmaUM7lLUgBfEXFWqAc+gBpQFNfANUA14QNKrJk5y0VUfidl3vPvsGxQNtBroC4whsvDGHM+H8CVG6MJi5O4TwZcYQQ0Au24VA/Iw7rgaEKxxAg8TJDWQsKAGvgaqgSQsDrm0TTWQBOevPFJNRIdTBDWQdlwNCO50xNXA1zA1EE8b3KWogUwQ836VaiBjUAP9LKiBr4FqIAMkfb8mTnLRVR+JeU3Hu894UDTQaiAOjCGy8PZ3PB/Cl/6ELqw/uftE8KU/QQ0Au27VH8jDtRxXA4J1LQIP1yapgbUtqIGvgGpgHVgcElbfFFoHnL/yWLeJ6TBBDaznuBoQ3OtFXA18hfuGUWtvCq0fxHyDSjWwvkENbGBBDXwFVAPrA0m/QRMnueiqj8S8oePd51pB0UCrgbWAMUQW3gGO50P4MoDQhQ0gd58IvgwgqAFg160GAHm4keNqQLBuRODhxiQ1sLEFNfAlUA1sgrszlrCpBjYB5688Nm0iOrwpQQ1s5rgaENybRVwNfIlTAzmDuxQ1sHkQ8y0q1cDmBjWwhQU18CVQDWwOJP0WTZzkoqs+EvOWjnefGwVFA60GNgLGEFl4BzqeD+HLQEIXNpDcfSL4MpCgBoBdtxoI5OEgx9WAYB1E4OFWJDWwlQU18AVQDWyNOwuTNtXA1uD8lcc2TUSHtyGogW0dVwOCe9uIq4EvcG8KZQ3uUtTAdkHMt69UA9sZ1MD2FtTAF0A1sB2Q9Ns3cZKLrvpIzDs43n0OCooGWg0MAsYQWXgHO54P4ctgQhc2mNx9IvgymKAGgF23Ggzk4RDH1YBgHULg4Y4kNbCjBTXwOVAN7ASLQ9rqN4zuBM5feezcRHR4Z4Ia2MVxNSC4d4m4GvgcpgZS1r5hdNcg5rtVqoFdDWpgNwtq4HOgGtgVSPrdmjjJRVd9JObdHe8+hwRFA60GhgBjiCy8Qx3Ph/BlKKELG0ruPhF8GUpQA8CuWw0F8jDruBoQrFkCD3MkNZCzoAY+A6qBfETVQB6cv/IoNBEdLhDUQNFxNSC4ixFXA59FUA2UgpjvUakGSgY1sIcFNfAZUA2UgKTfIyJqAIl5T8e7z2xQNNBqIAuMIbLwDnM8H8KXYYQubBi5+0TwZRhBDQC7bjUMyMO9HFcDgnUvAg/3JqmBvS2ogSlANbAPLA4Jq98ptA84f+WxbxPR4X0JamA/x9WA4N4v4mpgCkwNZK19p9D+QcwPqFQD+xvUwAEW1MAUoBrYH0j6A5o4yUVXfSTmAx3vPvcKigZaDewFjCGy8B7keD6ELwcRurCDyN0ngi8HEdQAsOtWBwF5eLDjakCwHkzg4SEkNXCIBTUwGagGDsWpgYJNNXAoOH/lcVgT0eHDCGrgcMfVgOA+POJqYDJODcQM7lLUwBFBzI+sVANHGNTAkRbUwGSgGjgCSPojmzjJRVd9JOajHO8+Dw6KBloNHAyMIbLwDnc8H8KX4YQubDi5+0TwZThBDQC7bjUcyMMRjqsBwTqCwMOjSWrgaAtq4FOgGjgGFgff6rOBY8D5K49jm4gOH0tQAyMdVwOCe2TE1cCnuN8+Zu3ZwHFBzEdVqoHjDGpglAU18ClQDRwHJP2oJk5y0VUfifl4x7vPEUHRQKuBEcAYIgvvaMfzIXwZTejCRpO7TwRfRhPUALDrVqOBPBzjuBoQrGMIPDyBpAZOsKAGPgGqgRNhcYjFbKqBE8H5K4+TmogOn0RQAyc7rgYE98kRVwOfwNRAvmBwl6IGTglifmqlGjjFoAZOtaAGPgGqgVOApD+1iZNcdNVHYj7N8e5zTFA00GpgDDCGyMJ7uuP5EL6cTujCTid3nwi+nE5QA8CuW50O5OEZjqsBwXoGgYdnktTAmRbUwCSgGjgLFoei1WcDZ4HzVx5nNxEdPpugBs5xXA0I7nMirgYmwdSAsvZs4Nwg5udVqoFzDWrgPAtqYBJQDZwLJP15TZzkoqs+EvP5jnefZwRFA60GzgDGEFl4L3A8H8KXCwhd2AXk7hPBlwsIagDYdasLgDy80HE1IFgvJPDwIpIauMiCGvgYqAYuhsUhblUNXAzOX3lc0kR0+BKCGrjUcTUguC+NuBr4GPfbx6ypgcuCmF9eqQYuM6iByy2ogY+BauAyIOkvb+IkF131kZivcLz7vDAoGmg1cCEwhsjCe6Xj+RC+XEnowq4kd58IvlxJUAPArltdCeThVY6rAcF6FYGHV5PUwNUW1MBHQDVwDSwOqYxNNXANOH/lcW0T0eFrCWrgOsfVgOC+LuJq4COYGkinDO5S1MD1QcxvqFQD1xvUwA0W1MBHQDVwPZD0NzRxkouu+kjMNzrefV4VFA20GrgKGENk4b3J8XwIX24idGE3kbtPBF9uIqgBYNetbgLy8GbH1YBgvZnAw1tIauAWC2rgQ6AauBV3Z8yqGrgVnL/yuK2J6PBtBDVwu+NqQHDfHnE18CHudxFbUwN3BDG/s1IN3GFQA3daUAMfAtXAHUDS39nESS666iMx3+V493lzUDTQauBmYAyRhfdux/MhfLmb0IXdTe4+EXy5m6AGgF23uhvIw3scVwOC9R4CD+8lqYF7LaiBD4Bq4D7cswHPphq4D5y/8ri/iejw/QQ18IDjakBwPxBxNfABTA1kPIO7FDXwYBDzhyrVwIMGNfCQBTXwAVANPAgk/UNNnOSiqz4S88OOd5/3BEUDrQbuAcYQWXgfcTwfwpdHCF3YI+TuE8GXRwhqANh1q0eAPBzruBoQrGMJPHyUpAYetaAGJgLVwGO4s9Dq7yJ+DJy/8ni8iejw4wQ18ITjakBwPxFxNTARpgaS1n4X8ZNBzJ+qVANPGtTAUxbUwESgGngSSPqnmjjJRVd9JOanHe8+xwZFA60GxgJjiCy8zzieD+HLM4Qu7Bly94ngyzMENQDsutUzQB4+67gaEKzPEnj4HEkNPGdBDUwAqoHncc/JrX7D6PPg/JXHC01Eh18gqIEXHVcDgvvFiKuBCbhPEVv7htGXgpi/XKkGXjKogZctqIEJQDXwEpD0Lzdxkouu+kjMrzjefT4bFA20GngWGENk4X3V8XwIX14ldGGvkrtPBF9eJagBYNetXgXy8DXH1YBgfY3Aw9dJauB1C2rgfaAaeAMWh6LVZwNvgPNXHm82ER1+k6AG3nJcDQjutyKuBt7HfcOotWcDbwcxf6dSDbxtUAPvWFAD7wPVwNtA0r/TxEkuuuojMb/rePf5WlA00GrgNWAMkYX3PcfzIXx5j9CFvUfuPhF8eY+gBoBdt3oPyMNxjqsBwTqOwMPxJDUw3oIaGA9UA+/D4lBK2FQD74PzVx4TmogOTyCogYmOqwHBPTHiamA8TA14OYO7FDXwQRDzDyvVwAcGNfChBTUwHqgGPgCS/sMmTnLRVR+J+SPHu89xQdFAq4FxwBgiC+/HjudD+PIxoQv7mNx9IvjyMUENALtu9TGQh5McVwOCdRKBh5+Q1MAnFtTAOKAa+BQWh4zVN4U+BeevPCY3ER2eTFADUxxXA4J7SsTVwDjc5wasvSn0WRDzzyvVwGcGNfC5BTUwDqgGPgOS/vMmTnLRVR+J+QvHu89JQdFAq4FJwBgiC++XjudD+PIloQv7ktx9IvjyJUENALtu9SWQh185rgYE61cEHn5NUgNfW1AD7wHVwDe4ZwNWv1PoG3D+ymNqE9HhqQQ1MM1xNSC4p0VcDbyHe1PI2ncKfRvE/LtKNfCtQQ18Z0ENvAdUA98CSf9dEye56KqPxPy9493nV0HRQKuBr4AxRBbeHxzPh/DlB0IX9gO5+0Tw5QeCGgB23eoHIA9/dFwNCNYfCTz8iaQGfgp8tdkZv9uIxVIePzcRHf6Z0BlPd7wzFtzTCZ2xyVdEYRBfO4BjACw40Hzb3LDvkDbsL01Eh38hbNhfHd+wgvvXCG3YXx3fsOh8lwdaeb0NvN/2GzB+NovUb02cIvV7E9Hh3wlF6g/Hi5Tg/sNSkfKqG/8Ukz8IMv9HYI6Q+f7TcZkvhe5Pgrz6y3FZKZj/IuD+H0lW/s9wuxYdE3bOEHv8T8KtGWSD8yewdsyIwB6aQdhDM0l7aKbhQS06JjPAirTO4Kv8bA7+8Lec+wvqOW0dtHXUVqutk7Y6bfXaGrQ1amvStqC2ztq6aOuqrVlbi7Zu2rprW0jbwtoW0baotsW09dC2uLYltC2pbSltS2tbRtuy2pbT1lNbL23La1tB24raVtLWW9vK2lbR1kdbX22raltN2+ra1tDmaVPafG0xbXFtCW1JbSltaW0Zbf20ramtv7a1tK2tbR1t62pbT9v62jbQtqG2Ado20raxtk20baptM22ba9tC25baBmobpG0rbVtr20bbttq207a9th20DdY2RNuO2nbStrO2XbTtqm03bbtrG6otqy2nLa+toK2oraRtD217ahumbS9te2vbR9u+2vbTtr+2A7QdqO0gbQdrO0TbodoO03a4tiO0HantKG3DtY3QdrS2Y7Qdq22ktuO0jdJ2vLbR2sZoO0HbidpO0naytlO0nartNG2naztD25naztJ2trZztJ2r7Txt52u7QNuF2i7SdrG2S7Rdqu0ybZdru0Lbldqu0na1tmu0XavtOm3Xa7tB243abtJ2s7ZbtN2q7TZtt2u7Q9ud2u7Sdre2e7Tdq+0+bfdre0Dbg9oe0vawtke0jdX2qLbHtD2u7QltT2p7StvT2p7R9qy257Q9r+0FbS9qe0nby9pe0faqtte0va7tDW1vantL29va3tH2rrb3tI3TNl7b+9omaJuo7QNtH2r7SNvH2iZp+0Tbp9oma5ui7TNtn2v7QtuX2r7S9rW2b7RN1TZN27favtP2vbYftP2o7SdtP2ubru0Xbb9q+03b79r+0Pantr+0/U/bDG0ztf2traaz3v/aOmjrqK1WWydtddrqtTVoa9TWpG1BbZ21delc0/p58N9BgxGek8JSObeAYa6DYa6jYa7WMNfJMFdnmKs3zDUY5hoNc02GuQUNc50Nc10Mc10Nc82GuRbDXDfDXHfD3EKGuYUNc4sY5hY1zC1mmOthmFvcMLeEYW5Jw9xShrmlDXPLGOaWNcwtZ5jraZjrZZhb3jC3gmFuRcPcSoa53oa5lQ1zqxjm+hjm+hrmVjXMrWaYW90wt4ZhzjPMKcOcb5iLGebihrmEYS5pmEsZ5tKGuYxhrp9hbk3DXH/D3FqGubUNc+sY5tY1zK1nmFvfMLeBYW5Dw9wAw9xGhrmNDXObGOY2NcxtZpjb3DC3hWFuS8PcQMPcIMPcVoa5rQ1z2xjmtjXMbWeY294wt4NhbrBhbohhbkfD3E6GuZ0Nc7sY5nY1zO1mmNvdMDfUMJc1zOUMc3nDXMEwVzTMlQxzexjm9jTMDTPM7WWY29swt49hbl/D3H6Guf0NcwcY5g40zB1kmDvYMHeIYe5Qw9xhhrnDDXNHGOaONMwdZZgbbpgbYZg72jB3jGHuWMPcSMPccYa5UYa54w1zow1zYwxzJxjmTjTMnWSYO9kwd4ph7lTD3GmGudMNc2cY5s40zJ1lmDvbMHeOYe5cw9x5hrnzDXMXGOYuNMxdZJi72DB3iWHuUsPcZYa5yw1zVxjmrjTMXWWYu9owd41h7lrD3HWGuesNczcY5m40zN1kmLvZMHeLYe5Ww9xthrnbDXN3GObuNMzdZZi72zB3j2HuXsPcfYa5+w1zDxjmHjTMPWSYe9gw94hhbqxh7lHD3GOGuccNc08Y5p40zD1lmHvaMPeMYe5Zw9xzhrnnDXMvGOZeNMy9ZJh72TD3imHuVcPca4a51w1zbxjm3jTMvWWYe9sw945h7l3D3HuGuXGGufGGufcNcxMMcxMNcx8Y5j40zH1kmPvYMDfJMPeJYe5Tw9xkw9wUw9xnhrnPDXNfGOa+NMx9ZZj72jD3jWFuqmFummHuW8Pcd4a57w1zPxjmfjTM/WSY+9kwN90w94th7lfD3G+Gud8Nc38Y5v40zP1lmPufYW6GYW6mYe5vw5zcWKycW8Aw18Ew19EwV2uY62SYqzPM1RvmGgxzjYa5JsPcgoa5zoa5LsGcPIypr5k1Fghdd+0c/IUFKv5D5V9eN/jpVTeU/IOgtVp9gqi5878/WzpXAOhIBFDtY7Lmtq+Vn8daqqUz9tFjQyh2yPjNnPt6fr6kYoliKuEls/FEIRnzC37KK8QTJaUD4WfiOgylfDxdSPuxkp/y8zOx/v2DvUOI/JKjmcF1S3DdTf/srm2hzv9uHlsf7VuoM/axeuUAre2HY7FwsCEXqXxsI/9hRoUD6M26EGCz/vsxvlJpYeDGX4SUSPQLtEjMi4bWUumY76di8vfSBU/FC7q8+X4hF/fyXjbvFzNxlSnF/XgsX8jn9JpZVfJK2XymlP7XL5svky4KLqzlsVhnosOyOHrdHkAysHD3CB3/oHUpL4QtEviKXndxMFnLxVrWDZ+KyLyVW090LJbozOWAV934B/cSBA4siTv0KLjFvyUJuJdyPN+CeSkC7qUdxy3+LU3AvYzjuMW/ZQi4l3Uct/i3LAH3co7jFv+WI+Du6Thu8a8nAXcvx3GLf70IuJePwDm2PAH3Co7jFv9WIOBeMQL5XpGAeyXHcYt/KxFw93Yct/jXm4B7Zcdxi38rE3CvEoH9vQoBdx/HcYt/fQi4+zqOW/zrS8C9quO4xb9VCbhXcxy3+LcaAffqEahrqxNwr+E4bvFvDQJuz3Hc4p9HwK0cxy3+KQJuPwL72yfgjjmOW/yLEXDHI5DvOAF3wnHc4l+CgDsZgXwnCbhTjuMW/1IE3GnHcYt/aQLujOO4xb8MAXe/COzvfgTcazqOW/xbk4C7fwTy3Z+Aey3HcYt/axFwrx2BfK9NwL2O47jFv3UIuNd1HPc//hFwr+c4bvFvPQLu9SOwv9cn4N7Acdzi3wYE3Bs6jlv825CAe0AEeD6AgHsjx3GLfxsRcG8cgXxvTMC9ieO4xb9NCLg3jUC+NyXg3sxx3OLfZgTcmzuOW/zbnIB7C8dxi39bEHBv6Thu8W9LAu6BjuMW/wYScA+KQD0fRMC9leO4xb+tCLi3dhy3+Lc1Afc2juMW/7Yh4N42Avt7WwLu7RzHLf5tR8C9fQTyvT0B9w6O4xb/diDgHuw4bvFvMAH3EMdxi39DCLh3dBy3+LcjAfdOEahrOxFw7+w4bvFvZwLuXSKQ710IuHd1HLf4tysB926O4xb/diPg3j0CPN+dgHuo47jFv6EE3FnHcYt/WQLunOO4xb8cAXfecdziX56Au+A4bvGvQMBddBy3+Fck4C45jlv8KxFw7+E4bvFvDwLuPSPQt+xJwD3Mcdzi3zAC7r0cxy3+7UXAvXcEeL43Afc+juMW//Yh4N7Xcdzi374E3Ps5jlv824+Ae/8I7O/9CbgPcBy3+HcAAfeBEcj3gQTcBzmOW/w7iID7YMdxi38HE3AfEgGeH0LAfajjuMW/Qwm4D4tAvg8j4D7ccdzi3+EE3EdEIN9HEHAf6Thu8e9IAu6jHMct/h1FwD3ccdzi33AC7hGO4xb/RhBwH+04bvHvaALuYyJQz48h4D7Wcdzi37EE3CMdxy3+jSTgPi4CPD+OgHuU47jFv1EE3Mc7jlv8O56Ae7TjuMW/0QTcYxzHLf6NIeA+wXHc4t8JBNwnOo5b/DuRgPukCJxjJxFwn+w4bvHvZALuUxzHLf6dQsB9quO4xb9TCbhPcxy3+HcaAffpEahrpxNwn+E4bvHvDALuMx3HLf6dScB9VgR4fhYB99mO4xb/zibgPicC+T6HgPtcx3GLf+cScJ/nOG7x7zwC7vMjwPPzCbgvcBy3+HcBAfeFEcj3hQTcFzmOW/y7iID7Ysdxi38XE3BfEgGeX0LAfanjuMW/Swm4L4tAvi8j4L7ccdzi3+UE3Fc4jlv8u4KA+8oI8PxKAu6rHMct/l1FwH2147jFv6sJuK9xHLf4dw0B97WO4xb/riXgvs5x3OLfdQTc1zuOW/y7noD7Bsdxi383EHDfGIHz+0YC7pscxy3+3UTAfXME8n0zAfctjuMW/24h4L7Vcdzi360E3Lc5jlv8u42A+3bHcYt/txNw3+E4bvHvDgLuOx3HLf7dScB9l+O4xb+7CLjvjsD5fTcB9z2O4xb/7iHgvtdx3OLfvQTc90WA5/cRcN/vOG7x734C7gccxy3+PUDA/WAEeP4gAfdDjuMW/x4i4H44Avl+mID7Ecdxi3+PEHCPdRy3+DeWgPtRx3GLf48ScD/mOG7x7zEC7scdxy3+PU7A/UQE6vkTBNxPOo5b/HuSgPspx3GLf08RcD8dAZ4/TcD9jOO4xb9nCLifjUC+nyXgfs5x3OLfcwTcz0cg388TcL/gOG7x7wUC7hcdxy3+vUjA/VIEeP4SAffLjuMW/14m4H7Fcdzi3ysE3K86jlv8e5WA+7UI7O/XCLhfdxy3+Pc6AfcbjuMW/94g4H4zAjx/k4D7Lcdxi39vEXC/7Thu8e9tAu53HMct/r1DwP2u47jFv3cJuN9zHLf49x4B9zjHcYt/4wi4x0fgHBtPwP2+47jFv/cJuCdEIN8TCLgnOo5b/JtIwP2B47jFvw8IuD90HLf49yEB90cR2N8fEXB/7Dhu8e9jAu5JEcj3JALuTxzHLf59QsD9aQTy/SkB92THcYt/kwm4p0Qg31MIuD9zHLf49xkB9+cRyPfnBNxfOI5b/PuCgPtLx3GLf18ScH8VAZ5/RcD9teO4xb+vCbi/cRy3+PcNAfdUx3GLf1MJuKc5jlv8m0bA/a3juMW/bwm4v4tAPf+OgPt7x3GLf98TcP/gOG7x7wcC7h8dxy3+/UjA/VME9vdPBNw/O45b/PuZgHu647jFv+kE3L84jlv8+4WA+1fHcYt/vxJw/+Y4bvHvNwLu3yNQz38n4P7Dcdzi3x8E3H9GIN9/EnD/5Thu8e8vAu7/RSDf/yPgnuE4bvFvBgH3zAjkeyYB99+O4xb//ibgruniNm7xTwyNewHHcYt/CxBwd3Act+zvDgTcHR3HLf51JOCujUC+awm4OzmOW/zrRMBd5zhu8a+OgLs+AjyvJ+BucBy3+NdAwN0YgXw3EnA3OY5b/Gsi4F4wAvlekIC7s+O4xb/OBNxdHMct/nUh4O7qOG7xrysBd3ME9nczAXeL47jFvxYC7m6O4xb/uhFwd48Az7sTcC/kOG7xbyEC7oUjkO+FCbgXcRy3+LcIAfeiEcj3ogTcizmOW/xbjIC7h+O4xb8eBNyLO45b/FucgHsJx3GLf0sQcC/pel3T/i1JwL1UBOr5UgTcSzuOW/xbmoB7Gcdxi3/LEHAv6zhu8W9ZAu7lIrC/lyPg7uk4bvGvJwF3L8dxi3+9CLiXdxy3+Lc8AfcKjuMW/1Yg4F4xAnVtRQLulRzHLf6tRMDd23Hc4l9vAu6VI8DzlQm4V3Ect/i3CgF3H8dxi399CLj7Oo5b/OtLwL2q47jFv1UJuFdzHLf4txoB9+oRqOerE3Cv4Thu8W8NAm4vAvn2CLiV47jFP0XA7Ucg3z4Bd8xx3OJfjIA7HoF8xwm4E47jFv8SBNzJCOQ7ScCdchy3+Jci4E47jlv8SxNwZxzHLf5lCLj7OY5b/OtHwL2m47jFvzUJuPtHoJ73J+Bey3Hc4t9aBNxrRyDfaxNwr+M4bvFvHQLudSOQ73UJuNdzHLf4tx4B9/oRyPf6BNwbOI5b/NuAgHvDCOR7QwLuAY7jFv8GEHBv5Dhu8W8jAu6NI8DzjQm4N3Ect/i3CQH3po7jFv82JeDeLAI834yAe3PHcYt/mxNwbxGBfG9BwL2l47jFvy0JuAc6jlv8G0jAPchx3OLfIALurSKwv7ci4N7acdzi39YE3Ns4jlv824aAe1vHcYt/2xJwbxeB/b0dAff2juMW/7Yn4N4hAvnegYB7sOO4xb/BBNxDIpDvIQTcOzqOW/zbkYB7pwjkeycC7p0dxy3+7UzAvUsE8r0LAfeujuMW/3Yl4N4tAvnejYB7d8dxi3+7E3APdRy3+DeUgDvrOG7xL0vAnXMct/iXI+DOO45b/MsTcBccxy3+FQi4i47jFv+KBNwlx3GLfyUC7j0cxy3+7UHAvafjuMW/PQm4hzmOW/wbRsC9l+O4xb+9CLj3dhy3+Lc3Afc+juMW//Yh4N7Xcdzi374E3Ps5jlv824+Ae3/HcYt/+xNwH+A4bvHvAALuAx3HLf4dSMB9kOO4xb+DCLgPdhy3+HcwAfchjuMW/w4h4D7Ucdzi36EE3Ic5jlv8O4yA+3DHcYt/hxNwH0HGjfDvCALuI3G4Va1eo2sIe3igeQD02wv7e1QXosNHdcGvO7wLjgws3MO7zAowaF3aQ0nGw9gR4OJSHh0q8Sf9dDye9mO5bMpX2XgulSxlCvlsyU/n/ELWK6a9ZCHlZ2PpbDqucvls2ssVsn4iVcjGi0nlI7l0dGgt/S/mvUzJyybS2VRRL+QVPX2RSxdLST+by8c9v6CUKsb1//OLhXgmV0iqXFL/64mc0v87U679XD6TTKX0/zJfyMXjKpHxs4WcSikBHy+lU7GcysW0q7FUouQXS3Evo4OhYZZ0CGK54u4BL2eLYTyTLeplc7FkrJjTzpb8RDKb0f+rfLIYS8ZzEt9EzC8l4zEdN9+LxbOlfDyR9jJ+Oh+P7w6M4TGOH8bi3zGE/XKs47jFv2MJuEc6jlv8G0nAfZzjuMW/4wi4RzmOW/wbRcB9vOO4xb/jCbhHO45b/BtNwD3Gcdzi3xgC7hMcxy3+nUDAfaLjuMW/Ewm4T3Ict/h3EgH3yY7jFv9OJuA+xXHc4t8pBNynOo5b/DuVgPs0x3GLf6cRcJ/uOG7x73QC7jMcxy3+nUHAfabjuMW/Mwm4z3Ict/h3FgH32Y7jFv/OJuA+x3Hc4t85BNznOo5b/DuXgPs8x3GLf+cRcJ/vOG7x73wC7gscf6gr/l1AwH1hRB/qAv1u9VD3oi5Ehy8iPNS92PGHuoL74i6zAgxal+KrPHw9mrDJLrH0ULfaB51ILl3aBfeg1JRrVSrlS6lCqliK+X4+lcqlYvlEIpfP6wfWuZzSU4V0RgdAz3op/a/4qWQ6lo7l815OJQulfx6YXmx4qKu8ZCqRzGRL+h/QMfE9pWLFUknj1+sV4tmkl8gl/FwyVkimSxqWyusIFBIpvxQvZnzlHwOM4WWOH8bi32WE/XK547jFv8sJuK9wHLf4dwUB95WO4xb/riTgvspx3OLfVQTcVzuOW/y7moD7Gsdxi3/XEHBf6zhu8e9aAu7rHMct/l1HwH2947jFv+sJuG9wHLf4dwMB942O4xb/biTgvslx3OLfTQTcNzuOW/y7mYD7Fsdxi3+3EHDf6jhu8e9WAu7bHMct/t1GwH2747jFv9sJuO9wHLf4dwcB952O4xb/7iTgvstx3OLfXQTcdzuOW/y7m4D7Hsdxi3/3EHDf6/jDTfHvXgLu+yL6cBPod6uHm/d3ITp8P+Hh5gOOP9wU3A90mRVg0LoUX+Uh5KWETfagpYeb1T7wQ3LpoS64B4bGXCdKXqmUS2WL+WKiGMuqZC4R9xPxbDpZjOfS6WzBK8T03yjmSn6m6PuJlNL/UCIRS6VT+XwxfVnAy9keEGdTsXgxl4v5yVhcFUtZlcl5saQqZFTMyxfiqZyfzKXi6bR+MFvwk8ViXk+W9DPbdEpHRGUvA8bwYccPY/HvYcJ+ecRx3OLfIwTcYx3HLf6NJeB+1HHc4t+jBNyPOY5b/HuMgPtxx3GLf48TcD/hOG7x7wkC7icdxy3+PUnA/ZTjuMW/pwi4n3Yct/j3NAH3M47jFv+eIeB+1nHc4t+zBNzPOY5b/HuOgPt5x3GLf88TcL/gOG7x7wUC7hcdxy3+vUjA/ZLjuMW/lwi4X3Yct/j3MgH3K47jFv9eIeB+1XHc4t+rBNyvOY5b/HuNgPt1x3GLf68TcL/h+EM+8e8NAu43I/qQD+h3q4d8b3UhOvwW4SHf244/5BPcb3eZFWDQuhRf5WHcQ4RN9o6lh3zVPvhCcundLrgHZ6Zc6yeV8ayfzSX0X42XEqmYfq6p9D/hlfTjTHEmVkgUshkvnosl45lSzk/l8l4s58m/V8plUw8HvJwthvlMKZvLp9LxRCHhaZgJv+hnvVhK5XVAVEnFE0WvkEv7xbSGk0mqvJ8oqWJMPzLNSYAeBsbwPccPY/HvPcJ+Gec4bvFvHAH3eMdxi3/jCbjfdxy3+Pc+AfcEx3GLfxMIuCc6jlv8m0jA/YHjuMW/Dwi4P3Qct/j3IQH3R47jFv8+IuD+2HHc4t/HBNyTHMct/k0i4P7Ecdzi3ycE3J86jlv8+5SAe7LjuMW/yQTcUxzHLf5NIeD+zHHc4t9nBNyfO45b/PucgPsLx3GLf18QcH/pOG7x70sC7q8cxy3+fUXA/bXjuMW/rwm4v3H8YZf49w0B99SIPuwC+t3qYde0LkSHpxEedn3r+MMuwf1tl1kBBq1L8VUeSr1L2GTfWXrYVe0DICSXvu+Ce4BkyrVfTMQSnldKJ1P5gn5KFpeHZsl4Ip9IFHIpP1ZQ+tma76UTyUKukEqpdDETz3lpHZhUKaaf8L0X8HK2h12+8krFZCyRzcXzqXhBP4XL5UspL5f39dPDWCaRTHvaa8/3C4VMRpX048RCPOElszk9n8gU3gPG8AfHD2Px7wfCfvnRcdzi348E3D85jlv8+4mA+2fHcYt/PxNwT3cct/g3nYD7F8dxi3+/EHD/6jhu8e9XAu7fHMct/v1GwP2747jFv98JuP9wHLf49wcB95+O4xb//iTg/stx3OLfXwTc/3Mct/j3PwLuGY7jFv9mEHDPdBy3+DeTgPtvx3GLf38TcMvdTJdx/3O3tSse9wKO4xb/FiDg7uA4bvGvAwF3R8dxi38dCbhrybgR/tUScHfC4bb60Afod6uHPnVdiQ7XdcWvW9/V7Yc+gru+66wAg9al+CoPZ74nNA8N4OJSHrM99KnyQQiSS41dcQ9STLnWTuRUyc/7pVg6r70qZrOlVLJUKiWyXiEZT8XyKpPPxGP6oVI2HS8kMvofVqlYIV4oJnO5dFweVgjeyhiqbCHjl+JJvXi6kMnqQGa9fFHjzhW9tK8SxbzKqpKnA50pFnM5/agsWSgUE8msrzI6jsUfgA99mhw/jMW/JsKhtKDjuMW/BQm4OzuOW/zrTMDdxXHc4l8XAu6ujuMW/7oScDc7jlv8aybgbnEct/jXQsDdzXHc4l83Au7ujuMW/7oTcC/kOG7xbyEC7oUdxy3+LUzAvYjjuMW/RQi4F3Uct/i3KAH3Yo7jFv8WI+Du4Thu8a8HAffijuMW/xYn4F7Ccdzi3xIE3Es6jlv8W5KAeynHcYt/SxFwL+34ww/xb2kC7mUi+vAD6Herhx/LdiU6vCzh4cdyjj/8ENzLdZ0VYNC6FF/lIUUjYZP1tPTwo9oHAkgu9eqKe6BgyrXyU8l8vOTHYl4iH/M0Tr8Y87KpUq6YTuQKXr4UKxb9gpctJUoqph1QKpMqeIVSTHuSLZSaAl7OFsNCsZDOpL1s0c8VCiob933toacXzaRL+XQ+kS4lvEQqlc8msol8MZbz8+lUOp0o5QteLuHHmoAxXN7xw1j8W56wX1ZwHLf4twIB94qO4xb/ViTgXslx3OLfSgTcvR3HLf71JuBe2XHc4t/KBNyrOI5b/FuFgLuP47jFvz4E3H0dxy3+9SXgXtVx3OLfqgTcqzmOW/xbjYB7dcdxi3+rE3Cv4Thu8W8NAm7Pcdzin0fArRzHLf4pAm7fcdzin0/AHXMct/gXI+COO45b/IsTcCccfwgg/iUIuJMRfQgA9LvVQ4BUV6LDKcJDgLTjDwEEd7rrrACD1qX4KjfrexE2WcbWQ4Aqb4wjudSvK+7GujHX2YR+blBQhZTv50v5ZEZ+u022lE/Jg49EIpPKaRf1v5Ip5POxXEn/3Yz+j8VsJp/Xi2dzywe8rIyhn1R+opBVXtYrFrxkzE8lvHQ2l/WSBaWDGcvmkyqppwu5YiEWz5QSMY2mkM0kYrFYKp1ILQ+M4ZqOH8bi35qE/dLfcdziX38C7rUcxy3+rUXAvbbjuMW/tQm413Ect/i3DgH3uo7j/sc/Au71HMct/q1HwL2+47jFv/UJuDdwHLf4twEB94aO4xb/NiTgHuA4bvFvAAH3Ro7jFv82IuDe2HHc4t/GBNybOI5b/NuEgHtTx3GLf5sScG/mOG7xbzMC7s0dxy3+bU7AvYXjN8PFvy0IuLeM6M1woN+tboYP7Ep0eCDhZvggx2+GC+5BXWcFGLQuxVe5ad2PsMm2snQzvNobxEgubd0Vd4PZmOuiF0um4kV98zxRSBRSyWS+kPP13f9sST8GiKdKqaLK6Id9pWTS9zOJZDGVj2fyKp4u5r1MLJ5YM+DlbDfD/aSnYcfT8XhO35z3EyrtZ2KJWCaZLsYzKqGfM/iJdFylY4lUPBXTN+9VQUe2lFSxUjKfK6wJjOE2jh/G4t82hP2yreO4xb9tCbi3cxy3+LcdAff2juMW/7Yn4N7Bcdzi3w4E3IMdxy3+DSbgHuI4bvFvCAH3jo7jFv92JODeyXHc4t9OBNw7O45b/NuZgHsXx3GLf7sQcO/qOG7xb1cC7t0cxy3+7UbAvbvjuMW/3Qm4hzqOW/wbSsCddRy3+Jcl4M45flNY/MsRcOcjelMY6Herm8KFrkSHC4SbwkXHbwoL7mLXWQEGrUvxVW7ebk3YZCVbN4WrvFGK5NIeXXE3Wk25Vsl0MqPysWwyG0/ohRL5eDFfzGXzuXyqlPVKST8fS5TimaT+Dxl9r1nfA8/FEkXtRsyPlXx/m4CXlTFUmUJBO1mKZdOFeDKvEnlPpZKlXC6RyySK8UI+kfLS6VJJuxYvqFwhHc8nc6VsIlXIF/I6AdsAY7in44ex+LcnYb8Mcxy3+DeMgHsvx3GLf3sRcO/tOG7xb28C7n0cxy3+7UPAva/juMW/fQm493Mct/i3HwH3/o7jFv/2J+A+wHHc4t8BBNwHOo5b/DuQgPsgx3GLfwcRcB/sOG7x72AC7kMcxy3+HULAfajjuMW/Qwm4D3Mct/h3GAH34Y7fHBX/DifgPiKiN0eBfre6OXpkV6LDRxJujh7l+M1RwX1U11kBBq1L8VVuYu5B2GTDLd0crfaGIZJLI7ribjiacq30Qr6XTsUyCf0X/aT+X5Zy6WIpk035+uZvVkPySrlMyY9pHKV0TOX1X9WQfZXysilV2DPg5WwxzJXSfkEHLVVIxTOejpj2LZ/XN5K9YlLpm8wJ5RfzWX1rOZHwlVf0U8mijkc6X0yXEuliYk9gDI92/DAW/44m7JdjHMct/h1DwH2s47jFv2MJuEc6jlv8G0nAfZzjuMW/4wi4RzmOW/wbRcB9vOO4xb/jCbhHO45b/BtNwD3Gcdzi3xgC7hMcxy3+nUDAfaLjuMW/Ewm4T3Ict/h3EgH3yY7jFv9OJuA+xXHc4t8pBNynOn6TUPw7lYD7tIjeJAT63eom4eldiQ6fTrhJeIbjNwkF9xkRuUkoN/NGEDbZmbZuElZ54wzJpbO64m68mXLtl1KJjF4xncqWcn4xnojlEulkKa3vhZZSuURRqWQunfb1oul4yVexlJ8qJTMlpRL6b+bjuaMDXnaYjUPFYs7P5xKZtCoW4olkPJPNFXOFopdWhby+kZnMp5OeKhTjsXiqmCoUVNJP57J+IZvNx2O51NHAGJ7t+GEs/p1N2C/nOI5b/DuHgPtcx3GLf+cScJ/nOG7x7zwC7vMdxy3+nU/AfYHjuMW/Cwi4L3Qct/h3IQH3RY7jFv8uIuC+2HHc4t/FBNyXOI5b/LuEgPtSx3GLf5cScF/mOG7x7zIC7ssdxy3+XU7AfYXjN8vEvysIuK+M6M0yoN+tbpZd1ZXo8FWEm2VXO36zTHBfHZGbZXJT6yzCJrvG0s2yam8gIbl0bVfcDShjrmPxdDbtxdKpYikfy6RzyYK8I5hXqUzCz6cLftLL5IoqF0tnYwV9AzGTzRYy+UwyqwoZFfNSZwe8nC2GBZXLJpMaSlz7llGeSun/K2WTmWLezxU8z/ez+v8KcR21rOdlsvI57XSpEC/6yWK+lDsbGMPrHD+Mxb/rCPvlesdxi3/XE3Df4Dhu8e8GAu4bHcct/t1IwH2T47jFv5sIuG92HLf4dzMB9y2O4xb/biHgvtVx3OLfrQTctzmOW/y7jYD7dsdxi3+3E3Df4Thu8e8OAu47Hcct/t1JwH2X4zeNxL+7CLjvjuhNI6DfrW4a3dOV6PA9hJtG9zp+00hw3xuRm0Zyc+dawia7z9JNo2pvpCC5dH9X3I0YY679fKGU9pWKJVK5XDadyXiqFCsVU7FsXN8yi6c0yGwmmfL0nap8Qi5jqVKsoNLFdCyjUoXrAl7OftMok0wkEypfKGSK8bRSpXgxoXJpr1DIZ3V0c3HtXbGoUnHfy2aLyay+s+WpvJ9UqXyymE5cB4zhA44fxuLfA4T98qDjuMW/Bwm4H3Ict/j3EAH3w47jFv8eJuB+xHHc4t8jBNxjHcct/o0l4H7Ucdzi36ME3I85jlv8e4yA+3HHcYt/jxNwP+E4bvHvCQLuJx3HLf49ScD9lOM3T8S/pwi4n47ozROg361unjzTlejwM4SbJ886fvNEcD8bkZsncpPjfsIme87WzZMqbyggufR8V9wNCVOu/VIpno35GT+dT5VUPpVLx/xEtlj00vliSRVVIqFSpXgyUczpHxpCKRMr6DszyUQ8Lr8S138g4OVsMfSSpWwurvEmM9oV35M3gbL5dCqd85PJVK4QU7lSrOinizF9uyeVjGez8pcLmVyuoP9bqxse1cbwBccPY/HvBcJ+edFx3OLfiwTcLzmOW/x7iYD7Zcdxi38vE3C/4jhu8e8VAu5XHcct/r1KwP2a47jFv9cIuF93HLf49zoB9xuO4xb/3iDgftNx3OLfmwTcbzl+E0H8e4uA++2I3kQA+t3qJsI7XYkOv0O4ifCu4zcRBPe7EbmJIGL/ecIme8/STYRqhTWSS+O64oS5Kdd+Kuan0oW8F9O3G0oqm0um/FQi7qfjflIjj+VU3E8V08rL5hKFeCHtpzLZtOerYilX8HP59AsBL2e7iZCJya8oTBaKfqmgvJJ2tVDwUrGSjlTGy2ZSyZJKZvL6hxfT/mVUPp5KJVIaU9wvxGPZF4AxHO/4YSz+jSfsl/cdxy3+vU/APcFx3OLfBALuiY7jFv8mEnB/4Dhu8e8DAu4PHcct/n1IwP2R47jFv48IuD92HLf49zEB9yTHcYt/kwi4P3FcTIt/nxBwfxpRMQ30u5WYntyV6PBkgpie4riYFtxTIiKmRfSOI2yyz2yJ6SoFJpJLn3fFCVRTrn0tx1W6WIynkvlMrlT04vLbqQrFQj6eK2WLuWQppSFpJZ7w46lSPpmKFVKZfCabyiQTBeX/I1SnmMS0n8rGEul4JpPXgP1cLq5nSoVUNhFLJAoplUvnlZ9XqVQ8Ey95+WzB87KJdEljyGT9YtEfD4zhF44fxuLfF4T98qXjuMW/Lwm4v3Ict/j3FQH3147jFv++JuD+xnHc4t83BNxTHcct/k0l4J7mOG7xbxoB97eO4xb/viXg/s5xUSn+fUfA/X1ERSXQ71ai8oeuRId/IIjKHx0XlYL7x4iIShF/nxM22U+2RGWVQgvJpZ+74oSaKdd+Rrsfz6mUUplSXn6pSUalM2n9vy1lislUpljUqIrpVMErJjPpYjKmiulEKefHYgWV1er1i4CXs4nKpNa9Ge2Mp1LZuO8Vc7liLq999tKplCrGYvLNlZm8l00X9MPkbE6pUiaTKCr9d4qJjPK/AMZwuuOHsfg3nbBffnEct/j3CwH3r47jFv9+JeD+zXHc4t9vBNy/O45b/PudgPsPx3GLf38QcP/pOG7x708C7r8cF1fi318E3P+LqLgC+t1KXM3oSnR4BkFczXRcXAnumRERVyKCfiZssr9tiasqBQeUS804wWLKta/iyaRKxIrZeDbl5Qu5dMZTWidmY8VkQhVTcc+L5YpeMlWIa99ULpfN6qeAJT+bLhWz6Vh8esDL2cRVSWk1qh9iJjX4UiJX0oH0816xUMjk9GqJYjrm+dm4KuVTae1sIp2JZVOlrIprcIlUvjgdGMMFmt3eL+LfPwbeLx0cxy3+dSDg7ug4bvGvIwF3reO4xb9aAu5OjuMW/zoRcNc5jlv8qyPgrifjRvhXT8Dd0AzcizX2RAbQ71Yio7GZ6HBjM37dpma3RYbgbmqeFWDQuhRfRQzUEDbZguDiUh6ziYwqG28klzo34xp3U679dC6WzigVy6mCyvvxfCqf9RPJXNGP66c/2Xw+qdElSnHlJ9OpYtJL5eLFjDw5yiWy8ivqFwh4OZvISOW8fCKpRZeKp+OefqKUTvpePJspxZKlknZXpTJxPxHXbnslP+bltbNJlVEp/c+msqnkAsAYdnH8MBb/uhD2S1fHcYt/XQm4mx3HLf41E3C3OI5b/Gsh4O7mOG7xrxsBd3fHm23xrzsB90IRbbYXIjXbCzcTHV6Y0Gwv4nizLbgXiUizLU1xZ8ImW9RWs11lA4rk0mLNuAbWlGuVSRWUl0rEtILIJPUf0nqxuMpkMn5ad+kFL5tMZ/xiLO/nU35cP0lIFmJZ/TQjlkj6xVTpn0ZxEUOzrbQgiBVKhax8k0YmowqlRL6oH0foZx8ZjdFThXwukUjGc8mSBDiT0Y9HtCjI57KZgg6N6gKMYQ/HD2PxrwdhvyzuOG7xb3EC7iUcxy3+LUHAvaTjuMW/JQm4l3K86RT/liLgXjqiTefSpKZzmWaiw8sQms5lHW86BfeyEWk6pTlcjLDJlrPUdFbbiCG51LMZ18iZcq3y8XxMt9S6fc1kvIS+e+zFktm4F0vp6WwyW1Tpgir48YRf0AsXdJsdz5ey6WKhmPJKhXy6R8DL2WIY1/9iPF5I5Ly0V8pnpXcv5FLJeCan/df+JbPJfM6P+8lizI/nioVcJq775oRS6ZLnx7I9gDHs5fhhLP71IuyX5R3HLf4tT8C9guO4xb8VCLhXdLz5Ev9WJOBeKaLN10qk5qt3M9Hh3oTma2XHmy/BvXJEmi9pknoSNtkqtpqvKhsSJJf6NOMaGlOu/WSmpHLZvL6XmNS3E1O+KqT9RDYTk3eBE/rOZ17lVMzPl5K+vpuZkvuM+hZj3MvF49liIeb3Cng52+P1TD6h/2dJjT+XiRXktei073mFeCrv5fxsJpPXQZRf4hNLF4v6zmqsWCzE9f8klssllF9o1TBVG8O+jh/G4l9fwn5Z1XHc4t+qBNyrOd6EiH+rEXCvHtEmZHVSE7JGM9HhNQhNiOd4EyK4vYg0IdIs9CFsMmXrsWOVBzOSS34z7mA35lrfRdL4vHw2mSh6um3J6X8/mfKKed116Ztd6WI+UcwnU0k/mU3FS/rOVz5fzOX1/6CkPS6l+ga8nC2Gykv7+mmt0m1RrhQvqnyyqMOkb1UVCgkvnc9kkoWS/rf0M9FiKZdJ55RKaHy6fdIBS3q5vsAYxhw/jMW/GGG/xB0/jMW/OAF3IqKHcYJ0GCebiQ4nCYdxyvHDWHCnInIYy6HpEzZZ2tJhXO0BheRSphl3wBlznYh5Bf3vqnRK3zrwZOV4NpVOFrMFlcz4yUKiIMtpb7N+MplOZkuJeDwd10+j4n5Wpf1YwMvZDuNcLJYqaBd15xIv+X4xrwEW/VJGr1DUT7cSftJPxZLJUlqlvKyne5m0vqsRz+o+p5AoplsdoNXGsJ/jh5L414+wX9aM6KG0JulQ6t9MdLg/4VBay/FDSXCvFZFDSQ6PDGGTrW3rUKqyUCO5tE4zrtCbcl3pnxdP55JFpR0opONKu5ovZv14KVkq6JVzxbwfU74XT3npUkrfu48l+gW87DAPDuVi+XghlSnEVTajUol0PhfP5GMJlcrr4zKeTfj6RC8pP5bUK+cz+Vw/YAzXjWhxXpdUnNdrJjq8HqE4r+94cRbc60ekOEsRXYdQnDewVZwrRjsLSx7JpQ2bYYU0yci15GRDQq4HhJ+dpmO+PnXk76ULnooX8n7a9wu5uKdvp+b9YiauMqW4H4/lC/mcXjOrSl4pm8+U0v/6aLOgDiAV1I2aiQ5vRCioGzteUAX3xoSCKmRrqJlVVEyj/G9VSWxKXMobGh2XMJk3CfENXjk2BrZi4lvHwMey07XBn8OAopKEMCk3DdbfTHAxkrAJoaps4vjNnzLuebUU7RytcFfr4+aOP80SYm5OaCm2AB/N5cIg644M1kXHYjNSLLYkxWJLYixYreZAx2sKaz8MXub/U9z5efhH4/6QZdyuf4J5IOEMAeZbIWMoDVWHmrZ1zPNaa16cCq/JOLdQMQk3l4Pm1i171Q21OekgCDvdTp/VvP4d8XkQoTDsCi4M5VHbzpy1p4GrFvNWzW4WGGQuwrzcKtSgzG9+5hVzZH62Dt8Hi8X03iikVKlQiiVSGT+nkvIsJl5KJdPxgn5ElC2kiiqejfkZ+TiD/KKoVCImv8o3U8gnS+GirQqxWLyQyeWVfqSTzXnpQizrleKpmO9lC/oRUCGWTiazsVghmS6lM/quRLYUS3uJVCrjJf1YxmflZ2tDftp7EM7rtgkyP9uQ6uc2gDjM6/YSMg7bkuKwbRCHuTUJLh/kBndhPA43CdtFsUnYjtwkbEdoEna31CTMSz3ZLHLbA9dCNgm7kw6h7dvQJMwrDpqgKq+8kpfRJ6qXyidTuUzBz6X1OVpKxAoxZH52aMYd7MgmgZWfHaq4yzSvfVO+g9sRux/b8zxsnmsh7wYPbsYeSOUcDa4iR/NqXOYzR/Pck+15ZjmvtZA5GtKMi104R0NCzVXlI62a+czdvNxD3m0NN4M7Bo+zdjI9zvKqG2pOj3WQzyqrXQv4aMz4VT9edUPN76b9/yqG1a61s+P5kA2zM6FB3oUkFnYhPlraiRSLXUmx2HUusajWZxYvco4/bmJxIO/446aBAW704yZgvlX+v8dNleOf+o2KSbjx2415J2lnUkHcjXgnSXzejVAY9ojI46adgU3R7s1uFpg9SHcqdrfwuAmZn6HAx0154J0kVn6GtuHxQk0789WWt3bLIyqHQjaKh0KWfChkCYfCMEcOhTmSOFX6ZyCLTs7RQ2EYqejkAIfCvG7zIfOTd/RQYOUn34Zn78iXTqtdqxDOT5UfKbH5WakC6bAqNhMdLhI+1VACkoGFu9Q8K8CgdWmfwGDczkAW1D3Ib5x71Y1/+LgH4VZ9iRTDatfaE3yrvjxcPjSGNbu9j+fEQa+60arWetUNheTgXuB8oOufcA/oo5I9N4wgoPYGNxXyWd4yB8vPyGcGP+XfmomN8z//ZofQv9fceda/1xJc76P/3X217df8r3DoUmPnxcj9HHkxch7DD8di/6BvOaA5CEi5y5f/MKPCAXSx2Q9QIIr/Cu7S/sBicwApkeiig8R8IE4lWf1GiQNJKumgZqLDBxFU0sGOqyTBfXBEVNIBga/odQ8h3co9pHn2Ew6dP2RRlALRXDPrQGH6vU8kTmWft7aaVdjk53LB9aE6LodpO1zbEdqO1HaUtuHaRmg7Wtsx2o6V233ajtM2Stvx2kZrG6PtBG0najtJ28naTtF2qrbTtJ2u7QxtZ2o7S9vZ2s7Rdq628yq7DXGmoWLuMMPc4Ya5IwxzRxrmjjLMDTfMjTDMHW2YO8Ywd6xhbqRh7jjD3CjD3PGGudGGuTGGuRMMcyca5k4yzJ1smDvFMHeqYe40w9zphrkzDHNnGubOMsydbZg7xzB3rmHuvGAuPHoGP9cNfnrVjVZFp9pD41BYl+ypw0BrCcbDIWv9G68jql/LL79VdGS1a8VnvaF0VHVreeG3nYZXs5bf+s2pEfO/llf5FtbR87mWfmQ12xtdx8zfWmnT22HHzs9aafObZiPbv1ZqTm+tHdfetVJzfgNuVPvW8uf2Nt3x7VkrNfc380a3fa15vjk6pq1rpeZZC9UJbVvLa0NdVSe2ZS2vTTVanTTvtRJtrPfq5HmtFW/z2aFOmeta8n36bV/r1LmtlWrXmaZOm/Na6Xaej+r0OayVKbX7rFVnmNfy5uPcVmea1vLmqwdQZ82+lprPfkKdXblWYb57E3VO67ViVfQ56tzQWn6pqp5JnQcUfdI3rlkzSzidF4iYcwJRc1Ygcs4IRM9pgQg6JRBFJwUi6YRANI0ORNSoQFSNDETWMYHoGhGIsKMCUXZEINKkd5NesHKgH6OdB+xdz4flIWb13Quc363vKl7QTHRYFkeveyGQDCzcF4Y2BWhdz+ZzI1yxKlDvIoVjcVEQ84sr7+Rc1DzrQWB57mKD4kY/S0JUrbJKvghI+ovByWVs8Iua8be6LwJW0DBv0KfducBcXwLDnIzbPO0uIZ12lzYTHb6UcNpd5vhpJ7gvi/hpdy6MbJm8wV3KaXd5EPMrKk+7yw2n3RUWTrtzgafd5UDSX0FKLrrqIzFfiauexm8yqNa/C4OigX77BCkNrgJ3C+iiJTm+itAluY77wgA3ev8huXM1ef951Q0l8buawJ1rwF1b+fy6pnn2rhOd/3OA+b8WFod40WbXfS04f+VxXTPR4esIXff1jnfdgvv6iHfd58DIlvMN7lK67huCmN9Y2XXfYOi6b7TQdSOqVrnrvgFI+htJyUVXfSTmmxw/9a8Oigb6Q2JXA2OILLw3O54P4cvNhC4MiJvyKvPVAW50LUR23TcDeXiL44pKsN5C4OGtJDVwqwU1cDYw/7fB4pDybaqB28D5K4/bm4kO305QA3c4rgYE9x0RVwNnw8iWLhrcpaiBO4OY31WpBu40qIG7LKgBRNUqq4E7gaS/i5RcdNVHYr7b8e7zlqBooNXALcAYIgvvPY7nQ/hyD6ELu4fcfSL4cg9BDQC7bnUPkIf3Oq4GBOu9BB7eR1ID91lQA2cB838/LA5Fq59qvx+cv/J4oJno8AMENfCg42pAcD8YcTVwFoxsqmRwl6IGHgpi/nClGnjIoAYetqAGEFWrrAYeApL+YVJy0VUfifkRx7vPe4OigVYD9wJjiCy8Yx3Ph/BlLKELG0vuPhF8GUtQA8CuW40F8vBRx9WAYH2UwMPHSGrgMQtq4Exg/h+HxSFmVQ08Ds5feTzRTHT4CYIaeNJxNSC4n4y4GjgTRra8NTXwVBDzpyvVwFMGNfC0BTWAqFplNfAUkPRPk5KLrvpIzM843n0+GhQNtBp4FBhDZOF91vF8CF+eJXRhz5K7TwRfniWoAWDXrZ4F8vA5x9WAYH2OwMPnSWrgeQtq4Axg/l+AxSFr9bspXgDnrzxebCY6/CJBDbzkuBoQ3C9FXA2cASNb0tp3U7wcxPyVSjXwskENvGJBDSCqVlkNvAwk/Suk5KKrPhLzq453n88FRQOtBp4DxhBZeF9zPB/Cl9cIXRgQN0UNPBfgRtdCYNetXgPy8HXH1YBgfZ3AwzdIauANC2rgdGD+34TFwc/YVANvgvNXHm81Ex1+i6AG3nZcDQjutyOuBk6Hka2QMrhLUQPvBDF/t1INvGNQA+9aUAOIqlVWA+8ASf8uKbnoqo/E/J7j3efrQdFAq4HXgTFEFt5xjudD+DKO0IWNI3efCL6MI6gBYNetxgF5ON5xNSBYxxN4+D5JDbxvQQ2cBsz/BFgccmmbamACOH/lMbGZ6PBEghr4wHE1ILg/iLgaOA1Gtnja4C5FDXwYxPyjSjXwoUENfGRBDSCqVlkNfAgk/Uek5KKrPhLzx453n+ODooFWA+OBMUQW3kmO50P4MonQhU0id58IvkwiqAFg160mAXn4ieNqQLB+QuDhpyQ18KkFNXAqMP+TYXFIWH1TaDI4f+UxpZno8BSCGvjMcTUguD+LuBo4FSeZrb0p9HkQ8y8q1cDnBjXwhQU1gKhaZTXwOZD0X5CSi676SMxfOt59fhIUDbQa+AQYQ2Th/crxfAhfviJ0YUDcFDXwSYAbXQuBXbf6CsjDrx1XA4L1awIPvyGpgW8sqIFTgPmfirszlrCpBqaC81ce05qJDk8jqIFvHVcDgvvbiKuBU3ANY87gLkUNfBfE/PtKNfCdQQ18b0ENIKpWWQ18ByT996Tkoqs+EvMPjnefXwdFA60GvgbGEFl4f3Q8H8KXHwld2I/k7hPBlx8JagDYdasfgTz8yXE1IFh/IvDwZ5Ia+NmCGjgZmP/puLMwaVMNTAfnrzx+aSY6/AtBDfzquBoQ3L9GXA2cjJPMWYO7FDXwWxDz3yvVwG8GNfC7BTWAqFplNfAbkPS/k5KLrvpIzH843n3+FBQNtBr4CRhDZOH90/F8CF/+JHRhf5K7TwRf/iSoAWDXrf4E8vAvx9WAYP2LwMP/kdTA/yyogZOA+Z8Bi0Pa6jeMzgDnrzxmNhMdnklQA387rgYE998RVwMnwciWsvYNozUtQSxaalp3/vIfKtWA/CW2GjgJqAYEQ7VrlUm/QAsnueiqj8TcoQWX139IBubKX0HRQKuBv4DFEll4OzqeD+FLxxZ8FwbETVEDwhfxEV0LgV236gisC7XkfHjVjX+w1hJ42KkF202Wz9VOLXw1cCKwDtXB4mBXDdSB81ce9S1Eh+tb8Os2AIsBC3dDy6wAg9a1qgZOjKAaaAxi3lSpBhoNaqDJgho4EagGGoGkb4qIGkBiXtDx7rM2KBpoNVALjCGy8HZ2PB/Cl86ELqwzuftE8KUzQQ0Au27VGcjDLo6rAcHahcDDriQ10NWCGjgBqAaaYXFIWP1OoWZw/sqjpYXocAtBDXRzXA0I7m4RVwMnwNRA1tp3CnUPYr5QpRroblADC1lQAycA1UB3IOkXauEkF131kZgXdrz77BIUDbQa6AKMIbLwLuJ4PoQvixC6sEXI3SeCL4sQ1ACw61aLAHm4qONqQLAuSuDhYiQ1sJgFNTAGqAZ64NRAwaYa6AHOX3ks3kJ0eHGCGljCcTUguJeIuBoYg1MDMYO7FDWwZBDzpSrVwJIGNbCUBTUwBqgGlgSSfqkWTnLRVR+JeWnHu89Fg6KBVgOLAmOILLzLOJ4P4csyhC5sGXL3ieDLMgQ1AOy61TJAHi7ruBoQrMsSeLgcSQ0sZ0ENjAaqgZ6wOPhWnw30BOevPHq1EB3uRVADyzuuBgT38hFXA6NhaqBg7dnACkHMV6xUAysY1MCKFtTAaKAaWAFI+hVbOMlFV30k5pUc7z6XDYoGWg0sC4whsvD2djwfwpfehC6sN7n7RPClN0ENALtu1RvIw5UdVwOCdWUCD1chqYFVLKiB44FqoA8sDrGYTTXQB5y/8ujbQnS4L0ENrOq4GhDcq0ZcDRwPUwP5gsFdihpYLYj56pVqYDWDGljdgho4HqgGVgOSfvUWTnLRVR+JeQ3Hu8+Vg6KBVgMrA2OILLye4/kQvniELswjd58IvngENQDsupUH5KFyXA0IVkXgoU9SA74FNTAKqAZisDgUrT4biIHzVx7xFqLDcYIaSDiuBgR3IuJqYBRMDShrzwaSQcxTlWogaVADKQtqYBRQDSSBpE+1cJKLrvpIzGnHu08VFA20GlDAGCILb8bxfAhfMoQuLEPuPhF8yRDUALDrVhkgD/s5rgYEaz8CD9ckqYE1LaiB44BqoD8sDnGraqA/OH/lsVYL0eG1CGpgbcfVgOBeO+Jq4DjcL+WwpgbWCWK+bqUaWMegBta1oAaOA6qBdYCkX7eFk1x01UdiXs/x7rNfUDTQaqAfMIbIwru+4/kQvqxP6MLWJ3efCL6sT1ADwK5brQ/k4QaOqwHBugGBhxuS1MCGFtTASKAaGACLQypjUw0MAOevPDZqITq8EUENbOy4GhDcG0dcDYzE/VKOlMFdihrYJIj5ppVqYBODGtjUghoYCVQDmwBJv2kLJ7noqo/EvJnj3ecGQdFAq4ENgDFEFt7NHc+H8GVzQhe2Obn7RPBlc4IaAHbdanMgD7dwXA0I1i0IPNySpAa2tKAGjgWqgYG4O2NW1cBAcP7KY1AL0eFBBDWwleNqQHBvFXE1cCzu19VaUwNbBzHfplINbG1QA9tYUAPHAtXA1kDSb9PCSS666iMxb+t497lFUDTQamALYAyRhXc7x/MhfNmO0IVtR+4+EXzZjqAGgF232g7Iw+0dVwOCdXsCD3cgqYEdLKiBY4BqYDDu2YBnUw0MBuevPIa0EB0eQlADOzquBgT3jhFXA8fA1EDGM7hLUQM7BTHfuVIN7GRQAztbUAPHANXATkDS79zCSS666iMx7+J497l9UDTQamB7YAyRhXdXx/MhfNmV0IUBcVPUwPYBbnQtBHbdalcgD3dzXA0I1t0IPNydpAZ2t6AGjgaqgaG4s9Dq7yIeCs5feWRbiA5nCWog57gaENy5iKuBo2FqIGntdxHng5gXKtVA3qAGChbUwNFANZAHkr7QwkkuuuojMRcd7z53C4oGWg3sBowhsvCWHM+H8KVE6MJK5O4TwZcSQQ0Au25VAvJwD8fVgGDdg8DDPUlqYE8LamAEUA0Mwz0nt/oNo8PA+SuPvVqIDu9FUAN7O64GBPfeEVcDI3CfIrb2DaP7BDHft1IN7GNQA/taUAMjgGpgHyDp923hJBdd9ZGY93O8+9wjKBpoNbAHMIbIwru/4/kQvuxP6ML2J3efCL7sT1ADwK5b7Q/k4QGOqwHBegCBhweS1MCBFtTAcKAaOAgWh6LVZwMHgfNXHge3EB0+mKAGDnFcDQjuQyKuBobjvmHU2rOBQ4OYH1apBg41qIHDLKiB4UA1cCiQ9Ie1cJKLrvpIzIc73n0eEBQNtBo4ABhDZOE9wvF8CF+OIHRhR5C7TwRfjiCoAWDXrY4A8vBIx9WAYD2SwMOjSGrgKAtq4CigGhgOi0MpYVMNDAfnrzxGtBAdHkFQA0c7rgYE99ERVwNHwdSAlzO4S1EDxwQxP7ZSDRxjUAPHWlADRwHVwDFA0h/bwkkuuuojMY90vPs8MigaaDVwJDCGyMJ7nOP5EL4cR+jCjiN3nwi+HEdQA8CuWx0H5OEox9WAYB1F4OHxJDVwvAU1cCRQDYyGxSFj9U2h0eD8lceYFqLDYwhq4ATH1YDgPiHiauBI3OcGrL0pdGIQ85Mq1cCJBjVwkgU1cCRQDZwIJP1JLZzkoqs+EvPJjnefo4KigVYDo4AxRBbeUxzPh/DlFEIXdgq5+0Tw5RSCGgB23eoUIA9PdVwNCNZTCTw8jaQGTrOgBo4AqoHTcc8GrH6n0Ong/JXHGS1Eh88gqIEzHVcDgvvMiKuBI3BvCnkGdylq4Kwg5mdXqoGzDGrgbAtq4AigGjgLSPqzWzjJRVd9JOZzHO8+Tw2KBloNnAqMIbLwnut4PoQv5xK6MCBuiho4NcCNroXArludC+TheY6rAcF6HoGH55PUwPmBrzY748ObsVjK44IWosMXEDrjCx3vjAX3hYTO2OQrojCIrx3AMQAWHGi+bW7Yw0gb9qIWosMXETbsxY5vWMF9cYQ27MWOb1h0vssDrbwOBd5vuwQYP5tF6pIWTpG6tIXo8KWEInWZ40VKcF9mqUh51Y1/isllBJl/HjBHyHxf7rjMl0J3OUFeXeG4rBTMVxBwX0mSlVcabteiY8LOGWKPX064NYNscC4H1o6rIrCHriLsoatJe+jqltkbJ3RMropIg7svsMG9JoRZpWO+n4rJ30sXPBUv5P207xdycS/vZfN+MRNXmVLcj8fyhXxOr5lVJa+UzWdK6X/XstngXkNqcK9tITp8LaHBvc7xBldwX0docIVscqh2qOGTbd9mbDGvHOW1q92AYSJfHy6Y6Cp/HfDUDVf5sNPt9Dk/j+D8s1Gun49bLPMK+vXADXgD6fSUdUfOJxeUjl1eeSUv43tZL5VPpnKZgp9LZ0uxUiJWiM1vXOdFdmRcbyTF9cYgrrU1s17SqBwuF6Nw8bwpKNI3yx5kFIzrCaff9Y7LnvndHF47cFfr4y2OSxUh5i0EqXIrqSjcOpdi61U31M2kWNxGisVtVRw88/KZxYszlvn/tKbk5+EfjQNnLuN2HZCD7xZCLQXmWyFjKE1FhxqzwqlpZwzmxanwmoz6jYpJuMG6fW4Kx6tuqFtIBfH2uSiceSyj5vXviM+3M177AxeG8qhtZ87a08hUi/mOFjcLDDIXYV7eETqo5zc/84o5Mj93hu9bxmJ6bxRSqlQoxRKpjJ9TyVgyWYqXUsl0vFBKxLOFVFHFszE/U0x5JZUuFlOJWD6VLGUK+WQpXLRVIRaLFzK5vEr4yWzOSxdiWa8UT8W0+C3EUoVCLJ1MZmOxQjJdSme0YNUyOO0lUqmMl/RjGZ+VnztDShN1KMzrzkZ4zagcCndF8VC4i3wo3MV4B9eRQ2GOJE798+GTErLo3O3ooXA+qejcDTgU5nWbD5mfexw9FFj5uef/j24/3hvcfrzPdPvRq27M8d4/8jlItWsBb2VS3jYqxxD99hcrhtWudb/j+ZANcz/hYH+A1OQ8QLwteh8pFg+SYvEg8bYoixcXOX5blMWBiyNwW/R+wm1RYL7Vxf/dFq0c/9RvVEzCjd9DTAV8P6kgPkRUwOLzQ4TCcHlEboveD2yKHm5xs8BcTlJYD1u4LYrMzyNABXwxUAGz8vOIIT/tPQjndRsUmZ+xpPo5FhCHed2pQcbhUVIcHm3DbXKXD3KDuzAeh5uEx6LYJDxGbhIeIzQJV1pqEqp8OxZa5B4HroVsEq4kHUKPt6FJqPYtW2R+nmjBHezIJoGVnycAh+M8hjoP+JmcJ2H1M02543Bdi/mOA/KOa7VrPeX43VvJ8VOE8+Zp0tkr687rM6zV+v4M0Hfh5po1sw/U+nOKgVfdUM+0uO/js2gf0cW4vLlQxJS1niXcYn0W6ONz0dk86v/lzfMc2seonEzPg4GjcQvm5wm4XyCdyC+ETmTGx5YYz5SQHd6LjvNJFMGLBD69FIF99BIB98ukffTyXPaRV92g1ZTrHX8mzeLADaS7aeh3ml4Bqk9grtUNpDssr7TM+jKG/1QXx8dX2Y0jQiWJk+19Puq1A3i1Pr72/8DG/E+98TbhawQfKZvxdSDRo1rVX48Aod6ICqHexDnqR5VQb0aAUG9FhVBv4xyNRZVQb0eAUO9EhVDv4hyNR5VQ70aAUO9FhVDjcI4mokqocREg1PioEOp9nKPJqBLq/QgQakJUCDUR52gqqoSaGAFCfRAVQn2IczQdVUJ9GAFCfRQVQn2MczQTVUJ9HAFCTYoKoT7BOZqNKqE+iQChPo0KoSbjHM1FlVCTI0CoKVEh1Gc4R/NRJdRnESDU50gfo5qoobXu+/hFVHb+lzhHi1El1JcR2Plf/bfzPdUvAjv/66js/G9gjqrIfnTpmwjs/KlRIdQ0HKEi+/7OtAgQ6tuoEOo7HKEi+/7OdxEg1PdRIdQPOEJF9v2dHyJAqB+jQqifcISK7Ps7P0WAUD9HhVDTcYSK7Ps70yNAqF+iQqhfcYSK7Ps7v0aAUL9FhVC/4wgV2fd3fo8Aof6ICqH+xBEqsu/v/BkBQv0VFUL9D0eoyL6/878IEGpGVAg1E0eoyL6/MzMChPr7v2dknmqKwDOymm4R2fkLwBxVkX0vZoFu7vvYISqE6ogjVCGqhOoYAULVRoVQnXCEiuz7O50iQKi6qBCqHkeoUlQJVR8BQjUgfZTvP2qsmfWlYuJsz4qkdQADAH65pnopAurkjQj4+FYEfHwnAj6+FwEfx0fAxwkR8PGDCPj4UQR8nBQBHz+NgI9TIuDj5xHw8YsI+PhVBHz8OgI+To2Aj99GwMfvI+DjjxHw8ecI+PhLBHz8LQI+/hEBH/+KgI8zIuDj3xHwseb/0ec9UXiEEIW70k7f6KwYmHVjqRrDwKztK97a/37vejlnLcF1o453k7YFtXXW1kVbV23N2lq0ddPWXdtC2hbWtoi2RbUtpq1Ht3/XWLxbsGj5ty3IostVzDUZ5hY0zHU2zHUxzHU1zDUb5loMc4sHc+EB/aUACvjbpBT0N+q0ujFd7dOjJYCbNZyfJQz5gT6QUK19rzYOS5LisKQhDh2RccA+BFBLAmO6FCmmS1ng1lLAOCxNisPSFrgFfHijlgbGdBlSTJdhc0vHodHRONB4pPcT8AFbqwdh1cZvWRKPlrVQo5YF8mg5UhyWs1CjgA8d1XLAmPYkxbSnBW71BMahFykOvSxwC/iwWPUCxnR5UkyXt3D+NTkaBxqP9H4CPtBv9eC92vitQOLRChZq1ApAHq1IisOKFmoU8CUHtSIwpiuRYrqSBW6tBIxDb1IcelvgFvDlFNUbGNOVSTFd2cL5t6CjcaDxSO8n4AtErV70qTZ+q5B4tIqFGrUKkEd9SHHoY6FGAV+qUn2AMe1LimlfC9zqC4zDqqQ4rGqBW8CX4dSqwJiuRorpahbOv86OxoHGI72fgC8stnqxsNr4rU7i0eoWatTqQB6tQYrDGhZqFPAlTrUGMKYeKaaeBW55wDgoUhyUBW4BX75VChhTnxRT38L518XRONB4pPcT8AXpVi8yVxu/GIlHMQs1KgbkUZwUh7iFGgV8aVzFgTFNkGKasMCtBDAOSVIckha4BXzZXyWBMU2RYpqycP51dTQONB7p/QT8QEarD05UG780iUdpCzUqDeRRhhSHjIUaBfyQisoAY9qPFNN+FrjVDxiHNUlxWNMCt4AfLlJrAmPanxTT/hbOv2ZH40Djkd5PwA+AtfqgVrXxW4vEo7Us1Ki1gHFYmxSHtS3UKOCH4tTawJiuQ4rpOha4tQ4wDuuS4rCuBW4BP8yo1gXGdD1STNezcP61OBqHMOYFwJi7ATDnMv+uxfSze0TiuVBE/Fw4In4uEhE/F42In4tFxM8eQD/l89dNNa2/lLSlpvVA+99IiDPax6YI+LhgBHzsHAEfu0TAx64R8LE5Aj62kGo8wsdYKk1Zl+Xvf+v+/9e6uLV9n7i2KteEcK+yvt7XG2jbUNsAbRtp21jbJto21baZts21baFtS20DtQ3StpW2rbvVtP6imvW7zf7lNRsY5jY0zA0wzG1kmNvYMLeJYW5Tw9xWhrmtgzlp6LrUzLoBEB7oYrpZN+fJKK8FeuFYbNPt35/bViZd/kNl54u+M7UZ4I5CsVSSGylqG+AdmW0jonyi4ufmEfFzi4j4uWVE/BwYET8HRcRPRL3Mpf/pqlXYz8q749XWT+AdDbU+KTdozMA7JGqDiGAG3nFRG0YEM/AOjhoQEczAO0Jqo4hgBt5hUhtHBDPwjpXaJCKYgXfA1KaWMHvzN1T5YiugVtqO9BQ/vC44DuWhtgbmfjuQli0VS5kw5gXAfN8BgNl0Zxbt52CAn8mslykmkymmn0MAfuZyyVS2mE4w/dwRkfd8sliKpXymnzsB/Mwm4qVSIpZl+rkzwM+E8ooJP1Vi+rkLwM9Mzksk0+k8089dAX6qUjpWyGRzTD93Q+Q9V/TyBZUR3xaqmf3b6sPfUh/+dvrwt9KHv40+/C304W+fD3/r/A6h62da5v86fLN969D14ND1kND1jqHrnULXO4eudwld7xq63i243l3/HKotqy2nLa+toK2ordTt35v8zTWz7k/PLf9edUPt7v5Nfhlx2trq3z6tHNvybyzYQ8dlT23DtO1V+TBB/mNDxdyehrlhhrm9grnw6IQNVqukVlsg9kA1giVP7Ql8QDIMsta/8doL/MqVrc079L/Na9y8e+u47KNtX237VW7evQ2bch/D3L6Guf0sbN6hwM27N3Dz7gPcvPsCN+9+Ed282f82r3Hz7q/jcoC2A7UdVLl59zdsygMMcwca5g6ysHmzwM27P3DzHgDcvAcCN+9BEd28uf82r3HzHqzjcoi2Q7UdVrl5DzZsykMMc4ca5g6zsHlzwM17MHDzHgLcvIcCN+9hEd28+f82r3HzHq7jcoS2I7UdVbl5DzdsyiMMc0ca5o6ysHnzwM17OHDzHgHcvEcCN+9REd28hf82r3HzDtdxGaHtaG3HVG7e4YZNOcIwd7Rh7hgLm7cA3LzDgZt3BHDzHg3cvMdEdPMW/9u8xs17rI7LSG3HaRtVuXmPNWzKkYa54wxzoyxs3iJw8x4L3LwjgZv3OODmHRXRzVv6b/MaN+/xOi6jtY3RdkLl5j3esClHG+bGGOZOsLB5S8DNezxw844Gbt4xwM17AnATlMm0XIhUPzbO4sEPoevvQ9ffha6/DV1PC11PDV1/E7r+OnT9Vej6y9D1F6Hrz0PXn4Wup4SuJ4euPw1dfxK6nhS6/jh0/VHo+sPQ9Qeh64mh6wmh6/dD1+ND1+NC1++Frt8NXb8Tun47dH1UaB+GpWxY6oal8DGh63D3HO6uw933qNB1+MAOH+jhA/+E0HW4RoRrSLjG7BW6Dj9+Dj+eDj++3i90HX7iFX4iFn5idlDoOnyTPXwTPnyT/rDQdfi+Xvi+X/m+YPlUOFH/+SRtJ2s7Rdup2k7Tdrq2M7Sdqe0sbWdrO0fbudrO03a+tgu0XajtIm0Xa7tE26XaLtN2ubYrtF2p7SptV2u7Rtu12q7Tdr22G7TdqO0mbTdru0Xbrdpu03a7tju03antLm13a7tH273a7tN2v7YHuv2LSfCEv3XjAH1azCzHLXR9UO2/PzuE/m5z51n/vSW4flCv+5C2h7vZ/RDow9E49P1wLB7p9u/PsZWHsfyHGRUOoD8E+jDsECyVHgEezmNJiewAjh8S86OhtVQ65vupmPy9dMFT8ULeT/t+IRf38l427xczcZUpxf14LF/I5/SaWVXyStl8pvTvu8FKNl3XmlkbLDzQm+5RQpMh47FuRIcf64Zf93EgGVi4H+82K8CgdY2+IgrA493w6z4BJmu5WMu6lSccOn/IomhTij8YiVPZ561dIcWXC66f1HF5StvT2p7R9qy257Q9r+0FbS9qe0nby9pe0faqtte0va7tDW1vantL29va3tH2rrb3tI3TNl7b+9omaJuo7QNtH2r7SNvH2iZVdhtPdptd0j9lmHvaMPeMYe5Zw9xzhrnnDXMvGOZeNMy9ZJh72TD3imHuVcPca4a51w1zbxjm3jTMvWWYe9sw945h7l3D3HuGuXGGufGGufcNcxMMcxMNcx8Y5j40zH1kmPvYMDep2+y3inoGP9cNfnrVjVZFp9pD40lYl+ypp0BrCcanIWv9G69nql/LD+Klnq12rfj/xV49V91aXiiP6vlq1vJbcUK9MP9reRX8Ui/O51rJ0mxcVS/N31ppA+/Vy/OzVtq4h9Qr7V8rNYf9qF5t71qpOe5t9Vr71vLnUifU6+1ZKzXXmqPeaPta+XnUL/VmW9dKzbMWqrfatpbXhrqq3m7LWl6barR6Z95rJdpY79W781or3uazQ70317XipXacQ2rc3NZKtetMU+PnvFa6neejen8Oa2VK7T5r1QTzWt58nNtqomktb756APXB7Gup+ewn1IeVaxXmuzdRH7VeK1ZFn6M+Dq3ll6rqmdQkoOiTvnHTmlnCaVIgYj4KRM0HgciZEIie8YEIei8QRe8EIumtQDS9EYio1wJR9Uogsl4KRNcLgQh7LhBlzwQiTXo36QUrR+VdxWr7zUnA3vUTWB5ins27iji/W99V/LQb0WFZHL3uZCAZWLgnhzYFaF3P5nMjXLEqUO8ihWMxJYj5Z5V3cqYEJAzPfWZQ3OhnSYiqVVbJU4Ck/wycXMYGn9INf6t7CrCChnmDPu0+Bub6cxjmZNzmafc56bT7ohvR4S8Ip92Xjp92gvvLiJ92H8PIlskb3KWcdl8FMf+68rT7ynDafW3htPsYeNp9BST916Tkoqs+EvM3uOqpamrwJ/HkoGig3z5BSoOp4G4BXbQkx1MJXZLruCcHuNH7D8mdaeT951U3lMRvGoE734K7tvL59W232btOdP4/Aub/O1gc4kWbXfd34PyVx/fdiA5/T+i6f3C86xbcP0S86/4IRrYc7zcaVXTdPwYx/6my6/7R0HX/ZKHrRlStctf9I5D0P5GSi676SMw/O37qTwuKRkdwDKcBY4gsvNMdz4fwZTqhCwPiprzKPC3Aja6FyK57OpCHvziuqATrLwQe/kpSA79aUAMfAvP/GywOKd+mGvgNnL/y+L0b0eHfCWrgD8fVgOD+I+Jq4EMY2dJFg7sUNfBnEPO/KtXAnwY18JcFNYCoWmU18CeQ9H+Rkouu+kjM/3O8+/wlKBpoNfALMIbIwjvD8XwIX2YQujAgbooa+CXAja6FwK5bzQDycKbjakCwziTw8G+SGvjbghr4ANkAdkfFoWj1U+04v1urgQW6Ex2WxdHrdujuthoQ3B26zwowaF2rauADWLFQJYO7FDXQMYh5bfea1p1/x+6zqwH5S2w18AFQDXQEkr62Oye56KqPxNypO3CD1+A3nJz4UjTQamAm8OREFt46x/MhfKnrju/CgLgpakD4UtcdXwuBXbeqA/KwnpwPr7rxD9Z6Ag8bwN1k+Vxt6M5XAxOBNa0RFoeYVTXQSFIDTd2JDjcR1MCCjqsBwb1gxNXARFjxzltTA52DmHepVAOdDWqgiwU1MBGoBjoDSd+lOye56KqPxNzV8e6zPigaaDVQD4whsvA2O54P4UszoQtrdlwN1Ae40bUQ2HWrZiAPWxxXA4K1hcDDbiQ10M2CGpgAVAPdYXHIWv1uiu7g/JXHQt2JDi9EUAMLO64GBPfCEVcDE3Afabf23RSLBDFftFINLGJQA4taUAMTgGpgESDpF+3OSS666iMxL+Z499kSFA20GmgBxhBZeHs4ng/hSw9CF9aD3H0i+NKDoAaAXbfqAeTh4o6rAcG6OIGHS5DUwBIW1MD7QDWwJCwOfsamGlgSnL/yWKo70eGlCGpgacfVgOBeOuJq4H2YGiikDO5S1MAyQcyXrVQDyxjUwLIW1MD7QDWwDJD0y3bnJBdd9ZGYl3O8+1w8KBpoNbA4MIbIwtvT8XwIX3oSurCe5O4TwZeeBDUA7LpVTyAPezmuBgRrLwIPlyepgeUtqIHxQDWwAiwOubRNNbACOH/lsWJ3osMrEtTASo6rAcG9UsTVwHjcF2+lDe5S1EDvIOYrV6qB3gY1sLIFNTAeqAZ6A0m/cndOctFVH4l5Fce7z15B0UCrgV7AGCILbx/H8yF86UPowvqQu08EX/oQ1ACw61Z9gDzs67gaEKx9CTxclaQGVrWgBsYB1cBqsDgkrL4ptBo4f+Wxeneiw6sT1MAajqsBwb1GxNXAONyXUFp7U8gLYq4q1YBnUAPKghoYB1QDHpD0qjsnueiqj8TsO9599g2KBloN9AXGEFl4Y47nQ/gSI3RhMXL3ieBLjKAGgF23igF5GHdcDQjWOIGHCZIaSFhQA+8B1UASd2csYVMNJMH5K49Ud6LDKYIaSDuuBgR3OuJq4D2cGsgZ3KWogUwQ836VaiBjUAP9LKiB94BqIAMkfb/unOSiqz4S85qOd5/xoGig1UAcGENk4e3veD6EL/0JXVh/cveJ4Et/ghoAdt2qP5CHazmuBgTrWgQerk1SA2tbUAPvAtXAOrizMGlTDawDzl95rNud6TBBDaznuBoQ3OtFXA28i3tTKGtw9//H3nXAR1G079B7SyhJiAKCve3eJbnEigXBhtgVa5LLKXYRFAtVBcSGir1j79h7xYodUBEQ6b2Jil3/7+Dux7BMJiT3vPPN/L+b3++VcWdv8rZ553l29/ZY2MDegc/3ibKBvRVsYB8DbGAqkA3sDUz6fbJ5gouu+kib97Ucfe4eFA00G9gd6ENk4e1heTxEvvRgQGE9mNEnIl96MLABIOr2ewDzcD/L2YCwdT+GPOzJxAZ6GmADU4BsoBfMDyVG3zDaCxy/sO2fzajw/gxs4ADL2YCw+wDH2cAU3E/0GXvD6IGBzw+KsoEDFWzgIANsYAqQDRwITPqDsnmCi676SJsPthx97hcUDTQb2A/oQ2Th7W15PES+9GZAYb2Z0SciX3ozsAEg6vZ7A/PwEMvZgLD1EIY87MPEBvoYYAOTgWzgUEfZwKHg+IXtsGxGhQ9jYAOHW84GhN2HO84GJjvIBo4IfH5klA0coWADRxpgA5OBbOAIYNIf6QgbQNp8lOXo85CgaKDZwCFAHyIL79GWx0Pky9EMKOxoZvSJyJejGdgAEHX7RwPz8BjL2YCw9RiGPDyWiQ0ca4ANfAlkA31hfigy+k6hvuD4he24bEaFj2NgA8dbzgaE3cc7zga+hLGBMmPvFDoh8PmJUTZwgoINnGiADXwJZAMnAJP+xGye4KKrPtLmkyxHn8cERQPNBo4B+hBZeE+2PB4iX05mQGEnM6NPRL6czMAGgKjbPxmYh2WWswFhaxlDHpYzsYFyA2zgCyAbqMCxgaRJNlABjl/YktmMCicZ2ECl5WxA2F3pOBv4AscG4gp1WdhAKvD5KVE2kFKwgVMMsIEvgGwgBUz6U7J5gouu+kibT7UcfZYFRQPNBsqAPkQW3n6Wx0PkSz8GFNaPGX0i8qUfAxsAom6/HzAPT7OcDQhbT2PIw9OZ2MDpBtjA50A2cAbMDzGj9wbOAMcvbGdmMyp8JgMbOMtyNiDsPstxNvA57tfHjN0bODvw+TlRNnC2gg2cY4ANfA5kA2cDk/6cbJ7goqs+0uZzLUefpwVFA80GTgP6EFl4+1seD5Ev/RlQWH9m9InIl/4MbACIuv3+wDw8z3I2IGw9jyEPBzCxgQEG2MBnQDYwEOaHeNwkGxgIjl/Yzs9mVPh8BjZwgeVsQNh9geNs4DMYG6hIKtRlYQODAp9fGGUDgxRs4EIDbOAzIBsYBEz6C7N5gouu+kibL7IcfZ4XFA00GzgP6ENk4b3Y8niIfLmYAYVdzIw+EflyMQMbAKJu/2JgHl5iORsQtl7CkIeDmdjAYANs4FMgGxgC80Ol0XsDQ8DxC9vQbEaFhzKwgWGWswFh9zDH2cCnMDbgG7s3MDzw+YgoGxiuYAMjDLCBT4FsYDgw6Udk8wQXXfWRNl9qOfq8JCgaaDZwCdCHyMJ7meXxEPlyGQMKu4wZfSLy5TIGNgBE3f5lwDy83HI2IGy9nCEPRzKxgZEG2MAnQDYwCuaHQqNsYBQ4fmEbnc2o8GgGNnCF5WxA2H2F42zgE9yvjxljA2MCn18ZZQNjFGzgSgNs4BMgGxgDTPors3mCi676SJuvshx9Xh4UDTQbuBzoQ2ThvdryeIh8uZoBhV3NjD4R+XI1AxsAom7/amAeXmM5GxC2XsOQh9cysYFrDbCBj4FsYCzMD4lSk2xgLDh+Ybsum1Hh6xjYwPWWswFh9/WOs4GPYWygJKFQl4UN3BD4fFyUDdygYAPjDLCBj4Fs4AZg0o/L5gkuuuojbb7RcvR5TVA00GzgGqAPkYX3JsvjIfLlJgYUdhMz+kTky00MbACIuv2bgHl4s+VsQNh6M0Me3sLEBm4xwAYmAdnArbgrY0bZwK3g+IXttmxGhW9jYAO3W84GhN23O84GJuF+i9gYG7gj8PmdUTZwh4IN3GmADUwCsoE7gEl/ZzZPcNFVH2nzXZajz5uDooFmAzcDfYgsvHdbHg+RL3czoLC7mdEnIl/uZmADQNTt3w3Mw3ssZwPC1nsY8vBeJjZwrwE28BGQDYzH3RvwTLKB8eD4he2+bEaF72NgA/dbzgaE3fc7zgY+grGBUk+hLgsbeCDw+YNRNvCAgg08aIANfARkAw8Ak/7BbJ7goqs+0uaHLEef9wRFA80G7gH6EFl4H7Y8HiJfHmZAYQ8zo09EvjzMwAaAqNt/GJiHj1jOBoStjzDk4aNMbOBRA2zgQyAbeAy3Fxr9LeLHwPEL2+PZjAo/zsAGnrCcDQi7n3CcDXwIYwPFxn6L+MnA509F2cCTCjbwlAE28CGQDTwJTPqnsnmCi676SJsnWI4+HwmKBpoNPAL0IbLwPm15PES+PM2Awp5mRp+IfHmagQ0AUbf/NDAPn7GcDQhbn2HIw2eZ2MCzBtjAB0A28BzuPrnRN4w+B45f2J7PZlT4eQY28ILlbEDY/YLjbOAD3LeIjb1h9MXA5y9F2cCLCjbwkgE28AGQDbwITPqXsnmCi676SJtfthx9PhMUDTQbeAboQ2ThfcXyeIh8eYUBhb3CjD4R+fIKAxsAom7/FWAevmo5GxC2vsqQh68xsYHXDLCB94Fs4HWYHyqN3ht4HRy/sL2RzajwGwxs4E3L2YCw+03H2cD7uDeMGrs38Fbg87ejbOAtBRt42wAbeB/IBt4CJv3b2TzBRVd9pM3vWI4+Xw2KBpoNvAr0IbLwTrQ8HiJfJjKgsInM6BORLxMZ2AAQdfsTgXn4ruVsQNj6LkMevsfEBt4zwAbeA7KB92F+SBWZZAPvg+MXtg+yGRX+gIENfGg5GxB2f+g4G3gPxga8coW6LGzgo8Dnk6Js4CMFG5hkgA28B2QDHwGTflI2T3DRVR9p88eWo893g6KBZgPvAn2ILLyfWB4PkS+fMKCwT5jRJyJfPmFgA0DU7X8CzMNPLWcDwtZPGfLwMyY28JkBNvAukA18DvNDqdEnhT4Hxy9sX2QzKvwFAxv40nI2IOz+0nE28C7uewPGnhSaHPh8SpQNTFawgSkG2MC7QDYwGZj0U7J5gouu+kibp1qOPj8NigaaDXwK9CGy8H5leTxEvnzFgMK+YkafiHz5ioENAFG3/xUwD7+2nA0IW79myMNvmNjANwbYwEQgG5iGuzdg9J1C08DxC9u32YwKf8vABqZbzgaE3dMdZwMTcU8KGXun0IzA5zOjbGCGgg3MNMAGJgLZwAxg0s/M5gkuuuojbf7OcvT5dVA00Gzga6APkYV3luXxEPkyiwGFzWJGn4h8mcXABoCo258FzMPvLWcDwtbvGfJwNhMbmB3oahIZv9MGa0vY5mQzKjyHARnPtRwZC7vnMiBjla6IwiB0rQv2AbDgQONtcsG+zbRg52UzKjyPYcHOt3zBCrvnO7Rg51u+YNHxDhuaeb0FvN62AOg/k0VqQTZPkVqYzajwQoYitcjyIiXsXmSoSHnptXXFZBEDzf8eGCNkvBdbTvNFoVvMQK+WWE4rhc1LGOxeykQrlyou16J9wh0zxBpfzHBpBglwFgNrxzIH1tAyhjW0nGkNLVfcqEX7ZJkjAPclIMBdIdnsl8RjsURcnFeS9PzCZEWsJBZLlhd6FV5ZRayytNAvTRXGCuMVyYpymrPMT3mpsorSVMm/c5kEuCuYAO7KbEaFVzIA3FWWA1xh9yqmG8piU62bxZ9sL7XBFvNoC+dOdwHKibxaLpjoKr8KuOvKVV5WuoY6V1TjnHULZXUtLrFU5/TVwAX4A9PuKeYdVstc8Ml3Fb6X8kpjXpmXqChOlJcmY+UlZal4qiiejNfWr9UlO9Kva5j8uibwa/2s9Q9pRJvNxUgunj8GRfonsQY5CsZqht1vteW0p7aLw6uB3enq+LPlVEUk5s8MVGUtU1FYqym2XnrN/4nJF78w+eKXNDae6nTmyouZm/9Xa0pFNfqx5cB3m9tdB8TG9zNDLQXG20f6UICKullqhpNVQx9Ul1PynBz1G+UTGWD9qmM4XnrN/5mpIP6qYTjVTONX93eEzr8yFIY54MIQtvo1jFlNgEy6Nv+WbWeBQcZCzsvfpI26tvGpzufI+PwuX7eMx2ltJBN+KpmKFyVKY+V+cby4OFWYShSXFCZTRYVlyUSlX1gWj5VWJryUX1JZmSiKVySKU6XJiuKUXLT9ZDxemCwtr/CLYsVl5V5JMl7mpQoTcSK/yXgimYyXFBeXxePJ4pJUSSkRVqLBJV5RIlHqFcfipTGu+PwuMU3UplDdlQ15Tlc2hT9c3BT+YN4U/mDYFOZZsilUmcSJdV8+SSGLzp+WbgrzmIrOn4BNobrLfMj4/GXppsAVn7/+H11+/Du4/PiP6vKjl16r8to/8j5IunMBL2WyPG0U+hD99BeXD9O+GZpjdzzWLZgc/MZeJ4enWIl5hwXzon3xD5Mv6jL5om4O32VRrrxYaPllUa4cWOTAZVFhN/qyKDDe/qLMZdFoW1e/UT6RgV+9HEYGnMVUEGWl0QxY6FyPoTAsc+SyqByztL9ol2NngVnGxLDq5/BfFkXGp0EOjgEvAjJgrvg0UMSnphthtZdBgfFpyFQ/GwL8UN2VGqQfGjH5oVFO9ZfJbd7IFerC8lgGCY1dBAmNmUFCYwaQsMIQSEjz6VhokWsCnAsJElYwbUJNNgEkpPuULTI+TXNwGzsSJHDFpylgc6ym+d8Dv5PTDFY/S1iuOKwKrrSgr6Yjc7y55VdvRYybM+w3LZj2XjFv+HWb/bM2bqi/Gc6H9vfE1vbr2DIHrCO6yIVJi0pWMVdLhkuXLYE6tgIGhXnx+P/Li6cVevG4UvFbgw1H2y1sbs1gdxumna5Nzvq3NXB8HYjjXg0SOWVbnk8CaWcz5FOOA+soh8HutkzrqK1mHXnpNbaa8qPl93q5cuAnpqtU6GeF2gFZHTDW/k9MVy7aZVgXu47tuYEjgiUJJWt639GrgeHp6tjhf2BhZtgb3yLsgFyErlbLzxwIVG4mUJ7/hQOByssEyvMnOxCo/EygPH+qA4HqmAmU53/tQKAKMoHy/GkOBGqzTKA8f7oDgdo8EyjPn+lAoDplAuX5sxwIVOdMoDx/tgOB6pIJlOfPdSBQW2QC5fnzHQhU10ygPP/k+vbr2C0TKM9f5MCK2jITKM/fxYEVtVUmUJ6/1IEVtXUmUJ6/3IFAbZMJlOevdCBQ22YC5fmrHQjUdplAef4aBwK1fSZQnv+TA4HaIRMoz1/rQKB2zATK8391IFA7ZQLl+b87EKidM4Hy/D8dCJSXCZTn/+1AoPxMoDy/qQPX+mKZQHl+nTb26xjPBMrz6zkQqMJMoDy/gQOBKsoEyvMbORCoYmSgxPfTmmSt/9KnULZLJGh1wQYAX37go78AzhGwXAd0zHNAx3wHdOzogI4FDui4mQM6bu6Ajp0c0LGzAzp2cUDHLRzQsasDOnZzQMctHdBxKwd03NoBHbdxQMdtHdBxOwd03N4BHXdwQMcdHdBxJwd03NkBHT0HdPQd0DHmgI5xB3QsdEDHIgd0LGbQMQuqYzyRpWiYuWM+39zrf8VVxKx10E+Qv0tISkl2IdmVZDeS3Un2INlTxINkL5K9SfYh2ZekB8l+Of/O0TMnmDR8G56YtHPkWIniWKni2C6KY7sqju2mOLa74tgeimM9g2Nyg760zQe+7deHvvF0gwvT6b5MrhfTG0l7KeIDvSHhb6h7un7Yn8kP+yv8UA/pB+xNAH9/oE8PYPLpAQZy6wCgHw5k8sOBBnILePPGPxDo04OYfHoQd26RHxKW+oEtj2g9AW+wbXAjLF3/HcyURwcbqFEHA/3Qm8kPvQ3UKOBNR7830KeHMPn0EAO5dQjQD32Y/NDHQG4Bbxb7fYA+PZTJp4ca2P9KLPUDWx7RegLe0N/gxnu6/juMKY8OM1CjDgP64XAmPxxuoEYBH3LwDwf69Agmnx5hILeOAPrhSCY/HGkgt4APp/hHAn16FJNPjzKw/5Va6ge2PKL1BHyAaIMHfdL139FMeXS0gRp1NNAPxzD54RgDNQr4UJV/DNCnxzL59FgDuXUs0A99mfzQ10BuAR+G8/sCfXock0+PM7D/7WKpH9jyiNYT8IHFDR4sTNd/xzPl0fEGatTxQD+cwOSHEwzUKOBDnP4JQJ+eyOTTEw3k1olAP5zE5IeTDOQW8OFb/ySgT09m8unJBva/XS31A1se0XoCPiC9wYPM6fqvjCmPygzUqDKgH8qZ/FBuoEYBHxr3y4E+rWDyaYWB3KoA+iHJ5IekgdwCPuzvJ4E+rWTyaaWB/W83S/3Alke0noBfyNjgixPp+i/FlEcpAzUqBfTDKUx+OMVAjQJ+ScU/BejTU5l8eqqB3DoV6Id+TH7oZyC3gF8u8vsBfXoak09PM7D/7W6pH9jyiNYT8AtgG3xRK13/nc6UR6cbqFGnA/1wBpMfzjBQo4BfivPPAPr0TCafnmkgt84E+uEsJj+cZSC3gF9m9M8C+vRsJp+ebWD/28NSP8g21wHbvCfA5vLSf+fi1LO7I/7cyxE993ZEz30c0XNfR/Ts4Yie+wH1FN+/bpq14UtJW2dt2ND6Jxj8jNaxxAEdSx3QcRcHdNzVAR13c0DH3R3QcQ+mGo/QMZ4oYZmXS9/MvP+/5sXNHYsxzu2HNUHGKufQuj6XpD/JeSQDSAaSnE9yAckgkgtJLiK5mOQSksEkQ0iG5mRt+KKac3I2fnnNuYpj/RXHzlMcG6A4NlBx7HzFsQsUx4Yojg0NjglA1yJr/QUAuaGL6aAc65PRF/+RfTEs599/h0eDLgaiyBd9ZWoQ4IpCZSolLqT4w4BXZIY7wnxc0fNCR/S8yBE9L3ZEz0sc0XOwI3oi6mV5yTpUvcEV2OjV8XTrJ/CKhn8OU2zQNgOvkPjnOmIz8IqL398Rm4FXcPzzHLEZeEXIH+CIzcArTP5AR2wGXrHyz3fEZuAVMP8CQzZ7tWt+2BkC5EojmO7iy/OC/RA2fygw9iNAXDZVmSoV9od8XH6Lsfz2YvmtxfLbiuW3FMtvJ5bfSiy/jfioNuv7E1vXvi9fhBkq9Y+W5j9G6h8r9ftK/eOk/vFS/wSpf2LQv4z+zuUkI0lGkYwmuYJkDMmVOf9e/GmVtf66hdzQ2Pwy+y/+iFbINrf/7/oNfRu+yfoq8svVJNeQXBu9yCQGG0eOXa04do3i2LXBMbk1wDprg6CmWyivQhWIlOdfDbxwdg1krn/9dS34VrypxXt5ZvEqF+9Y8st1JNeT3BBdvGMVi/I6xbHrFcduMLB4Lwcu3rHAxXsdcPFeD1y8Nzi6eEdmFq9y8Y4jv9xIchPJzdHFO06xKG9UHLtJcexmA4t3JHDxjgMu3huBi/cm4OK92dHFOyqzeJWL9xbyy60kt5HcHl28tygW5a2KY7cpjt1uYPGOAi7eW4CL91bg4r0NuHhvd3Txjs4sXuXivYP8cifJXSR3RxfvHYpFeafi2F2KY3cbWLyjgYv3DuDivRO4eO8CLt67HV28V2QWr3Lx3kN+uZdkPMl90cV7j2JR3qs4Nl5x7D4Di/cK4OK9B7h47wUu3vHAxXufo4t3TGbxKhfv/eSXB0geJHkounjvVyzKBxTHHlQce8jA4h0DXLz3AxfvA8DF+yBw8T7k6OK9MrN4lYv3YfLLIySPkjwWXbwPKxblI4pjjyqOPWZg8V4JXLwPAxfvI8DF+yhw8T4GXARhMnWWkuqHJuvzYLXUXyX1V0r9FVJ/udRfJvWXSv0lUn+x1F8k9RdK/QVSf77Unyf150r9OVJ/ttT/XurPkvrfSf2ZUn+G1J8u9b+V+tOk/jdS/2up/5XUnyr1p0j9yVL/bmkdylRWproyFb5P6svoWUbXMvp+SOrLG7a8ocsb/mNSX64Rcg2Ra8y1Ul++/SzfnpZvX98g9eU7XvIdMfmO2c1SX77ILl+Ely/S3y715et68nW/8LpguCs8Tv//BMmTJE+RTCB5muQZkmdJniN5nuQFkhdJXiJ5meQVkldJXiN5neQNkjdJ3iJ5m+Qdkokk75K8R/I+yQckH5J8RDKJ5GOST0g+JfmM5HOSL0i+JJlMMoVkKslXJF+TfEMyjeRbkukkM3L+3RiEPeFzP6rWPfjXL4nHYom4qDUlSc8vTFbESmKxZHmhV+GVVcQqSwv90lRhrDBekawop7pU5qe8VFlFaerfLxmyPrfduxW+1ok2M2e9rhspne4m1BOntC9vxqHS9YP/lw1yIQByMn6X8++/s4RNHAGQI4xyxkww/OSyuy6j3enq+D2zD730mi8S8/scfGxmg1FbWBTEvMOCedG+mMXkizlMvpij8UW6OnPlRfNO/9WaUlGNfmw50KKT3XVAbHzfM9RSYLx9pA8FqKibtWmIsbq5qsspeU6O+o3yiQyw5uoQo5de879nKoiy0jXU2a/u7wid5zIUhjbgwhC2+jWMWU2ATLo2z8uxs8AgYyHn5Txpo65tfKrzOTI+86W5/Hic1kYy4aeSqXhRojRW7hfHi4tThalEcUlhMlVUWJZMVPqFZfFYaWXCS/kllZWJonhFojhVmqwoTslF20/G44XJ0vIKvyhWXFbulSTjZV6qMBGPeWXJeCKZjJcUF5fF48niklRJKbHyslS8xCtKJEq94li8NMYVn/mK+NR0I6zusgEyPguY6ucCgB+qu7yC9MNCJj8sDPygAwk2b+QKdWF5LIOERS6ChEXMIGERA0jIMQQSqmNPJovcYuBcSJCQw7QJLd4EkFCdHyhB/QrfS3mltKN6iYriRHlpMlZeQvtoqiiejCPjsyQHt7EjQQJXfJakceWpunUTXsmsh12PvnxpPt25kFdFl+ZgN6QwRkvTiFF1wKWWMap2TdYgRtXOhYzRshyc7+QYLZPAleu3dZYHt3VWqG7reOk1v6rbG8j7denOBbxF5HMEvraL9r/lw3TnWml5PMSCWckAkFcxkYVVjLebVjD5YjWTL1Yz3m7iyov2lt9u4sqBDg7cblrJcLsJGG+/Q+Z2U7Stq98on8jA7wfOK0krmQriD4xXkoTOPzAUho6O3G5aCQRFa3LsLDAdma5UrDFwuwkZnx+Bt5s6AK8kccXnx024vZBVw3j9N59a5doUfnJxU/iJeVP4iWFT2MySTaHKJE6s+45KCll0frZ0U9iMqej8DNgUqrvMh4zPWks3Ba74rGVk1z2Z2BYy3r9Y/qB0inz4C8OVxFQrHh+mO9evzFcSEX5TxcNLr/kp4LdZkPH4Dbw+0LVAXNEB6uj3o/l+ZcA6v4Nxn/jamfwjoEL+Dv4Vf+tvrJ/X/c260t9r1Xz932sd9P+gv/snyV85Zn/X6i9LnmGqpsVkX/wd3ML7JydwSLghi4G/Igqgi81fgALx7/e3U6m/gcXmH6ZAoosO0uasthJITO87or5YdC2zzNzblvX20myyvnXaMiosJkfPW7ctMBmY7K7bdr2DQfOyfLVSFIC6bfHz1gMna1isxbzRHQ4dP2RRNPkWmT+c2JVjfHNH3iLTOejXp5xpQNKQpBFJY5ImJE1JmpE0J2lB0pKkFUlrkjYk2SQ5JG1J2pG0J+lAkkuSR5JP0pGkgGQzks1JOpF0JulCsgVJ17ZZG6INoUz0bTQNFMcaKo41UhxrrDjWRHGsqeJYM8Wx5opjLRTHWiqOtVIca6041kZxLFtxLEdxrK3iWDvFsfaKYx0Ux3IVx/IUx/IVxzoqjhUojm2mOLa54lgnxbHOimNdFMe2UBzr2nbjtxx1Cf7tHvzrpdc2KDrpbhr126JQsuc3AM0lbGwImetffzVKf65Y+ABA43TnKlz/MEGT9Oby5AcTmqYzV2zDhxya1X4uL/rARPNazkVXlzd6+KJF7eYqUT3I0bI2c5WoHwppVfO5ElU9YNK6pnMlqn5YpU3N5orpHnzJrslcCf1DNDmbPle1D3m13dS5EtXWQr/dps3lbUJd9dtvylzeJtVov0P1cxVtYr33c6ubq3CT9w4/TztXYaoG+5Cfr5srUaM9ze9Y9VwlNdwf/YIq5ipN1Xiv9TdTz+XVYt/2N1fN5dUKA/idNp7LryWe8DtH50rWGpv4XTacK54GzvG3kOaKpdLCTH5XINEWuPHorPXEqWtAYroEpKZTQHI2C0hPx4AE5QWkqENAktoFpCknIFFtAlLVKiBZLQLS1SwgYev4SkDOGgZkTWDBaIteVUwXb3Zti5urGywOcc/kVUWc3hteVdyyLaPCYnL0vFsBk4HL7q2kRQGa1zN53whXrJKsV5FkX2wd+Hyb6JWcrduuvxEYHttGwbjR95IQVStkyVsDk34bcHA5FvjWbfGXurcGVlA5b9C73RbAWG8Ls7m40ORuty3TbrddW0aFt2PY7ba3fLcTdm/v+G63BSzZSisU6rLsdjsEPt8xutvtoNjtdjSw220B3O12ACb9jkzBRVd9pM074aony6OCWwVFA/30CZIa7AxGC+iiJWK8MwNKst3urQK70esPmTse8/rz0mu+8J/HkDs+GLWF+5ffdmPUiY5/F2D8YzA/FFaaRN0xcPzCFm/LqHCcAXUXWo66hd2FjqPuLrBkK48p1GVB3UWBz4ujqLtIgbqLDaBuRNUKUXcRMOmLmYKLrvpImxOW7/peUDTQX5jygD5EFt4Sy+Mh8qWEAYUB7WZ5lNkL7EbXQiTqLgHmYanljErYWsqQh7swsYFdDLCBzsD47wrzQyJmkg3sCo5f2HZry6jwbgxsYHfL2YCwe3fH2UBnWLKVVCrUZWEDewQ+3zPKBvZQsIE9DbABRNUK2cAewKTfkym46KqPtLm75eizNCgaaDZQCvQhsvDuZXk8RL7sxYDC9mJGn4h82YuBDQBRt78XMA/3tpwNCFv3ZsjDfZjYwD4G2EAnYPz3hfmh0ui32vcFxy9sPdoyKtyDgQ3sZzkbEHbv5zgb6ARLNj+lUJeFDfQMfN4rygZ6KthALwNsAFG1QjbQE5j0vZiCi676SJv3txx97h0UDTQb2BvoQ2ThPcDyeIh8OYABhR3AjD4R+XIAAxsAom7/AGAeHmg5GxC2HsiQhwcxsYGDDLCBzYHxPxjmh7hRNnAwOH5h692WUeHeDGzgEMvZgLD7EMfZwOawZKswxgb6BD4/NMoG+ijYwKEG2ACiaoVsoA8w6Q9lCi666iNtPsxy9HlgUDTQbOBAoA+Rhfdwy+Mh8uVwBhR2ODP6ROTL4QxsAIi6/cOBeXiE5WxA2HoEQx4eycQGjjTABjYDxv8omB/KjL6b4ihw/MJ2dFtGhY9mYAPHWM4GhN3HOM4GNoMlW7Gxd1McG/i8b5QNHKtgA30NsAFE1QrZwLHApO/LFFx01UfafJzl6POIoGig2cARQB8iC+/xlsdD5MvxDCgMaDcLGzgisBtdC4Go2z8emIcnWM4GhK0nMOThiUxs4EQDbKAAGP+TYH6IlZpkAyeB4xe2k9syKnwyAxsos5wNCLvLHGcDBbBkSyYU6rKwgfLA5xVRNlCuYAMVBtgAomqFbKAcmPQVTMFFV32kzUnL0ecJQdFAs4ETgD5EFt5Ky+Mh8qWSAYVVMqNPRL5UMrABIOr2K4F5mLKcDQhbUwx5eAoTGzjFABvoCIz/qTA/lJeYZAOnguMXtn5tGRXux8AGTrOcDQi7T3OcDXSEJVthiUJdFjZweuDzM6Js4HQFGzjDABtAVK2QDZwOTPozmIKLrvpIm8+0HH2mgqIB/xF2oA+Rhfcsy+Mh8uUsBhR2FjP6ROTLWQxsAIi6/bOAeXi25WxA2Ho2Qx6ew8QGzjHABvKB8T8X5ocio08KnQuOX9j6t2VUuD8DGzjPcjYg7D7PcTaQj6PMxp4UGhD4fGCUDQxQsIGBBtgAomqFbGAAMOkHMgUXXfWRNp9vOfo8OygaaDZwNtCHyMJ7geXxEPlyAQMKA9rNwgbODuxG10Ig6vYvAObhIMvZgLB1EEMeXsjEBi40wAbygPG/CHdlrMgkG7gIHL+wXdyWUeGLGdjAJZazAWH3JY6zgTwcYCxXqMvCBgYHPh8SZQODFWxgiAE2gKhaIRsYDEz6IUzBRVd9pM1DLUefg4KigWYDg4A+RBbeYZbHQ+TLMAYUNowZfSLyZRgDGwCibn8YMA+HW84GhK3DGfJwBBMbGGGADeQC438pbi8sNskGLgXHL2yXtWVU+DIGNnC55WxA2H2542wgF0eZyxTqsrCBkYHPR0XZwEgFGxhlgA0gqlbIBkYCk34UU3DRVR9p82jL0efwoGig2cBwoA+RhfcKy+Mh8uUKBhR2BTP6ROTLFQxsAIi6/SuAeTjGcjYgbB3DkIdXMrGBKw2wgQ7A+F8F80OJ0TeMXgWOX9iubsuo8NUMbOAay9mAsPsax9lAB1iyJYy9YfTawOdjo2zgWgUbGGuADSCqVsgGrgUm/Vim4KKrPtLm6yxHn2OCooFmA2OAPkQW3ustj4fIl+sZUNj1zOgTkS/XM7ABIOr2rwfm4Q2WswFh6w0MeTiOiQ2MM8AG2gPjf6OjbOBGcPzCdlNbRoVvYmADN1vOBoTdNzvOBto7yAZuCXx+a5QN3KJgA7caYAOIqhWygVuASX+rI2wAafNtlqPPG4KigWYDNwB9iCy8t1seD5EvtzOgsNuZ0SciX25nYANA1O3fDszDOyxnA8LWOxjy8E4mNnCnATbQDhj/u2B+KDL6TqG7wPEL291tGRW+m4EN3GM5GxB23+M4G2gHS7YyY+8Uujfw+fgoG7hXwQbGG2ADiKoVsoF7gUk/nim46KqPtPk+y9HnHUHRQLOBO4A+RBbe+y2Ph8iX+xlQ2P3M6BORL/czsAEg6vbvB+bhA5azAWHrAwx5+CATG3jQABtoC4z/Qzg2kDTJBh4Cxy9sD7dlVPhhBjbwiOVsQNj9iONsoC0OMMYV6rKwgUcDnz8WZQOPKtjAYwbYAKJqhWzgUWDSP8YUXHTVR9r8uOXo84GgaKDZwANAHyIL7xOWx0PkyxMMKOwJZvSJyJcnGNgAEHX7TwDz8EnL2YCw9UmGPHyKiQ08ZYAN5ADjPwHmh5jRewMTwPEL29NtGRV+moENPGM5GxB2P+M4G8iBJVvS2L2BZwOfPxdlA88q2MBzBtgAomqFbOBZYNI/xxRcdNVH2vy85ejzyaBooNnAk0AfIgvvC5bHQ+TLCwwo7AVm9InIlxcY2AAQdfsvAPPwRcvZgLD1RYY8fImJDbxkgA1kA+P/MswP8bhJNvAyOH5he6Uto8KvMLCBVy1nA8LuVx1nA9mwZKtIKtRlYQOvBT5/PcoGXlOwgdcNsAFE1QrZwGvApH+dKbjoqo+0+Q3L0eeLQdFAs4EXgT5EFt43LY+HyJc3GVDYm8zoE5EvbzKwASDq9t8E5uFblrMBYetbDHn4NhMbeNsAG2gDjP87MD9UGr038A44fmGb2JZR4YkMbOBdy9mAsPtdx9lAG1iy+cbuDbwX+Pz9KBt4T8EG3jfABhBVK2QD7wGT/n2m4KKrPtLmDyxHn28FRQPNBt4C+hBZeD+0PB4iXz5kQGEfMqNPRL58yMAGgKjb/xCYhx9ZzgaErR8x5OEkJjYwyQAbaA2M/8cwPxQaZQMfg+MXtk/aMir8CQMb+NRyNiDs/tRxNtAalmzlxtjAZ4HPP4+ygc8UbOBzA2wAUbVCNvAZMOk/Zwouuuojbf7CcvT5UVA00GzgI6APkYX3S8vjIfLlSwYU9iUz+kTky5cMbACIuv0vgXk42XI2IGydzJCHU5jYwBQDbKAVMP5TYX5IlJpkA1PB8QvbV20ZFf6KgQ18bTkbEHZ/7TgbaAVLtpKEQl0WNvBN4PNpUTbwjYINTDPABhBVK2QD3wCTfhpTcNFVH2nzt5ajz8lB0UCzgclAHyIL73TL4yHyZToDCpvOjD4R+TKdgQ0AUbc/HZiHMyxnA8LWGQx5OJOJDcw0wAZaAuP/He7KmFE28B04fmGb1ZZR4VkMbOB7y9mAsPt7x9lAS9wNNGNsYHbg8zlRNjBbwQbmGGADiKoVsoHZwKSfwxRcdNVH2jzXcvQ5IygaaDYwA+hDZOGdZ3k8RL7MY0Bh85jRJyJf5jGwASDq9ucB83C+5WxA2DqfIQ8XMLGBBQbYQAtg/Bfi7g14JtnAQnD8wraoLaPCixjYwGLL2YCwe7HjbKAFLNlKPYW6LGxgSeDzpVE2sETBBpYaYAOIqhWygSXApF/KFFx01UfavMxy9Dk/KBpoNjAf6ENk4V1ueTxEvixnQGFAu1nYwPzAbnQtBKJufzkwD1dYzgaErSsY8nAlExtYaYANNAfGfxVuLzT6W8SrwPEL2+q2jAqvZmADP1jOBoTdPzjOBprDkq3Y2G8Rrwl8/mOUDaxRsIEfDbABRNUK2cAaYNL/yBRcdNVH2vyT5ehzRVA00GxgBdCHyML7s+XxEPnyMwMK+5kZfSLy5WcGNgBE3f7PwDxcazkbELauZcjDX5jYwC8G2EAzYPx/xd0nN/qG0V/B8Qvbb20ZFf6NgQ38bjkbEHb/7jgbaIZ7nM7YG0b/CHz+Z5QN/KFgA38aYAOIqhWygT+ASf8nU3DRVR9p81+Wo8+1QdFAs4G1QB8iC+/flsdD5MvfDCjsb2b0iciXvxnYABB1+38D8/Afy9mAsPUfhjzMasfDBsS83GygKTD+dWB+qDR6b6AOOH7/iVU7RoXrtsPPW6+d3WxA2F2v3XoHg+Y1ygaawoqkb+zeQP3A5w3aZW2I/Ou325gNiJO42UBTIBuoD0z6Bu14gouu+kibG+KqJwv6FDu+KBpoNvAPcOdEFt5GlsdD5EujdngUBrSbhQ2IfGnUDl8LgajbbwTMw8bM8fDSa+tsbcyQh02Y2EATA2ygCbCmNYX5IVVkkg00ZWIDzdoxKtyMgQ00t5wNCLubO84GmuCKd7lCXRY20CLwecsoG2ihYAMtDbCBJkA20AKY9C3b8QQXXfWRNreyHH02DooGmg00BvoQWXhbWx4PkS+tGVBYa8vZQOPAbnQtBKJuvzUwD9tYzgaErW0Y8jCbiQ1kG2ADjYFsIAfmh1KjTwrlgOMXtrbtGBVuy8AG2lnOBoTd7RxnA41xj5Ybe1KofeDzDlE20F7BBjoYYAONgWygPTDpO7TjCS666iNtzrUcfbYJigaaDbQB+hBZePMsj4fIlzwGFJbHjD4R+ZLHwAaAqNvPA+ZhvuVsQNiaz5CHHZnYQEcDbKARkA0U4O4NGH2nUAE4fmHbrB2jwpsxsIHNLWcDwu7NHWcDjXBPChl7p1CnwOedo2ygk4INdDbABhoB2UAnYNJ3bscTXHTVR9rcxXL0mR8UDTQbyAf6EFl4t7A8HiJftmBAYVswo09EvmzBwAaAqNvfApiHXS1nA8LWrgx52I2JDXQLdDWJjBsyfaN2y3aMCm/JgIy3shwZC7u3YkDGKl0RhUHoWhfsA2DBgcbb5IJtwLRgt27HqPDWDAt2G8sXrLB7G4cW7DaWL1h0vMOGZl71gdfbtgX6z2SR2rYdT5Harh2jwtsxFKntLS9Swu7tDRUpL722rphsz0DzuwJjhIz3DpbTfFHodmCgVztaTiuFzTsy2L0TE63cSXG5Fu0T7pgh1vgODJdmkABnB2Dt2NmBNbQzwxrymNaQp7hRi/bJzo4A3D9zcHP5ks1+STwWS8TFeSVJzy9MVsRKYrFkeaFX4ZVVxCpLC/3SVGGsMF6RrCinOcv8lJcqqyhNlfw7l0mA6zMB3Fg7RoVjDAA3bjnAFXbHmW4oi021bhZ/sskLzkuzKdSFLUA5kQvlgomu8nHgritXeVnpGupcUY1z1i2UwlpcYqnO6YXABVjEtHuKeYfVMhd88l2F76W80phX5iUqihPlpclYeUlZKp4qiifjtfVrdcmO9Gsxk1+LA7/Wz1r/kEa02VyM5OKZCIp0iViDHAWjkGH3K7Sc9tR2cXg1sDtdHUstpyoiMUsZqMouTEVhF02x9dJrfgmTL3Zl8sWuaWw81enMlRd7d/qv1pSKavRjy4F9OtldB8TGV8pQS4Hx9pE+FKCibpaa4WTV0AfV5ZQ8J0f9RvlEBli76RiOl17zS5kK4m4ahlPNNH51f0fovBtDYegJLgxhq1/DmNUEyKRr8+7t7CwwyFjIebm7tFHXNj7V+RwZnz3k65bxOK2NZMJPJVPxokRprNwvjhcXpwpTieKSwmSqqLAsmaj0C8visdLKhJfySyorE0XxikRxqjRZUZySi7ZPhLYwWVpe4RfFisvKvZJkvMxLFSbiRH6T8UQyGS8pLi6Lx5PFJamSUiKsRINLvKJEotQrjsVLY1zx2UNimqhNoborG/KcrmwKe7q4KezJvCnsybAp7G/JplBlEifWffkkhSw63S3dFPZnKjrdAZtCtde0gfHZy9JNgSs+e/0/uvy4d3D5cR/V5UcvvVbltX/kfZB05wJeymR52ij0IfrpLy4fpjvXvpbHQyyYfRk29h5MIKcH42XRfZh8sR+TL/ZjvCzKlRcHWX5ZlCsHDnbgsui+DJdFgfH2D85cFo22dfUb5RMZ+PXkZMD7MhXEnowMWOjck6EwHOrIZdF9gaCoVzs7C8yhTAyrl4HLosj47A9kwAcDGTBXfPZXxKemG2F1l0GR8TmAqX4eAPBDdVdqkH44kMkPB27CZXKbN3KFurA8lkHCQS6ChIOYQcJBDCDhcEMgIc2nY6FF7mDgXEiQcDjTJnTwJoCEdJ+yRcandzvcxo4ECVzx6Q3YHKtpflfgl84PgdXPEpYrDvF26isOyCuu6c7Vx/KrtyLGfThIKdPeK+YNv25zdNbGDfU3w/nQ/p7Y2n4dD0MDSXSRC5MWlaxirsMYLl0eBtTxcGBQmBeP/7+8eA5HLx5XKv4Rln99Q9h8BIPdRzLtdEe2W/+2Bo6vA3Hcq0Eip6MszyeBtI9iyKejHVhHRzPYfQzTOjpGs4689BpbTTnW8nu9XDnQl+kqFfpZoWOBrA4Ya78v05WLYzOsi13HvtzAEcGShJI1ve/o1cDwdHU87n9gYWbYG98iPA65CF2tlp85EKjjM4Hy/C8cCNQJmUB5/mQHAnViJlCeP9WBQJ2UCZTnf+1AoE7OBMrzpzkQqLJMoDx/ugOBKs8EyvNnOhCoikygPH+WA4FKZgLl+bMdCFRlJlCeP9eBQKUygfL8+Q4E6pRMoIij1Ldfx1MzgfL8RQ6sqH6ZQHn+Lg6sqNMygfL8pQ6sqNMzgfL85Q4E6oxMoDx/pQOBOjMTKM9f7UCgzsoEyvPXOBCoszOB8vyfHAjUOZlAef5aBwJ1biZQnv+rA4HqnwmU5//uQKDOywTK8/90IFADMoHy/L8dCNTATKA8v6kD1/rOzwTK8+u0sV/HCzKB8vx6DgRqUCZQnt/AgUBdmAmU5zdyIFAXIQMlvp/WJGv9lz6Fsl0iQasLNgD48gMf/QVwjoAd74COJzig44kO6HiSAzqe7ICOZQ7oWO6AjhUO6Jh0QMdKB3RMOaDjKQ7oeKoDOvZzQMfTHNDxdAd0PMMBHc90QMezHNDxbAd0PMcBHc91QMf+Duh4ngM6DnBAx4EO6Hi+Azpe4ICOgxzQ8UIHdLyIQccsqI7xRJaiYeaO+Xxzr/8VVxGz1kH/YvL3JSSDSYaQDBWv4CcZTjKC5FKSy0guJxlJMopkNMkVJGPa/TvHle2CScO34YlJO0eOXaI4NlhxbIji2FDFsWGKY8MVx0Yojl0ZHJMb9KVtPvBtvz70jacbXJhO92VyVzG9kfQqRXygNyT8DXVP1w9XM/nhaoUf6iH9gL0J4F8N9Ok1TD69xkBuXQP0w7VMfrjWQG4Bb9741wJ9OpbJp2O5c4v8cLGlfmDLI1pPwBtsG9wIS9d/1zHl0XUGatR1QD9cz+SH6w3UKOBNR/96oE9vYPLpDQZy6wagH8Yx+WGcgdwC3iz2xwF9eiOTT280sP9dYqkf2PKI1hPwhv4GN97T9d9NTHl0k4EadRPQDzcz+eFmAzUK+JCDfzPQp7cw+fQWA7l1C9APtzL54VYDuQV8OMW/FejT25h8epuB/W+wpX5gyyNaT8AHiDZ40Cdd/93OlEe3G6hRtwP9cAeTH+4wUKOAD1X5dwB9eieTT+80kFt3Av1wF5Mf7jKQW8CH4fy7gD69m8mndxvY/4ZY6ge2PKL1BHxgcYMHC9P13z1MeXSPgRp1D9AP9zL54V4DNQr4EKd/L9Cn45l8Ot5Abo0H+uE+Jj/cZyC3gA/f+vcBfXo/k0/vN7D/DbXUD2x5ROsJ+ID0Bg8yp+u/B5jy6AEDNeoBoB8eZPLDgwZqFPChcf9BoE8fYvLpQwZy6yGgHx5m8sPDBnIL+LC//zDQp48w+fQRA/vfMEv9wJZHtJ6AX8jY4IsT6frvUaY8etRAjXoU6IfHmPzwmIEaBfySiv8Y0KePM/n0cQO59TjQD08w+eEJA7kF/HKR/wTQp08y+fRJA/vfcEv9wJZHtJ6AXwDb4Ita6frvKaY8espAjXoK6IcJTH6YYKBGAb8U508A+vRpJp8+bSC3ngb64RkmPzxjILeAX2b0nwH69Fkmnz5rYP8bYakfZJvrgG2+FGBzeem/c3HqeZkj/rzcET1HOqLnKEf0HO2Inlc4oucYoJ7i+9dNszZ8KWnrrA0bWv+LGfyM1vESB3Qc7ICOQxzQcagDOg5zQMfhDug4gqnGI3SMJ0pY5uXSNzPv/695cXPHYoxz+2FNkLHKc7Sunyd5geRFkpdIXiZ5heRVktdIXid5g+RNkrdI3iZ5h2Riu6wNX1TzXLuNX17zvOLYC4pjLyqOvaQ49rLi2CuKY68qjr2jODYxOCYAXYus9RcA5IYupq+1sz4ZffEf2Rfvtvv33/eiQRcDUeSLvjL1GuCKQmUqJS6k+O8Cr8i85wjzcUXP1x3R8w1H9HzTET3fckTPtx3RE1Evy0vWoeoNrsBGr46nWz+BVzT855hig7YZeIXEf94Rm4FXXPwXHLEZeAXHf9ERm4FXhPyXHLEZeIXJf9kRm4FXrPxXHLEZeAXMf9WQzV7tmh923gFypfeZ7uLL84L9EDZ/IjD274O4bKoyVSrsz8na+C3G8tuL5bcWy28rlt9SLL+dWH4rsfw24qParO9PbF37vnwRZqLUP1qa/xipf6zU7yv1j5P6x0v9E6T+iUH/Q/o7H5FMIvmY5BOST0k+I/m83b8Xf1plrb9uITc0Nv/Q/os/ohWyze3/u35D34Zvsv6C/PIlyWSSKdGLTGKwceTYl4pjkxXHpgTH5NYA66wNgppuofwCVSBSnv8l8MLZZMhc//prCvhWvKnF+1Fm8SoX71Tyy1ckX5N8E128UxWL8ivFsa8Vx74xsHg/Ai7eqcDF+xVw8X4NXLzfOLp4J2UWr3LxTiO/fEsynWRGdPFOUyzKbxXHpiuOzTCweCcBF+804OL9Frh4pwMX7wxHF+/HmcWrXLwzyS/fkcwi+T66eGcqFuV3imOzFMe+N7B4PwYu3pnAxfsdcPHOAi7e7x1dvJ9kFq9y8c4mv8whmUsyL7p4ZysW5RzFsbmKY/MMLN5PgIt3NnDxzgEu3rnAxTvP0cX7aWbxKhfvfPLLApKFJIuii3e+YlEuUBxbqDi2yMDi/RS4eOcDF+8C4OJdCFy8ixxdvJ9lFq9y8S4mvywhWUqyLLp4FysW5RLFsaWKY8sMLN7PgIt3MXDxLgEu3qXAxbvM0cX7eWbxKhfvcvLLCpKVJKuii3e5YlGuUBxbqTi2ysDi/Ry4eJcDF+8K4OJdCVy8q4CLIEymVnXAiUqtMXS+SvB8Xma+zHyZ+TLzZebLzJeZLzNfZj675/Mz/svMl5kvM19mvsx8mfky8/2Pz1eIna8CjK8KwfOVeeG16d0brL9OvZvU31Xq7yL1S6V+idRPSP1iqV8k9Qulflzqx6S+L/U9qb+z1N9J6u8o9XeQ+ttL/e2k/rZSfxupv7XU30rqbyn1u0n9rlJ/C6nfRep3lvqdpP7mUv+0huv7/aT+qVL/FKmfkvqVUj8p9SukfrnUL5P6J0v9k6T+iVL/BKl/vNQ/Tur3lfrHSv1jpP7RUv8oqX+k1D9C6h8u9Q+T+odK/T5S/xCp31vqHyz1D5L6B0r9mxut798k9W+U+uOk/g1S/3qpf53UHyv1r5X610j9q6X+VVL/Sqk/RupfIfVHS/1RUn+k1L9c6l8m9S+V+iOk/nCpP0zqD5X6Q6T+YKl/idS/WOpfJPUvlPqDpP67jdf3J0r9d6T+21L/Lan/ptR/Q+q/LvVfk/qvSv1XpP7LUv8lqf+i1H9B6j8v9Z+T+s9K/Wek/tNSf4LUf0rqPyn1n5D6j0v9x6T+o1L/Ean/sNR/SOo/KPUfkPo/NFnfXy31V0n9lVJ/hdRfLvWXSf2lUn+J1F8s9RdJ/YVSf4HUny/150n9uVJ/jtSfLfW/l/qzpP53Un+m1J8h9adL/W+l/jSp/43U/1rqfyX1p0r9KVJ/sqx/M8kuqT9P6s+X+guk/kKpv0jqL5b6S6T+Uqm/TOovl/orpP5Kqb9K6q+W+j9I/TVS/0ep/5PU/1nqr5X6v0j9X6X+b1L/d6n/h9T/U+r/JfX/lvr/SP2s5uv7daR+XalfT+rXl/oNpH5Dqd9I6jeW+k2kflOp30zqN5f6LaT+POkZAvkxXPkxXfkx3kVSX37yT34yUH5ycJnUlx82kh9Gkh9WWiX15ecb5Ocf5Ocjpkh9+auz8ldr5a/efiP15W/ryd/mk7/tN0Pqy18Qkr9AJH/B6HupL38nQf7OQvidhtbrEoVynf7/B5I1JD+S/ETyM8lakl9IfiX5jeR3kj9I/iT5i+Rvkn/EwyPtaV6SuiT1SOqTNCBpSNKIpDFJE5KmJM1ImpO0IGlJ0oqkNUkbkmySHJK2JO1I2pN0IMklySPJJ+lIUkCyGcnmJJ1IOpN0IdmCpCtJN5ItSbYi2ZpkG5JtSbYj2Z5kB5IdSXYi2ZnEI/FJYiRxkkKSIpJikgRJCUkpyS4ku5LsRrI7yR4ke5J0J9mLZG+SfUj2JelBsh9JT5JeJPuTHEByIMlBJAeT9CY5hKQPyaEkh5EcTnIEyZEkR5EcTXIMybEkfUmOIzme5ASSE0lOIjmZpIyknKSCJElSSZIiOYXkVJJ+JKeRnE5yBsmZJGeRnE1yDsm5JP1JziMZQDKQ5HySC0gGkVxIchHJxSSXkAwmGUIylGQYyXCSESSXklxGcjnJSJJRJKNJriAZQ3IlyVUkV5NcQ3ItyViS60iuJ7mBZBzJjSQ3kdxMcgvJrSS3kdxOcgfJnSR3kdxNcg/JvSTjSe4juZ/kAZIHSR4ieZjkEZJHSR4jeZzkCZInSZ4imUDyNMkzJM+SPEfyPMkLJC+SvETyMskrJK+SvEbyOskbJG+SvEXyNsk7JBNJ3iV5j+R9kg9IPiT5iGQSycckn5B8SvIZyeckX5B8STKZZArJVJKvSL4m+YZkGsm3JNNJZpDMJPmOZBbJ9ySzSeaQzCWZRzKfZAHJQpJFJItJlpAsJVlGspxkBclKklUkq0l+IFlD8iPJTyQ/k6wl+YXkV5LfSH4n+YPkT5K/SP4m+af9vw+V1Qn3naCF/e7Bv156zf+W/siU+uvnB827wQs6szoEuncIDAgfahMDwyLH6gTHOIwVhgqD60bmTfdhN2HHJs5VUc1cfp0O2CdC62ap3xxb04BXp7c8JzpuWUCfyIupbjQhxYE6EQfVY0yWanT1qzOmbgecXvU6wJJhg7cg1ZMWNJdP6wD9gPRp/Rr4tLq/Jfu0fuBTk498t27uwiPfMb65I498dw76DSgWDUkakTQmaULSlKQZSXOSFiQtSVqRtCZpQ5JNkkPSlqQdSXuSDiS5JHkk+SQdSQpINiPZnKQTSWeSLiRbkHQl6RYtYEKZxpFjDRXHGimONVYca6I41lRxrJniWHPFsRaKYy0Vx1opjrVWHGujOJatOJajONZWcayd4lh7xbEOimO5imN5imP5imMdFccKFMc2UxzbXHGsk+JYZ8WxLopjWyiOdVUc6xYck1uX4N/uwb9eem2DopNuMW4AKOzhVxIaguYSNjaCzPWvvxqnP1csRHRN0p2rcD06bJreXJ6MNJulM1dsQ9TavPZzeVEE3KKWcxWnNkbTLWs3V4kKmbeqzVwlapTfuuZzJapiDG1qOleiavaRXbO5Yjomk1OTuRJ6VtQWyAzbbepciWprod9+0+byNqGu+h02ZS5vk2q0n1v9XEWbWO/9vOrmKtzkvcPP185VmKrBPuR31M2VqNGe5hdUPVdJDfdHf7Mq5ipN1Xiv9TdXz+XVYt/2O6nm8mqFAfzOG8/l1xJP+F2icyVrjU38LTacK54GzvG7SnPFUmlhJr8b8MpLltTQV+C6dcDNtSXM5vi6K3Atsza+qJSVhSfoWwJjJeu7VQdGhbfqgJ93a2AycNm9dYf1DgbN65n8oTBcYUiyXrGRfbFN4PNto1dNtumw/kZLeGxbBbtF/3gYomqFjHQbYNJvCw4uxwLfRlE40rV7G0d2u67AWG8Hs7m40ORutx3Tbrd9B0aFt2fY7XawfLcTdu/g+G7XFZZspRUKdVl2ux0Dn+8U3e12VOx2OxnY7boCd7sdgUm/E1Nw0VUfafPOuOq57s4/eifeOigadcE5iKQGHhgtoIuWiLHHgJJst3vrwG70+kPmjs+8/rz0mi/85zPkTgyM2sL9K9ZhY9SJjv8WwPjHYX4orDSJuuPg+IWtsAOjwoUMqLvIctQt7C5yHHVvAUu28phCXRbUXRz4PBFF3cUK1J0wgLoRVStE3cXApE8wBRdd9ZE2l1i+6/tB0UA/nukDfYgsvKWWx0PkSykDCgPardy8EPlS2gFfC5GouxSYh7tYzqiErbsw5OGuTGxgVwNsoAsw/rvB/JCImWQDu4HjF7bdOzAqvDsDG9jDcjYg7N7DcTbQBZZsJZUKdVnYwJ6Bz7tH2cCeCjbQ3QAbQFStkA3sCUz67kzBRVd9pM17WY4+dwmKBpoN7AL0IbLw7m15PES+7M2AwvZmRp+IfNmbgQ0AUbe/NzAP97GcDQhb92HIw32Z2MC+BthAZ2D8e8D8UOmbZAM9wPEL234dGBXej4EN9LScDQi7ezrOBjrDks1PKdRlYQO9Ap/vH2UDvRRsYH8DbABRtUI20AuY9PszBRdd9ZE2H2A5+twnKBpoNrAP0IfIwnug5fEQ+XIgAwo7kBl9IvLlQAY2AETd/oHAPDzIcjYgbD2IIQ8PZmIDBxtgA52A8e8N80PcKBvoDY5f2A7pwKjwIQxsoI/lbEDY3cdxNtAJlmwVxtjAoYHPD4uygUMVbOAwA2wAUbVCNnAoMOkPYwouuuojbT7ccvR5UFA00GzgIKAPkYX3CMvjIfLlCAYUdgQz+kTkyxEMbACIuv0jgHl4pOVsQNh6JEMeHsXEBo4ywAY2B8b/aJgfyoy+m+JocPzCdkwHRoWPYWADx1rOBoTdxzrOBjaHJVuxsXdT9A18flyUDfRVsIHjDLABRNUK2UBfYNIfxxRcdNVH2ny85ejzyKBooNnAkUAfIgvvCZbHQ+TLCQwoDGg3Cxs4MrAbXQuBqNs/AZiHJ1rOBoStJzLk4UlMbOAkA2xgM2D8T4b5IVZqkg2cDI5f2Mo6MCpcxsAGyi1nA8LucsfZwGawZEsmFOqysIGKwOfJKBuoULCBpAE2gKhaIRuoACZ9kim46KqPtLnScvR5YlA00GzgRKAPkYU3ZXk8RL6kGFAY0G4WNnBiYDe6FgJRt58C5uEplrMBYespDHl4KhMbONUAGygAxr8fzA/lJSbZQD9w/MJ2WgdGhU9jYAOnW84GhN2nO84GCmDJVliiUJeFDZwR+PzMKBs4Q8EGzjTABhBVK2QDZwCT/kym4KKrPtLmsyxHn6cERQPNBk4B+hBZeM+2PB4iX85mQGFnM6NPRL6czcAGgKjbPxuYh+dYzgaErecw5OG5TGzgXANsoCMw/v1hfigy+qRQf3D8wnZeB0aFz2NgAwMsZwPC7gGOs4GOOMps7EmhgYHPz4+ygYEKNnC+ATaAqFohGxgITPrzmYKLrvpImy+wHH2eExQNNBs4B+hDZOEdZHk8RL4MYkBhQLtZ2MA5gd3oWghE3f4gYB5eaDkbELZeyJCHFzGxgYsMsIF8YPwvxl0ZKzLJBi4Gxy9sl3RgVPgSBjYw2HI2IOwe7DgbyMcBxnKFuixsYEjg86FRNjBEwQaGGmADiKoVsoEhwKQfyhRcdNVH2jzMcvR5YVA00GzgQqAPkYV3uOXxEPkynAGFDWdGn4h8Gc7ABoCo2x8OzMMRlrMBYesIhjy8lIkNXGqADeQB438Zbi8sNskGLgPHL2yXd2BU+HIGNjDScjYg7B7pOBvIw1HmMoW6LGxgVODz0VE2MErBBkYbYAOIqhWygVHApB/NFFx01UfafIXl6HNEUDTQbGAE0IfIwjvG8niIfBnDgMLGMKNPRL6MYWADQNTtjwHm4ZWWswFh65UMeXgVExu4ygAbyAXG/2qYH0qMvmH0anD8wnZNB0aFr2FgA9dazgaE3dc6zgZyYcmWMPaG0bGBz6+LsoGxCjZwnQE2gKhaIRsYC0z665iCi676SJuvtxx9XhkUDTQbuBLoQ2ThvcHyeIh8uYEBhd3AjD4R+XIDAxsAom7/BmAejrOcDQhbxzHk4Y1MbOBGA2ygAzD+NznKBm4Cxy9sN3dgVPhmBjZwi+VsQNh9i+NsoIODbODWwOe3RdnArQo2cJsBNoCoWiEbuBWY9Lc5wgaQNt9uOfocFxQNNBsYB/QhsvDeYXk8RL7cwYDC7mBGn4h8uYOBDQBRt38HMA/vtJwNCFvvZMjDu5jYwF0G2EB7YPzvhvmhyOg7he4Gxy9s93RgVPgeBjZwr+VsQNh9r+NsoD0s2cqMvVNofODz+6JsYLyCDdxngA0gqlbIBsYDk/4+puCiqz7S5vstR593BkUDzQbuBPoQWXgfsDweIl8eYEBhDzCjT0S+PMDABoCo238AmIcPWs4GhK0PMuThQ0xs4CEDbKAdMP4P49hA0iQbeBgcv7A90oFR4UcY2MCjlrMBYfejjrOBdjjAGFeoy8IGHgt8/niUDTymYAOPG2ADiKoVsoHHgEn/OFNw0VUfafMTlqPPB4OigWYDDwJ9iCy8T1oeD5EvTzKgsCeZ0SciX55kYANA1O0/CczDpyxnA8LWpxjycAITG5hggA20Bcb/aZgfYkbvDTwNjl/YnunAqPAzDGzgWcvZgLD7WcfZQFtYsiWN3Rt4LvD581E28JyCDTxvgA0gqlbIBp4DJv3zTMFFV32kzS9Yjj6fCooGmg08BfQhsvC+aHk8RL68yIDCXmRGn4h8eZGBDQBRt/8iMA9fspwNCFtfYsjDl5nYwMsG2EAOMP6vwPwQj5tkA6+A4xe2VzswKvwqAxt4zXI2IOx+zXE2kANLtoqkQl0WNvB64PM3omzgdQUbeMMAG0BUrZANvA5M+jeYgouu+kib37Qcfb4UFA00G3gJ6ENk4X3L8niIfHmLAYW9xYw+EfnyFgMbAKJu/y1gHr5tORsQtr7NkIfvMLGBdwywgWxg/CfC/FBp9N7ARHD8wvZuB0aF32VgA+9ZzgaE3e85zgayYcnmG7s38H7g8w+ibOB9BRv4wAAbQFStkA28D0z6D5iCi676SJs/tBx9vh0UDTQbeBvoQ2Th/cjyeIh8+YgBhX3EjD4R+fIRAxsAom7/I2AeTrKcDQhbJzHk4cdMbOBjA2ygDTD+n8D8UGiUDXwCjl/YPu3AqPCnDGzgM8vZgLD7M8fZQBtYspUbYwOfBz7/IsoGPlewgS8MsAFE1QrZwOfApP+CKbjoqo+0+UvL0eekoGig2cAkoA+RhXey5fEQ+TKZAYVNZkafiHyZzMAGgKjbnwzMwymWswFh6xSGPJzKxAamGmADrYHx/wrmh0SpSTbwFTh+Yfu6A6PCXzOwgW8sZwPC7m8cZwOtYclWklCoy8IGpgU+/zbKBqYp2MC3BtgAomqFbGAaMOm/ZQouuuojbZ5uOfqcEhQNNBuYAvQhsvDOsDweIl9mMKAwoN0sbGBKYDe6FgJRtz8DmIczLWcDwtaZDHn4HRMb+M4AG2gFjP8s3JUxo2xgFjh+Yfu+A6PC3zOwgdmWswFh92zH2UAr3A00Y2xgTuDzuVE2MEfBBuYaYAOIqhWygTnApJ/LFFx01UfaPM9y9DkzKBpoNjAT6ENk4Z1veTxEvsxnQGFAu1nYwMzAbnQtBKJufz4wDxdYzgaErQsY8nAhExtYaIANtATGfxHu3oBnkg0sAscvbIs7MCq8mIENLLGcDQi7lzjOBlrCkq3UU6jLwgaWBj5fFmUDSxVsYJkBNoCoWiEbWApM+mVMwUVXfaTNyy1HnwuCooFmAwuAPkQW3hWWx0PkywoGFAa0m4UNLAjsRtdCIOr2VwDzcKXlbEDYupIhD1cxsYFVBthAC2D8V+P2QqO/RbwaHL+w/dCBUeEfGNjAGsvZgLB7jeNsoAUs2YqN/Rbxj4HPf4qygR8VbOAnA2wAUbVCNvAjMOl/Ygouuuojbf7ZcvS5MigaaDawEuhDZOFda3k8RL6sZUBha5nRJyJf1jKwASDq9tcC8/AXy9mAsPUXhjz8lYkN/GqADTQHxv833H1yo28Y/Q0cv7D93oFR4d8Z2MAflrMBYfcfjrOB5rjH6Yy9YfTPwOd/RdnAnwo28JcBNoCoWiEb+BOY9H8xBRdd9ZE2/205+vwlKBpoNvAL0IfIwvuP5fEQ+fIPAwr7hxl9IvLlHwY2AETd/j9IAJBrNxsQtgod0XGuk4tFk+G+WieXnw00A8a/LswPlUbvDdQFxy9s9XIZFa6Xi5+3fq7dbEDYXT93vYNB8xplA81gxds3dm+gQeDzhrlZGyL/BrkbswFxEjcbaAZkAw2ASd8wlye46KqPtLkRrnqyoM+soGig2UAW0IfIwtvY8niIfGnMgMIaM6NPRL40zsXXQiDq9hsD87CJ5WxA2NqEIQ+bMrGBpgbYQFMgG2gG80OqyCQbaAaOX9ia5zIq3JyBDbSwnA0Iu1s4zgaa4i7llCvUZWEDLQOft4qygZYKNtDKABtoCmQDLYFJ3yqXJ7joqo+0ubXl6LNJUDTQbKAJ0IfIwtvG8niIfGnDgMLaMKNPRL60YWADQNTttwHmYbblbEDYms2QhzlMbCDHABtoAmQDbWF+KDX6pFBbcPzC1i6XUeF2DGygveVsQNjd3nE20AT3aLmxJ4U6BD7PjbKBDgo2kGuADTQBsoEOwKTPzeUJLrrqI23Osxx9ZgdFA80GsoE+RBbefMvjIfIlnwGF5TOjT0S+5DOwASDq9vOBedjRcjYgbO3IkIcFTGygwAAbaAxkA5vh7g0YfafQZuD4hW3zXEaFN2dgA50sZwPC7k6Os4HGuCeFjL1TqHPg8y5RNtBZwQa6GGADjYFsoDMw6bvk8gQXXfWRNm9hOfrsGBQNNBvoCPQhsvB2tTweIl+6MqCwrszoE5EvXRnYABB1+12BedjNcjYgbO3GkIdbMrGBLQNdTSLjRkzfqN0ql1HhrRiQ8daWI2Nh99YMyFilK6IwCF3rgn0ALDjQeJtcsA2ZFuw2uYwKb8OwYLe1fMEKu7d1aMFua/mCRcc7bGjm1QB4vW07oP9MFqntcnmK1Pa5jApvz1CkdrC8SAm7dzBUpLz02rpisgMDze8GjBEy3jtaTvNFoduRgV7tZDmtFDbvxGD3zky0cmfF5Vq0T7hjhljjOzJcmkECnB2BtcNzYA15DGvIZ1pDvuJGLdonHpiRtspan++cerdqjs21aMPMHWO9l1ZH8m3noB+jeMZJCkmKSIpJEiQlJKUku5DsSrIbye4ke5DsKXKAZC+SvUn2IdmXpAfJfiQ9SXqR7E9yAMmBJAeRHEzSm+QQkj4kh0bv48WCTUA+FlccK1QcK1IcK1YcSyiOlSiOlSqO7aI4tqvi2G6KY7srju2hOLan4lh3xbG9FMf2VhzbR3FsX8WxHopj+ymO9VQc66U4tr/i2AGKYwcqjh2kOHaw4lhvxbFDFMf6KI4dqgAcXYJ/uwf/eum1DYpOusUyBii84b3mOGguYWMhZK5//VWU/lyxwF9+cbpzFf7H934ivbk8KY5+STpzxTbICb+09nN5kfzyd6nlXMWpjXLV37V2c5Uo8t7frTZzlSjXkL97zedKVLEe/T1qOleiyrXt71mzuWKaOuF3r8lcCW3N8ffa9Lkqqqlf/t6bOlei2lro77Npc3mbUFf9fTdlLm+TarTfo/q5ijax3vv7VTdX4SbvHX5P7VyFqRrsQ34v3VyJGu1p/v5Vz1VSw/3RP6CKuUpTNd5r/QPVc3m12Lf9g1RzebXCAP7BG8/l1xJP+L2jcyVrjU38QzacK54GzvH7SHPFUmlhJv9Q8AWGsKHvxhyai5vrMJjNcaO3jA8DxkrW9/BcRoUPz8XPewQwGbjsPiJ3vYNB8xp9+hlXGJLGnn4+MvD5UdGrJkfmbvz081G5/E8/I6pWyEiPBCb9UeDgcizwI3Pxl5WPdGS36wOM9dEwm4sLTe52RzPtdsfkMip8DMNud6zlu52w+1jHd7s+sGQrrVCoy7Lb9Q18flx0t+ur2O2OM7Db9QHudn2BSX8cU3DRVR9p8/G46ql86CRd/Y4Iigb6SUUkNTgBjBbQRUvE+AQGlGS73UcEdqPXHzJ3TmRef156zRf+O5Ehd04Co7Zw/zopd2PUiY7/IcD4nwzzQ2GlSdR9Mjh+YSvLZVS4jAF1l1uOuoXd5Y6j7kNgyVYeU6jLgrorAp8no6i7QoG6kwZQN6Jqhai7Apj0Sabgoqs+0uZKy3f9E4OigX70/kSgD5GFN2V5PES+pBhQGNBulse4TwzsRtdCJOpOAfPwFMsZlbD1FIY8PJWJDZxqgA30Bsa/H8wPiZhJNtAPHL+wnZbLqPBpDGzgdMvZgLD7dMfZQG9YspVUKtRlYQNnBD4/M8oGzlCwgTMNsAFE1QrZwBnApD+TKbjoqo+0+SzL0ecpQdFAs4FTgD5EFt6zLY+HyJezGVDY2czoE5EvZzOwASDq9s8G5uE5lrMBYes5DHl4LhMbONcAGzgYGP/+MD+Y/Z3u/uD4he28XEaFz2NgAwMsZwPC7gGOs4GDYclm7ne6BwY+Pz/KBgYq2MD5BtgAomqFbGAgMOnPZwouuuojbb7AcvR5TlA00GzgHKAPkYV3kOXxEPkyiAGFDWJGn4h8GcTABoCo2x8EzMMLLWcDwtYLGfLwIiY2cJEBNnAQMP4Xw/wQN8oGLgbHL2yX5DIqfAkDGxhsORsQdg92nA0cBEu2CmNsYEjg86FRNjBEwQaGGmADiKoVsoEhwKQfyhRcdNVH2jzMcvR5YVA00GzgQqAPkYV3uOXxEPkynAGFDWdGn4h8Gc7ABoCo2x8OzMMRlrMBYesIhjy8lIkNXGqADRwIjP9lMD+UGX03xWXg+IXt8lxGhS9nYAMjLWcDwu6RjrOBA2HJVmzs3RSjAp+PjrKBUQo2MNoAG0BUrZANjAIm/Wim4KKrPtLmKyxHnyOCooFmAyOAPkQW3jGWx0PkyxgGFAa0m4UNjAjsRtdCIOr2xwDz8ErL2YCw9UqGPLyKiQ1cZYANHACM/9UwP8RKTbKBq8HxC9s1uYwKX8PABq61nA0Iu691nA0cAEu2ZEKhLgsbGBv4/LooGxirYAPXGWADiKoVsoGxwKS/jim46KqPtPl6y9HnlUHRQLOBK4E+RBbeGyyPh8iXGxhQ2A3M6BORLzcwsAEg6vZvAObhOMvZgLB1HEMe3sjEBm40wAb2B8b/JpgfyktMsoGbwPEL2825jArfzMAGbrGcDQi7b3GcDewPS7bCEoW6LGzg1sDnt0XZwK0KNnCbATaAqFohG7gVmPS3MQUXXfWRNt9uOfocFxQNNBsYB/QhsvDeYXk8RL7cwYDCgHazsIFxgd3oWghE3f4dwDy803I2IGy9kyEP72JiA3cZYAO9gPG/G+aHIqNPCt0Njl/Y7sllVPgeBjZwr+VsQNh9r+NsoBeOMht7Umh84PP7omxgvIIN3GeADSCqVsgGxgOT/j6m4KKrPtLm+y1Hn3cGRQPNBu4E+hBZeB+wPB4iXx5gQGFAu1nYwJ2B3ehaCETd/gPAPHzQcjYgbH2QIQ8fYmIDDxlgAz2B8X8Yd2WsyCQbeBgcv7A9ksuo8CMMbOBRy9mAsPtRx9lATxxgLFeoy8IGHgt8/niUDTymYAOPG2ADiKoVsoHHgEn/OFNw0VUfafMTlqPPB4OigWYDDwJ9iCy8T1oeD5EvTzKgsCeZ0SciX55kYANA1O0/CczDpyxnA8LWpxjycAITG5hggA3sB4z/07i9sNgkG3gaHL+wPZPLqPAzDGzgWcvZgLD7WcfZwH44ylymUJeFDTwX+Pz5KBt4TsEGnjfABhBVK2QDzwGT/nmm4KKrPtLmFyxHn08FRQPNBp4C+hBZeF+0PB4iX15kQGEvMqNPRL68yMAGgKjbfxGYhy9ZzgaErS8x5OHLTGzgZQNsoAcw/q/A/FBi9A2jr4DjF7ZXcxkVfpWBDbxmORsQdr/mOBvoAUu2hLE3jL4e+PyNKBt4XcEG3jDABhBVK2QDrwOT/g2m4KKrPtLmNy1Hny8FRQPNBl4C+hBZeN+yPB4iX95iQGFvMaNPRL68xcAGgKjbfwuYh29bzgaErW8z5OE7TGzgHQNsYF9g/Cc6ygYmguMXtndzGRV+l4ENvGc5GxB2v+c4G9jXQTbwfuDzD6Js4H0FG/jAABtAVK2QDbwPTPoPHGEDSJs/tBx9vh0UDTQbeBvoQ2Th/cjyeIh8+YgBhX3EjD4R+fIRAxsAom7/I2AeTrKcDQhbJzHk4cdMbOBjA2xgH2D8P4H5ocjoO4U+AccvbJ/mMir8KQMb+MxyNiDs/sxxNrAPLNnKShTqsrCBzwOffxFlA58r2MAXBtgAomqFbOBzYNJ/wRRcdNVH2vyl5ehzUlA00GxgEtCHyMI72fJ4iHyZzIDCgHazsIFJgd3oWghE3f5kYB5OsZwNCFunMOThVCY2MNUAG9gbGP+vcGwgaZINfAWOX9i+zmVU+GsGNvCN5WxA2P2N42xgbxxgjCvUZWED0wKffxtlA9MUbOBbA2wAUbVCNjANmPTfMgUXXfWRNk+3HH1OCYoGmg1MAfoQWXhnWB4PkS8zGFDYDGb0iciXGQxsAIi6/RnAPJxpORsQts5kyMPvmNjAdwbYwF7A+M+C+SFm9N7ALHD8wvZ9LqPC3zOwgdmWswFh92zH2cBesGRLlijUZWEDcwKfz42ygTkKNjDXABtAVK2QDcwBJv1cpuCiqz7S5nmWo8+ZQdFAs4GZQB8iC+98y+Mh8mU+AwoD2s3CBmYGdqNrIRB1+/OBebjAcjYgbF3AkIcLmdjAQgNsoDsw/otgfojHTbKBReD4hW1xLqPCixnYwBLL2YCwe4njbKA7LNkqkgp1WdjA0sDny6JsYKmCDSwzwAYQVStkA0uBSb+MKbjoqo+0ebnl6HNBUDTQbGAB0IfIwrvC8niIfFnBgMJWMKNPRL6sYGADQNTtrwDm4UrL2YCwdSVDHq5iYgOrDLCBPYHxXw3zQ6XRewOrwfEL2w+5jAr/wMAG1ljOBoTdaxxnA3vCks0vUajLwgZ+DHz+U5QN/KhgAz8ZYAOIqhWygR+BSf8TU3DRVR9p88+Wo8+VQdFAs4GVQB8iC+9ay+Mh8mUtAwoD2s3CBlYGdqNrIRB1+2uBefiL5WxA2PoLQx7+ysQGfjXABvYAxv83mB8KjbKB38DxC9vvuYwK/87ABv6wnA0Iu/9wnA3sAUu2cmNs4M/A539F2cCfCjbwlwE2gKhaIRv4E5j0fzEFF131kTb/bTn6/CUoGmg28AvQh8jC+4/l8RD58g8DCgPazcIGfgnsRtdCIOr2/0ECgDy72YCwVeiIjnOdPCyaDPfVOnn8bGB3YPzrwvyQKDXJBuqC4xe2enmMCtfLw89bP89uNiDsrp+33sGgeY2ygd1hxbskoVCXhQ00CHzeMC9rQ+TfIG9jNiBO4mYDuwPZQANg0jfM4wkuuuojbW6Eq54s6DMrKBpoNpAF9CGy8Da2PB4iXxozoLDGzOgTkS+N8/C1EIi6/cbAPGxiORsQtjZhyMOmTGygqQE2sBuQDTSD+aHcKBtoBo5f2JrnMSrcnIENtLCcDQi7WzjOBnbD3UAzxgZaBj5vFWUDLRVsoJUBNrAbkA20BCZ9qzye4KKrPtLm1pajzyZB0UCzgSZAHyILbxvL4yHypQ0DCmvDjD4R+dKGgQ0AUbffBpiH2ZazAWFrNkMe5jCxgRwDbGBXIBtoi7s34JlkA23B8QtbuzxGhdsxsIH2lrMBYXd7x9nArjA2UOop1GVhAx0Cn+dG2UAHBRvINcAGdgWygQ7ApM/N4wkuuuojbc6zHH1mB0UDzQaygT5EFt58y+Mh8iWfAYXlM6NPRL7kM7ABIOr284F52NFyNiBs7ciQhwVMbKDAABvYBcgGNsPthUZ/i3gzcPzCtnkeo8KbM7CBTpazAWF3J8fZwC4wNlBs7LeIOwc+7xJlA50VbKCLATawC5ANdAYmfZc8nuCiqz7S5i0sR58dg6KBZgMdgT5EFt6ulsdD5EtXBhTWlRl9IvKlKwMbAKJuvyswD7tZzgaErd0Y8nBLJjawpQE2UApkA1vh7pMbfcPoVuD4hW3rPEaFt2ZgA9tYzgaE3ds4zgZKcV80NfaG0W0Dn28XZQPbKtjAdgbYQCmQDWwLTPrt8niCi676SJu3txx9dguKBpoNdAP6EFl4d7A8HiJfdmBAYTswo09EvuzAwAaAqNvfAZiHO1rOBoStOzLk4U5MbGAnA2ygBMgGdob5odLovYGdwfELm5fHqLDHwAZ8y9mAsNt3nA2U4F5CaezeQCzweTzKBmIKNhA3wAZKgGwgBkz6eB5PcNFVH2lzoeXoc8egaKDZwI5AHyILb5Hl8RD5UsSAwoqY0SciX4oY2AAQdftFwDwstpwNCFuLGfIwwcQGEgbYQALIBkpgfkgVmWQDJeD4ha00j1HhUgY2sIvlbEDYvYvjbCCBeyFcuUJdFjawa+Dz3aJsYFcFG9jNABtIANnArsCk3y2PJ7joqo+0eXfL0WdxUDTQbKAY6ENk4d3D8niIfNmDAYXtwYw+EfmyBwMbAKJufw9gHu5pORsQtu7JkIfdmdhAdwNsoBjIBvaC+aHU6JNCe4HjF7a98xgV3puBDexjORsQdu/jOBsoxn1vwNiTQvsGPu8RZQP7KthADwNsoBjIBvYFJn2PPJ7goqs+0ub9LEefewZFA80G9gT6EFl4e1oeD5EvPRlQWE9m9InIl54MbACIuv2ewDzsZTkbELb2YsjD/ZnYwP4G2EARkA0cgLs3YPSdQgeA4xe2A/MYFT6QgQ0cZDkbEHYf5DgbKMI9KWTsnUIHBz7vHWUDByvYQG8DbKAIyAYOBiZ97zye4KKrPtLmQyxHn72CooFmA72APkQW3j6Wx0PkSx8GFNaHGX0i8qUPAxsAom6/DzAPD7WcDQhbD2XIw8OY2MBhga4mkXEh0+/yHp7HqPDhDMj4CMuRsbD7CAZkrNIVURiErnXBPgAWHGi8TS7YONOCPTKPUeEjGRbsUZYvWGH3UQ4t2KMsX7DoeIcNzbxiwOttRwP9Z7JIHZ3HU6SOyWNU+BiGInWs5UVK2H2soSLlpdfWFZNjGWj+ocAYIePd13KaLwpdXwZ6dZzltFLYfByD3ccz0crjFZdr0T7hjhlijfdluDSDBDh9gbXjBAfW0AkMa+hEpjV0ouJGLdonJ4AZqVjzdbOqbuHf8kvisVgiLuYpSdKFhmRFrCQWS5YXehVeWUWssrTQL00VxgrjFcmKcvqbZX7KS5VVlKZK/v1bnD7p3YoHSJ4kxxP+1ApOaV9OwpOk64N1sswgeWQA5GQ8OQCdZcImjgCcxIDmT7J8lwvtrstod7o6llu+M4nELGfYmSqYdiYx77BgXrQvyph8kWTyRVLji3R15sqLJzv9V2tKRTX6seXAU53srgNi4ytnqKXAePtIHwpQUTdr0xBjdXNVl1PynBz1G+UTGWBV6hCjl17zy5kKoqx0DXX2q/s7QudKhsLwLLgwhK1+DWNWEyCTrs2pPDsLDDIWcl6mpI26tvGpzufI+JwizeXH47Q2kgk/lUzFixKlsXK/OF5cnCpMJYpLCpOposKyZKLSLyyLx0orE17KL6msTBTFKxLFqdJkRXFKLtp+Mh4vTJaWV/hFseKycq8kGS/zUoWJeMwrS8YTyWS8pLi4LB5PFpekSkqJlZel4iVeUSJR6hXH4qUxrvicoohPTTfC6i4bIONzKlP9PBXgh+ouryD90I/JD/0CP+hAgs0buUJdWB7LIOE0F0HCacwg4TQGkPC8IZBQHXsyWeROB86FBAnPM21Cp28CSKjOD5SgfoXvpbxS2lG9REVxorw0GSsvoX00VRRPxpHxOSMPt7EjQQJXfM5I48pTdesmvJJZw3v91a1HX740n+5cyKuiZ+ZhN6QwRmemEaPqgEstY1TtmqxBjKqdCxmjs/JwvpNjdJYErly/rXN2cFvnHNVtHS+95ld1ewN5vy7duYC3iFge2qntov1v+TDduc61PB5iwZzLAJD7M5GF/oy3m85h8sV5TL44j/F2E1devGT57SauHHjZgdtN5zLcbgLG2385c7sp2tbVb5RPZOA3gPNK0rlMBXEA45UkofMAhsLwuiO3m84FgqKBeXYWmNeZrlQMNHC7CRmf84G3m14GXkniis/5m3B7IauG8fpvPrXKtSlc4OKmcAHzpnABw6bwpiWbQpVJnFj3apsUsugMsnRTeJOp6AwCbArVXeZDxudCSzcFrvhcyMiuezKxLWS8L7L8QekU+fAihiuJqVY8Pkx3rouZryQi/KaKh5de81PAb7Mg43GJ5V/GEFd0LmHAJm93stvufmT3xQx2v8OEydD1azCwTgBj7cv+S/crfybfJTGYiUwNyWNUeAjDt8+GAosnl91D89Y7GDSv8rusaOAmClY/4EYnCr/YANC+yFK0cO50F7W8OIblMX4/diiwQsqMYZjmSkO6D/sInYfl4Z+CHgZc1MOZruAMT4OJVfeATm39Wl2yI/06gsmvIzQP/vyvFji5yF8abCaX5TF8RzxMPPQuOMxyWlLbBefVwO50dbzc8ksfIjEvZ6A4I5kKzUjGh3YuY/LFKCZfjFJc9kVTwNHAtSBTQNsoNDrmXOvqPcsfeuJaQ+9b/tCTsHk0w14EjLf/fuahp2hbt/+hfCKD3is4729fzrShXMF4f1vofAVDYfjYkYeeLgdupGPy7CwwHzPdPx1j4KEnZHyuBN7ffh94f5srPlf+P3voiWtTuMrFTeEq5k3hKoZN4VNHHnpCFp2rLd0UPmUqOlcbeOgJGZ9rLN0UuOJzTZ7574KOBtZAeRO7Nrh8OzaP4bugVV3GRN6bSncu4KVglu8ehj5EX/7i8mG6c11neTzEgrmOYWO/ngnkXM94WXksky9uYPLFDYxPq3LlxReWXxblyoEvLb8sOjqwG31ZFBhv/8vMZdFoW1e/UT6Rgd84TgZ8HVNBHMfIgIXO4xgKw1eOXBa9DgiKbsyzs8B8xcSwbjRwWRQZn5uADPhLIAPmis9NefyvHkXG52am+nkzwA/VXalB+uEWJj/csgmXyW3eyBXqwvJYBgm3uggSbmUGCbcygIRvHHn1KHJx3wacCwkSvmHahG7bBJCQ7pPPyPjcnofb2JEggSs+twM2x2qa/0MTXHzugNXPEpYrDkOruOKAvOKa7lx3Wn71VsT4Tob95i6mvVfMG36tKpG1cUP9zXA+tL8ntrZfx7vRQBJd5MKkRSWrmOtuhkuXdwN1vAd8v5Nx8fj/y4vnHvTicaXi32v511+Ezfcy2D2eaacbn7f+B7A5vk7Fca8GiZzuszyfBNK+jyGf7ndgHd3PYPcDTOvoAc068tJrbDXlO8vv9XLlwCxH3pbyIJDVAWPtz2K6cvFghnWx6/gQN3BEsCShZE3vO3o1MDxdHR/+H1iYGfbGtwgfRi5CV6vlZw4E6pFMoDz/CwcC9WgmUJ4/2YFAPZYJlOdPdSBQj2cC5flfOxCoJzKB8vxpDgTqyUygPH+6A4F6KhMoz5/pQKAmZAJFpN+BQD2dCZTnz3YgUM9kAuX5cx0I1LOZQHn+fAcC9VwmUJ5/cn37dXw+EyjPX+TAinohEyjP38WBFfViJlCev9SBFfVSJlCev9yBQL2cCZTnr3QgUK9kAuX5qx0I1KuZQHn+GgcC9VomUJ7/kwOBej0TKM9f60Cg3sgEyvN/dSBQb2YC5fm/OxCotzKB8vw/HQjU25lAef7fDgTqnUygPL+pA9f6JmYC5fl12tiv47uZQHl+PQcC9V4mUJ7fwIFAvZ8JlOc3ciBQH3C9ug79HbgPYYrGE5x6flR7PYuiB4Ru2Vnrv/cn/l/44e+gX6fD+n6W1P8oOCf83CT6/49JPiH5VPoeYdiiX9L10mt+m+a4uSYBv6P4GVOyo/2XDfTfx0D/fQ5+UUA0tz+Tcvtzqf+J1P80kttf0P9/STKZZEqQ20JaSXGRG/ybYFwFFKpnjG9uf/17RcW/nYP+VPLLVyRfk3xDMo3kW5LpJDNIZpJ8RzKL5HuS2SRzSOaSzCOZT7KAZCHJIpLFJEtIlpIsI1lOsoJkJckqktUkP5CsIfkxL1Am/Bb91OBb9PKxrxTHvlYc+0ZxbJri2LeKY9MVx2Yojs1UHPtOcWyW4tj3imOzFcfmKI7NVRybpzg2X3FsgeLYQsWxRYpjixXHliiOLVUcW6Y4tlxxbIXi2ErFsVWKY6sVx35QHFujOPZj3vq3noStS/Bv9+BfL722QdFJt6hPBcxVue6H1jz/K9BcwsavIXP9669v0p8rFv4ixLR05ypc/+sS36Y3lyf/UsX0dOaKbfirFzNqP5cX/QWNmbWcqzi18a9xfFe7uUpUv+wxqzZzlah/JeT7ms+VqOoXR2bXdK5E1b9eMqdmc8V0v4QytyZzJfS/qjJv0+eq9ld/5m/qXIlqa6G/YNPm8jahrvoLN2Uub5NqtL+o+rmKNrHe+4urm6twk/cOf4l2rsJUDfYhf6lurkSN9jR/WdVzldRwf/SXVzFXaarGe62/Qj2XV4t921+pmsurFQbwV208l19LPOGvjs6VrDU28X/YcK54GjjHXyPNFUulhZn8H5lIX93g3+6bXrO12O5HIE78CXcBbt0veLXMWk/G5QZ/Pgx80SJsP+cxKiwmhz9/BUwGLrvX5q13MGjedcnWIsvML8HgCkOS9YqN7ItfAp//Gr1q8kuQhPKxXxXsFn35E1G1Qkb6CzDpfwUHl2OB/5KHv6XxiyO73RpgrH+D2VxcaHK3+41pt/s9j1Hh3xl2uz8s3+2E3X84vtutgSVbaYVCXZbd7s/A539Fd7s/FbvdXwZ2uzXA3e5PYNL/xRRcdNVH2vw3rnoqfzMoXf3WBkWjLjgHkdTgHzBagD/iS/r9w4CSbLd7bWA3ev1BaWU+7/rz0mu+8J/QEZ07dXB2b/D2+Dr5G6NOdPx/AMa/LswPhZUmUXddcPzCVi+fUeF6+fh56+fbjbqF3fXz1zsYNK9R1P0DbKMpjynUZUHdDQKfN8zP2hBhN8jfGHWLk7hR9w9A1N0AmPQN83mCi676SJsbWb7rZwVFA/1bNllAHyILb2PL4yHypTEDCgPardy8EPnSOB9fC5GouzEwD5swx8NLr62ztQlDHjZlYgNNDbCB1UA20Azmh0TMJBtoBo5f2JrnMyrcnIENtLCcDQi7WzjOBlbD2EBJpUJdFjbQMvB5qygbaKlgA60MsIHVQDbQEpj0rfJ5gouu+kibW1uOPpsERQPNBpoAfYgsvG0sj4fIlzYMKKwNM/pE5EsbBjYARN1+G2AeZlvOBoSt2Qx5mMPEBnIMsIFVQDbQFuaHSt8kG2gLjl/Y2uUzKtyOgQ20t5wNCLvbO84GVsHYgJ9SqMvCBjoEPs+NsoEOCjaQa4ANrAKygQ7ApM/N5wkuuuojbc6zHH1mB0UDzQaygT5EFt58y+Mh8iWfAYXlM6NPRL7kM7ABIOr284F52NFyNiBs7ciQhwVMbKDAABtYCWQDm8H8EDfKBjYDxy9sm+czKrw5AxvoZDkbEHZ3cpwNrISxgQpjbKBz4PMuUTbQWcEGuhhgAyuBbKAzMOm75PMEF131kTZvYTn67BgUDTQb6Aj0IbLwdrU8HiJfujKgsK7M6BORL10Z2AAQdftdgXnYzXI2IGztxpCHWzKxgS0NsIEVQDawFcwPZUbfTbEVOH5h2zqfUeGtGdjANpazAWH3No6zgRW4r7QbezfFtoHPt4uygW0VbGA7A2xgBZANbAtM+u3yeYKLrvpIm7e3HH12C4oGmg10A/oQWXh3sDweIl92YEBhOzCjT0S+7MDABoCo298BmIc7Ws4GhK07MuThTkxsYCcDbGA5kA3sDPNDrNQkG9gZHL+wefmMCnsMbMC3nA0Iu33H2cBy3MvMVL/Nw8IGYoHP41E2EFOwgbgBNrAcyAZiwKSP5/MEF131kTYXWo4+dwyKBpoN7Aj0IbLwFlkeD5EvRQworIgZfSLypYiBDQBRt18EzMNiy9mAsLWYIQ8TTGwgYYANLAOygRKYH8pLTLKBEnD8wlaaz6hwKQMb2MVyNiDs3sVxNrAMxgYKSxTqsrCBXQOf7xZlA7sq2MBuBtjAMiAb2BWY9Lvl8wQXXfWRNu9uOfosDooGmg0UA32ILLx7WB4PkS97MKCwPZjRJyJf9mBgA0DU7e8BzMM9LWcDwtY9GfKwOxMb6G6ADSwFsoG9YH4oMvqk0F7g+IVt73xGhfdmYAP7WM4GhN37OM4GluLeMGrsSaF9A5/3iLKBfRVsoIcBNrAUyAb2BSZ9j3ye4KKrPtLm/SxHn3sGRQPNBvYE+hBZeHtaHg+RLz0ZUFhPZvSJyJeeDGwAiLr9nsA87GU5GxC29mLIw/2Z2MD+BtjAEiAbOAB3ZazIJBs4ABy/sB2Yz6jwgQxs4CDL2YCw+yDH2cASHBsoV6jLwgYODnzeO8oGDlawgd4G2MASIBs4GJj0vfN5gouu+kibD7EcffYKigaaDfQC+hBZePtYHg+RL30YUFgfZvSJyJc+DGwAiLr9PsA8PNRyNiBsPZQhDw9jYgOHGWADi4Fs4HDcXlhskg0cDo5f2I7IZ1T4CAY2cKTlbEDYfaTjbGAx7kmhMoW6LGzgqMDnR0fZwFEKNnC0ATawGMgGjgIm/dH5PMFFV32kzcdYjj4PDYoGmg0cCvQhsvAea3k8RL4cy4DCjmVGn4h8OZaBDQBRt38sMA/7Ws4GhK19GfLwOCY2cJwBNrAIyAaOh/mhxOgbRo8Hxy9sJ+QzKnwCAxs40XI2IOw+0XE2sAjGBhLG3jB6UuDzk6Ns4CQFGzjZABtYBGQDJwGT/uR8nuCiqz7S5jLL0WffoGig2UBfoA+Rhbfc8niIfClnQGHlzOgTkS/lDGwAiLr9cmAeVljOBoStFQx5mGRiA0kDbGAhkA1UOsoGKsHxC1sqn1HhFAMbOMVyNiDsPsVxNrDQQTZwauDzflE2cKqCDfQzwAYWAtnAqcCk7+cIG0DafJrl6LMiKBpoNlAB9CGy8J5ueTxEvpzOgMJOZ0afiHw5nYENAFG3fzowD8+wnA0IW89gyMMzmdjAmQbYwAIgGzgL5ocio+8UOgscv7Cdnc+o8NkMbOAcy9mAsPscx9nAAhgbKDP2TqFzA5/3j7KBcxVsoL8BNrAAyAbOBSZ9/3ye4KKrPtLm8yxHn2cERQPNBs4A+hBZeAdYHg+RLwMYUNgAZvSJyJcBDGwAiLr9AcA8HGg5GxC2DmTIw/OZ2MD5BtjAfCAbuADHBpIm2cAF4PiFbVA+o8KDGNjAhZazAWH3hY6zgfk4NhBXqMvCBi4KfH5xlA1cpGADFxtgA/OBbOAiYNJfnM8TXHTVR9p8ieXoc2BQNNBsYCDQh8jCO9jyeIh8GcyAwgYzo09EvgxmYANA1O0PBubhEMvZgLB1CEMeDmViA0MNsIF5QDYwDOaHmNF7A8PA8Qvb8HxGhYczsIERlrMBYfcIx9nAPNyvjxm7N3Bp4PPLomzgUgUbuMwAG5gHZAOXApP+snye4KKrPtLmyy1Hn0OCooFmA0OAPkQW3pGWx0Pky0gGFDaSGX0i8mUkAxsAom5/JDAPR1nOBoStoxjycDQTGxhtgA3MBbKBK2B+iMdNsoErwPEL25h8RoXHMLCBKy1nA8LuKx1nA3NhbKAiqVCXhQ1cFfj86igbuErBBq42wAbmAtnAVcCkvzqfJ7joqo+0+RrL0eeooGig2cAooA+Rhfday+Mh8uVaBhR2LTP6ROTLtQxsAIi6/WuBeTjWcjYgbB3LkIfXMbGB6wywgTlANnA9zA+VRu8NXA+OX9huyGdU+AYGNjDOcjYg7B7nOBuYA2MDvrF7AzcGPr8pygZuVLCBmwywgTlANnAjMOlvyucJLrrqI22+2XL0OTYoGmg2MBboQ2ThvcXyeIh8uYUBhd3CjD4R+XILAxsAom7/FmAe3mo5GxC23sqQh7cxsYHbDLCB2UA2cDvMD4VG2cDt4PiF7Y58RoXvYGADd1rOBoTddzrOBmbjfn3MGBu4K/D53VE2cJeCDdxtgA3MBrKBu4BJf3c+T3DRVR9p8z2Wo89bg6KBZgO3An2ILLz3Wh4PkS/3MqCwe5nRJyJf7mVgA0DU7d8LzMPxlrMBYet4hjy8j4kN3GeADXwPZAP3w/yQKDXJBu4Hxy9sD+QzKvwAAxt40HI2IOx+0HE28D2MDZQkFOqysIGHAp8/HGUDDynYwMMG2MD3QDbwEDDpH87nCS666iNtfsRy9Dk+KBpoNjAe6ENk4X3U8niIfHmUAYU9yow+EfnyKAMbAKJu/1FgHj5mORsQtj7GkIePM7GBxw2wgVlANvAE7sqYUTbwBDh+YXsyn1HhJxnYwFOWswFh91OOs4FZuN8iNsYGJgQ+fzrKBiYo2MDTBtjALCAbmABM+qfzeYKLrvpIm5+xHH0+FhQNNBt4DOhDZOF91vJ4iHx5lgGFPcuMPhH58iwDGwCibv9ZYB4+ZzkbELY+x5CHzzOxgecNsIHvgGzgBdy9Ac8kG3gBHL+wvZjPqPCLDGzgJcvZgLD7JcfZwHcwNlDqKdRlYQMvBz5/JcoGXlawgVcMsIHvgGzgZWDSv5LPE1x01Ufa/Krl6PO5oGig2cBzQB8iC+9rlsdD5MtrDCjsNWb0iciX1xjYABB1+68B8/B1y9mAsPV1hjx8g4kNvGGADcwEsoE3cXuh0d8ifhMcv7C9lc+o8FsMbOBty9mAsPttx9nATBgbKDb2W8TvBD6fGGUD7yjYwEQDbGAmkA28A0z6ifk8wUVXfaTN71qOPl8PigaaDbwO9CGy8L5neTxEvrzHgMLeY0afiHx5j4ENAFG3/x4wD9+3nA0IW99nyMMPmNjABwbYwAwgG/gQd5/c6BtGPwTHL2wf5TMq/BEDG5hkORsQdk9ynA3MwH2L2NgbRj8OfP5JlA18rGADnxhgAzOAbOBjYNJ/ks8TXHTVR9r8qeXo8/2gaKDZwPtAHyIL72eWx0Pky2cMKOwzZvSJyJfPGNgAEHX7nwHz8HPL2YCw9XOGPPyCiQ18YYANTAeygS9hfqg0em/gS3D8wjY5n1HhyQxsYIrlbEDYPcVxNjAd94ZRY/cGpgY+/yrKBqYq2MBXBtjAdCAbmApM+q/yeYKLrvpIm7+2HH1+HhQNNBv4HOhDZOH9xvJ4iHz5hgGFfcOMPhH58g0DGwCibv8bYB5Os5wNCFunMeTht0xs4FsDbOBbIBuYDvNDqsgkG5gOjl/YZuQzKjyDgQ3MtJwNCLtnOs4GvoWxAa9coS4LG/gu8PmsKBv4TsEGZhlgA98C2cB3wKSflc8TXHTVR9r8veXoc1pQNNBsYBrQh8jCO9vyeIh8mc2AwmYzo09EvsxmYANA1O3PBubhHMvZgLB1DkMezmViA3MNsIFpQDYwD+aHUqNPCs0Dxy9s8/MZFZ7PwAYWWM4GhN0LHGcD03DfGzD2pNDCwOeLomxgoYINLDLABqYB2cBCYNIvyucJLrrqI21ebDn6nBMUDTQbmAP0IbLwLrE8HiJfljCgsCXM6BORL0sY2AAQdftLgHm41HI2IGxdypCHy5jYwDIDbOAbIBtYjrs3YPSdQsvB8QvbinxGhVcwsIGVlrMBYfdKx9nAN7gnhYy9U2hV4PPVUTawSsEGVhtgA98A2cAqYNKvzucJLrrqI23+wXL0uTQoGmg2sBToQ2ThXWN5PES+rGFAYWuY0SciX9YwsAEg6vbXAPPwR8vZgLD1R4Y8/ImJDfwU6GoSGX+dh7UlbD/nMyr8MwMyXms5MhZ2r2VAxipdEYVB6FoX7ANgwYHG2+SC/Yppwf6Sz6jwLwwL9lfLF6yw+1eHFuyvli9YdLzDhmZeU4HX234D+s9kkfotn6dI/Z7PqPDvDEXqD8uLlLD7D0NFykuvrSsmfzDQ/B+BMULG+0/Lab4odH8y0Ku/LKeVwua/GOz+m4lW/q24XIv2CXfMEGv8T4ZLM0iA8yewdvzjwBr6h2ENZXXkWUNi3jrMa+gfJoCLzvl7cQzUvx8IluuAYy/ayVKs23b4t46Kfo7Uz5b6baR+a6nfSuq3lPotpH5zqd9M6jeV+k2kfmOp30jqN5T6DaT+Xrnr+92l/p5Sfw+pv7vU303q7yr1d5H6pVK/ROonpH6x1C+S+oVSPy71Y1L/hybr+6ul/iqpv1Lqr5D6y6X+Mqm/VOovkfqLpf4iqb9Q6i+Q+vOl/jypP1fqz5H6s6X+91J/ltT/TurPlPozpP50qf+t1J8m9b+R+l9L/a+k/lSpP0XqT5b6Yn2F/Ufy1vcflfqPSf3Hpf4TUv9Jqf+U1J8g9Z+W+s9I/Wel/nNS/3mp/4LUf1HqvyT1X5b6r0j9V6X+a1L/dan/htR/U+q/JfXflvrvSP2JUv9dqf+e1H9f6n8g9edJ/blSf47Uny31v5f6s6T+d1J/ptSfIfWnS/1vpf40qf+N1P9a6n8l9adK/R+l/hqp/4PUXy31V0n9lVJ/hdRfLvWXSf2lUn+J1F8s9RdJ/YVSf4HUnx/0z8n6t9WlNVCPpD5JA5KGJI3EuiBpQtKUpBlJc5IWJC1JWpG0JmlDkk2SQ9KWpB1Je5IOJLkkeST5JB1JCkg2I9mcpBNJZ5IuJFuQdCXpRrIlyVYkW5NsQ7ItyXYk25PsQLIjyU4kO5N4JD5JjCROUkhSRFJMkiApISkl2YVkV5LdSHYn2YNkT7GvkuxFsjfJPiT7kvQg2Y+kJ0kvkv1JDiA5kOQgkoNJepMcQtKH5FCSw0gOJzmC5EiSo0iOJjmG5FiSviTHkRxPcgLJiSQnkZxMUkZSTlJBkiSpJEmRnEJyKkk/ktNITic5g+RMkrNIziY5h+TcjlkbtDrBv92Df730mt+uOfZ5pVZZ67Ebp95tmmO5QrRh5o6xPgtVR/Jt56Dfn/LlPJIBJANJzie5gGQQyYUkF5FcTHIJyWCSISRDSYaRDCcZQXIpyWUkl5OMJBlFMprkCpIxJFeSXEVyNck1JNeSjCW5rmOgTEhAhDKNI8fOUxwboDg2UHHsfMWxCxTHBimOXag4dpHi2MWKY5cojg1WHBuiODZUcWyY4thwxbERimOXKo5dpjh2ueLYSMWxUYpjoxXHrlAcG6M4dqXi2FWKY1crjl2jOHat4thYxbHrgmNy6xL82z3410uvbVB00iV+Ym2kO1f4rOB5oLmEjQMgc/3rr4HpzxUL/OWfn+5chf/xvX9BenN5Uhz9QenMFdsgJ/wLaz+XF8kv/6JazlWc2ihX/YtrN1eJIu/9S2ozV4lyDfmDaz5Xoor16A+p6VyJKte2P7Rmc8U0dcIfVpO5Etqa4w/f9Lkqqqlf/ohNnStRbS30L920ubxNqKv+ZZsyl7dJNdq/vPq5ijax3vsjq5urcJP3Dn+Udq7CVA32IX+0bq5EjfY0/4qq5yqp4f7oj6lirtJUjfda/0r1XF4t9m3/KtVcXq0wgH/1xnP5tcQT/jXRuZK1xib+tRvOFU8D5/hjpbliqbQwk39dRxzpE7jxtKz1xOm6gMRcG5CaqwOSc2VAeq4ISNCogBRdHpCkSwPSNDwgUUMDUjU4IFkXB6TrwoCEXRCQsoEBSRPYrX+E5IuGfsLnuo64ua6HxSFu9DFEnN4bPuFzQ0dGhcXk6HnHAZOBy+5x0qIAzWv0G3W4YpU09o26GwOf3xS9knNjkITysZsUjBt92xZRtUKWfCMw6W8CB5djgd+oKBzp2n0jsILKeYPe7cYCY30zzObiQpO73c1Mu90tHRkVvoVht7vV8t1O2H2r47vdWFiylVYo1GXZ7W4LfH57dLe7TbHb3W5gtxsL3O1uAyb97UzBRVd9pM134Kqn8kHmdPUbFxSNuuAcRFKDO8FoAV20RIzvZEBJtts9LrAbvf6QuXMX8/rz0mu+8N9dDLlzNxi1hfvX3R03Rp3o+F8LjP89MD8UVppE3feA4xe2ezsyKnwvA+oebznqFnaPdxx1XwtLtvKYQl0W1H1f4PP7o6j7PgXqvt8A6kZUrRB13wdM+vuZgouu+kibH7B8178rKBror3PeBfQhsvA+aHk8RL48yIDCgHazfDXwrsBudC1Eou4HgXn4kOWMStj6EEMePszEBh42wAauAcb/EZgfEjGTbOARcPzC9mhHRoUfZWADj1nOBoTdjznOBq6BJVtJpUJdFjbweODzJ6Js4HEFG3jCABtAVK2QDTwOTPonmIKLrvpIm5+0HH0+FBQNNBt4COhDZOF9yvJ4iHx5igGFPcWMPhH58hQDGwCibv8pYB5OsJwNCFsnMOTh00xs4GkDbOBqYPyfgfmh0ugb5p4Bxy9sz3ZkVPhZBjbwnOVsQNj9nONs4GpYsvkphbosbOD5wOcvRNnA8wo28IIBNoCoWiEbeB6Y9C8wBRdd9ZE2v2g5+pwQFA00G5gA9CGy8L5keTxEvrzEgMJeYkafiHx5iYENAFG3/xIwD1+2nA0IW19myMNXmNjAKwbYwFXA+L8K80PcKBt4FRy/sL3WkVHh1xjYwOuWswFh9+uOs4GrYMlWYYwNvBH4/M0oG3hDwQbeNMAGEFUrZANvAJP+Tabgoqs+0ua3LEefLwdFA80GXgb6EFl437Y8HiJf3mZAYW8zo09EvrzNwAaAqNt/G5iH71jOBoSt7zDk4UQmNjDRABu4Ehj/d2F+KDP6bop3wfEL23sdGRV+j4ENvG85GxB2v+84G7gSlmzFxt5N8UHg8w+jbOADBRv40AAbQFStkA18AEz6D5mCi676SJs/shx9vhMUDTQbeAfoQ2ThnWR5PES+TGJAYUC7WdjAO4Hd6FoIRN3+JGAefmw5GxC2fsyQh58wsYFPDLCBMcD4fwrzQ6zUJBv4FBy/sH3WkVHhzxjYwOeWswFh9+eOs4ExsGRLJhTqsrCBLwKffxllA18o2MCXBtgAomqFbOALYNJ/yRRcdNVH2jzZcvT5cVA00GzgY6APkYV3iuXxEPkyhQGFTWFGn4h8mcLABoCo258CzMOplrMBYetUhjz8iokNfGWADVwBjP/XMD+Ul5hkA1+D4xe2bzoyKvwNAxuYZjkbEHZPc5wNXAFLtsIShbosbODbwOfTo2zgWwUbmG6ADSCqVsgGvgUm/XSm4KKrPtLmGZajz6lB0UCzgalAHyIL70zL4yHyZSYDCpvJjD4R+TKTgQ0AUbc/E5iH31nOBoSt3zHk4SwmNjDLABsYDYz/9zA/FBl9Uuh7cPzCNrsjo8KzGdjAHMvZgLB7juNsYDSOMht7Umhu4PN5UTYwV8EG5hlgA4iqFbKBucCkn8cUXHTVR9o833L0+V1QNNBs4DugD5GFd4Hl8RD5soABhQHtZmED3wV2o2shEHX7C4B5uNByNiBsXciQh4uY2MAiA2xgFDD+i3FXxopMsoHF4PiFbUlHRoWXMLCBpZazAWH3UsfZwCgcYCxXqMvCBpYFPl8eZQPLFGxguQE2gKhaIRtYBkz65UzBRVd9pM0rLEefC4OigWYDC4E+RBbelZbHQ+TLSgYUtpIZfSLyZSUDGwCibn8lMA9XWc4GhK2rGPJwNRMbWG2ADYwExv8H3F5YbJIN/ACOX9jWdGRUeA0DG/jRcjYg7P7RcTYwEkeZyxTqsrCBnwKf/xxlAz8p2MDPBtgAomqFbOAnYNL/zBRcdNVH2rzWcvS5KigaaDawCuhDZOH9xfJ4iHz5hQGF/cKMPhH58gsDGwCibv8XYB7+ajkbELb+ypCHvzGxgd8MsIHLgfH/HeaHEqNvGP0dHL+w/dGRUeE/GNjAn5azAWH3n46zgcthyZYw9obRvwKf/x1lA38p2MDfBtgAomqFbOAvYNL/zRRcdNVH2vyP5ejz16BooNnAr0AfQgtvgd3xEPkidESjMKDdLGzg18BudC38Fbn+CnD21mGOh5deW2drHYY8rFuARZPhvlq3gJ8NXAasQ/VgfjDLBuqB4xe2+gWMCtcvwM/bAFgMuOxuULDewaB5jbKByxxkAw0DnzcqyNoQ+Tcs2JgNiJO42cBlQDbQEJj0jQp4gouu+kibG1uOPusERQPNBuoAfYgsvE0sj4fIlyYMKKyJ5WygTmA3uhYCUbffBJiHTS1nA8LWpgx52IyJDTQzwAYuBbKB5jA/FBl9p1BzcPzC1qKAUeEWDGygpeVsQNjd0nE2cCmMDZQZe6dQq8DnraNsoJWCDbQ2wAYuBbKBVsCkb13AE1x01Ufa3MZy9Nk0KBpoNtAU6ENk4c22PB4iX7IZUFg2M/pE5Es2AxsAom4/G5iHOZazAWFrDkMetmViA20NsIERQDbQDscGkibZQDtw/MLWvoBR4fYMbKCD5WxA2N3BcTYwAscG4gp1WdhAbuDzvCgbyFWwgTwDbGAEkA3kApM+r4AnuOiqj7Q533L0mRMUDTQbyAH6EFl4O1oeD5EvHRlQWEdm9InIl44MbACIuv2OwDwssJwNCFsLGPJwMyY2sJkBNjAcyAY2h/khZvTewObg+IWtUwGjwp0Y2EBny9mAsLuz42xgOIwNJI3dG+gS+HyLKBvoomADWxhgA8OBbKALMOm3KOAJLrrqI23uajn6LAiKBpoNFAB9iCy83SyPh8iXbgworBsz+kTkSzcGNgBE3X43YB5uaTkbELZuyZCHWzGxga0MsIFhQDawNcwP8bhJNrA1OH5h26aAUeFtGNjAtpazAWH3to6zgWEwNlCRVKjLwga2C3y+fZQNbKdgA9sbYAPDgGxgO2DSb1/AE1x01UfavIPl6HPLoGig2cCWQB8iC++OlsdD5MuODChsR2b0iciXHRnYABB1+zsC83Any9mAsHUnhjzcmYkN7GyADQwFsgEP5odKo/cGPHD8wuYXMCrsM7CBmOVsQNgdc5wNDIWxAd/YvYF44PPCKBuIK9hAoQE2MBTIBuLApC8s4AkuuuojbS6yHH3uFBQNNBvYCehDZOEttjweIl+KGVBYMTP6RORLMQMbAKJuvxiYhwnL2YCwNcGQhyVMbKDEABsYAmQDpTA/FBplA6Xg+IVtlwJGhXdhYAO7Ws4GhN27Os4GhuB+lMMYG9gt8PnuUTawm4IN7G6ADQwBsoHdgEm/ewFPcNFVH2nzHpajz0RQNNBsIAH0IbLw7ml5PES+7MmAwvZkRp+IfNmTgQ0AUbe/JzAPu1vOBtbZypCHezGxgb0MsIHBQDawN8wPiVKTbGBvcPzCtk8Bo8L7MLCBfS1nA8LufR1nA4NxP8qRUKjLwgZ6BD7fL8oGeijYwH4G2MBgIBvoAUz6/Qp4gouu+kibe1qOPrsHRQPNBroDfYgsvL0sj4fIl14MKKwXM/pE5EsvBjYARN1+L2Ae7m85GxC27s+QhwcwsYEDDLCBS4Bs4EDclTGjbOBAcPzCdlABo8IHMbCBgy1nA8Lugx1nA5fgfq7WGBvoHfj8kCgb6K1gA4cYYAOXANlAb2DSH1LAE1x01Ufa3Mdy9Ll/UDTQbGB/oA+RhfdQy+Mh8uVQBhR2KDP6ROTLoQxsAIi6/UOBeXiY5WxA2HoYQx4ezsQGDjfABi4GsoEjcPcGPJNs4Ahw/MJ2ZAGjwkcysIGjLGcDwu6jHGcDF8PYQKmnUJeFDRwd+PyYKBs4WsEGjjHABi4GsoGjgUl/TAFPcNFVH2nzsZajz8OCooFmA4cBfYgsvH0tj4fIl74MKKwvM/pE5EtfBjYARN1+X2AeHmc5GxC2HseQh8czsYHjDbCBi4Bs4ATcXmj0t4hPAMcvbCcWMCp8IgMbOMlyNiDsPslxNnARjA0UG/st4pMDn5dF2cDJCjZQZoANXARkAycDk76sgCe46KqPtLnccvR5XFA00GzgOKAPkYW3wvJ4iHypYEBhFczoE5EvFQxsAIi6/QpgHiYtZwPC1iRDHlYysYFKA2zgQiAbSOHukxt9w2gKHL+wnVLAqPApDGzgVMvZgLD7VMfZwIW4bxEbe8Nov8Dnp0XZQD8FGzjNABu4EMgG+gGT/rQCnuCiqz7S5tMtR5/JoGig2UAS6ENk4T3D8niIfDmDAYWdwYw+EflyBgMbAKJu/wxgHp5pORsQtp7JkIdnMbGBswywgUFANnA2zA+VRu8NnA2OX9jOKWBU+BwGNnCu5WxA2H2u42xgEO4No8buDfQPfH5elA30V7CB8wywgUFANtAfmPTnFfAEF131kTYPsBx9nhkUDTQbOBPoQ2ThHWh5PES+DGRAYQOZ0SciXwYysAEg6vYHAvPwfMvZgLD1fIY8vICJDVxggA1cAGQDg2B+SBWZZAODwPEL24UFjApfyMAGLrKcDQi7L3KcDVwAYwNeuUJdFjZwceDzS6Js4GIFG7jEABu4AMgGLgYm/SUFPMFFV32kzYMtR5/nB0UDzQbOB/oQWXiHWB4PkS9DGFDYEGb0iciXIQxsAIi6/SHAPBxqORsQtg5lyMNhTGxgmAE2cD6QDQyH+aHU6JNCw8HxC9uIAkaFRzCwgUstZwPC7ksdZwPn4743YOxJocsCn18eZQOXKdjA5QbYwPlANnAZMOkvL+AJLrrqI20eaTn6HBoUDTQbGAr0IbLwjrI8HiJfRjGgsFHM6BORL6MY2AAQdfujgHk42nI2IGwdzZCHVzCxgSsMsIGBQDYwBndvwOg7hcaA4xe2KwsYFb6SgQ1cZTkbEHZf5TgbGIh7UsjYO4WuDnx+TZQNXK1gA9cYYAMDgWzgamDSX1PAE1x01UfafK3l6HN0UDTQbGA00IfIwjvW8niIfBnLgMLGMqNPRL6MZWADQNTtjwXm4XWWswFh63UMeXg9Exu4PtDVJDIe0BFrS9huKGBU+AYGZDzOcmQs7B7HgIxVuiIKg9C1LtgHwIIDjbfJBXse04K9sYBR4RsZFuxNli9YYfdNDi3YmyxfsOh4hw3NvPoDr7fdDPSfySJ1cwFPkbqlgFHhWxiK1K2WFylh962GipSXXltXTG5loPnXAWOEjPdtltN8UehuY6BXt1tOK4XNtzPYfQcTrbxDcbkW7RPumCHW+G0Ml2aQAOc2YO2404E1dCfDGrqLaQ3dpbhRi/bJnY4A3OzmuLnulmz2S+KxWCIuzitJen5hsiJWEoslywu9Cq+sIlZZWuiXpgpjhfGKZEU5zVnmp7xUWUVpquTfuUwC3LuZAO49BYwK38MAcO+1HOAKu+9luqEsNtW6WfzJJi84L82mUBe2AOVEHi8XTHSVvxe468pVXla6hjpXVOOcdQtlfC0usVTn9PHABXgf0+4p5h1Wy1zwxetgfS/llca8Mi9RUZwoL03GykvKUvFUUTwZr61fq0t2pF/vZ/Lr/YFf62etf0gj2mwuRnLxfCAo0g+KNchRMMYz7H7jLac9tV0cXg3sTlfHhyynKiIxH2KgKg8zFYWHNcXWS6/5DzL54hEmXzySxsZTnc5cebFF5/9qTamoRj+2HOja2e46IDa+hxhqKTDePtKHAlTUzVIznKwa+qC6nJLn5KjfKJ/IAOtRHcPx0mv+Q0wF8VENw6lmGr+6vyN0fpShMGzdmYf+1q9hzGoCZNK1+bECOwsMMhZyXj4mbdS1jU91PkfG53H5umU8TmsjmfBTyVS8KFEaK/eL48XFqcJUorikMJkqKixLJir9wrJ4rLQy4aX8ksrKRFG8IlGcKk1WFKfkou0n4/HCZGl5hV8UKy4r90qS8TIvVZiIE/lNxhPJZLykuLgsHk8Wl6RKSomwEg0u8YoSiVKvOBYvjXHF53GJaaI2hequbMhzurIpPOHipvAE86bwBMOmsG1nOzaFKpM4se7LJylk0XnS0k0BGQs5L58EbArVXeZDxucpSzcFrvg89f/o8uOE4PLj06rLj156rcpr/8j7IOnOBbyUyfK0UehD9NNfXD5Md65nLI+HWDDPMGzszzKBnGcZL4s+zeSL55h88RzjZVGuvNihs92XRblyYEdmu7302roN+RmGy6LAePtIH/5/uSw6gYkBP8/JgJ9hKojPMzJgofPzDIXB7+zGZdFngKDohQI7CwwyFnJevmDgsigyPi8CGbBctNNlwFzxeVERn5puhNVdBkXG5yWm+vkSwA/VXalB+uFlJj+8vAmXyW3eyBXqwvJYBgmvuAgSXmEGCa8wgIR4ZzMgIc2nY6FF7lXgXEiQgIyFnJevbgJISPcpW2R8XivAbexIkMAVn9cAm2M1zb8O+KXz12H1s4TlisO9BeorDsgrrunO9YblV29FjN9g2G/eZNp7xbzh121Oy9q4of5mOB/a3xNb26/jW2ggiS5yYdKiklXM9RbDpcu3gDq+DQwK8+Lx/5cXz9voxeNKxX/H8q9vCJvfYbB7ItNON7Fg/dsaOL4OxHGvBomc3rU8nwTSfpchn95zYB29x2D3+0zr6H3NOvLSa2w1pbTz/2YO7NIZv8FnZeGfFfoAyOqAsfaR/pPX0AcZ1sWu44fcwBHBkoSSNb3v6NXA8HR1/Oh/YGFm2BvfIvwIuQhdrZafORCoSZlAef4XDgTq40ygPH+yA4H6JBMoz5/qQKA+zQTK8792IFCfZQLl+dMcCNTnmUB5/nQHAvVFJlCeP9OBQH2ZCZTnz3IgUJMzgfL82Q4EakomUJ4/14FATc0EyvPnOxCorzKB8vyT6zvA9TKB8vxFDqyobzKBols9DqyoaZlAef5SB1bUt5lAef5yBwI1PRMoz1/pQKBmZALl+asdCNTMTKA8f40DgfouEyjP/8mBQM3KBMrz1zoQqO8zgfL8Xx0I1OxMoDz/dwcCNScTKM//04FAzc0EyvP/diBQ8zKB8vymDlzrm58JlOfXaWO/jgsygfL8eg4EamEmUJ7fwIFALcoEyvMbORCoxchAie+nNcsy8869Oll459qup/z+viUUuHUOb55xuBE9/9PqgRXu0AA3V540V7rf6FxagA1K+JVmMW/niE/rgn26FPjN1mVMflgW+EEs4hZZ6kWM9svnONrkfwuY699faEql9dbTqvQLO7Jflxf8+++KgiAIYTBWKJIS/XVrLufXMsFj4TvulwMXy4oCnqRAf6V+OdMre8GbQxyYM3FAzvzHfyuZ3hmzUrEO0bFfJb/9tLjc9xJl8cpEqryoLBkrrSyNJxOVlcVFZWVl5WWlZRU0Y6q8tDyZLCsropOLiv1UYcIrLC/ySwoLK4TepwsfBPOJuefQQfGVexdFtLqBTdHWHRNvttccrGRY086gUzRSWAncFFYzIajVQbFwNWFXO5CwSwscSdjVwIT9gSlhf3A8YX9wIGGhL7thDpQbTmDScU1BJlBOvPHnx0yg3Hjjz0+ZQLnxxp+fM4Fy440/azOBcuONP79kAuXGG39+zQTKjTf+/JYJlBtv/Pk9Eyg33vjzRyZQbrzx589MoNx4489fmUC58cafvzOBcuONP/9kAuXGG3+yNssEyok3/tTJBMqNN/7UzQTKjTf+1MsEyo03/tTPBMqNN/40yATKjTf+NMwEyo03/jTKBMqNN/40zgTKjTf+NMkEyo03/jTNBMqNN/40ywTKjTf+NM8Eyo03/rTIBMqNN/60zATKjTf+tMoEyo03/rTOBMqNN/602Qyvo1LRdL+Elw1TNOa5mlDZm9mvY44rCdUWl1C+qwnV1oGEaudKQrXHJVTM1YRq70BCdXAloXJxCRV3NaFyHUioPFcSKh+XUIWuJlS+AwnV0ZWEKsAlVJGrCVXgQEJt5kpCbY5LqGJXE2pzBxKqkysJ1RmXUAlXE6qzAwnVxZWE2gKXUCWuJtQWDiRUV1cSqhsuoUpdTahuDiTUlq4k1Fa4hCpzNaG2ciChtnYlobbBJVS5qwm1jQMJtW3mpqvn71/Pfh23c2Xlb49b+UlXE2p7B1b+Dq4k1I64hKp0NaF2dCChdnIloXbGJVTK1YTa2YGE8rgSqi44oZBGp7J4jEbbDPwZAv8UJpvRv7N1KtB/04A/pTKjvpmc8dJrfj+g/2aBbUavj+8o+T6vj51P/PwOusielsWTO2g9T3dEzzMc0fNMR/Q8yxE9z3ZEz3Mc0fNcR/Ts74ie5zmi5wBH9BzoiJ7nO6LnBY7oOcgRPS90RM+LHNHzYkf0vMQRPQc7oucQR/Qc6oiewxzRc7gjeo5wRM9LHdHzMkf0vNwRPUc6oucoR/Qc7YieVzii5xhH9LzSET2vckTPqx3R8xpH9LzWET3HOqLndY7oeb0jet7giJ7jHNHzRkf0vMkRPW92RM9bHNHzVkf0vM0RPW93RM87HNHzTkf0vMsRPe92RM97HNHzXkf0HO+Invc5ouf9juj5gCN6PuiIng85oufDjuj5iCN6PuqIno85oufjjuj5hCN6PumInk+B9UR/6emL+jzPj0+w3O4vmex+2nK7JzPZ/Yzldk9hsvvZLJ46VBes53MAX1amRKtIfVvfjdr7fJYber7giJ4vOqLnS47o+bIjer7iiJ6vOqLna47o+bojer7hiJ5vOqLnW47o+bYjer7jiJ4THdHzXUf0fM8RPd93RM8PHNHzQ0f0/MgRPSc5oufHjuj5iSN6fuqInp85oufnjuj5hSN6fumInpMd0XOKI3pOdUTPrxzR82tH9PzGET2nOaLnt47oOd0RPWc4oudMR/T8zhE9Zzmi5/eO6DnbET3nOKLnXEf0nOeInvMd0XOBI3oudETPRY7oudgRPZc4oudSR/Rc5oieyx3Rc4Ujeq50RM9Vjui52hE9f3BEzzWO6PmjI3r+5IiePzui51pH9PzFET1/dUTP3xzR83dH9PzDET3/dETPvxzR829H9PyHSc+6YD2F4eFc6X7v5j1HfoOmDtDmVxz5fkzdOm7oWc8RPes7omcDR/Rs6IiejRzRs7EjejZxRM+mjujZzBE9mzuiZwtH9GzpiJ6tHNGztSN6tnFEz2xH9MxxRM+2jujZzhE92zuiZwdH9Mx1RM88R/TMd0TPjo7oWeCInps5oufmjujZiUlP9DXKzsBrlGsK3LC5C9DmHx2xeQugzT85YnNXoM0/O2JzN6DNax2xeUugzb84YvNWQJt/dcTmrYE2/+aIzdsAbf7dEZu3Bdr8hyM2bwe0+U9HbN4eaPNfjti8A9Dmvx2xeUegzf84YvNOQJuzNnPD5p2BNtdxxGYPaHNdR2z2gTbXc8TmGNDm+o7YHAfa3MARmwuBNjd0xOYioM2NHLG5GGhzY0dsTgBtbuKIzSVAm5s6YnMp0OZmjti8C9Dm5o7YvCvQ5haO2Lwb0OaWjti8O9DmVo7YvAfQ5taO2Lwn0OY2jtjcHWhzjiM27wW0uZ0jNu8NtLmDIzbvA7Q5zxGb9wXa3NERm3sAbd7MEZv3A9rcyRGbewJt7uKIzb2ANnd1xOb9gTZv6YjNBwBt3toRmw8E2rytIzYfBLR5O0dsPhho8w6O2NwbaPNOjth8CNBmj8lm9HPmfRx5Hv5QR/Q8zBE9D3dEzyMc0fNIR/Q8yhE9j3ZEz2Mc0fNYR/Ts64iexzmi5/GO6HmCI3qe6IieJzmi58mO6FnmiJ7ljuhZ4YieSUf0rHREz5Qjep7iiJ6nOqJnP0f0PM0RPU93RM8zHNHzTEf0PMsRPc92RM9zHNHzXEf07O+Inuc5oucAR/Qc6Iie5zui5wWO6DnIET0vdETPixzR82JH9LzEET0HO6LnEEf0HOqInsMc0XO4I3qOcETPSx3R8zJH9LzcET1HOqLnKEf0HO2Inlc4oucYR/S80hE9r3JEz6sd0fMaR/S81hE9xzqi53WO6Hm9I3re4Iie4xzR80ZH9LzJET1vdkTPWxzR81ZH9LzNET1vd0TPOxzR805H9LzLET3vdkTPexzR815H9BzviJ73OaLn/Y7o+YAjej7oiJ4POaLnw47o+Ygjej7qiJ6POaLn447o+YQjej7piJ5POaLnBEf0fNoRPZ9xRM9nHdHzOUf0fN4RPV9wRM8XHdHzJUf0fNkRPV9xRM9XHdHzNUf0fN0RPd9wRM83HdHzLUf0fNsRPd9xRM+Jjuj5riN6vueInu87oucHjuj5oSN6fuSInpMc0fNjR/T8xBE9P3VEz88c0fNzR/T8whE9v3REz8mO6DnFET2nOqLnV47o+bUjen7jiJ7THNHzW0f0nO6InjMc0XOmI3p+54iesxzR83tH9JztiJ5zHNFzLpOedcF6zpP0TPe3FpYU8NjcBWzz/A1tjqdhs/9OAW6u9woisUjWfq5JBRvF1a/tXB8XKHLEq91cnxQo882rzVyfqufyS1M1n+uzgirXQUlN5/q8QLOmEjWb6wvdXCWFqZrM9WVBNWu9cNPnmlxQbd0o2tS5plQ/V3GJt2lzTd2UufwSb1Pm+mrT5vKLEtXP9fWmzlVSVFHdXN9s+lzJWEI/17SazFUSj+nm+rZmc8UrE1XPNb2mc5UUJqqaa0bN5ypJlKjnmlmbuWhENdd3tZurtDi18VyzajkX6eVF5/q+9nP5hbEN55qdzlzxSk+ea056c/mpwvVzzU13rqLSWDjXvPTnilemAmwCmSslZvMXgOai2fyFgLlCnLiICSd2Dv4Fze0vqIPDY6Pa4PDY6DY4PHZFGxweG9MGh8eubIPDY1e1weGxq9vg8Ng1bXB47No2WTA8NrZNFgyPXdcmC4bHrt+0uTYJj92wqXNtAh4bt+lzVYvHbqzJXNXgsZtqNpcWj91c07k0eOyWms9VJR67tTZzVYHHbmuDw2O313IuFR67o/ZzbYTH7kxnrggeuyu9uTbAY3enO5eEx+5pg8Nj97bBYCgx1/g2ODx2H2CuEI/d3wZ3DWuxI9huIfAa4ANtcDjxQSBOfAiIEx8G4sRHgDjxUSBOfAyIEx8H4sQngDjxSSBOfAqIEycAceLTQJz4DBAnPgvEic8BceLzQJz4AhAnPp6Dw4lP1GauKnDik7WbS4kTn6rlXCqcOKH2c22EE59OZ64ITnwmvbk2wInPpjuXhBOfy0HgsWAN5WCw3bo1BJpL4MQXAXOFOPGlHDew3SIgtns5B4ftXsnBYbtXc3DY7rUcHLZ7PQeH7d7IwWG7N3Nw2O6tHBy2ezsHh+3eycFhu4k5OGz3bg4O272Xg8N27+fgsN0HOThs92EODtt9lIPDdpNycNjuYyC2+wSI7T4FYrvPgNjucyC2+wKI7b4EYrvJQGw3BYjtpgKx3VdAbPc1ENt94wi2WwzEdtOA2O5bILabDsR2M4DYrm5HHLar1xGH7ep3xGG7Bh1x2K5hRxy2a9QxC4btGnfMgmG7Jpsy1yZiu6abNtcmYbtmmzrXJmC75ps+V7XYrkVN5qoG27Ws2VxabNeqpnNpsF3rms9VJbZrU5u5qsB22R1x2C6nlnOpsF3b2s+1EbZrl85cEWzXPr25NsB2HdKdS8J2uR0RGOrfufI6YvCYmCu/Iw7bdQTMFWK7go5uYLslQGy3WUccttu8Iw7bdeqIw3adO+KwXRcgttsCiO26ArFdNyC22xKI7bYCYrutgdhuGyC22xaI7bYDYrvtgdhuByC22xGI7XYCYrudgdjOA2I7H4jtYkBsFwdiu0IgtisCYrtiILZLALFdCRDblQKx3S5AbLerI9huKRDb7QbEdrsDsd0eQGy3JxDbdQdiu72A2G5vILbbB4jt9gViux5AbLcfENv1BGK7XkBstz8Q2x0AxHYHArHdQUBsdzAQ2/UGYrtDgNiuDxDbHQrEdocBsd3hQGx3BBDbHQnEdkcBsd3RQGx3DBDbHQvEdn2ZsF1u8C9obn8ZENsdB8R2xwOx3QlAbHciENudBMR2JwOxXRkQ25UDsV0FENslgdiuEojtUkBsdwoQ250KxHb9gNjuNCC2Ox2I7c4AYrszgdjuLCC2OxuI7c4BYrtzmfbevOBf0Nz+8jq4Oru6Ha7O/tAOV2fXtMPV2R/b4ersT+1wdfbndrg6u7Ydrs7+0g5XZ39th6uzv7XLgtXZ39tlwersHzWfq8o6+2dt5qqizv7VDldn/67lXKo6+0/t59qIQ2e1x3HoOunNtQGHrpvuXBKHrpf+XP/h0PUhc/3LoRuA5hIcuiFgrpBDN2rvxv2RFUAO3bg9jkM3aY/j0E3b4zh0s/Y4Dt28PY5Dt2iP49At2+OwXav2OGzXuj0O27Vpj8N22e1x2C6nPQ7btW2Pw3bt2uOwXfv2OGzXoT0O2+W2x2G7vPY4bJffHoftOrbHYbuC9jhst1l7HLbbvD0O23UCYrvOQGzXBYjttgBiu65AbNcNiO22BGK7rRzBdiuB2G5rILbbBojttgViu+2A2G57ILbbAYjtdgRiu52A2G5nILbzgNjOB2K7GBDbxYHYrhCI7YqA2K4YiO0SQGxXAsR2pUBstwsQ2+0KxHa7AbHd7kBstwcQ2+0JxHbdgdhuLyC22xuI7fYBYrt9gdiuhyPYbhUQ2+0HxHY9gdiuFxDb7Q/EdgcAsd2BQGx3EBDbHQzEdr2B2O4QILbrA8R2hwKx3WFAbHc4ENsdAcR2RwKx3VFAbHc0ENsdA8R2xwKxXV8gtjsOiO2OB2K7E4DY7kQgtjsJiO1OBmK7MiC2Kwdiuwogtks6gu1WA7FdJRDbpYDY7hQgtjsViO36AbHdaUBsdzoQ250BxHZnArHdWUBsdzYQ250DxHbnArFdfyC2Ow+I7QYAsd1AILY7H4jtLgBiu0FAbHchENtdBMR2FwOx3SVAbDcYiO2GALHdUCC2GwbEdsOB2G4EENtd6gi2+wGI7S4DYrvLgdhuJBDbjQJiu9FAbHcFENuNAWK7K4HY7iogtrsaiO2uAWK7a4HYbiwQ210HxHbXA7HdDUBsNw6I7W4EYrubgNjuZiC2uwWI7W4FYrvbgNjudiC2uwOI7e4EYru7gNjubiC2uweI7e4FYrvxjmC7NUBsdx8Q290PxHYPALHdg0Bs9xAQ2z0MxHaPALHdo0Bs9xgQ2z0OxHZPALHdk0Bs9xQQ200AYrungdjuGSC2exaI7Z4DYrvngdjuBSC2exGI7V4CYruXgdjuFSC2exWI7V4DYrvXgdjuDSC2exOI7d4CYru3HcF2PwKx3TtAbDcRiO3eBWK794DY7n0gtvsAiO0+BGK7j4DYbhIQ230MxHafALHdp0Bs9xkQ230OxHZfALHdl0BsNxmI7aYAsd1UILb7CojtvgZiu2+A2G4aENt9C8R204HYbgYQ280EYrvvgNhuFhDbfQ/EdrMdwXY/AbHdHCC2mwvEdvOA2G4+ENstAGK7hUBstwiI7RYDsd0SILZbCsR2y4DYbjkQ260AYruVQGy3CojtVgOx3Q9AbLcGiO1+BGK7n4DY7mcgtlsLxHa/ALHdr0Bs9xsQ2/0OxHZ/ALHdn0Bs9xcQ2/0NxHb/MGG7usG/KD3r1MHhxJ/r8NhcL2Kzl17z19bB+a9DA9xceQ14/FcH7L9f6rih56+O6PmbI3r+7oiefzii55+O6PmXI3r+7Yie/ziipwAbLuhZxxE96zqiZz1H9KzviJ4NHNGzoSN6NnJEz8aO6NnEET2bOqJnM0f0bO6Ini0c0bOlI3q2ckTP1o7o2cYRPbMd0TPHET3bOqJnO0f0bO+Inh0c0TPXET3zHNEz3xE9OzqiZ4Ejem7miJ6bO6JnJ0f07OyInl0c0XMLR/Ts6oie3RzRc0tH9NzKET23dkTPbRzRc1tH9NzOET23d0TPHRzRc0dH9NzJET13dkRPzxE9fUf0jDmiZ9wRPQsd0bPIET2LHdEz4YieJY7oWeqInrs4oueujui5myN67u6Inns4oueejujZ3RE993JEz70d0XMfR/Tc1xE9ezii536O6NnTET17OaLn/o7oeYAjeh7oiJ4HOaLnwY7o2dsRPQ9xRM8+juh5qCN6HuaInoc7oucRjuh5pCN6HuWInkc7oucxjuh5rCN69nVEz+Mc0fN4R/Q8wRE9T3REz5Mc0fNkR/Qsc0TPckf0rHBEz6QjelY6omfKET1PcUTPUx3Rs58jep7miJ6nO6LnGY7oeaYjep7liJ5nO6LnOY7oea4jevZ3RM/zHNFzgCN6DnREz/Md0fMCR/Qc5IieFzqi50WO6HmxI3pe4oiegx3Rc4gjeg51RM9hjug53BE9Rzii56WO6HmZI3pe7oieIx3Rc5Qjeo52RM8rHNFzjCN6XumInlc5oufVjuh5jSN6XuuInmMd0fM6R/S83hE9b3BEz3GO6HmjI3re5IieNzui5y2O6HmrI3re5oietzui5x2O6HmnI3re5Yiedzui5z2O6HmvI3qOd0TP+xzR835H9HzAET0fdETPhxzR82FH9HzEET0fdUTPxxzR83FH9HzCET2fdETPpxzRc4Ijej7tiJ7POKLns47o+Zwjej7viJ4vOKLni47o+ZIjer7siJ6vOKLnq47o+Zojer7uiJ5vOKLnm47o+ZYjer7tiJ7vOKLnREf0fNcRPd9zRM/3HdHzA0f0/NARPT9yRM9Jjuj5sSN6fuKInp86oudnjuj5uSN6fuGInl86oudkR/Sc4oieUx3R8ytH9PzaET2/cUTPaY7o+a0jek53RM8Zjug50xE9v3NEz1mO6Pm9I3rOdkTPOY7oOdcRPec5oud8R/Rc4IieCx3Rc5Ejei52RM8ljui51BE9lzmi53JH9FzhiJ4rHdFzlSN6rnZEzx8c0XONI3r+6IiePzmi58+O6LnWET1/cUTPXx3R8zdH9PzdET3/cETPPx3R8y9H9PzbET3/cUTPrHpu6FnHET3rOqJnPUf0rO+Ing0c0bOhI3o2ckTPxo7o2cQRPZs6omczR/Rs7oieLRzRs6UjerZyRM/WjujZxhE9sx3RM8cRPds6omc7R/Rs74ieHRzRM9cRPfMc0TPfET07OqJngSN6buaInps7omcnR/Ts7IieXRzRcwtH9OzqiJ7dHNFzSyY964H13ErSM+4VFxZWJmKVftwv82Kl5SVFXmFReXGJX+IXlRQlYyXxeGVJYUmitLw04ZX6hfFKP1VUGk8Fk2U3wM3VtgGP/+qC/bc10H/LCrA2R21NV7/6NMfn9bHzfVsfv/a2cWTtbQvMndnAuMytb3ceNgTnYUOmPNyunt1+bAT2YyMmP25vuR8bg/3YmMmPO1juxyZgPzZh8uOOlvuxKdiPTZn8uJMj+/TOwH16ATAuiyzfp5uD87A5Ux56juShD8zDpcC4LLc8D1uC87AlUx7GHMnDODAPVwHj8oPledganIetmfKw0JE8LALm4U/AuKy1PA+zwXmYzZSHxZbj7BywH3OY/Jiw3I9twX5sy+THEsv92A7sx3ZMfix1ZH/ZBbi//AaMyx+W7y8dwHnYgSkPd7V8PeeC/ZjL5MfdLPdjHtiPeUx+3N1yP+aD/ZjP5Mc9LPdjR7AfOzL5cU/L/VgA9mMBkx+7W+7HzcB+3IzJj3tZ7sfNwX7cnMmPezuCv/cB4u+/gXHJauCG//YF+q8e8NmuBo74rwfQf42B/mvqiP/2A/qvBdB/rRrYvY90zcLuI2I+jn2kp+X7cTewH7sx+bEX0I/1gnU8L3BmiuQUklNJ+pGcRnI6yRkkZ5KcRXI2yTkk55L0JzmPZADJQJLzSS4gGURyIclFJBeTXEIymGQIyVCSYSTDSUaQXEpyGcnlJCNJRpGMJrmCZAzJlSRXkVxNcg3JtSRjSa4juZ7kBpJxJDeS3ERyM8ktJLeS3EZyO8kdJHeS3EVyN8k9JPeSjCe5j+R+kgdIHiR5iORhkkdIHiV5jORxkidIniR5imQCydMkz5A8S/IcyfMkL5C8SPISycskr5C8SvIayeskb5C8SfIWydsk75BMJHmX5D2S90k+IPmQ5COSSSQfk3xC8inJZySfk3xB8iXJZJIpJFNJviL5muQbkmkk35JMJ5lBMpPkO5JZJN+TzCaZQzKXZB7JfJIFJAtJFpEsJllCspRkGclykhUkK0lWkawm+YFkDcmPJD+R/EyyluQXkl9JfiP5neQPkj9J/iL5m+QfErEo6pDUJalHUp+kAUlDkkYkjUmakDQlaUbSnKQFSUuSViStSdqQZJPkkLQlaUfSnqQDSS5JHkk+SUeSApLNSDYn6UTSmaQLyRYkXUm6kWxJshXJ1iTbkGxLsh3J9iQ7kOxIshPJziQeiU8SI4mTFJIUkRSTJEhKSEpJdiHZlWQ3kt1J9iDZk6Q7yV4ke5PsQ7IvSQ+S/Uh6kvQi2Z/kAJIDSQ4iOZikN8khJH1IDiU5jORwkiNIjiQ5iuRokmNIjiXpS3IcyfEkJ5CcSHISyckkZSTlJBUkSZJKkhTJKSSnkvQjOY3kdJIzSM4kOYvkbJJzSM4l6U9yHskAkoEk55NcQDKI5EKSi0guJrmEZDDJEJKhJMNIhpOMILmU5DKSy0lGkowiGU1yBckYkitJriK5muQakmtJxpJcR3I9yQ0k40huJLmJ5GaSW0huJbmN5HaSO0juJLmL5G6Se0juJRlPch/J/SQPkDxI8hDJwySPkDxK8hjJ4yRPkDxJ8hTJBJKnSZ4heZbkOZLnSV4geZHkJZKXSV4heZXkNZLXSd4geZPkLZK3Sd4hmUjyLsl7JO+TfEDyIclHJJNIPib5hORTks9IPif5guRLkskkU0imknxF8jXJNyTTSL4lmU4yg2QmyXcks0i+J5lNModkLsk8kvkkC0gWkiwiWUyyhGQpyTKS5SQrSFaSrCJZTfIDyRqSH0l+IvmZZC3JLyS/kvxG8jvJHyR/kvxF8jfJPyRi865DUpekHkl9kgYkDUkakTQmaULSlKQZSXOSFiQtSVqRtCZpQ5JNkkPSlqQdSXuSDiS5JHkk+SQdSQpINiPZnKQTSWeSLiRbkHQl6UayJclWJFuTbEOyLcl2JNuT7ECyI8lOJDuTeCQ+SYwkTlJIUkRSTJIgKSEpJdmFZFeS3Uh2J9mDZE+S7iR7kexNsg/JviQ9SPYj6UnSi2R/kgNIDiQ5iORgkt4kh5D0ITmU5DCSw0mOIDmS5CiSo0mOITmWpC/JcSTHk5xAciLJSSQnk5SRlJNUkCRJKklSJKeQnErSj+Q0ktNJziA5k+QskrNJziE5l6Q/yXkkA0gGkpxPcgHJIJILSS4iuZjkEpLBJENIhpIMIxlOMoLkUpLLSC4nGUkyimQ0yRUkY0iuJLmK5GqSa0iuJRlLch3J9SQ3kIwjuZHkJpKbSW4huZXkNpLbSe4guZPkLpK7Se4huZdkPMl9JPeTPEDyIMlDJA+TPELyKMljJI+TPEHyJMlTJBNIniZ5huRZkudInicRv08vfvtd/K66+M1y8Xvg4re2xe9Yi9+IFr+/LH7b+C0S8Zu84vduxW/Jit9pFb+BKn5fVPx2p/hdTPGbk+L3HMVvJYrfIRS/8Sd+P0/8Np343Tfxm2ri98rEb4GJ39kSv2Elfh9K/PaS+F0j8ZtB4vd4xG/diN+REb/RIn7/RPy2yGwS8ZsY4vcmBPYTv5MgfoNAvN9fvDtfvJdevPNdvE9dvKtcvAdcvGNbvL9avBtavHdZvNNYvC9YvItXvOdWvENWvJ9VvPtUvFdUvLNTvA9TvGtSvMdRvCNRvH9QvNtPgE7xTjrxvjfxLjXxnjLxDjDxfi3x7irxXijxziXxPiPxriDxHh7xjhvx/hjxbhbx3hPxThHxvg7xLgzxngnxDgfxfgTx7gHxvX7xnXnxfXTxXW/xPWrxHWXx/V/x3VrxvVXxnVDxfUvxXUbxPUHxHTzx/TbxHS3xnSDxfRvxnQzxfQLxLLx4jls8gyye7xXAWTxfKZ7BE8+3iWegxPNF4hkU8fyEuPcv7luLe8LivqG45yXu14h7Deuuk5OI65Pi2pq4biWuvYjrB4IDC54kMH7df2FSlvjek2iprPUtKKHrsLsYJ4qaJb6XIr5TIb4PIJ5lF89hNyMRz8G2IBHPIbYiEc+BtSERz+GIZ0jE8w/i3n17EnHvVNz3E/esxP0Wca9AXOcW12jF9cVOJJ1JupBsQdKVRPCcLUm2ItmaZBuSbUm2I9meZAeSHUl2ItmZRJA3nyRGEicpJCkiKSZJkJSQlJLsQrIryW4ku5PsQbJn1r/cZy+SvUn2IdmXpAfJfiQ9SXqR7E9yAMmBJAeRHEzSm+QQkj4kh5IcRnI4yREkR5IcRXI0yTEkx5L0JTmO5HiSE0hOJDmJ5GSSMpJykgqSJEll1sZNrPuw3R/8227+XnnnTnqoh3zekuDfux/Z/PmO8+v2lceWasZWacZ+0IwJ3Cza3ltPOfbBOsN+ksfygrGVW3Trnt1nXbj/07w6Vc/pa8aKNWMlmrEjg7FTLlrQ/Nj73usvjx0djKn8WakZ6x+MfTzu8/cfHl2WlMcGasYu0Mx5kWZssGbOYZqxEZo5L9d8brRmbIxmzqs1nxurGbteM+eNms/dohm7TTPnnZrP3aMZG6+Z8wHN5x7WjD2qmfMJzecmaMae0cz5vOZzL2nGXtHM+brmc29pxt7RzPme5nMfasYmaeb8VPO5LzRjkzVzfqX53DTN2HTNnO3rVj3WTTMW04x114z11owdrxk7TTM2SDM2UjM2TjM2XjM2QTP2hmbsE83YdM3YYs3YWs1Y/XpVj2VrxjprxnbSjO2mGTtAM3aMZiylGRugGRuhGRurGbsnGFOto/s1n5ulGVuuGftdM9a4ftVj7TVj3TRjMc1Yd81Yb83Y8Zqx0zRjgzRjIzVj4zRj4zVjEzRjb2jGPtGMTdeMLdaMrdWM1W9Q9Vi2ZqyzZmwnzdhumrEDNGPHaMZODcZU6+gMzece1Iw9pxl7RzP2hWZslmZsuWbsd81Y44ZVj7XXjHXTjMU0Y901Y701Y8drxk7TjA3SjI3UjI3TjI3XjE3QjL2hGftEMzZdM7ZYM7ZWM1a/UdVj2ZqxzpoxLxhTraNCzefO0oxdohkboxm7RTP2oGbsOc3YO5qxLzRjszRjyzVjv2vGGjeueqy9ZqybZiymGeuuGeutGTteM3aaZmyQZmykZmycZmy8ZmyCZuwNzdgnmrHpmrHFmrFfgzHVOvpT87lEk6rHemjGDteMlWnGztaMDdaMXakZu1Uz9pBm7HnN2ETN2Jease81Yys0Y39oxpo0rXqsg2ZsS81YXDO2l2bsEM3YCZqx0zVjF2rGRmnGbtSM3acZe1oz9nYwplpH7+n82erff1XXTYs0Y3toxrprxvbWjO2rGdtfM3agZuxgzdghmrHDNWNHasZO0IydpBlLasZSmrGLgrGRXddkT3jkli3lseeCMeX+rhn7QjM2SzO2XDP2u2asceuqx9prxrppxmKase6asd6aseM1Y6dpxgZpxkZqxsZpxsZrxiZoxt7QjH2iGZuuGVusGVurGavfpuqxbM1YZ83YTpqxPYIxVY3cW/O5A4MxZX3RjB2qGTtcM3acZuwEzVi5ZiypGTtVM3aaZqy/ZmyAZux8zdggzdhgzdhQzdilmtiO0eTENZqx6zVzztSMzdLMOVvzubmaz83XfG6RZmyJZs5lms+t0HxuleZzazRjP2nmXKv53K+az/2u+dxfmrF/NHPWya76c/Wyq/5cA83nGmvGmmrmbK75XEvN51prPpejGWunmbOD5nN5ms911Hxuc81YZ82cW2g+103zua00n9tWM7a9Zs4dNZ/bWfM5X/O5YzWfuycYU+HB6Zo5F2vG1mrG6udUPZatGeusGdtJM7abZuwAzdgxmrGUZmyAZmyEZmysZuwuzdjjmrFXNGMfasa+1ozN14yt0Yyte9irirGWmrECzdh2mrESzdh+mrEjNGPJYEy1jk7VfO7cYEyFNc7TjF2gGbtQMzZcM3apZmy0ZmyMZuwazdhYzdgtmrHbNGN3aMbu0ozdpxl7QDP2iCa2T2ly4lnN2IuaORdoxhZp5lyi+dwyzedWaD63WjO2RjPnT5rPrdV87lfN5/7QjP2lmfMfzefqtKv6c/XaVf25hpqxxpo5m2o+11zzuZaaz7XRjOVo5myn+VwHzefyNJ8r0Ixtrpmzs+ZzW2g+103zua01Y9tq5txe87kdNZ/bWfO5mGasUDNnseZzJZrP7aL5XLnmc7cHY6o6eKdm7AHN2EOasUc0Y49pxiZoxp7RjD2nGXtBM/aKZuw1zdi7mrH3NWMfa8Y+1YzNDMZUeL59+3//VfIczVhMM9ZdM9ZbM3a8Zuw0zdggzdhIzdg4zdh4zdgEzdgbmrFPNGPTNWOLNWNrNWP1O1Q9lq0Z66wZ20kztptm7ADN2DGasZRmbIBmbIRmbKxm7J5gTPmMoOZzTwRjqvX3lGbsWc3Y85qx1zVjb2rG3tWMva8Zm6QZ+0QzNlUz9rVmbJpmbLpm7HvN2BzN2AJNbJdpcmKVZuxHzZxdcqse65pb9Zxbaj63teZz22o+t4NmbCfNnJ7mczHN5wo1n0toxko1c+6q+dzums/tqfnc3pqxfTVz7qf5XC/N5w7QfO5gzdghmjkP1XzucM3njtR87hjNWF/NnMdrPnei5nMnaz5XoRmr1Mx5iuZz/TSfO13zubM0Y+do5uyv+dwAzefO13zuLs3npgRjynqtGftWMzZDM9Y2r2o9t9CMeZqxPTRjB2nG+mrGTtWMna8Zu0wzdr1m7B7N2JOasdc0Y5M0Y9M0Yws1Yz9pxurmVz3WWjO2uWZsB83YLpqxXpqxozRjSc1Yf83YMM3YNZqxu4Ix5XcDNZ+bqRlbqhn7VTPWsGPVY201Y1toxjzN2B6asYM0Y301Y6dqxs7XjF2mGbteM3aPZuxJzdhrmrFJmrFpmrGFmrGfNGN1C6oea60Z21wztoNmbBfNWC/N2FGasVQwplpHp2k+d24wprz3ohm7WDM2WDM2VDM2XDM2UjM2WjM2RjN2lWZsrGbses3YbZqxOzRj92rG7tOMTdCMPaMZe0Ez9pJm7G3N2ETN2IeasUmasc80Y19oxqZpxqZrxmZqxmZpxuZpxhZoxpZo1uYqzZr+UTP2i2bOYzareiylGRugGRuhGRurGbtLM/a4ZuwVzdiHmrGvNWPzNWNrNGPrXr5SxVhLzViBZmw7zViJZmw/zdgRmrFyzdg5mrEhmrGrNGO3acYe1oy9oBl7VzM2WTM2NxhTraOFms8tDcZU9xG6dar6czHNWHfNWG/N2PGasdM0Y4M0YyM1Y+M0Y+M1YxM0Y29oxj7RjE3XjC3WjK3VjNXvXPVYtmass2ZsJ83YbpqxAzRjx2jGUpqxAZqxEZqxsZqxuzRjTwZjyveqaD73ajCmvOavGXtbMzZRM/axZuxTzdhkzdhUzdg0zdh0zdhczdh8zdhCzdhizdgKzdgqzdiPwZgqtr8FY6qc+EszVqdL1XNurRnbVjO2YzA2fe7Uw845+6JD5LGdu1StS6FmzkQVY8HXN9a9e0204Ot+/3lntniFjXhVRvfg/730mt9Emhc9f4lXVNgka8MG1j/eJGv9O/W4/BPOyTB/+LX2rH2GrZ8/aotoLYL/ryP5MvyM+NputvQZeY6sYI7oZ8NxTvtKvMLCcP76DPOLn/RuEdo4bGP/hWP1h234t+WxBtJYqKPwZ8eIfzjyS/YPT375635rtKqcEnZuJfkjmjd1Ij5g0tGvE/l7WZG/FdW7KWNMhEJ1In8v1Cfqn7Av3tMZPLqddUrlgH3OPmtA/7KKAfufdd6AsrMqKmUT5GlbK0yUXaA6J3pe9PwWivFQzWbS8UbDsjYwbd2/0rFwWYTLpLF8fmSsiTRWf9iGejUN/r++9HfkuUI9GkTOD/lS8C3WrIbSZ8LPt1b8/YaRv7+B3opjcgpF56qnOBaeL95+EjC8dX4Nt7n6w9bPh0rJRIkXvsHzP75vkLVhemZF/n6DyPnbB//fNGJvWPa611LPVKLMT8XLUmVFZclkYUVZdmR+2WfCT12CvtuwprA4A2v0DQVrWkjnibavNF+dyFgPxd9yG954sRyF/iqYUk9xXnSNR7ew6BaXVcUcqr2kSdbGceteO5v96IGonTrbwrEGEVtVdsufb5C1sd0NIvNHY5ql+Bv1qvisat66Gjuq+2wU1kbjGOrjwl7UOfj///ZetF3Qz+xF2hZn3itizDVUuRep6qluL1LRo32DMdU+Je9FURrFRCWLmOPkV0clO2etb7JfG2RVvY80iJwb7mcCX7eJ+K0Bj13FYWwbZm3cwrFG0t+uExlrrLCrjmIu1V4b2hSl4tHzovrIa6VRZEyV2zJfie7d4b/dg3+99Jqv0qOOQg8VVw0/48I+FnLU//Y+plp7oR0Ns6pee9X5//yg7/glaD/D1fQNxdVypfNE21ear05krIfib4Vj+w1T/23Rekpj9SNjvaSxBpGx/aWxhpGxA6SxRpGxA6WxxpGxg6SxJpGxg6WxppGx3tJYs8jYIdJY88hYH2nsP9fegv9vmbV+jIPftmKYn1oyR6F/+LeEv8+RfBDFX1FcxbQ+KqP7ZFaWe5enwz2XLk/3GVh+Rr+KAysvPG+vs5J9yvoP6Fd2xl7JZP/K886TrVGtvui43KLnRM+Lnt8qq+qdqU7Wxn9DdxOrdRWfF02FdpDVM5y7vkJXVTTC8xsozq+v0L9V1sbZ3cCMbb5OV51tDRXnN9DYJtvd0IxtMZ2uOtsaKc5vqLFNtruR5nPyefI5dRS+kcdVfjWU+3GdT3Q+bKw4X8WwWin81NiMbYU6XXW2NVGc31hjm2x3EzO2Fel01dnWVHF+E41tst1NNZ+Tz5PPqaPwjTyu8quh3C/W+UTnw2aK85sq7Gil8FMzM7YldLrqbGuuOL+ZxjbZ7uZmbCvR6aqzrYXi/OYa22S7W2g+J58nn1NH4Rt5XOVXQ7lfqvOJzoctFee3UNjRSuGnlmZsK9PpqrOtleL8lhrbZLtbmbGtXKerzrbWivNbaWyT7W6t+Zx8nnxOHYVv5HGVXw3lfoXOJzoftlGc31phRyuFn8LP6u78qa4MN4yMqXCU6ip208iYqk63yKp6jequLKquDjeIjKkws+pKfJPImGqvbBH5f3nttciqei26cAV6YPD//+0r0F7Qd/xOaoWpK8UNeeYvDedvxDO/8kqxbIvMb0ULr57K/VCn2t5tZX6ip4jZh0Wqu43Rvasxz98uju6VWRE/ZkX+ftMs1nz9z/UlFceW/RO9QyA/7F0vMlZ/2MZ2qB72DuMrP0Wl2puie6h8nS+8cxDdt0QL812+s8uJTcL6FcUHyPWfo9A/ese70bD1Pgj9mHmyuPZPFov82U6aK7o2wvUi4wb5yn+IHc86e0C/1IX79K8sG1CZ7H32gEq5CEQLntwaRM6Lfq6qi7/Rz9WP/H8DxXlZmr9V1bmh8S4Atp2D//9vA7aSoO84YCvNPPqmbyYefWstzSFaD+lv1YmMybf2o5t6T4WOqlv7oc6cj4XJQJAJ/BTmKPQP/5bwa0zyQbTARwEjU/4UbSpgDP9+0yzW9fIfwKi62VrVBhi8WFTc+qab3keVndEvWTag39lnHVZ57sDK8wbIZshT11eYGd2O6kf+nOo8OdXrZqmb6l54vch80RBEj0XvhUc/L9p/8164Kjzh+TW9Fy5/3oZ74TrbXL8XrrMtcy/8P017L1znQ8S98E25pirbHX0CtKbXk12A2ong///bUPuJoO801PaLYqagNtfexH1tRAW1VWtOrNk2WRueI+MC3d7OfO0zzgonfS/F9bKGwRH/cMRY9g8LvCX/VPcNm9EaO+tk4XL5v0Y5fN+L7ttZWW5RDk5aKnJEh0NV34JV3fuNYuuwdjXI0uOxulkb4xMZ7zSIHOsS/NtaMeem4GTVPQBxLHq9PnppUfVvOG/0WJQ3qb71q1sPNf070fwQrXvwr5dWi3kq7hfFgbr7Tjz3vGKb/IKX8O+buu+k4y+iRWPGc18u5um4QGOFf1TPO0Q5Q4h75TWteuaybuR8uR9+Xj5WHPzbWjFndE2rntmUj8lr2ovYFr2movo3nDd6LLqmZb2inFqOd/fgXy+95jPfQ/ZZ85H2mHD+Jjzz/weLN+Xxj6fivOHfaij9Hd1akT/bWBqXz+8hzblP0Fddy5PfztCqCtuzpP9vVsXfk+t5g8i5+0u6nBj0m0TOAfu5IvoMWFbEjmirpzgn1E34+Jqg30JxXpY0FvVJ9HmuZorPNono+t/a48K/3zSLNTb/2eN0zw6LFtZGwUlbK3zbRKF75/DDqmSOPpisekC+qUKB1orPNzX8d1QbRrPImOrhEHnRqXStHxmT/3bdyFg0QWV75AcVo+fxflVzPUgJ7/c1qEKvVtK4fH4q+Fcs9Ouk8+XPyLaqkjSqg3y+bHeoj+6B5CYK3TmIWiuFv+oodG0QOf9Mhb9UF1CaSvaIVn8Yhz2+J/QYJ+kRjVED6e/KdmVlbVpMVTmg+nJA66yN4x19IFxVC2SfR8Fy+HcaVnG+DBDk8wcF/wrfPBrRTyaS0Q0p+v/yWm4Ymaee4nM1ATii2f5Q1qjg/21+KCs87MLNj6uD/7fh1SThRUuR4+E6pXvxh5WdlTz7zP36VZ6RlD8dzWpda8ZgYWVJadIrTVWW+b4fS3qV1Vmoyli5OosWZr28KuTzw/kaRM6/JTyX5LagH70ULv89cd4jmvPqVPHvujkUx+oP2/CYarXIVSQ8P/zbTYdtrGM41kwak3cO0ZoH/y/7S54r1KNB5PwHg///zwskpM+En2+t+PuNI39/A70Vx6JVpJni/GaK80V87g7nC/6VbUfD/3V/MzK/fCyqW5g7HOuqsKgsUVGW8P3SQr+y0C+qbl21DfqOP6Fo7P33dXjmt+q2afRlOarPOH0LcBNeshfuoDy7qe24JnzL+n8b14TPFGZeHaptmeenszKvDvU2oarJX47eAKlkVb0jVPf6QttrWfvg///rr0EOBtyuZYmEqVrGU2ticdYHRzx1LZNt+U9+Rs6LfkZeZ/tK5+xbxTk9pHN6VHHOftI5+1VxTk/pnJ5VnNNLOqdXFefsL52zfxXnHCCdc0AV51T15Wb5nIOkcw6q4pyDpXMOruKc3tI5vas45xDpnEOqOKePdE6fKs45VDrn0CrOOUw657AqzjlcOufwKs45QjrniCrOOVI658gqzjlKOueoKs45Wjrn6CrOOUY655gqzjlWOufYKs7pK53Tt4pzjpPOOa6Kc46Xzjm+inNOkM45oYpzTpTOObGKc06SzjmpinNOls45uYpzyqRzyqo4p1w6p7yKcyqkcyqqOCcpnZOUzqknnVMpnVMZOYf5C9nMNT3m6x6A4/3+WixWJ/L3srKylDe8w7/fNItz/1x/w1v1IKHsn+gDx/LV2jqRsfrDNrZD9TCy/Br3faTzorkV5QsyJ0gO23BMxpJh3or5e2dtqK98XvTeVVbWxg+xcfi/xCsu5s119S/91ZP8KVp9aSz6euhNiZdo50vnmXnwfr3vmH4l0df9jFCYK7bfIzw4+H+b7xHuF/TDe18LwvOzONfG+gfezD/c62ce7tWr49TDveEzTKqHe6NfrqzJw73HRGyTY1Onin/DeaPHos9xyb6p6uFebEwLtTGtp9An6rOGVZwffdA0PF9+dmpZFXPKuVB3E+Y8XdKlX9DXfelT/Dso8rcbV/O360X+dnj+AGnOs6qYs041c26qT+tWYX//4F/x91ZG7Fd9yVYcO19zXgPNedX5k/kuW2EUG9fL2hgby38/+lLIcFz1bzhf9Fh0nTZW+ID5QfD/2N2sGrujL2BuLtlQLzKH6vzog/LR+aMvCg4/L/88oarWsj6IT5tTtP5fGfwr4nN5FTpnZW28n0Z1lP3V8P/au5rQyLIqfG8qlU7SqaSSTgvDICr+LQbGeqkknfgDUWYYZBYiPaIgIt1JOjQ4oemZhRsx6EZBUFB0rYKCzFIQBR1kFMVZqOjKhRtXCiLCiAtHmH7hnqqvvvrurVeddyuVTD8Ir/Leeff83nP/zrk3As8xdQb/1XBHX6dsCOPdjG4Ve8sbxvOm4Xvh/84ZLxVsX2P5xSif8w3CuwTyrSJ/g/82lPlNkivWfe6voO/ChAfeZNW5s/sSjAvlfskyfKP45n4fbsJbZ5/c6LHxCtb1tqCH43+/S3ytgXwaxCvLv/xbFXhxLWiO8K4S3rKe/Dv85kQPtr3vE24V87xUgeefQZk/CL9VXPwVeody6I1Bqex69Vsk4+HR3mLx8C+Feynn18JvNceBG+OX1+xJFn6Kko7/Ah1cZ5uAF/lyrs83wo8bs89xz1hHOL5bJbWk2iL7PtYWoa9E+J+Eu2qLcNzBCUiqbOWjlUyWxbdcp+ci8G3iw+B/IfjgMtF+UfazkTJfAVp+6Qb5R71i//kPEdzIf0Pwwz4w1tdfJVoN/jdumP8FN+wT65ybN5qvAU0NohPxNwn+VaD5tYgcUG6qvWQaEH5NyM38KcrdvlW6NTjUrSqDfXIemRfdluDXEf3rgn57dx3e8cEceDXof+TpNKbH98tlOKYHbWEdymcZcjuW8sOrgsdUHVoVeLgO/RX4Y1/YitAZow/9GvvqtqBvKUGfwf9N0NdKfI/9lmmPFfpH+P+8Y4XOOyq8bvwbOzvbuxu3O5s3DvbvHGx2J41/e3O72Nm5tbO/vX9nd3P/9qTxT1O2y/8M9sHf/8PvUdkuSz4O5yP30zLEs9mTwWfTnu2yEAqY5myXmfDRNGa7mO3E1upyxRRbO2f6xPE512vn+u2cwb/T93lY83GafX007zDNM4BDzR+rNcca6enJcA5k6AVOnmcw+Mf9IF3W/qMemqIcezcv8GI/hnU3T3hxbsUTjkWn7SG10W19st0Y2sS3GZGJT9DjXH11u0n0vANk+F7w/1jnUZ6lzt+dgJtNwCFPPV/n6m+H93e37+x2u7eL7u7B4W6xPaodfgHqPb6r26/mjdne3rrYMdvFxkWJ2W4AzFMA81QE5mmAeToCE4vZRphnAOaZCEwsZhthYjHbCBOL2UaY1IFUBhOL2UaYWMw2wsRithEmFrONMLGYbYSJxWwjTCxmG2FiMdsIE4vZLt9f7HjaonN+8bTV46jebPG0BcCxbaXiac1+VTyt2W1Z/gfdIL1YRmpuNW9M6NZW5rark2sz5oLkkydncStzzmLRSeUsmj3Y3IVzeo7AZHReMbMfCP9Pc8zsZvht4/AnfZ9mtn9Pv9WmzMo3td1o35FrE2FPeJo14lFj1Lzxvv2Yqnmgs+GG6wqP/XGs0qAyFDy3s1z+wmT4HYr1xPkadfhp5pitTZ5T+FK4l7R8jGQ4Ske89rIoZI4wHM86KsYLY1MR/rlwL+nb9INyy7MhZj9eQ8VFoR3y5qsG/ymg+YbXcnAu3WdgGhAe+TZ61KEvS/Qdrm1xXKIqm/eNVOVwDFvm2Lbe/GIL5OUTtKvYnhrp6dmKxVbgPN+KoIfjRo6ILltfRduI7eVZ/rUF3lWhH14DNbyl/bw/YqNXna6rvEafZV/MB0tOLZIVXirGgPc8bEfkxleD/keeSvl8yPfLZTimR8Vz5d1QuO+vcH9Q5a/YBg3+ReD1BvGqxmiTiC/7pB+Ua2r/0KobF7OcEB51YzJTMQsce6b27vRu2K+rNpV9MMb7K3grj9coTsK9pPt5P0ifmocvv7O+QOqgPE//j+obZM5NOMw7r9KPm/ZCFiXOr0TkEtuvl9eUDN7WdjAePfP8cK/dxHyvRgQn0pNp0/Gez1L5DVcFPZx/8C03qIuev3La9zUIfkngVbHi3LczvNhuNgQOzIfJqtuin9OpcnAy583sesJn8sBniH/Rad3s1UNPwXaF+kH5WN3EzeyR7qagvff9iosr3NM7JKAhCGi7uLFOCk/mTb1yb1i0oYzcu7wNgw3iSyf+Q8KrTslSjQqfgvUSlPmj8HvUKSGMcyaCkxvpPJ3RvmM3J44OVgVz8oD/x25Qltb5R8d+RZTDDQHi5aQAxNsivOjY1SEMPGGnOp+q08b0xTp5sU76T4E+6+QtCP5ydBpUkg7qYJloNvifA808EbIs5KYcNNOA8Mg3J/qkAo0VbpUczrjn3Hj8/8r1+WedZUom6+lMJWtUSQD5LdDMOlNJKCmdqaQNlayz4ob1xCefjtIZD1pUcHhKZwb/e9fnn3WGNOXQGSZ4KJ3Fklb+BDSzzpQOUjpTCSOrQm4qeWONyhqlM+6Uq6SllM4M/i+uz/9F0RkmSUxaZyjTNfpOJUia7PLKtNhoCX7s4oQdpFUl7HDgnSMZ4YU8jTvhhzK6BuWzLMdJymkJHlN1RLV1XEf+BfxNpv9QFJy45IT81gTtStfj6nMZ+H1YfabqBrffD6tP1U6l9GnwrwN/E9JnhyfWnZCfShBTuj4PffLiiuo/sj7V5lApfaq+Ykvg4b6iJWlMUp9McywJP9a/bQHNqYUDGz+dx8JBKjFd9U9SiemjxiAmM3Xw2BV6h+PIFuFRNucBpsriuhe4eaz9mLC5qnMd1pfAfrfxlHfSsRiaY4jNs8Q2jnl7RbvFRIrymj3Jwo+0W+zvsd1WndxkOSE8z5WVlzrwkoNtmqKslG3i5jtV5sIM/glhm6ruGN9VF2+mPYG3Gwq4bAm8551AO24C63kn8GKA47QnGt4MQGU9+0iCZu/qH39flkTDZ/0gXZNKNHwW/CwHAj1KNJTXUKLhx0GG96gdxzkuDGb+RAJuNgGHPNk3uRPuPw31+zNAzymswFfCfS4B5yP30zLEs9mTwWfTnnB/NxQwzQn3t6mfgbzXvSB/ipPKx2dMm9nOZdxIZNwE3g1oT/Fd3XpaEHzWVf6jA+RGX48OkDt7+Z0KB8j9muSYSuDMFK/SrdLuIf5JJXCqsb1KkirnuR4Pv48OX/zwvXvP3To6unt8dPNw//6D/1+4eXh8cHifu4NNKobfO4EKTZnhfAQOr1T4jBdlNsSzKjlbOfOZy8vKrppja/Cpsw2QXjWdx3lKuc9hmB+TN3WugNo7XC17LiS+46UApoVpbblhWbNdZIp33KzqSgz/YoTHvXroSeoS5TNDslNnUtR5toQqq4o9VS2Lp77RH+2Fe+eM1zk2WZXtbFqbLJ5Wx29VaGxsegXxqCn3SZWVWn5JyaaZwKP2i1kQ3+2Fe2e8q8sPqsStZ8qN3apqz4Z/UnHrqTatvNieFwWtbfGObVAtIS0KPBepLLNRldPEdWNG4JlJ4EmdfcJ9VHU3PPyM8Sia1f4GnAYw7v4G8wJP7v0NeKku1/4GnvDM14BH+aPy2gv3zhkvpRcO2c+Uw9NVU9DGX9mH/iw9V8vu+G1s2f0LUObt8LtKigsuqTgBz6kEBn9E8su17wNP4SGuzNMdu9x/xku1Eey7VGqD2gu7Se8wZAX1xRcvfaMsyu9ehXIZzi5lI9wPmhN8qHEf9/nUNJHyXZz3mxon8/zGXrh3znYVVfqWKG8e7zsBr9oN5QdSbapamsIpbPYDXwz3kq6X3aDsMqUldY0+lSOP/MbSb74c7qXs3+IH5aNSgNRYl2lAeOa7vFT6UYveqTqqUmDYp+J+FU7As081+K+Fu9pXI7dP5TQeleql9jhhXVoIW2l/XyeZqbOHlDzZx2AYIOtBnXGSOT2hZ+8Pm57wnXBHe1chcpM5c6izWdLxGNBR/sQw5CbgRb6c6/ON8A+bQtEmeK6f+D+WhTLn+Vc890fBx/YZ+l64l7J5nx+kD/lrE+2qzqt27Sq9Qx+CYc4T8uEHKqTXLt4rBmWg9orhtgvD+bmvg3Ywbl/HZDFuX6cOPzRP+Kal3mIYNdfb1Nlfzo2fYmiybbthXbJ9Y9kr9K5qneF+ItoLni32MtGofEZDlJvyGQ3BG/uMV8IdfUYr8T2O/6Y9dPZ34f/zDp3FZebMa2edzGPbIvP6VZfnglBW5f2P8BzfYX8Gv52H9wj/dyjzz+G3mkP39E6dB7oSkTm+U/Nrufd75PG+A34y7+dTeT7d8C8SrXXbbcqvqvFw5r5Lby9UNfZT89tlO7XshnWG9OH4x56ZbSn7je03Nko2aq6d2znUcWqOZZHeoY2kUqSsPl2N8MZzFjh+VX4C/QjC/zPcy/ftwJTCx35CrSurM6ZTY3v2E5x+vRf+75zt6tni8ggZtUhGBv+fcFdzIcq+1Ro604Dwah8u1S9eJnll2galN5ZeGSGvWJrk6wl5Kf5T83WjUhBTc0D4LeOO+ZZJ2eIo2bIt9s7KDvIcNU+Baymn351k4WdLjXdwfrAJeGP1BeGr6F/VF5WCynMYHt6xP0e8nNaq1npS+2GiL021PWpOnf35nBvPn6+DffB4Z1Sf8zKfofhW3+f3bVRvmgJfCfdkAs5H7qdliGezJ4PPpj2l4wnoC5TXNKZ0vCt8NI0pHWY705DSYWc3X/CUiomdiZZp7fpSpFTwPvM5dc3tcp2yuiboN1wln+b3Sn7fE37fPd6/f/j84fFQAsBHjw8OP29ZAI4ujpby9P+oiP6rbvpnIm0jqmmYiXRuMIqxbnl1Qk02nBnK7+BquiNeEC/LYFZ85yP/K7uLwfJzfKZWp6xM29AK6TU+eIRyHcrN0Sqt5ylf6uo6/F4nPnNEylt5VmebbvjinjFGJSF9vn76CqZF9ZDtMptZh2cmz1WiNVP0fwdHXxnK79lkplWMrrJJfMY2wG0S0sT1tGZab/VGdkBDg3AyjQijfB63pbP0vFEBVtmmveudDJf4jiPb+Rmf8ugEvJWFqzyqLNzwCuGvEGwuHV4TNBntbwDfTPVCYiggAA==",
3407
+ "debug_symbols": "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",
3446
3408
  "brillig_names": [
3447
- "get_note_internal",
3409
+ "get_contract_instance_internal",
3448
3410
  "decompose_hint",
3449
- "get_auth_witness",
3411
+ "lte_hint",
3412
+ "get_public_keys_and_partial_address",
3413
+ "notify_created_note_oracle_wrapper",
3414
+ "get_key_validation_request",
3415
+ "get_random_bytes",
3416
+ "random",
3417
+ "field_less_than",
3450
3418
  "build_msg_block",
3451
3419
  "attach_len_to_msg_block",
3452
- "pack_returns_oracle_wrapper",
3453
- "directive_invert",
3420
+ "get_app_tag_as_sender",
3421
+ "increment_app_tagging_secret_index_as_sender_wrapper",
3454
3422
  "directive_integer_quotient",
3423
+ "directive_invert",
3455
3424
  "directive_to_radix"
3456
3425
  ],
3457
- "verification_key": "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",
3458
- "artifact_hash": "74acc0382b362be946a173c5740463f2803bc3a9-0458562d0483cfeac82dcc1e3ecbd651-mega-honk-true"
3459
- },
3460
- {
3461
- "name": "sync_notes",
3462
- "is_unconstrained": true,
3463
- "custom_attributes": [],
3464
- "abi": {
3465
- "error_types": {
3466
- "17843811134343075018": {
3467
- "error_kind": "string",
3468
- "string": "Stack too deep"
3469
- }
3470
- },
3471
- "parameters": [],
3472
- "return_type": null
3473
- },
3474
- "bytecode": "H4sIAAAAAAAA/9VUyw6CMBBseURBOaiJ3kz8gyIYOJJ49x8akKMe8OKNT5eabbqpVRKlJkzSbEs3szNlW0oUKESPvAH9tGnIFdhBDCA6aN/tRgFr9hviQKs7JH/O0iQw+BtQ/5OfWtIvIPktnT+bAM+xVfzYi6w77UaIesKWZ/nPbHpe9fhc/MFnh32k1caghm+uIYci3RuYR4Y8iRlRd9prh/eV5YzJei7w++RVO67va/lrWIeafvmOFV/qrDMe1wmv+YFXVVrypcYv4KBzGnMvbGHe1wvY45yo3mjul/J0vZ0b0gNB8gCVxsvQjgYAAA==",
3475
- "debug_symbols": "ndLRCoMgFAbgdznXXUydlr1KjLCyEETDbDCid59FY210ozcHj/idA/Iv0MlmHmplejtBWS2gbSu8siZ0y5pB45TWaqjP13DbCkL7+2kUZmsnL5yHEtE8A2m6cGI0+F5pCSUp+PrIAOF4QuLJPZ7QaIIvt3CKi8NwSr8IYbQjmoJYCspTUJGAyGUOOEOfz+OMsF+0hvYpnBKNlkfO+tm0p9j51yj/Ejg628pudnLL4imGoVZhF8ZhbBj9Bg==",
3476
- "brillig_names": [
3477
- "sync_notes"
3478
- ]
3426
+ "verification_key": "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",
3427
+ "artifact_hash": "51138cca3416c965bb4ccec1358c0c804a4ada84-526bba47ae09428ece5fd936857db2a5-mega-honk-true"
3479
3428
  },
3480
3429
  {
3481
3430
  "name": "entrypoint",
@@ -4462,7 +4411,7 @@
4462
4411
  "name": "private_call_requests",
4463
4412
  "type": {
4464
4413
  "kind": "array",
4465
- "length": 4,
4414
+ "length": 5,
4466
4415
  "type": {
4467
4416
  "fields": [
4468
4417
  {
@@ -4646,7 +4595,7 @@
4646
4595
  }
4647
4596
  ],
4648
4597
  "kind": "struct",
4649
- "path": "authwit::aztec::protocol_types::abis::side_effect::Counted"
4598
+ "path": "authwit::aztec::protocol_types::abis::side_effect::counted::Counted"
4650
4599
  }
4651
4600
  }
4652
4601
  },
@@ -4761,46 +4710,29 @@
4761
4710
  }
4762
4711
  },
4763
4712
  {
4764
- "name": "start_side_effect_counter",
4765
- "type": {
4766
- "kind": "integer",
4767
- "sign": "unsigned",
4768
- "width": 32
4769
- }
4770
- },
4771
- {
4772
- "name": "end_side_effect_counter",
4773
- "type": {
4774
- "kind": "integer",
4775
- "sign": "unsigned",
4776
- "width": 32
4777
- }
4778
- },
4779
- {
4780
- "name": "note_encrypted_logs_hashes",
4713
+ "name": "private_logs",
4781
4714
  "type": {
4782
4715
  "kind": "array",
4783
4716
  "length": 16,
4784
4717
  "type": {
4785
4718
  "fields": [
4786
4719
  {
4787
- "name": "value",
4788
- "type": {
4789
- "kind": "field"
4790
- }
4791
- },
4792
- {
4793
- "name": "counter",
4794
- "type": {
4795
- "kind": "integer",
4796
- "sign": "unsigned",
4797
- "width": 32
4798
- }
4799
- },
4800
- {
4801
- "name": "length",
4720
+ "name": "log",
4802
4721
  "type": {
4803
- "kind": "field"
4722
+ "fields": [
4723
+ {
4724
+ "name": "fields",
4725
+ "type": {
4726
+ "kind": "array",
4727
+ "length": 18,
4728
+ "type": {
4729
+ "kind": "field"
4730
+ }
4731
+ }
4732
+ }
4733
+ ],
4734
+ "kind": "struct",
4735
+ "path": "authwit::aztec::protocol_types::abis::log::Log"
4804
4736
  }
4805
4737
  },
4806
4738
  {
@@ -4810,25 +4742,6 @@
4810
4742
  "sign": "unsigned",
4811
4743
  "width": 32
4812
4744
  }
4813
- }
4814
- ],
4815
- "kind": "struct",
4816
- "path": "authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"
4817
- }
4818
- }
4819
- },
4820
- {
4821
- "name": "encrypted_logs_hashes",
4822
- "type": {
4823
- "kind": "array",
4824
- "length": 4,
4825
- "type": {
4826
- "fields": [
4827
- {
4828
- "name": "value",
4829
- "type": {
4830
- "kind": "field"
4831
- }
4832
4745
  },
4833
4746
  {
4834
4747
  "name": "counter",
@@ -4837,22 +4750,10 @@
4837
4750
  "sign": "unsigned",
4838
4751
  "width": 32
4839
4752
  }
4840
- },
4841
- {
4842
- "name": "length",
4843
- "type": {
4844
- "kind": "field"
4845
- }
4846
- },
4847
- {
4848
- "name": "randomness",
4849
- "type": {
4850
- "kind": "field"
4851
- }
4852
4753
  }
4853
4754
  ],
4854
4755
  "kind": "struct",
4855
- "path": "authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"
4756
+ "path": "authwit::aztec::protocol_types::abis::private_log::PrivateLogData"
4856
4757
  }
4857
4758
  }
4858
4759
  },
@@ -4889,6 +4790,22 @@
4889
4790
  }
4890
4791
  }
4891
4792
  },
4793
+ {
4794
+ "name": "start_side_effect_counter",
4795
+ "type": {
4796
+ "kind": "integer",
4797
+ "sign": "unsigned",
4798
+ "width": 32
4799
+ }
4800
+ },
4801
+ {
4802
+ "name": "end_side_effect_counter",
4803
+ "type": {
4804
+ "kind": "integer",
4805
+ "sign": "unsigned",
4806
+ "width": 32
4807
+ }
4808
+ },
4892
4809
  {
4893
4810
  "name": "historical_header",
4894
4811
  "type": {
@@ -5276,8 +5193,8 @@
5276
5193
  "visibility": "databus"
5277
5194
  }
5278
5195
  },
5279
- "bytecode": "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",
5280
- "debug_symbols": "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",
5196
+ "bytecode": "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",
5197
+ "debug_symbols": "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1Tr/5PU3t7RqnX/y+9/c2qp1/snvf+OLq57zQ3xz1fP551ZXrfNP/vw5vrzq+fkb3141mX/y+pvbX7XOP3n9zW2wWuef/P43t8OqLLklVuv8k9//xtdYPeeH+B6ryfzD19/J/JM/f46vspqcv8nrb26Z1Tr/5PU3t85qnX/y+ptbaLXOP/n9b26l1Tr/5Pe/8aVWz/khvtVqMv/kz59ze63KEl9s9fz8jW+2msw/ef3N7bZa55+8/ua2W63zT37/m9tvtc4/+f1vbsNVWeIrrp7zQ3zH1WT+yZ8/57ZcrfNPXn/je64m809ef3Obrtb5J6+/uV1XZcktu1rnn/z+N7fuap1/8vvf+MKr5/wQ33g1mX/y58+5nVfr/JPX3/jWq+fzz629WuefvP7mFl+t809ef3Orr9b5J7//zS2/Wuef/P43vv7qOT/E9189nX9J7r8qyf1XJb7/6un5W+L7rybzz11/S3L/VUnuvyrJ/Vcluf+qJPdfleT+q5Lcf1Xi+6+e80N8/9Vk/uHr72T+uZ8/l/j+q8n5m7z+JvdfleT+q5Lcf1WS+69Kcv9VSe6/Ksn9VyW5/6rE918954f4/qvJ/HM/fy7J/Vclvv/q+fkb3381mX/y+pvcf1WS+69Kcv9VSe6/Ksn9VyW5/6ok91+V+P6r5/wQ3381mX/y58/J/Vclvv9qcv4mr7/J/Vcluf+qJPdfleT+q5Lcf1WS+69Kcv9VSe6/KvH9V8/5Ib7/ajL/5M+fk/uvSnz/1eT8TV5/k/uvSnL/VUnuvyrJ/Vcluf+qJPdfleT+q5Lcf1Xi+6+e80N8/9Xz+Sf3X5Xk/qsS33/1/PyN77+azD95/U3uvyrJ/Vcluf+qJPdfleT+q5Lcf1WS+69KfP/Vc36I77+azD98/Z3MP/nz5/j+q8n5m7z+JvdfleT+q5Lcf1WS+69Kcv9VSe6/Ksn9VyW5/6rE918954f4/qvJ/JM/f07uv6rx/VdPz98a3381mX/u+luT+6/qkrv+1uT+q5rcf1WT+69qcv9VTe6/qvH9V8/5Ib7/ajL/3M+fa3L/VY3vv5qcv8nrb3L/VU3uv6rJ/Vc1uf+qJvdf1eT+q5rcf1WT+69qfP/Vc36I77+azD/38+ea3H9V4/uvJudv8vqb3H9Vk/uvanL/VU3uv6rJ/Vc1uf+qJvdf1eT+qxrff/WcH+L7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0bznk7QkltKjec8naVEsdTTv+SQtiqWO5j2fpEWx1NG855O0KJY6mvd8khbFUkfznk/SoljqaN7zSVoUSx3Nez5Ji2Kpo3nPJ2lRLHU07/kkLYqljuY9n6RFsdTRvOeTtCiWOpr3fJIWxVJH855P0qJY6mje80laFEsdzXs+SYtiqaN5zydpUSx1NO/5JC2KpY7mPZ+kRbHU0bznk7Qoljqa93ySFsVSR/OeT9KiWOpo3vNJWhRLobznivKeK8p7rijvuaK854rynivKe64o77mivOeK8p4rynuuKO+5orznivKeK8p7rijvuaK854rynivKe64o77mivOeK8p4rynuuKO+5orznivKeK8p7rijvuaK854rynivKe64o77mivOeK8p4rynuuKO+5orznivKeK8p7rijvuaK854rynivKe64o77mivOeK8p43lPe8obznDeU9byjveVsUlZbEUg3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKeN5T3vKG85w3lPW8o73lDec8bynveUN7zhvKed5T3vKO85x3lPe8o73lfFJWWxFId5T3vKO95R3nPO8p73lHe847ynneU97yjvOcd5T3vKO95R3nPO8p73lHe847ynneU97yjvOcd5T3vKO95R3nPO8p73lHe847ynneU97yjvOcd5T3vKO95R3nPO8p73lHe847ynneU97yjvOcd5T3vKO95R3nPO8p73lHe847ynneU97yjvOcd5T3vKO95R3nPO8p73lHe847ynneU97yjvOcd5T3vKO95R3nPO8p73lHe847ynneU97yjvOcd5T3vKO95R3nPO8p73lHe847ynneU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cnl1H6VdX2y/0kav3/umjV7r900bnQv2TRudIfZNG5039k0bnU32TRudY3ZNu4snzapeXm06JmnLWD7eu8mnV9vdV49yJYax0sPfl7ag0lZUWkGlVVTahkrbUWkNldZRaQcpraFYylAsZSiWMhRL7eLjy5MWxVKGYilDsZShWMpQLOUolnIUSzmKpRzFUrt4FPOkRbGUo1jKUSzlKJZyFEsNFEsNFEsNFEsNFEvt4r/MkxbFUgPFUgPFUgPFUoPEUnUhsVRdSCxVFxJL1YXEUnVRVFoSS9WFxFJ1IbFUXUgsVRcUSxUUSxUUSxUUSxUUS+3im82TFsVSBcVSBcVSBcVSBcVSFcVSFcVSFcVSFcVSu3iC86RFsVRFsVRFsVRFsVRFsZSgWEpQLCUolhIUS+3id86TFsVSgmIpQbGUoFhKUCylKJZSFEspiqUUxVK7eLnzpEWxlKJYSlEspSiWUhRLNRRLNRRLNRRLNRRL7eI9z5MWxVINxVINxVINxVINxVIo73lFec8rynteUd7zivKeV5T3vKK85xXlPa8o73lFec8rynteUd7zivKeV5T3vKK85xXlPa8o73lFec8rynteUd7zivKeV5T3vKK85xXlPa8o73lFec8rynteUd7zivKeV5T3vKK85xXlPa8o73lFec8rynteUd7zivKeV5T3vKK85xXlPReU91xQ3nNBec8F5T2XRVFpSSwlKO+5oLzngvKeC8p7LijvuaC854LyngvKey4o77mgvOeC8p4LynsuKO+5oLzngvKeC8p7LijvuaC854LyngvKey4o77mgvOeC8p4LynsuKO+5oLzngvKeC8p7LijvuaC854LyngvKey4o77mgvOeC8p4LynsuKO+5oLzngvKeC8p7LijvuaC854LyngvKey4o77mgvOeC8p4LynsuKO+5oLzngvKeC8p7LijvuaC854LyngvKey4o77mgvOeC8p4LynsuKO+5oLzngvKeC8p7LijvuaC854LyngvKey4o77mgvOeC8p4LynsuKO+5oLzngvKeC8p7LijvuaC854LyngvKey4o77mgvOeC8p4LynsuKO+5oLzngvKeC8p7LijvuaC854LyngvKey4o77mgvOeK8p4rynuuKO+5orznuigqLYmlFOU9V5T3XFHec0V5zxXlPVeU91xR3nNFec8V5T1XlPdcUd5zRXnPFeU9V5T3XFHec0V5zxXlPVeU91xR3nNFec8V5T1XlPdcUd5zRXnPFeU9V5T3XFHec0V5zxXlPVeU91xR3nNFec8V5T1XlPdcUd5zRXnPFeU9V5T3XFHec0V5zxXlPVeU91xR3nNFec8V5T1XlPdcUd5zRXnPFeU9V5T3XFHec0V5zxXlPVeU91xR3nNFec8V5T1XlPdcUd5zRXnPFeU9V5T3XFHec0V5zxXlPVeU91xR3nNFec8V5T1XlPdcUd5zRXnPFeU9V5T3XFHec0V5zxXlPVeU91xR3nNFec8V5T1XlPdcUd5zRXnPFeU9V5T3XFHec0V5zxXlPVeU91xR3nNFec8V5T1XlPe8obznDeU9byjveUN5z9uiqLQklmoo73lDec8bynveUN7zhvKeN5T3vKG8520f77nJNe1ok7TNlsvaNCsfa7NG/zUljTelFm9KPd6ULN6UPN6URrgp7aOe3ndKe9QcX+zyapc6vQq3T+/9OUDfFKBmDyDZA+h3B6iL9l+vrssokwDF12lf39ykPy/kdQ12ffe/Wp/15T8DN1rgTgtstMBOCzxggXdRNacKXGiBKy2w0AIrLTCNtIRGWkIjLTkWaa23hHK9OxS5jXsszprF1WNR1jTusRhrGvdYhDWNeyy+msZVVtxjsdU07rHIahr3WFw1jRudqoZIvU5l/Tb4NkF0UPri1+Ferl+He/341uDX1+EtOiftmzY6Ju2bNjol7Zs2OiTtm1YPlrbLNa3f/GinRUekfdNGJ6R900YHpH3ThuejXdMejaWepu1HY6nnaY/GUs/THo2lnqc9Gks9T6uotCiW6iiW6iiW6iiW6iiWMhRLGYqlDMVShmKpXQTNedKiWMpQLGUoljIUSxmKpRzFUo5iKUexlKNYahdBc560KJZyFEs5iqUcxVKOYqmBYqmBYqmBYqmBYqldBM150qJYaqBYaqBYaqBYapBYqi8kluoLiaX6QmKpvpBYqi+KSktiqb6QWKovJJbqC4ml+oJiqYJiqYJiqYJiqYJiqV3cz3nSoliqoFiqoFiqoFiqoFiqoliqoliqoliqolgqvP9837QolgpvPt83LYqlwjvP902LYqnwtvN906JYKrznfN+0KJYKbzjfNy2KpcK7zfdNi2Kp8FbzfdOiWCq803zftCiWCm803zctiqXC+8z3TYtiqfA2833Tolgqvst817Qoljqc9/x5WhRLHc57/jwtiqVQ3vOO8p53lPe8o7znHeU97yjveUd5zzvKe95R3vOO8p53lPe8o7znHeU97yjveUd5zzvKe95R3vOO8p53lPe8o7zn/Wje87Fc//rgKLdpD8ZSk7QHY6lJ2oOx1CTtwVhqkvZgLPU87dG855O0B2OpSdqDsdQk7cFYapJWUWlRLHU07/kkLYqljuY9n6RFsdTRvOeTtCiWOpr3fJIWxVJH855P0qJY6mje80laFEsdzXs+SUtiKTua93ySlsRSdjTv+SQtiaVsUVRaEkvZ0bznk7QklrKjec8naVEsdTTv+SQtiqWO5j2fpEWx1NG855O0KJY6mvd8khbFUkfznk/SoljqaN7zSVoUSx3Nez5Ji2Kpo3nPJ2lRLHU07/kkLYqljuY9n6RFsdTRvOeTtCiWOpr3fJIWxVJH855P0qJY6mje80laFEsdzXs+SYtiqaN5zydpUSx1NO/5JC2KpY7mPZ+kRbHU0bznk7Qoljqa93ySFsVSR/OeT9KiWOpo3vNJWhRLHc17PkmLYqmjec8naVEsdTTv+SQtiqWO5j2fpEWx1NG855O0KJY6mvd8khbFUkfznk/SoljqaN7zSVoUSx3Nez5Ji2Kpo3nPJ2lRLIXynhvKe24o77mhvOeG8p4byntuKO+5obznhvKeG8p7bijvuaG854bynhvKe24o77mhvOeG8p4byntuKO+5obznhvKeG8p7bijvuaG854bynhvKe+4o77mjvOeO8p47ynvui6LSkljKUd5zR3nPHeU9d5T33FHec0d5zx3lPXeU99xR3nNHec8d5T13lPfcUd5zR3nPHeU9d5T33FHec0d5zx3lPXeU99xR3nNHec8d5T13lPfcUd5zR3nPHeU9d5T33FHec0d5zx3lPXeU99xR3nNHec8d5T13lPfcUd5zR3nPHeU9d5T33FHec0d5zx3lPXeU99xR3nNHec8d5T13lPfcUd5zR3nPHeU9d5T33FHec0d5zx3lPXeU99xR3nNHec8d5T13lPfcUd5zR3nPHeU9d5T33FHec0d5zx3lPXeU99xR3nNHec8d5T13lPfcUd5zR3nPHeU9d5T33FHec0d5zx3lPXeU99xR3nNHec8d5T13lPfcUd5zR3nPHeU9d5T33FHec0d5zx3lPXeU99xR3nNHec8H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jmKpN2ir35kWxVIdxVIdxVIdxVIdxVKGYilDsZShWMpQLPUGe/Y706JYylAsZSiWMhRLGYqlHMVSjmIpR7GUo1gqvP9837QolgpvPt83LYqlwjvP902LYqnwtvN906JYKrznfN+0KJYKbzjfNy2KpcK7zfdNi2Kp8FbzfdOSWKqHd5rvm5bEUj280XzftCSW6oui0pJYqoe3me+blsRSPb7LfNe0KJY6nPf8eVoUSx3Oe/48LYqlUN7zjvKed5T3vKO85x3lPe8o73lHec87ynveUd7zjvKed5T3vKO85x3lPe8o73lHec87ynveUd7zjvKed5T3vKO85/1o3vOxXP/64Ci3aQ/GUpO0B2OpSdqDsdQk7cFYapL2YCz1PO3RvOeTtAdjqUnag7HUJO3BWGqSVlFpUSx1NO/5JC2KpY7mPZ+kRbHU0bznk7Qoljqa93ySFsVSR/OeT9KiWOpo3vNJWhRLHc17PkmLYqmjec8naVEsdTTv+SQtiqWO5j2fpEWx1NG855O0KJY6mvd8khbFUkfznk/SoljqaN7zSVoUSx3Nez5Ji2Kpo3nPJ2lRLHU07/kkLYqljuY9n6RFsdTRvOeTtCiWOpr3fJIWxVJH855P0qJY6mje80laFEsdzXs+SYtiqaN5zydpUSx1NO/5JC2KpY7mPZ+kRbHU0bznk7QklrKjec8naUksZUfznk/SkljKFkWlJbGUHc17PklLYik7mvd8khbFUkfznk/SoljqaN7zSVoUSx3Nez5Ji2Kpo3nPJ2lRLHU07/kkLYqljuY9n6RFsdTRvOeTtCiWOpr3fJIWxVJH855P0qJY6mje80laFEsdzXs+SYtiqaN5zydpUSyF8p4byntuKO+5obznhvKeG8p7bijvuaG854bynhvKe24o77mhvOeG8p4byntuKO+5obznhvKeG8p7bijvuaG854bynhvKe24o77mhvOeG8p4byntuKO+5obznhvKeG8p7bijvuaG854bynhvKe24o77mhvOeG8p4byntuKO+5obznhvKeG8p7bijvuaG854bynhvKe24o77mhvOeG8p4byntuKO+5obznhvKeG8p7bijvuaG854bynhvKe24o77mhvOeG8p4byntuKO+5obznhvKeG8p77ijvuaO8547ynjvKe+6LotKSWMpR3nNHec8d5T13lPfcUd5zR3nP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",
5281
5198
  "brillig_names": [
5282
5199
  "get_note_internal",
5283
5200
  "decompose_hint",
@@ -5292,8 +5209,8 @@
5292
5209
  "directive_integer_quotient",
5293
5210
  "directive_to_radix"
5294
5211
  ],
5295
- "verification_key": "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",
5296
- "artifact_hash": "74acc0382b362be946a173c5740463f2803bc3a9-82cc55c2a98fb86fddfc86c913f6e96b-mega-honk-true"
5212
+ "verification_key": "AAAAAAACAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAUA1nYzEmPwSvVTAN4u+zKA6xCBXSoG0LbJ9Q49WAsJWs2pnq5lUu9XFhuUIfCbhmUlHpZchSPByhgx1oJyZ57HIwAAAAAAAAAAAAY/CVsN2spAHpwT0NCGSmS7b+RBvqFwIw3+TiLq3AwuGhJNjtFp1J7DlYyeagiyBcQcMuyiH6Nq8ajwMKOPFt0c57hEOwAHNguxfMr+sY0lyynbHnMcSd8wh9eiBMYFcwcNHxGEqY5dGRg1FfAVWtmCpjE+5qWkGfCtVK6FMjgrIqqdT2RN03J39e3Q8usAX9TJwQ7pHNqRc37Le5I38+ABbPIQ35kJM8BwwotFys6+MrF0PLQodei+hSjpoLVKxxx8ijf+b8xVZCacC9jhyvsPqcviGtPSdqpNj0Pc/iM0HNHj4fFqO60yy3I0AOCKhG839eKTaS09WcUq6BNlmwUlwjTihBv8LqxUVOmqVZv6QXBa5U0lUv8RA3kYyPtawBv7d0FW5q4QYMOxdOdZjj9eC8VMkVV1UZwtr6Y3QVTIGpZYw7cwzHEq2b/mRWMlKORy975Mz9U5vhbHaIbcUNIS5GRzoIGVYzWhSyNJtMVpHjWSrymn1Dy5iN8tdr27xREwbQYjHrVRG2pK9iKsGbyxqnoaJGcVIykX3t1/cAPjD2yfeNrQX1jnaMgHeENWtTzB8+anVLgiRdWDS0u993ElGs+3Rd8B0L31hUkVpF5yJSOdR/GWHJRlHmLjEXnNHhTu0htNmTcwD3ywd7CO8qn1RG8u7Yg4S7VF/E+xdNvuDApZJIYsKL8RgiFdfh+nqWfOL7qSi7pxl07HClGdRvEPOD+vCbv+5IHQJqZ3+QAmQk/tisCG1KCl4zPyKyMkpgGp40X32EBBEDYt962Fw9wsvy5Pj+j5ByTlhzDeOXrFB+ZA7X0waSaUAxneSJEHGQjHR5iZyeenkr2p80VwUScB/xHvrU9UbYg687pxEXRgqdrcPDEX0hUHrSLYwkKjlxsF8cZeijBnAA42wQM80cP0wOKAsVDZbi0EUFjG/CDRKwwiwqBCTkQkP4qSP4pXG9eVZCfv3lalS+Y/69xB1R8Cwy0WYIFH3+bko7FM4hTAzO1XVojFSlOuSxcRxAqdwwMbQKo+PxjxfLnCATRGGRpdXPmcNaNoOT9PKn/dk5cLC8aFWHPTaDLTHrt5YdSJ838eWXuDHrUPs1k93RC6V6UgjRgpgiSsi2P4OGqcyq6jmnSxR7+xlZE2wpCcXDKe2hRRl5FPoG5lMuTBy+GH1Asbvu1t3drNFqMn9qJzoAWyAeZfdU1l2Xhh/N65WqMDFB0M3FD7eOvcCZWc9MST2HoB7YJSE1el3QdHODaiB8YVYF2n9YMl9jVJtUJRFISZ/h9OBmbkR6dO9bblLi9qQKWr1BzTo+baKe1SwcvpDuU/HGNjo3RkqnKs+NMehepVXD4CZ5PJvwhAEncnXgRqGPUUOOKTEtTDKjOURYk1d0C9xbMgbCWCWC5Zc4hKz/p0ogapc0MGzs/ZfWNnudgcKtBABx3m8EOQs5ITY+QMVQJrBIMtbtmQw7bwp8IWcxq5JtQHZseanHrUrxo8v8o/GesEGU5BphVQMhJHgQGhk7sjbH/30WrrpRnXMLgQrjmDwCHMF7AkZlpoquEXNmqPlLCKdbRhXdGQZ1bZz4RX4hGiBYepeKfECvcScuABZTNuFd6mpztyaLo4L8g/cf2NTJ4i64hwm4hkql6m3jp6QLNBHOAp4MEECwmh5jKsSHlBFxalZ5S0PwlQnxqLAq1c/VoK7+6DVeqau/oo5IdMv7y0B28clvzBKnriba0sePQ/OE37BNHB/llQI6pCyEvBC44tDi0ocSKSqcvsQCWMvCMKFhAez0c+/Vjqn9166aQeZiF/3ZOQJ0ucRnw2iBhRCF4yeJJPVZhaRDbymUifXMLdGFYynf6Cp9bsRokgx+wMQpgaAeSYKfOPhe3MHC3jZ2sa68gauCb+H7sphxKE7AJYNJzbPjTQro5kV+D9hKZaXyQk9gerkhnrw7X1Y/I5hup4hZDgqVFEq0QQq1JE3zbXLwi3fZxN3abFGLQwOM4OEP/AUhMOifFX94MD2kIjV50kTKdV5v9R0Abbw7kaGF2JPUOTa73LugS0bDv/gRESCip9+6uDkJ1c5WN2NAnNMkBGuZlP1eP5E98tn4fjxrAPAEf/2BS2Whdy9/xJOegpA6UCzkNgyeIgmUbdT1G4UysiLNfFonOLYN/q1QE6Av6R9m/JZrRN9HZYO0f9SpysRgt15+RT6ORIx92DbY7htiVuzVwW3gmo8ajf4CphQVqTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi8ALeqNouO0J2p230FHR3JXBYnUiAJeHlJfXfjBCerjGVYtYNrjBHUp7/jsHS9KU/nN8WlaZmP6MYLdAW5LxnEPy7+dPPQCuqPu2l8Knkm1werJWyZMMC3IVObyLXMw3yg+39qJyUgFl/CzRC6XUt751Y/Ckgg2GUJh97Fj/vuvFkui3h/UoDf22hpkVT0XuYniLEHZIlGoryxOrV7KWK8rhIg8uiHvJIH+bTVd9YczORgskqC/jaK3ApRAlAdUJA==",
5213
+ "artifact_hash": "51138cca3416c965bb4ccec1358c0c804a4ada84-12684c4cb0fc7968c49ffdd12a6b8b1e-mega-honk-true"
5297
5214
  }
5298
5215
  ],
5299
5216
  "outputs": {
@@ -5692,7 +5609,7 @@
5692
5609
  },
5693
5610
  "7": {
5694
5611
  "path": "std/collections/bounded_vec.nr",
5695
- "source": "use crate::{cmp::Eq, convert::From};\n\n/// A `BoundedVec<T, MaxLen>` is a growable storage similar to a `Vec<T>` except that it\n/// is bounded with a maximum possible length. Unlike `Vec`, `BoundedVec` is not implemented\n/// via slices and thus is not subject to the same restrictions slices are (notably, nested\n/// slices - and thus nested vectors as well - are disallowed).\n///\n/// Since a BoundedVec is backed by a normal array under the hood, growing the BoundedVec by\n/// pushing an additional element is also more efficient - the length only needs to be increased\n/// by one.\n///\n/// For these reasons `BoundedVec<T, N>` should generally be preferred over `Vec<T>` when there\n/// is a reasonable maximum bound that can be placed on the vector.\n///\n/// Example:\n///\n/// ```noir\n/// let mut vector: BoundedVec<Field, 10> = BoundedVec::new();\n/// for i in 0..5 {\n/// vector.push(i);\n/// }\n/// assert(vector.len() == 5);\n/// assert(vector.max_len() == 10);\n/// ```\npub struct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n /// Creates a new, empty vector of length zero.\n ///\n /// Since this container is backed by an array internally, it still needs an initial value\n /// to give each element. To resolve this, each element is zeroed internally. This value\n /// is guaranteed to be inaccessible unless `get_unchecked` is used.\n ///\n /// Example:\n ///\n /// ```noir\n /// let empty_vector: BoundedVec<Field, 10> = BoundedVec::new();\n /// assert(empty_vector.len() == 0);\n /// ```\n ///\n /// Note that whenever calling `new` the maximum length of the vector should always be specified\n /// via a type signature:\n ///\n /// ```noir\n /// fn good() -> BoundedVec<Field, 10> {\n /// // Ok! MaxLen is specified with a type annotation\n /// let v1: BoundedVec<Field, 3> = BoundedVec::new();\n /// let v2 = BoundedVec::new();\n ///\n /// // Ok! MaxLen is known from the type of `good`'s return value\n /// v2\n /// }\n ///\n /// fn bad() {\n /// // Error: Type annotation needed\n /// // The compiler can't infer `MaxLen` from the following code:\n /// let mut v3 = BoundedVec::new();\n /// v3.push(5);\n /// }\n /// ```\n ///\n /// This defaulting of `MaxLen` (and numeric generics in general) to zero may change in future noir versions\n /// but for now make sure to use type annotations when using bounded vectors. Otherwise, you will receive a\n /// constraint failure at runtime when the vec is pushed to.\n pub fn new() -> Self {\n let zeroed = crate::mem::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero.\n ///\n /// If the given index is equal to or greater than the length of the vector, this\n /// will issue a constraint failure.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// let last = v.get(v.len() - 1);\n /// assert(first != last);\n /// }\n /// ```\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero, without\n /// performing a bounds check.\n ///\n /// Since this function does not perform a bounds check on length before accessing the element,\n /// it is unsafe! Use at your own risk!\n ///\n /// Example:\n ///\n /// ```noir\n /// fn sum_of_first_three<let N: u32>(v: BoundedVec<u32, N>) -> u32 {\n /// // Always ensure the length is larger than the largest\n /// // index passed to get_unchecked\n /// assert(v.len() > 2);\n /// let first = v.get_unchecked(0);\n /// let second = v.get_unchecked(1);\n /// let third = v.get_unchecked(2);\n /// first + second + third\n /// }\n /// ```\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Writes an element to the vector at the given index, starting from zero.\n ///\n /// If the given index is equal to or greater than the length of the vector, this will issue a constraint failure.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// assert(first != 42);\n /// v.set(0, 42);\n /// let new_first = v.get(0);\n /// assert(new_first == 42);\n /// }\n /// ```\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Writes an element to the vector at the given index, starting from zero, without performing a bounds check.\n ///\n /// Since this function does not perform a bounds check on length before accessing the element, it is unsafe! Use at your own risk!\n ///\n /// Example:\n ///\n /// ```noir\n /// fn set_unchecked_example() {\n /// let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n /// vec.extend_from_array([1, 2]);\n ///\n /// // Here we're safely writing within the valid range of `vec`\n /// // `vec` now has the value [42, 2]\n /// vec.set_unchecked(0, 42);\n ///\n /// // We can then safely read this value back out of `vec`.\n /// // Notice that we use the checked version of `get` which would prevent reading unsafe values.\n /// assert_eq(vec.get(0), 42);\n ///\n /// // We've now written past the end of `vec`.\n /// // As this index is still within the maximum potential length of `v`,\n /// // it won't cause a constraint failure.\n /// vec.set_unchecked(2, 42);\n /// println(vec);\n ///\n /// // This will write past the end of the maximum potential length of `vec`,\n /// // it will then trigger a constraint failure.\n /// vec.set_unchecked(5, 42);\n /// println(vec);\n /// }\n /// ```\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n /// Pushes an element to the end of the vector. This increases the length\n /// of the vector by one.\n ///\n /// Panics if the new length of the vector will be greater than the max length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n ///\n /// v.push(1);\n /// v.push(2);\n ///\n /// // Panics with failed assertion \"push out of bounds\"\n /// v.push(3);\n /// ```\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n /// Returns the current length of this vector\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 4> = BoundedVec::new();\n /// assert(v.len() == 0);\n ///\n /// v.push(100);\n /// assert(v.len() == 1);\n ///\n /// v.push(200);\n /// v.push(300);\n /// v.push(400);\n /// assert(v.len() == 4);\n ///\n /// let _ = v.pop();\n /// let _ = v.pop();\n /// assert(v.len() == 2);\n /// ```\n pub fn len(self) -> u32 {\n self.len\n }\n\n /// Returns the maximum length of this vector. This is always\n /// equal to the `MaxLen` parameter this vector was initialized with.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n ///\n /// assert(v.max_len() == 5);\n /// v.push(10);\n /// assert(v.max_len() == 5);\n /// ```\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n /// Returns the internal array within this vector.\n ///\n /// Since arrays in Noir are immutable, mutating the returned storage array will not mutate\n /// the storage held internally by this vector.\n ///\n /// Note that uninitialized elements may be zeroed out!\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n ///\n /// assert(v.storage() == [0, 0, 0, 0, 0]);\n ///\n /// v.push(57);\n /// assert(v.storage() == [57, 0, 0, 0, 0]);\n /// ```\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n /// Pushes each element from the given array to this vector.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_array([2, 4]);\n ///\n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the given slice to this vector.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_slice(&[2, 4]);\n ///\n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the other vector to this vector. The length of\n /// the other vector is left unchanged.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// ```noir\n /// let mut v1: BoundedVec<Field, 5> = BoundedVec::new();\n /// let mut v2: BoundedVec<Field, 7> = BoundedVec::new();\n ///\n /// v2.extend_from_array([1, 2, 3]);\n /// v1.extend_from_bounded_vec(v2);\n ///\n /// assert(v1.storage() == [1, 2, 3, 0, 0]);\n /// assert(v2.storage() == [1, 2, 3, 0, 0, 0, 0]);\n /// ```\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n /// Creates a new vector, populating it with values derived from an array input.\n /// The maximum length of the vector is determined based on the type signature.\n ///\n /// Example:\n ///\n /// ```noir\n /// let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array([1, 2, 3])\n /// ```\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n /// Pops the element at the end of the vector. This will decrease the length\n /// of the vector by one.\n ///\n /// Panics if the vector is empty.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// v.push(1);\n /// v.push(2);\n ///\n /// let two = v.pop();\n /// let one = v.pop();\n ///\n /// assert(two == 2);\n /// assert(one == 1);\n ///\n /// // error: cannot pop from an empty vector\n /// let _ = v.pop();\n /// ```\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::mem::zeroed();\n elem\n }\n\n /// Returns true if the given predicate returns true for any element\n /// in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<u32, 3> = BoundedVec::new();\n /// v.extend_from_array([2, 4, 6]);\n ///\n /// let all_even = !v.any(|elem: u32| elem % 2 != 0);\n /// assert(all_even);\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n /// Creates a new vector of equal size by calling a closure on each element in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let result = vec.map(|value| value * 2);\n ///\n /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n /// assert_eq(result, expected);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen>\nwhere\n T: Eq,\n{\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.get(0), 1);\n assert_eq(bounded_vec.get(1), 2);\n assert_eq(bounded_vec.get(2), 3);\n }\n\n #[test(should_fail_with = \"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.get(0), 1);\n assert_eq(bounded_vec.get(1), 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n}\n"
5612
+ "source": "use crate::{cmp::Eq, convert::From};\n\n/// A `BoundedVec<T, MaxLen>` is a growable storage similar to a `Vec<T>` except that it\n/// is bounded with a maximum possible length. Unlike `Vec`, `BoundedVec` is not implemented\n/// via slices and thus is not subject to the same restrictions slices are (notably, nested\n/// slices - and thus nested vectors as well - are disallowed).\n///\n/// Since a BoundedVec is backed by a normal array under the hood, growing the BoundedVec by\n/// pushing an additional element is also more efficient - the length only needs to be increased\n/// by one.\n///\n/// For these reasons `BoundedVec<T, N>` should generally be preferred over `Vec<T>` when there\n/// is a reasonable maximum bound that can be placed on the vector.\n///\n/// Example:\n///\n/// ```noir\n/// let mut vector: BoundedVec<Field, 10> = BoundedVec::new();\n/// for i in 0..5 {\n/// vector.push(i);\n/// }\n/// assert(vector.len() == 5);\n/// assert(vector.max_len() == 10);\n/// ```\npub struct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n /// Creates a new, empty vector of length zero.\n ///\n /// Since this container is backed by an array internally, it still needs an initial value\n /// to give each element. To resolve this, each element is zeroed internally. This value\n /// is guaranteed to be inaccessible unless `get_unchecked` is used.\n ///\n /// Example:\n ///\n /// ```noir\n /// let empty_vector: BoundedVec<Field, 10> = BoundedVec::new();\n /// assert(empty_vector.len() == 0);\n /// ```\n ///\n /// Note that whenever calling `new` the maximum length of the vector should always be specified\n /// via a type signature:\n ///\n /// ```noir\n /// fn good() -> BoundedVec<Field, 10> {\n /// // Ok! MaxLen is specified with a type annotation\n /// let v1: BoundedVec<Field, 3> = BoundedVec::new();\n /// let v2 = BoundedVec::new();\n ///\n /// // Ok! MaxLen is known from the type of `good`'s return value\n /// v2\n /// }\n ///\n /// fn bad() {\n /// // Error: Type annotation needed\n /// // The compiler can't infer `MaxLen` from the following code:\n /// let mut v3 = BoundedVec::new();\n /// v3.push(5);\n /// }\n /// ```\n ///\n /// This defaulting of `MaxLen` (and numeric generics in general) to zero may change in future noir versions\n /// but for now make sure to use type annotations when using bounded vectors. Otherwise, you will receive a\n /// constraint failure at runtime when the vec is pushed to.\n pub fn new() -> Self {\n let zeroed = crate::mem::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero.\n ///\n /// If the given index is equal to or greater than the length of the vector, this\n /// will issue a constraint failure.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// let last = v.get(v.len() - 1);\n /// assert(first != last);\n /// }\n /// ```\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero, without\n /// performing a bounds check.\n ///\n /// Since this function does not perform a bounds check on length before accessing the element,\n /// it is unsafe! Use at your own risk!\n ///\n /// Example:\n ///\n /// ```noir\n /// fn sum_of_first_three<let N: u32>(v: BoundedVec<u32, N>) -> u32 {\n /// // Always ensure the length is larger than the largest\n /// // index passed to get_unchecked\n /// assert(v.len() > 2);\n /// let first = v.get_unchecked(0);\n /// let second = v.get_unchecked(1);\n /// let third = v.get_unchecked(2);\n /// first + second + third\n /// }\n /// ```\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Writes an element to the vector at the given index, starting from zero.\n ///\n /// If the given index is equal to or greater than the length of the vector, this will issue a constraint failure.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// assert(first != 42);\n /// v.set(0, 42);\n /// let new_first = v.get(0);\n /// assert(new_first == 42);\n /// }\n /// ```\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Writes an element to the vector at the given index, starting from zero, without performing a bounds check.\n ///\n /// Since this function does not perform a bounds check on length before accessing the element, it is unsafe! Use at your own risk!\n ///\n /// Example:\n ///\n /// ```noir\n /// fn set_unchecked_example() {\n /// let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n /// vec.extend_from_array([1, 2]);\n ///\n /// // Here we're safely writing within the valid range of `vec`\n /// // `vec` now has the value [42, 2]\n /// vec.set_unchecked(0, 42);\n ///\n /// // We can then safely read this value back out of `vec`.\n /// // Notice that we use the checked version of `get` which would prevent reading unsafe values.\n /// assert_eq(vec.get(0), 42);\n ///\n /// // We've now written past the end of `vec`.\n /// // As this index is still within the maximum potential length of `v`,\n /// // it won't cause a constraint failure.\n /// vec.set_unchecked(2, 42);\n /// println(vec);\n ///\n /// // This will write past the end of the maximum potential length of `vec`,\n /// // it will then trigger a constraint failure.\n /// vec.set_unchecked(5, 42);\n /// println(vec);\n /// }\n /// ```\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n /// Pushes an element to the end of the vector. This increases the length\n /// of the vector by one.\n ///\n /// Panics if the new length of the vector will be greater than the max length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n ///\n /// v.push(1);\n /// v.push(2);\n ///\n /// // Panics with failed assertion \"push out of bounds\"\n /// v.push(3);\n /// ```\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n /// Returns the current length of this vector\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 4> = BoundedVec::new();\n /// assert(v.len() == 0);\n ///\n /// v.push(100);\n /// assert(v.len() == 1);\n ///\n /// v.push(200);\n /// v.push(300);\n /// v.push(400);\n /// assert(v.len() == 4);\n ///\n /// let _ = v.pop();\n /// let _ = v.pop();\n /// assert(v.len() == 2);\n /// ```\n pub fn len(self) -> u32 {\n self.len\n }\n\n /// Returns the maximum length of this vector. This is always\n /// equal to the `MaxLen` parameter this vector was initialized with.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n ///\n /// assert(v.max_len() == 5);\n /// v.push(10);\n /// assert(v.max_len() == 5);\n /// ```\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n /// Returns the internal array within this vector.\n ///\n /// Since arrays in Noir are immutable, mutating the returned storage array will not mutate\n /// the storage held internally by this vector.\n ///\n /// Note that uninitialized elements may be zeroed out!\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n ///\n /// assert(v.storage() == [0, 0, 0, 0, 0]);\n ///\n /// v.push(57);\n /// assert(v.storage() == [57, 0, 0, 0, 0]);\n /// ```\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n /// Pushes each element from the given array to this vector.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_array([2, 4]);\n ///\n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the given slice to this vector.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_slice(&[2, 4]);\n ///\n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\n /// ```\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n /// Pushes each element from the other vector to this vector. The length of\n /// the other vector is left unchanged.\n ///\n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n ///\n /// ```noir\n /// let mut v1: BoundedVec<Field, 5> = BoundedVec::new();\n /// let mut v2: BoundedVec<Field, 7> = BoundedVec::new();\n ///\n /// v2.extend_from_array([1, 2, 3]);\n /// v1.extend_from_bounded_vec(v2);\n ///\n /// assert(v1.storage() == [1, 2, 3, 0, 0]);\n /// assert(v2.storage() == [1, 2, 3, 0, 0, 0, 0]);\n /// ```\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n /// Creates a new vector, populating it with values derived from an array input.\n /// The maximum length of the vector is determined based on the type signature.\n ///\n /// Example:\n ///\n /// ```noir\n /// let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array([1, 2, 3])\n /// ```\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n /// Pops the element at the end of the vector. This will decrease the length\n /// of the vector by one.\n ///\n /// Panics if the vector is empty.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// v.push(1);\n /// v.push(2);\n ///\n /// let two = v.pop();\n /// let one = v.pop();\n ///\n /// assert(two == 2);\n /// assert(one == 1);\n ///\n /// // error: cannot pop from an empty vector\n /// let _ = v.pop();\n /// ```\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::mem::zeroed();\n elem\n }\n\n /// Returns true if the given predicate returns true for any element\n /// in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let mut v: BoundedVec<u32, 3> = BoundedVec::new();\n /// v.extend_from_array([2, 4, 6]);\n ///\n /// let all_even = !v.any(|elem: u32| elem % 2 != 0);\n /// assert(all_even);\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n /// Creates a new vector of equal size by calling a closure on each element in this vector.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let result = vec.map(|value| value * 2);\n ///\n /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n /// assert_eq(result, expected);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n\n /// Creates a new BoundedVec from the given array and length.\n /// The given length must be less than or equal to the length of the array.\n ///\n /// This function will zero out any elements at or past index `len` of `array`.\n /// This incurs an extra runtime cost of O(MaxLen). If you are sure your array is\n /// zeroed after that index, you can use `from_parts_unchecked` to remove the extra loop.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 0], 3);\n /// assert_eq(vec.len(), 3);\n /// ```\n pub fn from_parts(mut array: [T; MaxLen], len: u32) -> Self {\n assert(len <= MaxLen);\n let zeroed = crate::mem::zeroed();\n for i in 0..MaxLen {\n if i >= len {\n array[i] = zeroed;\n }\n }\n BoundedVec { storage: array, len }\n }\n\n /// Creates a new BoundedVec from the given array and length.\n /// The given length must be less than or equal to the length of the array.\n ///\n /// This function is unsafe because it expects all elements past the `len` index\n /// of `array` to be zeroed, but does not check for this internally. Use `from_parts`\n /// for a safe version of this function which does zero out any indices past the\n /// given length. Invalidating this assumption can notably cause `BoundedVec::eq`\n /// to give incorrect results since it will check even elements past `len`.\n ///\n /// Example:\n ///\n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 0], 3);\n /// assert_eq(vec.len(), 3);\n ///\n /// // invalid use!\n /// let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 1], 3);\n /// let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 2], 3);\n ///\n /// // both vecs have length 3 so we'd expect them to be equal, but this\n /// // fails because elements past the length are still checked in eq\n /// assert_eq(vec1, vec2); // fails\n /// ```\n pub fn from_parts_unchecked(array: [T; MaxLen], len: u32) -> Self {\n assert(len <= MaxLen);\n BoundedVec { storage: array, len }\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen>\nwhere\n T: Eq,\n{\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n if self.len == other.len {\n self.storage == other.storage\n } else {\n false\n }\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.get_unchecked(2), 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.get(0), 1);\n assert_eq(bounded_vec.get(1), 2);\n assert_eq(bounded_vec.get(2), 3);\n }\n\n #[test(should_fail_with = \"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.get(0), 1);\n assert_eq(bounded_vec.get(1), 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n\n mod from_parts {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn from_parts() {\n // docs:start:from-parts\n let vec: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 0], 3);\n assert_eq(vec.len(), 3);\n\n // Any elements past the given length are zeroed out, so these\n // two BoundedVecs will be completely equal\n let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 1], 3);\n let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts([1, 2, 3, 2], 3);\n assert_eq(vec1, vec2);\n // docs:end:from-parts\n }\n\n #[test]\n fn from_parts_unchecked() {\n // docs:start:from-parts-unchecked\n let vec: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 0], 3);\n assert_eq(vec.len(), 3);\n\n // invalid use!\n let vec1: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 1], 3);\n let vec2: BoundedVec<u32, 4> = BoundedVec::from_parts_unchecked([1, 2, 3, 2], 3);\n\n // both vecs have length 3 so we'd expect them to be equal, but this\n // fails because elements past the length are still checked in eq\n assert(vec1 != vec2);\n // docs:end:from-parts-unchecked\n }\n }\n}\n"
5696
5613
  },
5697
5614
  "17": {
5698
5615
  "path": "std/embedded_curve_ops.nr",
@@ -5712,7 +5629,7 @@
5712
5629
  },
5713
5630
  "26": {
5714
5631
  "path": "std/hash/poseidon2.nr",
5715
- "source": "use crate::default::Default;\nuse crate::hash::Hasher;\n\ncomptime global RATE: u32 = 3;\n\npub struct Poseidon2 {\n cache: [Field; 3],\n state: [Field; 4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n pub(crate) fn new(iv: Field) -> Poseidon2 {\n let mut result =\n Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(\n input: [Field; N],\n in_len: u32,\n is_variable_length: bool,\n ) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\npub struct Poseidon2Hasher {\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv: Field = (self._state.len() as Field) * 18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field) {\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher { _state: &[] }\n }\n}\n"
5632
+ "source": "use crate::default::Default;\nuse crate::hash::Hasher;\n\ncomptime global RATE: u32 = 3;\n\npub struct Poseidon2 {\n cache: [Field; 3],\n state: [Field; 4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n Poseidon2::hash_internal(input, message_size, message_size != N)\n }\n\n pub(crate) fn new(iv: Field) -> Poseidon2 {\n let mut result =\n Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(\n input: [Field; N],\n in_len: u32,\n is_variable_length: bool,\n ) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\npub struct Poseidon2Hasher {\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv: Field = (self._state.len() as Field) * 18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field) {\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher { _state: &[] }\n }\n}\n"
5716
5633
  },
5717
5634
  "27": {
5718
5635
  "path": "std/hash/sha256.nr",
@@ -5726,179 +5643,175 @@
5726
5643
  "path": "std/panic.nr",
5727
5644
  "source": "pub fn panic<T, U, let N: u32>(message: fmtstr<N, T>) -> U {\n assert(false, message);\n crate::mem::zeroed()\n}\n"
5728
5645
  },
5729
- "65": {
5730
- "path": "/usr/src/noir-projects/aztec-nr/authwit/src/account.nr",
5731
- "source": "use dep::aztec::{\n context::PrivateContext,\n hash::poseidon2_hash_with_separator,\n protocol_types::constants::{GENERATOR_INDEX__COMBINED_PAYLOAD, GENERATOR_INDEX__TX_NULLIFIER},\n};\n\nuse crate::auth::{compute_authwit_message_hash, IS_VALID_SELECTOR};\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\n\npub struct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n *\n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /**\n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n *\n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n *\n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let valid_fn = self.is_valid_impl;\n\n let combined_payload_hash = poseidon2_hash_with_separator(\n [app_payload.hash(), fee_payload.hash()],\n GENERATOR_INDEX__COMBINED_PAYLOAD,\n );\n assert(valid_fn(self.context, combined_payload_hash));\n\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n app_payload.execute_calls(self.context);\n if cancellable {\n let tx_nullifier =\n poseidon2_hash_with_separator([app_payload.nonce], GENERATOR_INDEX__TX_NULLIFIER);\n self.context.push_nullifier(tx_nullifier);\n }\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n *\n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n *\n * Will revert if the message is not authorized.\n *\n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can\n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash,\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"
5732
- },
5733
- "67": {
5734
- "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr",
5735
- "source": "use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize},\n};\n\nuse crate::entrypoint::function_call::FunctionCall;\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u32 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u32 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u32 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\npub struct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage()\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__SIGNATURE_PAYLOAD)\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n\n bytes.storage()\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"
5736
- },
5737
- "68": {
5738
- "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr",
5739
- "source": "use crate::entrypoint::function_call::FunctionCall;\nuse dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD,\n hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize},\n};\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: u32 = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: u32 = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS: u32 = 2;\n\n// docs:start:fee-payload-struct\npub struct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage()\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__FEE_PAYLOAD)\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n bytes.push(self.is_fee_payer as u8);\n\n bytes.storage()\n }\n\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n );\n }\n }\n }\n if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"
5740
- },
5741
- "71": {
5742
- "path": "/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr",
5743
- "source": "#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n *\n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\npub unconstrained fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"
5744
- },
5745
- "72": {
5746
- "path": "/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr",
5747
- "source": "use dep::aztec::{context::{gas::GasOpts, PrivateContext, PublicContext}, hash::hash_args_array};\nuse dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n constants::{\n CANONICAL_AUTH_REGISTRY_ADDRESS, GENERATOR_INDEX__AUTHWIT_INNER,\n GENERATOR_INDEX__AUTHWIT_NULLIFIER, GENERATOR_INDEX__AUTHWIT_OUTER,\n },\n hash::poseidon2_hash_with_separator,\n};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties\n * (e.g. protocols or other users) to execute an action on their behalf.\n *\n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing some kind of secret, or having some kind of \"token\" that allows the message.\n *\n * The `message_hash` is a hash of the following structure:\n * hash(consumer, chain_id, version, inner_hash)\n * - consumer: the address of the contract that is \"consuming\" the message,\n * - chain_id: the chain id of the chain that the message is being consumed on,\n * - version: the version of the chain that the message is being consumed on,\n * - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n *\n * While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be\n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few\n * helper functions to deal with such messages.\n *\n * For example, we provide helper function that is used for checking that the message is an encoding of the current call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can\n * show that it is acting on behalf of the contract.\n *\n * If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be\n * derived as:\n * inner_hash = hash(caller, \"transfer\", hash(to, amount))\n *\n * Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and `amount`\n * the arguments for the transfer.\n *\n * Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is\n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * to store the messages that we have approved.\n *\n * A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline\n * how this would look in private, and then in public later.\n *\n * Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX).\n * `Alice` would make a `deposit` transaction, that she is executing using her account contract.\n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token`\n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to\n * convince the `Token` contract that it is allowed to do so.\n *\n * This is where the authentication witness comes in The `Token` contract computes a `message_hash` from the\n * `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to\n * execute that call.\n *\n * `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her\n * account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `Alice`.\n *\n * To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n * authentication witness, and emit it from the `Token` contract (consumer).\n *\n * Note that we can do this flow as we are in private were we can do oracle calls out from contracts.\n *\n *\n * Person Contract Contract Contract\n * Alice Alice Account Token DeFi\n * | | | |\n * | Defi.deposit(Token, 1000) | |\n * |----------------->| | |\n * | | deposit(Token, 1000) |\n * | |---------------------------------------->|\n * | | | |\n * | | | transfer(Alice, Defi, 1000)\n * | | |<---------------------|\n * | | | |\n * | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | |<-----------------| |\n * | | | |\n * | Please give me AuthWit for DeFi | |\n * | calling transfer(Alice, Defi, 1000) | |\n * |<-----------------| | |\n * | | | |\n * | | | |\n * | AuthWit for transfer(Alice, Defi, 1000) |\n * |----------------->| | |\n * | | AuthWit validity | |\n * | |----------------->| |\n * | | | |\n * | | throw if invalid AuthWit |\n * | | | |\n * | | emit AuthWit nullifier |\n * | | | |\n * | | transfer(Alice, Defi, 1000) |\n * | | | |\n * | | | |\n * | | | success |\n * | | |--------------------->|\n * | | | |\n * | | | |\n * | | | deposit(Token, 1000)\n * | | | |\n * | | | |\n *\n *\n * If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store\n * the messages that we have approved.\n *\n * To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its own map in the registry, so `Alice` cannot approve a message for `Bob`.\n *\n * The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, see `main.nr` in `auth_registry_contract`.\n *\n * Person Contract Contract Contract Contract\n * Alice Alice Account Registry Token DeFi\n * | | | | |\n * | Registry.set_authorized(..., true) | | |\n * |----------------->| | | |\n * | | set_authorized(..., true) | |\n * | |------------------->| | |\n * | | | | |\n * | | set authorized to true | |\n * | | | | |\n * | | | | |\n * | Defi.deposit(Token, 1000) | | |\n * |----------------->| | | |\n * | | deposit(Token, 1000) | |\n * | |-------------------------------------------------------------->|\n * | | | | |\n * | | | transfer(Alice, Defi, 1000) |\n * | | | |<---------------------|\n * | | | | |\n * | | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | | |<------------------| |\n * | | | | |\n * | | throw if invalid AuthWit | |\n * | | | | |\n * | | | | |\n * | | set authorized to false | |\n * | | | | |\n * | | | | |\n * | | | AuthWit validity | |\n * | | |------------------>| |\n * | | | | |\n * | | | | transfer(Alice, Defi, 1000)\n * | | | |<-------------------->|\n * | | | | |\n * | | | | success |\n * | | | |--------------------->|\n * | | | | |\n * | | | | deposit(Token, 1000)\n * | | | | |\n *\n *\n * --- FAQ ---\n * Q: Why are we using a success flag of `poseidon2_hash_bytes(\"IS_VALID()\")` instead of just returning a boolean?\n * A: We want to make sure that we don't accidentally return `true` if there is a collision in the function selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a collision and we return\n * a success flag.\n *\n * Q: Why are we using static calls?\n * A: We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n * could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n *\n * Q: Would it not be cheaper to use a nullifier instead of updating state in public?\n * A: At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would be\n * cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the\n * consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff is posted to DA), and now it is cheaper.\n *\n * Q: Why is the chain id and the version part of the message hash?\n * A: The chain id and the version is part of the message hash to ensure that the message is only valid on a specific\n * chain to avoid a case where the same message could be used across multiple chains.\n */\n\nglobal IS_VALID_SELECTOR: Field = 0x47dacd73; // 4 last bytes of poseidon2_hash_bytes(\"IS_VALID()\")\n\n/**\n * Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([\n context.msg_sender().to_field(),\n context.selector().to_field(),\n context.args_hash,\n ]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\n\n/**\n * Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n *\n * Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n * the `inner_hash` is from a different source, e.g., say a block of text etc.\n *\n * @param on_behalf_of The address that have authorized the current call\n * @param inner_hash The hash of the message to authorize\n */\npub fn assert_inner_hash_valid_authwit(\n context: &mut PrivateContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field,\n) {\n // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n let result: Field = context\n .static_call_private_function(\n on_behalf_of,\n comptime { FunctionSelector::from_signature(\"verify_private_authwit(Field)\") },\n [inner_hash],\n )\n .unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version.\n // Those should already be handled in the verification, so we just need something to nullify, that allow same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/**\n * Assert that `on_behalf_of` have authorized the current call in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub unconstrained fn assert_current_call_valid_authwit_public(\n context: &mut PublicContext,\n on_behalf_of: AztecAddress,\n) {\n let inner_hash = compute_inner_authwit_hash([\n (*context).msg_sender().to_field(),\n (*context).selector().to_field(),\n (*context).get_args_hash(),\n ]);\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/**\n * Assert that `on_behalf_of` have authorized a speicifc `inner_hash` in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n */\npub unconstrained fn assert_inner_hash_valid_authwit_public(\n context: &mut PublicContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field,\n) {\n let results: [Field] = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime { FunctionSelector::from_signature(\"consume((Field),Field)\") },\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default(),\n );\n assert(results.len() == 1, \"Invalid response from registry\");\n assert(results[0] == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/**\n * Compute the `message_hash` from a function call to be used by an authentication witness\n *\n * Useful for when you need a non-account contract to approve during execution. For example if you need a contract\n * to make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow\n * B to transfer T on its behalf.\n *\n * @param caller The address of the contract that is calling the function, in the example above, this would be B\n * @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N],\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash =\n compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_authwit_message_hash_from_call\n\n/**\n * Computes the `inner_hash` of the authentication witness\n *\n * This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n * that is not necessarily a call, but just some \"bytes\" or text.\n *\n * @param args The arguments to hash\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/**\n * Computs the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n *\n * Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [on_behalf_of.to_field(), inner_hash],\n GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n )\n}\n\n/**\n * Computes the `message_hash` for the authentication witness\n *\n * @param consumer The address of the contract that is consuming the message\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param inner_hash The hash of the \"inner\" message that is being consumed\n */\npub fn compute_authwit_message_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [consumer.to_field(), chain_id, version, inner_hash],\n GENERATOR_INDEX__AUTHWIT_OUTER,\n )\n}\n\n/**\n * Helper function to set the authorization status of a message hash\n *\n * Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n *\n * @param message_hash The hash of the message to authorize\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub unconstrained fn set_authorized(\n context: &mut PublicContext,\n message_hash: Field,\n authorize: bool,\n) {\n let res = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime { FunctionSelector::from_signature(\"set_authorized(Field,bool)\") },\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default(),\n );\n assert(res.len() == 0);\n}\n\n/**\n * Helper function to reject all authwits\n *\n * Wraps a public call to the authentication registry to set the `reject_all` flag\n *\n * @param reject True if all authwits should be rejected, false otherwise\n */\npub unconstrained fn set_reject_all(context: &mut PublicContext, reject: bool) {\n let res = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime { FunctionSelector::from_signature(\"set_reject_all(bool)\") },\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default(),\n );\n assert(res.len() == 0);\n}\n"
5748
- },
5749
- "84": {
5646
+ "75": {
5750
5647
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/note/lifecycle.nr",
5751
5648
  "source": "use crate::context::{PrivateContext, PublicContext};\nuse crate::note::{\n note_emission::NoteEmission,\n note_header::NoteHeader,\n note_interface::{NoteInterface, NullifiableNote},\n utils::{compute_note_hash_for_nullify_internal, compute_note_hash_for_read_request},\n};\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\n\npub fn create_note<Note, let N: u32>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note,\n) -> NoteEmission<Note>\nwhere\n Note: NoteInterface<N> + NullifiableNote,\n{\n let contract_address = (*context).this_address();\n let note_hash_counter = context.side_effect_counter;\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter };\n note.set_header(header);\n let note_hash = note.compute_note_hash();\n\n let serialized_note = Note::serialize_content(*note);\n notify_created_note(\n storage_slot,\n Note::get_note_type_id(),\n serialized_note,\n note_hash,\n note_hash_counter,\n );\n\n context.push_note_hash(note_hash);\n\n NoteEmission::new(*note)\n}\n\npub fn create_note_hash_from_public<Note, let N: u32>(\n context: &mut PublicContext,\n storage_slot: Field,\n note: &mut Note,\n)\nwhere\n Note: NoteInterface<N> + NullifiableNote,\n{\n let contract_address = (*context).this_address();\n // Public note hashes are transient, but have no side effect counters, so we just need note_hash_counter != 0\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, note_hash_counter: 1 };\n note.set_header(header);\n let note_hash = note.compute_note_hash();\n\n context.push_note_hash(note_hash);\n}\n\n// Note: This function is currently totally unused.\npub fn destroy_note<Note, let N: u32>(context: &mut PrivateContext, note: Note)\nwhere\n Note: NoteInterface<N> + NullifiableNote,\n{\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n\n destroy_note_unsafe(context, note, note_hash_for_read_request)\n}\n\npub fn destroy_note_unsafe<Note, let N: u32>(\n context: &mut PrivateContext,\n note: Note,\n note_hash_for_read_request: Field,\n)\nwhere\n Note: NoteInterface<N> + NullifiableNote,\n{\n let note_hash_for_nullify =\n compute_note_hash_for_nullify_internal(note, note_hash_for_read_request);\n let nullifier = note.compute_nullifier(context, note_hash_for_nullify);\n\n let note_hash_counter = note.get_header().note_hash_counter;\n let notification_note_hash = if (note_hash_counter == 0) {\n // Counter is zero, so we're nullifying a settled note and we don't populate the note_hash with real value.\n 0\n } else {\n // A non-zero note hash counter implies that we're nullifying a pending note (i.e. one that has not yet been\n // persisted in the trees and is instead in the pending new note hashes array). In such a case we populate its\n // hash with real value to inform the kernel which note we're nullifyng so that it can either squash both\n // the note and the nullifier if it's an inner note hash, or check that the it matches a pending note if it's\n // a siloed note hash.\n note_hash_for_nullify\n };\n\n let nullifier_counter = context.side_effect_counter;\n notify_nullified_note(nullifier, notification_note_hash, nullifier_counter);\n\n context.push_nullifier_for_note_hash(nullifier, notification_note_hash)\n}\n"
5752
5649
  },
5753
- "87": {
5650
+ "78": {
5754
5651
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/note/utils.nr",
5755
5652
  "source": "use crate::{\n context::PrivateContext,\n note::{note_header::NoteHeader, note_interface::{NoteInterface, NullifiableNote}},\n};\n\nuse dep::protocol_types::{\n hash::{\n compute_siloed_note_hash as compute_siloed_note_hash,\n compute_siloed_nullifier as compute_siloed_nullifier_from_preimage,\n compute_unique_note_hash,\n },\n utils::arr_copy_slice,\n};\n\npub fn compute_siloed_nullifier<Note, let N: u32>(\n note_with_header: Note,\n context: &mut PrivateContext,\n) -> Field\nwhere\n Note: NoteInterface<N> + NullifiableNote,\n{\n let header = note_with_header.get_header();\n let note_hash_for_nullify = compute_note_hash_for_nullify(note_with_header);\n let inner_nullifier = note_with_header.compute_nullifier(context, note_hash_for_nullify);\n\n compute_siloed_nullifier_from_preimage(header.contract_address, inner_nullifier)\n}\n\n// TODO(#7775): make this not impossible to understand\npub fn compute_note_hash_for_read_request<Note, let N: u32>(note: Note) -> Field\nwhere\n Note: NoteInterface<N> + NullifiableNote,\n{\n let note_hash = note.compute_note_hash();\n let nonce = note.get_header().nonce;\n let counter = note.get_header().note_hash_counter;\n\n if counter != 0 {\n note_hash\n } else {\n compute_unique_note_hash(nonce, note_hash)\n }\n}\n\n// TODO(#7775): make this not impossible to understand\npub fn compute_note_hash_for_nullify_internal<Note, let N: u32>(\n note: Note,\n note_hash_for_read_request: Field,\n) -> Field\nwhere\n Note: NoteInterface<N> + NullifiableNote,\n{\n let header = note.get_header();\n\n if header.note_hash_counter != 0 {\n if header.nonce == 0 {\n // Case 1: Transient note\n note_hash_for_read_request\n } else {\n // Case 2: Non-revertible note, nullified by a revertible nullifier\n let unique_note_hash =\n compute_unique_note_hash(header.nonce, note_hash_for_read_request);\n compute_siloed_note_hash(header.contract_address, unique_note_hash)\n }\n } else {\n // Case 3: Note from a previous transaction\n // note_hash_for_read_request is already the unique_note_hash in this case\n compute_siloed_note_hash(header.contract_address, note_hash_for_read_request)\n }\n}\n\n// TODO(#7775): nuke this commented out code - kept it around as it contains comments which might be helpful when tackling #7775\n// pub fn compute_note_hash_for_nullify<Note, let N: u32, let M: u32>(note: Note) -> Field where Note: NoteInterface<N> {\n// let header = note.get_header();\n// // There are 3 cases for reading a note intended for consumption:\n// // 1. The note was inserted in this transaction, is revertible, or is not nullified by a revertible nullifier in\n// // the same transaction: (note_hash_counter != 0) & (nonce == 0)\n// // 2. The note was inserted in this transaction, is non-revertible, and is nullified by a revertible nullifier in\n// // the same transaction: (note_hash_counter != 0) & (nonce != 0)\n// // 3. The note was inserted in a previous transaction: (note_hash_counter == 0) & (nonce != 0)\n\n// let note_hash = note.compute_note_hiding_point().x;\n\n// if header.nonce == 0 {\n// // Case 1.\n// // If a note is transient, we just read the note_hash (kernel will hash it with nonce and silo by contract address).\n// note_hash\n// } else {\n// // Case 2: If a note is non-revertible, and is nullified by a revertible nullifier, we cannot squash them in the\n// // private reset circuit. Because if the tx reverts, we will have to keep the note hash and throw away the\n// // nullifier.\n// // And if the tx does not revert, both will be emitted. In which case, the nullifier must be created in the app\n// // from the siloed note hash.\n// // The kernel circuit will check that a nullifier with non-zero note_nonce is linked to a note hash, whose\n// // siloed note hash matches the note hash specified in the nullifier.\n\n// // Case 3: If a note is not from the current transaction, that means we are reading a settled note (from\n// // tree) created in a previous TX. So we need the siloed_note_hash which has already been hashed with\n// // nonce and then contract address. This hash will match the existing leaf in the note hash\n// // tree, so the kernel can just perform a membership check directly on this hash/leaf.\n// let unique_note_hash = compute_unique_note_hash(header.nonce, note_hash);\n// compute_siloed_note_hash(header.contract_address, unique_note_hash)\n// // IMPORTANT NOTE ON REDUNDANT SILOING BY CONTRACT ADDRESS: The note hash computed above is\n// // \"siloed\" by contract address. When a note hash is computed solely for the purpose of\n// // nullification, it is not strictly necessary to silo the note hash before computing\n// // its nullifier. In other words, it is NOT NECESSARY for protocol security that a nullifier\n// // be computed from a siloed note hash. After all, persistable note hashes and nullifiers are\n// // siloed by the kernel circuit. That being said, the siloed note hash computed above CAN be\n// // used for nullifier computation, and this achieves the (arguably unnecessary) property that\n// // nullifiers are computed from a note hash's fully-computed note hash tree leaf.\n// }\n// }\n\npub fn compute_note_hash_for_nullify<Note, let N: u32>(note: Note) -> Field\nwhere\n Note: NoteInterface<N> + NullifiableNote,\n{\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n compute_note_hash_for_nullify_internal(note, note_hash_for_read_request)\n}\n\npub unconstrained fn compute_note_hash_and_optionally_a_nullifier<T, let N: u32, let S: u32>(\n deserialize_content: fn([Field; N]) -> T,\n note_header: NoteHeader,\n compute_nullifier: bool,\n serialized_note: [Field; S],\n) -> [Field; 4]\nwhere\n T: NoteInterface<N> + NullifiableNote,\n{\n let mut note = deserialize_content(arr_copy_slice(serialized_note, [0; N], 0));\n note.set_header(note_header);\n\n let note_hash = note.compute_note_hash();\n let unique_note_hash = compute_unique_note_hash(note_header.nonce, note_hash);\n let siloed_note_hash = compute_siloed_note_hash(note_header.contract_address, unique_note_hash);\n\n let inner_nullifier = if compute_nullifier {\n note.compute_nullifier_without_context()\n } else {\n 0\n };\n // docs:start:compute_note_hash_and_optionally_a_nullifier_returns\n [note_hash, unique_note_hash, siloed_note_hash, inner_nullifier]\n // docs:end:compute_note_hash_and_optionally_a_nullifier_returns\n}\n"
5756
5653
  },
5757
- "91": {
5654
+ "82": {
5758
5655
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/note/note_emission.nr",
5759
5656
  "source": "/**\n * A note emission struct containing the information required for emitting a note.\n * The exact `emit` logic is passed in by the application code\n */\npub struct NoteEmission<Note> {\n pub note: Note,\n}\n\nimpl<Note> NoteEmission<Note> {\n pub fn new(note: Note) -> Self {\n Self { note }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](Self) -> ()) {\n _emit(self);\n }\n\n pub fn discard(_self: Self) {}\n}\n\n/**\n * A struct wrapping note emission in `Option<T>`.\n * This is the struct provided to application codes, which can be used to emit\n * only when a note was actually inserted.\n * It is fairly common to have cases where a function conditionally inserts,\n * and this allows us to keep the same API for emission in both cases (e.g. inserting\n * a change note in a token's transfer function only when there is \"change\" left).\n */\npub struct OuterNoteEmission<Note> {\n emission: Option<NoteEmission<Note>>,\n}\n\nimpl<Note> OuterNoteEmission<Note> {\n pub fn new(emission: Option<NoteEmission<Note>>) -> Self {\n Self { emission }\n }\n\n pub fn emit<Env>(self, _emit: fn[Env](NoteEmission<Note>) -> ()) {\n if self.emission.is_some() {\n _emit(self.emission.unwrap());\n }\n }\n\n pub fn discard(_self: Self) {}\n}\n"
5760
5657
  },
5761
- "94": {
5658
+ "85": {
5762
5659
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/note/note_getter/mod.nr",
5763
5660
  "source": "use crate::context::PrivateContext;\nuse crate::note::{\n constants::{GET_NOTE_ORACLE_RETURN_LENGTH, VIEW_NOTE_ORACLE_RETURN_LENGTH},\n note_getter_options::{NoteGetterOptions, NoteStatus, PropertySelector, Select, Sort, SortOrder},\n note_interface::{NoteInterface, NullifiableNote},\n note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_request,\n};\nuse crate::oracle;\nuse crate::utils::comparison::compare;\nuse dep::protocol_types::constants::{\n GET_NOTES_ORACLE_RETURN_LENGTH, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n};\n\npub use crate::note::constants::MAX_NOTES_PER_PAGE;\n\nmod test;\n\nfn extract_property_value_from_selector<let N: u32>(\n serialized_note: [Field; N],\n selector: PropertySelector,\n) -> Field {\n // Selectors use PropertySelectors in order to locate note properties inside the serialized note.\n // This allows easier packing and custom (de)serialization schemas. A note property is located\n // inside the serialized note using the index inside the array, a byte offset and a length.\n let value: [u8; 32] = serialized_note[selector.index].to_be_bytes();\n let offset = selector.offset;\n let length = selector.length;\n let mut value_field = 0 as Field;\n let mut acc: Field = 1;\n for i in 0..32 {\n if i < length {\n value_field += value[31 + offset - i] as Field * acc;\n acc = acc * 256;\n }\n }\n value_field\n}\n\nfn check_note_header<Note, let N: u32>(context: PrivateContext, storage_slot: Field, note: Note)\nwhere\n Note: NoteInterface<N>,\n{\n let header = note.get_header();\n let contract_address = context.this_address();\n assert(header.contract_address.eq(contract_address), \"Mismatch note header contract address.\");\n assert(header.storage_slot == storage_slot, \"Mismatch note header storage slot.\");\n}\n\nfn check_note_fields<let N: u32>(\n serialized_note: [Field; N],\n selects: BoundedVec<Option<Select>, N>,\n) {\n for i in 0..selects.len() {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n let value_field =\n extract_property_value_from_selector(serialized_note, select.property_selector);\n\n assert(\n compare(value_field, select.comparator, select.value.to_field()),\n \"Mismatch return note field.\",\n );\n }\n}\n\nfn check_notes_order<let N: u32>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>,\n) {\n for i in 0..sorts.len() {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let field_0 = extract_property_value_from_selector(fields_0, sort.property_selector);\n let field_1 = extract_property_value_from_selector(fields_1, sort.property_selector);\n let eq = field_0 == field_1;\n let lt = field_0.lt(field_1);\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, let N: u32>(\n context: &mut PrivateContext,\n storage_slot: Field,\n) -> (Note, Field)\nwhere\n Note: NoteInterface<N> + NullifiableNote,\n{\n let note = unsafe { get_note_internal(storage_slot) };\n\n // Constraining that we got a valid note from the oracle is fairly straightforward: all we need to do is check that\n // the metadata is correct, and that the note exists.\n check_note_header(*context, storage_slot, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\n context.push_note_hash_read_request(note_hash_for_read_request);\n\n (note, note_hash_for_read_request)\n}\n\npub fn get_notes<Note, let N: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, PREPROCESSOR_ARGS, FILTER_ARGS>,\n ) -> (BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>)\nwhere\n Note: NoteInterface<N> + NullifiableNote + Eq,\n{\n let opt_notes = unsafe { get_notes_internal(storage_slot, options) };\n\n // We apply the constraints in a separate function instead of inlining them here to make it easier to test that\n // these checks correctly reject bad notes.\n constrain_get_notes_internal(context, storage_slot, opt_notes, options)\n}\n\nunconstrained fn apply_preprocessor<Note, PREPROCESSOR_ARGS>(\n notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor: fn([Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL], PREPROCESSOR_ARGS) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n preprocessor_args: PREPROCESSOR_ARGS,\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL] {\n preprocessor(notes, preprocessor_args)\n}\n\nfn constrain_get_notes_internal<Note, let N: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n opt_notes: [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n options: NoteGetterOptions<Note, N, PREPROCESSOR_ARGS, FILTER_ARGS>,\n ) -> (BoundedVec<Note, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>)\nwhere\n Note: NoteInterface<N> + NullifiableNote + Eq,\n{\n // The filter is applied first to avoid pushing note read requests for notes we're not interested in. Note that\n // while the filter function can technically mutate the contents of the notes (as opposed to simply removing some),\n // the private kernel will later validate that these note actually exist, so transformations would cause for that\n // check to fail.\n let filter_fn = options.filter;\n let filter_args = options.filter_args;\n let filtered_notes = filter_fn(opt_notes, filter_args);\n\n let notes = crate::utils::collapse_array(filtered_notes);\n let mut note_hashes: BoundedVec<Field, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL> =\n BoundedVec::new();\n\n // We have now collapsed the sparse array of Options into a BoundedVec. This is a more ergonomic type and also\n // results in reduced gate counts when setting a limit value, since we guarantee that the limit is an upper bound\n // for the runtime length, and can therefore have fewer loop iterations.\n assert(notes.len() <= options.limit, \"Got more notes than limit.\");\n\n let mut prev_fields = [0; N];\n for i in 0..options.limit {\n if i < notes.len() {\n let note = notes.get_unchecked(i);\n let fields = note.serialize_content();\n check_note_header(*context, storage_slot, note);\n check_note_fields(fields, options.selects);\n if i != 0 {\n check_notes_order(prev_fields, fields, options.sorts);\n }\n prev_fields = fields;\n\n let note_hash_for_read_request = compute_note_hash_for_read_request(note);\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_note_hash_read_request(note_hash_for_read_request);\n note_hashes.push(note_hash_for_read_request);\n };\n }\n\n (notes, note_hashes)\n}\n\nunconstrained fn get_note_internal<Note, let N: u32>(storage_slot: Field) -> Note\nwhere\n Note: NoteInterface<N>,\n{\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n oracle::notes::get_notes(\n storage_slot,\n 0,\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n NoteStatus.ACTIVE,\n placeholder_note,\n placeholder_fields,\n placeholder_note_length,\n )[0]\n .expect(f\"Failed to get a note\") // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, let N: u32, PREPROCESSOR_ARGS, FILTER_ARGS>(\n storage_slot: Field,\n options: NoteGetterOptions<Note, N, PREPROCESSOR_ARGS, FILTER_ARGS>,\n) -> [Option<Note>; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]\nwhere\n Note: NoteInterface<N>,\n{\n // This function simply performs some transformations from NoteGetterOptions into the types required by the oracle.\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) =\n flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n let placeholder_note_length = [0; N];\n\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length,\n );\n\n apply_preprocessor(opt_notes, options.preprocessor, options.preprocessor_args)\n}\n\npub unconstrained fn view_notes<Note, let N: u32>(\n storage_slot: Field,\n options: NoteViewerOptions<Note, N>,\n) -> BoundedVec<Note, MAX_NOTES_PER_PAGE>\nwhere\n Note: NoteInterface<N>,\n{\n let (num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values, select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order) =\n 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 let placeholder_note_length = [0; N];\n\n let notes_array = oracle::notes::get_notes(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n options.limit,\n options.offset,\n options.status,\n placeholder_opt_notes,\n placeholder_fields,\n placeholder_note_length,\n );\n\n let mut notes = BoundedVec::new();\n for i in 0..notes_array.len() {\n if notes_array[i].is_some() {\n notes.push(notes_array[i].unwrap_unchecked());\n }\n }\n\n notes\n}\n\nunconstrained fn flatten_options<let N: u32>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>,\n) -> (u8, [u8; N], [u8; N], [u8; N], [Field; N], [u8; N], [u8; N], [u8; N], [u8; N], [u8; N]) {\n let mut num_selects = 0;\n let mut select_by_indexes = [0; N];\n let mut select_by_offsets = [0; N];\n let mut select_by_lengths = [0; N];\n let mut select_values = [0; N];\n let mut select_comparators = [0; N];\n\n for i in 0..selects.len() {\n let select = selects.get(i);\n if select.is_some() {\n select_by_indexes[num_selects] = select.unwrap_unchecked().property_selector.index;\n select_by_offsets[num_selects] = select.unwrap_unchecked().property_selector.offset;\n select_by_lengths[num_selects] = select.unwrap_unchecked().property_selector.length;\n select_values[num_selects] = select.unwrap_unchecked().value;\n select_comparators[num_selects] = select.unwrap_unchecked().comparator;\n num_selects += 1;\n };\n }\n\n let mut sort_by_indexes = [0; N];\n let mut sort_by_offsets = [0; N];\n let mut sort_by_lengths = [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_indexes[i] = sort.unwrap_unchecked().property_selector.index;\n sort_by_offsets[i] = sort.unwrap_unchecked().property_selector.offset;\n sort_by_lengths[i] = sort.unwrap_unchecked().property_selector.length;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n }\n\n (\n num_selects, select_by_indexes, select_by_offsets, select_by_lengths, select_values,\n select_comparators, sort_by_indexes, sort_by_offsets, sort_by_lengths, sort_order,\n )\n}\n"
5764
5661
  },
5765
- "102": {
5662
+ "93": {
5766
5663
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr",
5767
- "source": "use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n hash::{ArgsHasher, hash_args_array},\n keys::constants::{NULLIFIER_INDEX, NUM_KEY_TYPES, OUTGOING_INDEX, sk_generators},\n messaging::process_l1_to_l2_message,\n oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal,\n },\n header::get_header_at,\n key_validation_request::get_key_validation_request,\n logs::{emit_encrypted_event_log, emit_encrypted_note_log},\n returns::pack_returns,\n },\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext,\n function_selector::FunctionSelector,\n log_hash::{EncryptedLogHash, LogHash, NoteLogHash},\n max_block_number::MaxBlockNumber,\n note_hash::NoteHash,\n nullifier::Nullifier,\n private_call_request::PrivateCallRequest,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest,\n read_request::ReadRequest,\n side_effect::Counted,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n },\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NOTE_HASHES_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, PUBLIC_DISPATCH_SELECTOR,\n },\n header::Header,\n messaging::l2_to_l1_message::L2ToL1Message,\n traits::Empty,\n};\n\n// When finished, one can call .finish() to convert back to the abi\npub struct PrivateContext {\n // docs:start:private-context\n pub inputs: PrivateContextInputs,\n pub side_effect_counter: u32,\n\n pub min_revertible_side_effect_counter: u32,\n pub is_fee_payer: bool,\n\n pub args_hash: Field,\n pub return_hash: Field,\n\n pub max_block_number: MaxBlockNumber,\n\n pub note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n pub nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n pub note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n pub nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n pub private_call_requests: BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n pub public_call_requests: BoundedVec<Counted<PublicCallRequest>, MAX_ENQUEUED_CALLS_PER_CALL>,\n pub public_teardown_call_request: PublicCallRequest,\n pub l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n pub historical_header: Header,\n\n pub note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n pub encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n pub contract_class_logs_hashes: BoundedVec<LogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n pub last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n pub fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n pub fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(\n Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() },\n );\n }\n\n pub fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(\n Nullifier {\n value: nullifier,\n note_hash: nullified_note_hash,\n counter: self.next_counter(),\n },\n );\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n pub fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage(),\n nullifier_read_requests: self.nullifier_read_requests.storage(),\n key_validation_requests_and_generators: self\n .key_validation_requests_and_generators\n .storage(),\n note_hashes: self.note_hashes.storage(),\n nullifiers: self.nullifiers.storage(),\n private_call_requests: self.private_call_requests.storage(),\n public_call_requests: self.public_call_requests.storage(),\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage(),\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage(),\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage(),\n contract_class_logs_hashes: self.contract_class_logs_hashes.storage(),\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context,\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\n \"Setting {0} as fee payer\",\n [self.this_address().to_field()],\n );\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number =\n MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request =\n self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one\n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale\n // Typically we'd validate keys by showing that they are the preimage of `pk_m_hash`, but that'd require\n // the oracle returning the master secret keys, which could cause malicious contracts to leak it or learn\n // about secrets from other contracts. We therefore silo secret keys, and rely on the private kernel to\n // validate that we siloed secret key corresponds to correct siloing of the master secret key that hashes\n // to `pk_m_hash`.\n let request = unsafe { get_key_validation_request(pk_m_hash, key_index) };\n assert(request.pk_m.hash() == pk_m_hash);\n\n self.key_validation_requests_and_generators.push(\n KeyValidationRequestAndGenerator {\n request,\n sk_app_generator: sk_generators[key_index],\n },\n );\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(\n &mut self,\n content: Field,\n secret: Field,\n sender: EthAddress,\n leaf_index: Field,\n ) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret,\n leaf_index,\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field,\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(\n &mut self,\n note_hash_counter: u32,\n log: [u8; M],\n log_hash: Field,\n ) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.call_private_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n false,\n )\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.call_private_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n true,\n )\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false)\n }\n\n pub fn static_call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true)\n }\n\n pub fn call_private_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n\n // The oracle simulates the private call and returns the value of the side effects counter after execution of\n // the call (which means that end_side_effect_counter - start_side_effect_counter is the number of side effects\n // that took place), along with the hash of the return values. We validate these by requesting a private kernel\n // iteration in which the return values are constrained to hash to `returns_hash` and the side effects counter\n // to increment from start to end.\n let (end_side_effect_counter, returns_hash) = unsafe {\n call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n )\n };\n\n self.private_call_requests.push(\n PrivateCallRequest {\n call_context: CallContext {\n msg_sender: self.this_address(),\n contract_address,\n function_selector,\n is_static_call,\n },\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter,\n },\n );\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n self.side_effect_counter = end_side_effect_counter + 1;\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.call_public_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n false,\n )\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.call_public_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n true,\n )\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/8985): Fix this.\n // WARNING: This is insecure and should be temporary!\n // The oracle repacks the arguments and returns a new args_hash.\n // new_args = [selector, ...old_args], so as to make it suitable to call the public dispatch function.\n // We don't validate or compute it in the circuit because a) it's harder to do with slices, and\n // b) this is only temporary.\n let args_hash = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n );\n\n // Public calls are rerouted through the dispatch function.\n let function_selector = comptime { FunctionSelector::from_field(PUBLIC_DISPATCH_SELECTOR) };\n\n let call_request = PublicCallRequest {\n msg_sender: self.this_address(),\n contract_address,\n function_selector,\n is_static_call,\n args_hash,\n };\n\n self.public_call_requests.push(Counted::new(call_request, counter));\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.set_public_teardown_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n false,\n )\n }\n\n pub fn set_public_teardown_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/8985): Fix this.\n // WARNING: This is insecure and should be temporary!\n // The oracle repacks the arguments and returns a new args_hash.\n // new_args = [selector, ...old_args], so as to make it suitable to call the public dispatch function.\n // We don't validate or compute it in the circuit because a) it's harder to do with slices, and\n // b) this is only temporary.\n let args_hash = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n );\n\n let function_selector = comptime { FunctionSelector::from_field(PUBLIC_DISPATCH_SELECTOR) };\n\n self.public_teardown_call_request = PublicCallRequest {\n msg_sender: self.this_address(),\n contract_address,\n function_selector,\n is_static_call,\n args_hash,\n };\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n }\n }\n}\n"
5664
+ "source": "use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n hash::{ArgsHasher, hash_args_array},\n keys::constants::{NULLIFIER_INDEX, NUM_KEY_TYPES, OUTGOING_INDEX, sk_generators},\n messaging::process_l1_to_l2_message,\n oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal,\n },\n header::get_header_at,\n key_validation_request::get_key_validation_request,\n returns::pack_returns,\n },\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext,\n function_selector::FunctionSelector,\n log::Log,\n log_hash::LogHash,\n max_block_number::MaxBlockNumber,\n note_hash::NoteHash,\n nullifier::Nullifier,\n private_call_request::PrivateCallRequest,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n private_log::PrivateLogData,\n public_call_request::PublicCallRequest,\n read_request::ReadRequest,\n side_effect::Counted,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n },\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL,\n PRIVATE_LOG_SIZE_IN_FIELDS, PUBLIC_DISPATCH_SELECTOR,\n },\n header::Header,\n messaging::l2_to_l1_message::L2ToL1Message,\n traits::Empty,\n};\n\n// When finished, one can call .finish() to convert back to the abi\npub struct PrivateContext {\n // docs:start:private-context\n pub inputs: PrivateContextInputs,\n pub side_effect_counter: u32,\n\n pub min_revertible_side_effect_counter: u32,\n pub is_fee_payer: bool,\n\n pub args_hash: Field,\n pub return_hash: Field,\n\n pub max_block_number: MaxBlockNumber,\n\n pub note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n pub nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n pub note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n pub nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n pub private_call_requests: BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n pub public_call_requests: BoundedVec<Counted<PublicCallRequest>, MAX_ENQUEUED_CALLS_PER_CALL>,\n pub public_teardown_call_request: PublicCallRequest,\n pub l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n pub historical_header: Header,\n\n pub private_logs: BoundedVec<PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL>,\n pub contract_class_logs_hashes: BoundedVec<LogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n pub last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n private_logs: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n pub fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n pub fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(\n Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() },\n );\n }\n\n pub fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(\n Nullifier {\n value: nullifier,\n note_hash: nullified_note_hash,\n counter: self.next_counter(),\n },\n );\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n pub fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage(),\n nullifier_read_requests: self.nullifier_read_requests.storage(),\n key_validation_requests_and_generators: self\n .key_validation_requests_and_generators\n .storage(),\n note_hashes: self.note_hashes.storage(),\n nullifiers: self.nullifiers.storage(),\n private_call_requests: self.private_call_requests.storage(),\n public_call_requests: self.public_call_requests.storage(),\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage(),\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n private_logs: self.private_logs.storage(),\n contract_class_logs_hashes: self.contract_class_logs_hashes.storage(),\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context,\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\n \"Setting {0} as fee payer\",\n [self.this_address().to_field()],\n );\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number =\n MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request =\n self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one\n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale\n // Typically we'd validate keys by showing that they are the preimage of `pk_m_hash`, but that'd require\n // the oracle returning the master secret keys, which could cause malicious contracts to leak it or learn\n // about secrets from other contracts. We therefore silo secret keys, and rely on the private kernel to\n // validate that we siloed secret key corresponds to correct siloing of the master secret key that hashes\n // to `pk_m_hash`.\n let request = unsafe { get_key_validation_request(pk_m_hash, key_index) };\n assert(request.pk_m.hash() == pk_m_hash);\n\n self.key_validation_requests_and_generators.push(\n KeyValidationRequestAndGenerator {\n request,\n sk_app_generator: sk_generators[key_index],\n },\n );\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(\n &mut self,\n content: Field,\n secret: Field,\n sender: EthAddress,\n leaf_index: Field,\n ) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret,\n leaf_index,\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn emit_private_log(&mut self, log: [Field; PRIVATE_LOG_SIZE_IN_FIELDS]) {\n let counter = self.next_counter();\n let private_log = PrivateLogData { log: Log::new(log), note_hash_counter: 0, counter };\n self.private_logs.push(private_log);\n }\n\n pub fn emit_raw_note_log(\n &mut self,\n log: [Field; PRIVATE_LOG_SIZE_IN_FIELDS],\n note_hash_counter: u32,\n ) {\n let counter = self.next_counter();\n let private_log = PrivateLogData { log: Log::new(log), note_hash_counter, counter };\n self.private_logs.push(private_log);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.call_private_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n false,\n )\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.call_private_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n true,\n )\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false)\n }\n\n pub fn static_call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true)\n }\n\n pub fn call_private_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n\n // The oracle simulates the private call and returns the value of the side effects counter after execution of\n // the call (which means that end_side_effect_counter - start_side_effect_counter is the number of side effects\n // that took place), along with the hash of the return values. We validate these by requesting a private kernel\n // iteration in which the return values are constrained to hash to `returns_hash` and the side effects counter\n // to increment from start to end.\n let (end_side_effect_counter, returns_hash) = unsafe {\n call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n )\n };\n\n self.private_call_requests.push(\n PrivateCallRequest {\n call_context: CallContext {\n msg_sender: self.this_address(),\n contract_address,\n function_selector,\n is_static_call,\n },\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter,\n },\n );\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n self.side_effect_counter = end_side_effect_counter + 1;\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.call_public_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n false,\n )\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.call_public_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n true,\n )\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/8985): Fix this.\n // WARNING: This is insecure and should be temporary!\n // The oracle repacks the arguments and returns a new args_hash.\n // new_args = [selector, ...old_args], so as to make it suitable to call the public dispatch function.\n // We don't validate or compute it in the circuit because a) it's harder to do with slices, and\n // b) this is only temporary.\n let args_hash = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n );\n\n // Public calls are rerouted through the dispatch function.\n let function_selector = comptime { FunctionSelector::from_field(PUBLIC_DISPATCH_SELECTOR) };\n\n let call_request = PublicCallRequest {\n msg_sender: self.this_address(),\n contract_address,\n function_selector,\n is_static_call,\n args_hash,\n };\n\n self.public_call_requests.push(Counted::new(call_request, counter));\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) {\n let args_hash = hash_args_array(args);\n arguments::pack_arguments_array(args);\n self.set_public_teardown_function_with_packed_args(\n contract_address,\n function_selector,\n args_hash,\n false,\n )\n }\n\n pub fn set_public_teardown_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/8985): Fix this.\n // WARNING: This is insecure and should be temporary!\n // The oracle repacks the arguments and returns a new args_hash.\n // new_args = [selector, ...old_args], so as to make it suitable to call the public dispatch function.\n // We don't validate or compute it in the circuit because a) it's harder to do with slices, and\n // b) this is only temporary.\n let args_hash = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n );\n\n let function_selector = comptime { FunctionSelector::from_field(PUBLIC_DISPATCH_SELECTOR) };\n\n self.public_teardown_call_request = PublicCallRequest {\n msg_sender: self.this_address(),\n contract_address,\n function_selector,\n is_static_call,\n args_hash,\n };\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n private_logs: BoundedVec::new(),\n contract_class_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES],\n }\n }\n}\n"
5768
5665
  },
5769
- "108": {
5666
+ "99": {
5770
5667
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/initializer.nr",
5771
5668
  "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::GENERATOR_INDEX__CONSTRUCTOR, hash::poseidon2_hash_with_separator,\n};\n\nuse crate::{\n context::{PrivateContext, PublicContext},\n oracle::get_contract_instance::{\n get_contract_instance, get_contract_instance_deployer_avm,\n get_contract_instance_initialization_hash_avm,\n },\n};\n\npub fn mark_as_initialized_public(context: &mut PublicContext) {\n let init_nullifier =\n compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn mark_as_initialized_private(context: &mut PrivateContext) {\n let init_nullifier =\n compute_unsiloed_contract_initialization_nullifier((*context).this_address());\n context.push_nullifier(init_nullifier);\n}\n\npub fn assert_is_initialized_public(context: &mut PublicContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n assert(context.nullifier_exists(init_nullifier, context.this_address()), \"Not initialized\");\n}\n\npub fn assert_is_initialized_private(context: &mut PrivateContext) {\n let init_nullifier = compute_unsiloed_contract_initialization_nullifier(context.this_address());\n context.push_nullifier_read_request(init_nullifier);\n}\n\nfn compute_unsiloed_contract_initialization_nullifier(address: AztecAddress) -> Field {\n address.to_field()\n}\n\npub fn assert_initialization_matches_address_preimage_public(context: PublicContext) {\n let address = context.this_address();\n let deployer = get_contract_instance_deployer_avm(address).unwrap();\n let initialization_hash = get_contract_instance_initialization_hash_avm(address).unwrap();\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (deployer.is_zero()) | (deployer == context.msg_sender()),\n \"Initializer address is not the contract deployer\",\n );\n}\n\npub fn assert_initialization_matches_address_preimage_private(context: PrivateContext) {\n let address = context.this_address();\n let instance = get_contract_instance(address);\n let expected_init = compute_initialization_hash(context.selector(), context.get_args_hash());\n assert(instance.initialization_hash == expected_init, \"Initialization hash does not match\");\n assert(\n (instance.deployer.is_zero()) | (instance.deployer == context.msg_sender()),\n \"Initializer address is not the contract deployer\",\n );\n}\n\npub fn compute_initialization_hash(\n init_selector: FunctionSelector,\n init_args_hash: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [init_selector.to_field(), init_args_hash],\n GENERATOR_INDEX__CONSTRUCTOR,\n )\n}\n"
5772
5669
  },
5773
- "119": {
5670
+ "110": {
5774
5671
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr",
5775
5672
  "source": "use dep::protocol_types::{\n address::AztecAddress, constants::CONTRACT_INSTANCE_LENGTH, contract_class_id::ContractClassId,\n contract_instance::ContractInstance,\n};\n\n// NOTE: this is for use in private only\n#[oracle(getContractInstance)]\nunconstrained fn get_contract_instance_oracle(\n _address: AztecAddress,\n) -> [Field; CONTRACT_INSTANCE_LENGTH] {}\n\n// NOTE: this is for use in private only\nunconstrained fn get_contract_instance_internal(\n address: AztecAddress,\n) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n get_contract_instance_oracle(address)\n}\n\n// NOTE: this is for use in private only\npub fn get_contract_instance(address: AztecAddress) -> ContractInstance {\n let instance =\n unsafe { ContractInstance::deserialize(get_contract_instance_internal(address)) };\n // The to_address function combines all values in the instance object to produce an address, so by checking that we\n // get the expected address we validate the entire struct.\n assert_eq(instance.to_address(), address);\n\n instance\n}\n\n// These oracles each return a ContractInstance member\n// plus a boolean indicating whether the instance was found.\n#[oracle(avmOpcodeGetContractInstanceDeployer)]\nunconstrained fn get_contract_instance_deployer_oracle_avm(\n _address: AztecAddress,\n) -> (Field, bool) {}\n#[oracle(avmOpcodeGetContractInstanceClassId)]\nunconstrained fn get_contract_instance_class_id_oracle_avm(\n _address: AztecAddress,\n) -> (Field, bool) {}\n#[oracle(avmOpcodeGetContractInstanceInitializationHash)]\nunconstrained fn get_contract_instance_initialization_hash_oracle_avm(\n _address: AztecAddress,\n) -> (Field, bool) {}\n\npub unconstrained fn get_contract_instance_deployer_internal_avm(\n address: AztecAddress,\n) -> (Field, bool) {\n get_contract_instance_deployer_oracle_avm(address)\n}\npub unconstrained fn get_contract_instance_class_id_internal_avm(\n address: AztecAddress,\n) -> (Field, bool) {\n get_contract_instance_class_id_oracle_avm(address)\n}\npub unconstrained fn get_contract_instance_initialization_hash_internal_avm(\n address: AztecAddress,\n) -> (Field, bool) {\n get_contract_instance_initialization_hash_oracle_avm(address)\n}\n\npub fn get_contract_instance_deployer_avm(address: AztecAddress) -> Option<AztecAddress> {\n let (member, exists) = get_contract_instance_deployer_internal_avm(address);\n if exists {\n Option::some(AztecAddress::from_field(member))\n } else {\n Option::none()\n }\n}\npub fn get_contract_instance_class_id_avm(address: AztecAddress) -> Option<ContractClassId> {\n let (member, exists) = get_contract_instance_class_id_internal_avm(address);\n if exists {\n Option::some(ContractClassId::from_field(member))\n } else {\n Option::none()\n }\n}\npub fn get_contract_instance_initialization_hash_avm(address: AztecAddress) -> Option<Field> {\n let (member, exists) = get_contract_instance_initialization_hash_internal_avm(address);\n if exists {\n Option::some(member)\n } else {\n Option::none()\n }\n}\n"
5776
5673
  },
5777
- "120": {
5674
+ "111": {
5778
5675
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr",
5779
5676
  "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader,\n};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n) -> [Field; 2] {}\n\npub unconstrained fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n) -> (u32, Field) {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n );\n\n let mut reader = Reader::new(fields);\n let end_side_effect_counter = reader.read_u32();\n let returns_hash = reader.read();\n\n (end_side_effect_counter, returns_hash)\n}\n"
5780
5677
  },
5781
- "121": {
5678
+ "112": {
5782
5679
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/notes.nr",
5783
- "source": "use crate::note::{note_header::NoteHeader, note_interface::NoteInterface};\n\nuse dep::protocol_types::{\n address::AztecAddress,\n indexed_tagging_secret::{INDEXED_TAGGING_SECRET_LENGTH, IndexedTaggingSecret},\n utils::arr_copy_slice,\n};\n\n/// Notifies the simulator that a note has been created, so that it can be returned in future read requests in the same\n/// transaction. This note should only be added to the non-volatile database if found in an actual block.\npub fn notify_created_note<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n serialized_note: [Field; N],\n note_hash: Field,\n counter: u32,\n) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe {\n notify_created_note_oracle_wrapper(\n storage_slot,\n note_type_id,\n serialized_note,\n note_hash,\n counter,\n )\n };\n}\n\n/// Notifies the simulator that a note has been nullified, so that it is no longer returned in future read requests in\n/// the same transaction. This note should only be removed to the non-volatile database if its nullifier is found in an\n/// actual block.\npub fn notify_nullified_note(nullifier: Field, note_hash: Field, counter: u32) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe { notify_nullified_note_oracle_wrapper(nullifier, note_hash, counter) };\n}\n\nunconstrained fn notify_created_note_oracle_wrapper<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n serialized_note: [Field; N],\n note_hash: Field,\n counter: u32,\n) {\n let _ = notify_created_note_oracle(\n storage_slot,\n note_type_id,\n serialized_note,\n note_hash,\n counter,\n );\n}\n\n#[oracle(notifyCreatedNote)]\nunconstrained fn notify_created_note_oracle<let N: u32>(\n _storage_slot: Field,\n _note_type_id: Field,\n _serialized_note: [Field; N],\n _note_hash: Field,\n _counter: u32,\n) -> Field {}\n\nunconstrained fn notify_nullified_note_oracle_wrapper(\n nullifier: Field,\n note_hash: Field,\n counter: u32,\n) {\n let _ = notify_nullified_note_oracle(nullifier, note_hash, counter);\n}\n\n#[oracle(notifyNullifiedNote)]\nunconstrained fn notify_nullified_note_oracle(\n _nullifier: Field,\n _note_hash: Field,\n _counter: u32,\n) -> Field {}\n\n#[oracle(getNotes)]\nunconstrained fn get_notes_oracle<let N: u32, let S: u32>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by_indexes: [u8; N],\n _select_by_offsets: [u8; N],\n _select_by_lengths: [u8; N],\n _select_values: [Field; N],\n _select_comparators: [u8; N],\n _sort_by_indexes: [u8; N],\n _sort_by_offsets: [u8; N],\n _sort_by_lengths: [u8; N],\n _sort_order: [u8; N],\n _limit: u32,\n _offset: u32,\n _status: u8,\n _return_size: u32,\n _placeholder_fields: [Field; S],\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper<let N: u32, let S: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; N],\n select_by_offsets: [u8; N],\n select_by_lengths: [u8; N],\n select_values: [Field; N],\n select_comparators: [u8; N],\n sort_by_indexes: [u8; N],\n sort_by_offsets: [u8; N],\n sort_by_lengths: [u8; N],\n sort_order: [u8; N],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_fields: [Field; S],\n) -> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n return_size,\n placeholder_fields,\n )\n}\n\npub unconstrained fn get_notes<Note, let N: u32, let M: u32, let S: u32, let NS: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; M],\n select_by_offsets: [u8; M],\n select_by_lengths: [u8; M],\n select_values: [Field; M],\n select_comparators: [u8; M],\n sort_by_indexes: [u8; M],\n sort_by_offsets: [u8; M],\n sort_by_lengths: [u8; M],\n sort_order: [u8; M],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialize the note array.\n _placeholder_note_length: [Field; N], // Turbofish hack? Compiler breaks calculating read_offset unless we add this parameter\n) -> [Option<Note>; S]\nwhere\n Note: NoteInterface<N>,\n{\n sync_notes_oracle_wrapper();\n let fields = get_notes_oracle_wrapper(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n placeholder_fields,\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n for i in 0..placeholder_opt_notes.len() {\n if i < num_notes {\n // lengths named as per typescript.\n let return_header_length: u32 = 2; // num_notes & contract_address.\n let extra_preimage_length: u32 = 2; // nonce & note_hash_counter.\n let read_offset: u32 = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let note_hash_counter = fields[read_offset + 1] as u32;\n let header = NoteHeader { contract_address, nonce, storage_slot, note_hash_counter };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = Note::deserialize_content(serialized_note);\n note.set_header(header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n/// Returns true if the nullifier exists. Note that a `true` value can be constrained by proving existence of the\n/// nullifier, but a `false` value should not be relied upon since other transactions may emit this nullifier before the\n/// current transaction is included in a block. While this might seem of little use at first, certain design patterns\n/// benefit from this abstraction (see e.g. `PrivateMutable`).\npub unconstrained fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n\n#[oracle(checkNullifierExists)]\nunconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\n/// Same as `get_app_tagging_secret_as_sender`, except it returns the derived tag as an array of bytes, ready to be included in a\n/// log.\npub unconstrained fn get_app_tag_bytes_as_sender(\n sender: AztecAddress,\n recipient: AztecAddress,\n) -> [u8; 32] {\n let tag = get_app_tagging_secret_as_sender(sender, recipient).compute_tag(recipient);\n tag.to_be_bytes()\n}\n\n/// Returns the tagging secret for a given sender and recipient pair, siloed for the current contract address.\n/// Includes the last known index used to send a note tagged with this secret.\n/// For this to work, PXE must know the ivpsk_m of the sender.\n/// For the recipient's side, only the address is needed.\npub unconstrained fn get_app_tagging_secret_as_sender(\n sender: AztecAddress,\n recipient: AztecAddress,\n) -> IndexedTaggingSecret {\n let result = get_app_tagging_secret_as_sender_oracle(sender, recipient);\n IndexedTaggingSecret::deserialize(result)\n}\n\n#[oracle(getAppTaggingSecretAsSender)]\nunconstrained fn get_app_tagging_secret_as_sender_oracle(\n _sender: AztecAddress,\n _recipient: AztecAddress,\n) -> [Field; INDEXED_TAGGING_SECRET_LENGTH] {}\n\n/// Notifies the simulator that a tag has been used in a note, and to therefore increment the associated index so that\n/// future notes get a different tag and can be discovered by the recipient.\n/// This change should only be persisted in a non-volatile database if the tagged log is found in an actual block -\n/// otherwise e.g. a reverting transaction can cause the sender to accidentally skip indices and later produce notes\n/// that are not found by the recipient.\npub fn increment_app_tagging_secret_index_as_sender(sender: AztecAddress, recipient: AztecAddress) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe {\n increment_app_tagging_secret_index_as_sender_wrapper(sender, recipient);\n }\n}\n\nunconstrained fn increment_app_tagging_secret_index_as_sender_wrapper(\n sender: AztecAddress,\n recipient: AztecAddress,\n) {\n increment_app_tagging_secret_index_as_sender_oracle(sender, recipient);\n}\n\n#[oracle(incrementAppTaggingSecretIndexAsSender)]\nunconstrained fn increment_app_tagging_secret_index_as_sender_oracle(\n _sender: AztecAddress,\n _recipient: AztecAddress,\n) {}\n\n/// Finds new notes that may have been sent to all registered accounts in PXE in the current contract and makes them available\n/// for later querying via the `get_notes` oracle.\npub fn sync_notes() {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe {\n sync_notes_oracle_wrapper();\n }\n}\n\nunconstrained fn sync_notes_oracle_wrapper() {\n sync_notes_oracle();\n}\n\n#[oracle(syncNotes)]\nunconstrained fn sync_notes_oracle() {}\n"
5680
+ "source": "use crate::note::{note_header::NoteHeader, note_interface::NoteInterface};\n\nuse dep::protocol_types::{\n address::AztecAddress,\n indexed_tagging_secret::{INDEXED_TAGGING_SECRET_LENGTH, IndexedTaggingSecret},\n utils::arr_copy_slice,\n};\n\n/// Notifies the simulator that a note has been created, so that it can be returned in future read requests in the same\n/// transaction. This note should only be added to the non-volatile database if found in an actual block.\npub fn notify_created_note<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n serialized_note: [Field; N],\n note_hash: Field,\n counter: u32,\n) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe {\n notify_created_note_oracle_wrapper(\n storage_slot,\n note_type_id,\n serialized_note,\n note_hash,\n counter,\n )\n };\n}\n\n/// Notifies the simulator that a note has been nullified, so that it is no longer returned in future read requests in\n/// the same transaction. This note should only be removed to the non-volatile database if its nullifier is found in an\n/// actual block.\npub fn notify_nullified_note(nullifier: Field, note_hash: Field, counter: u32) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe { notify_nullified_note_oracle_wrapper(nullifier, note_hash, counter) };\n}\n\nunconstrained fn notify_created_note_oracle_wrapper<let N: u32>(\n storage_slot: Field,\n note_type_id: Field,\n serialized_note: [Field; N],\n note_hash: Field,\n counter: u32,\n) {\n let _ = notify_created_note_oracle(\n storage_slot,\n note_type_id,\n serialized_note,\n note_hash,\n counter,\n );\n}\n\n#[oracle(notifyCreatedNote)]\nunconstrained fn notify_created_note_oracle<let N: u32>(\n _storage_slot: Field,\n _note_type_id: Field,\n _serialized_note: [Field; N],\n _note_hash: Field,\n _counter: u32,\n) -> Field {}\n\nunconstrained fn notify_nullified_note_oracle_wrapper(\n nullifier: Field,\n note_hash: Field,\n counter: u32,\n) {\n let _ = notify_nullified_note_oracle(nullifier, note_hash, counter);\n}\n\n#[oracle(notifyNullifiedNote)]\nunconstrained fn notify_nullified_note_oracle(\n _nullifier: Field,\n _note_hash: Field,\n _counter: u32,\n) -> Field {}\n\n#[oracle(getNotes)]\nunconstrained fn get_notes_oracle<let N: u32, let S: u32>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by_indexes: [u8; N],\n _select_by_offsets: [u8; N],\n _select_by_lengths: [u8; N],\n _select_values: [Field; N],\n _select_comparators: [u8; N],\n _sort_by_indexes: [u8; N],\n _sort_by_offsets: [u8; N],\n _sort_by_lengths: [u8; N],\n _sort_order: [u8; N],\n _limit: u32,\n _offset: u32,\n _status: u8,\n _return_size: u32,\n _placeholder_fields: [Field; S],\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper<let N: u32, let S: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; N],\n select_by_offsets: [u8; N],\n select_by_lengths: [u8; N],\n select_values: [Field; N],\n select_comparators: [u8; N],\n sort_by_indexes: [u8; N],\n sort_by_offsets: [u8; N],\n sort_by_lengths: [u8; N],\n sort_order: [u8; N],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_fields: [Field; S],\n) -> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n return_size,\n placeholder_fields,\n )\n}\n\npub unconstrained fn get_notes<Note, let N: u32, let M: u32, let S: u32, let NS: u32>(\n storage_slot: Field,\n num_selects: u8,\n select_by_indexes: [u8; M],\n select_by_offsets: [u8; M],\n select_by_lengths: [u8; M],\n select_values: [Field; M],\n select_comparators: [u8; M],\n sort_by_indexes: [u8; M],\n sort_by_offsets: [u8; M],\n sort_by_lengths: [u8; M],\n sort_order: [u8; M],\n limit: u32,\n offset: u32,\n status: u8,\n mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS], // TODO: Remove it and use `limit` to initialize the note array.\n _placeholder_note_length: [Field; N], // Turbofish hack? Compiler breaks calculating read_offset unless we add this parameter\n) -> [Option<Note>; S]\nwhere\n Note: NoteInterface<N>,\n{\n sync_notes_oracle_wrapper();\n let fields = get_notes_oracle_wrapper(\n storage_slot,\n num_selects,\n select_by_indexes,\n select_by_offsets,\n select_by_lengths,\n select_values,\n select_comparators,\n sort_by_indexes,\n sort_by_offsets,\n sort_by_lengths,\n sort_order,\n limit,\n offset,\n status,\n placeholder_fields,\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n for i in 0..placeholder_opt_notes.len() {\n if i < num_notes {\n // lengths named as per typescript.\n let return_header_length: u32 = 2; // num_notes & contract_address.\n let extra_preimage_length: u32 = 2; // nonce & note_hash_counter.\n let read_offset: u32 = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let note_hash_counter = fields[read_offset + 1] as u32;\n let header = NoteHeader { contract_address, nonce, storage_slot, note_hash_counter };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = Note::deserialize_content(serialized_note);\n note.set_header(header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n/// Returns true if the nullifier exists. Note that a `true` value can be constrained by proving existence of the\n/// nullifier, but a `false` value should not be relied upon since other transactions may emit this nullifier before the\n/// current transaction is included in a block. While this might seem of little use at first, certain design patterns\n/// benefit from this abstraction (see e.g. `PrivateMutable`).\npub unconstrained fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n\n#[oracle(checkNullifierExists)]\nunconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\n/// Same as `get_app_tagging_secret_as_sender`, except it returns the derived tag, ready to be included in a log.\npub unconstrained fn get_app_tag_as_sender(sender: AztecAddress, recipient: AztecAddress) -> Field {\n get_app_tagging_secret_as_sender(sender, recipient).compute_tag(recipient)\n}\n\n/// Returns the tagging secret for a given sender and recipient pair, siloed for the current contract address.\n/// Includes the last known index used to send a note tagged with this secret.\n/// For this to work, PXE must know the ivpsk_m of the sender.\n/// For the recipient's side, only the address is needed.\npub unconstrained fn get_app_tagging_secret_as_sender(\n sender: AztecAddress,\n recipient: AztecAddress,\n) -> IndexedTaggingSecret {\n let result = get_app_tagging_secret_as_sender_oracle(sender, recipient);\n IndexedTaggingSecret::deserialize(result)\n}\n\n#[oracle(getAppTaggingSecretAsSender)]\nunconstrained fn get_app_tagging_secret_as_sender_oracle(\n _sender: AztecAddress,\n _recipient: AztecAddress,\n) -> [Field; INDEXED_TAGGING_SECRET_LENGTH] {}\n\n/// Notifies the simulator that a tag has been used in a note, and to therefore increment the associated index so that\n/// future notes get a different tag and can be discovered by the recipient.\n/// This change should only be persisted in a non-volatile database if the tagged log is found in an actual block -\n/// otherwise e.g. a reverting transaction can cause the sender to accidentally skip indices and later produce notes\n/// that are not found by the recipient.\npub fn increment_app_tagging_secret_index_as_sender(sender: AztecAddress, recipient: AztecAddress) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe {\n increment_app_tagging_secret_index_as_sender_wrapper(sender, recipient);\n }\n}\n\nunconstrained fn increment_app_tagging_secret_index_as_sender_wrapper(\n sender: AztecAddress,\n recipient: AztecAddress,\n) {\n increment_app_tagging_secret_index_as_sender_oracle(sender, recipient);\n}\n\n#[oracle(incrementAppTaggingSecretIndexAsSender)]\nunconstrained fn increment_app_tagging_secret_index_as_sender_oracle(\n _sender: AztecAddress,\n _recipient: AztecAddress,\n) {}\n\n/// Finds new notes that may have been sent to all registered accounts in PXE in the current contract and makes them available\n/// for later querying via the `get_notes` oracle.\npub fn sync_notes() {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe {\n sync_notes_oracle_wrapper();\n }\n}\n\nunconstrained fn sync_notes_oracle_wrapper() {\n sync_notes_oracle();\n}\n\n#[oracle(syncNotes)]\nunconstrained fn sync_notes_oracle() {}\n"
5784
5681
  },
5785
- "123": {
5682
+ "114": {
5786
5683
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr",
5787
5684
  "source": "/// Notifies the simulator that `returns` will be later fetched once the function return is processed, referenced by\n/// their hash. This allows the simulator to know how to respond to this future request.\n///\n/// This is only used during private execution, since in public it is the VM itself that keeps track of return values.\npub fn pack_returns(returns: [Field]) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call. When\n // unpacking however the caller must check that the returned value is indeed the preimage.\n unsafe { pack_returns_oracle_wrapper(returns) };\n}\n\npub unconstrained fn pack_returns_oracle_wrapper(returns: [Field]) {\n let _ = pack_returns_oracle(returns);\n}\n\npub unconstrained fn unpack_returns<let N: u32>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n\n#[oracle(packReturns)]\nunconstrained fn pack_returns_oracle(_returns: [Field]) -> Field {}\n\n#[oracle(unpackReturns)]\nunconstrained fn unpack_returns_oracle<let N: u32>(_return_hash: Field) -> [Field; N] {}\n"
5788
5685
  },
5789
- "124": {
5686
+ "115": {
5790
5687
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/random.nr",
5791
5688
  "source": "/// Returns an unconstrained random value. Note that it is not possible to constrain this value to prove that it is\n/// truly random: we assume that the oracle is cooperating and returning random values.\n/// In some applications this behavior might not be acceptable and other techniques might be more suitable, such as\n/// producing pseudo-random values by hashing values outside of user control (like block hashes) or secrets.\npub unconstrained fn random() -> Field {\n rand_oracle()\n}\n\n#[oracle(getRandomField)]\nunconstrained fn rand_oracle() -> Field {}\n"
5792
5689
  },
5793
- "128": {
5794
- "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr",
5795
- "source": "use dep::protocol_types::address::AztecAddress;\n\n/// Informs the simulator that an encrypted note log has been emitted, helping it keep track of side-effects and easing\n/// debugging.\npub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32,\n) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe {\n emit_encrypted_note_log_oracle_wrapper(note_hash_counter, encrypted_note, counter)\n }\n}\n\n/// Informs the simulator that an encrypted event log has been emitted, helping it keep track of side-effects and easing\n/// debugging.\npub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32,\n) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe {\n emit_encrypted_event_log_oracle_wrapper(\n contract_address,\n randomness,\n encrypted_event,\n counter,\n )\n }\n}\n\nunconstrained fn emit_encrypted_note_log_oracle_wrapper<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32,\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\nunconstrained fn emit_encrypted_event_log_oracle_wrapper<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32,\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n/// Temporary substitute that is used for handling contract class registration. This\n/// variant returns the log hash, which would be too large to compute inside a circuit.\npub unconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32,\n) -> Field {\n emit_contract_class_unencrypted_log_private_oracle(contract_address, message, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(\n _note_hash_counter: u32,\n _encrypted_note: [u8; M],\n _counter: u32,\n) {}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _encrypted_event: [u8; M],\n _counter: u32,\n) {}\n\n#[oracle(emitContractClassLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private_oracle<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32,\n) -> Field {}\n"
5796
- },
5797
- "129": {
5690
+ "120": {
5798
5691
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr",
5799
5692
  "source": "use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n) -> Field {}\n\npub unconstrained fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n) -> Field {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n )\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n) -> Field {}\n\npub unconstrained fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n) -> Field {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n )\n}\n\npub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n unsafe { notify_set_min_revertible_side_effect_counter_oracle_wrapper(counter) };\n}\n\npub unconstrained fn notify_set_min_revertible_side_effect_counter_oracle_wrapper(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n\n#[oracle(notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n"
5800
5693
  },
5801
- "134": {
5694
+ "125": {
5802
5695
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/keys.nr",
5803
5696
  "source": "use dep::protocol_types::{\n address::{AztecAddress, PartialAddress},\n point::Point,\n public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, TpkM},\n};\n\n#[oracle(getPublicKeysAndPartialAddress)]\nunconstrained fn get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> [Field; 13] {}\n\npub unconstrained fn get_public_keys_and_partial_address(\n address: AztecAddress,\n) -> (PublicKeys, PartialAddress) {\n let result = get_public_keys_and_partial_address_oracle(address);\n\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: result[0], y: result[1], is_infinite: result[2] as bool } },\n ivpk_m: IvpkM {\n inner: Point { x: result[3], y: result[4], is_infinite: result[5] as bool },\n },\n ovpk_m: OvpkM {\n inner: Point { x: result[6], y: result[7], is_infinite: result[8] as bool },\n },\n tpk_m: TpkM {\n inner: Point { x: result[9], y: result[10], is_infinite: result[11] as bool },\n },\n };\n\n let partial_address = PartialAddress::from_field(result[12]);\n\n (keys, partial_address)\n}\n"
5804
5697
  },
5805
- "135": {
5698
+ "126": {
5806
5699
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/key_validation_request.nr",
5807
5700
  "source": "use dep::protocol_types::abis::validation_requests::{\n key_validation_request::KEY_VALIDATION_REQUEST_LENGTH, KeyValidationRequest,\n};\n\n#[oracle(getKeyValidationRequest)]\nunconstrained fn get_key_validation_request_oracle(\n _pk_m_hash: Field,\n _key_index: Field,\n) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {}\n\nunconstrained fn get_key_validation_request_internal(\n npk_m_hash: Field,\n key_index: Field,\n) -> KeyValidationRequest {\n let result = get_key_validation_request_oracle(npk_m_hash, key_index);\n KeyValidationRequest::deserialize(result)\n}\n\npub unconstrained fn get_key_validation_request(\n pk_m_hash: Field,\n key_index: Field,\n) -> KeyValidationRequest {\n get_key_validation_request_internal(pk_m_hash, key_index)\n}\n"
5808
5701
  },
5809
- "137": {
5702
+ "128": {
5810
5703
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/generators.nr",
5811
5704
  "source": "use dep::protocol_types::point::Point;\n\n// A set of generators generated with `derive_generators(...)` function from noir::std\npub global Ga1: Point = Point {\n x: 0x30426e64aee30e998c13c8ceecda3a77807dbead52bc2f3bf0eae851b4b710c1,\n y: 0x113156a068f603023240c96b4da5474667db3b8711c521c748212a15bc034ea6,\n is_infinite: false,\n};\npub global Ga2: Point = Point {\n x: 0x2825c79cc6a5cbbeef7d6a8f1b6a12b312aa338440aefeb4396148c89147c049,\n y: 0x129bfd1da54b7062d6b544e7e36b90736350f6fba01228c41c72099509f5701e,\n is_infinite: false,\n};\npub global Ga3: Point = Point {\n x: 0x0edb1e293c3ce91bfc04e3ceaa50d2c541fa9d091c72eb403efb1cfa2cb3357f,\n y: 0x1341d675fa030ece3113ad53ca34fd13b19b6e9762046734f414824c4d6ade35,\n is_infinite: false,\n};\npub global Ga4: Point = Point {\n x: 0x0e0dad2250583f2a9f0acb04ededf1701b85b0393cae753fe7e14b88af81cb52,\n y: 0x0973b02c5caac339ee4ad5dab51329920f7bf1b6a07e1dabe5df67040b300962,\n is_infinite: false,\n};\npub global Ga5: Point = Point {\n x: 0x2f3342e900e8c488a28931aae68970738fdc68afde2910de7b320c00c902087d,\n y: 0x1bf958dc63cb09d59230603a0269ae86d6f92494da244910351f1132df20fc08,\n is_infinite: false,\n};\n// If you change this update `G_SLOT` in `yarn-project/simulator/src/client/test_utils.ts` as well\npub global G_slot: Point = Point {\n x: 0x041223147b680850dc82e8a55a952d4df20256fe0593d949a9541ca00f0abf15,\n y: 0x0a8c72e60d0e60f5d804549d48f3044d06140b98ed717a9b532af630c1530791,\n is_infinite: false,\n};\n\nmod test {\n use crate::generators::{G_slot, Ga1, Ga2, Ga3, Ga4, Ga5};\n use dep::protocol_types::point::Point;\n use std::hash::derive_generators;\n\n #[test]\n unconstrained fn test_generators() {\n let generators: [Point; 6] = derive_generators(\"aztec_nr_generators\".as_bytes(), 0);\n assert_eq(generators[0], Ga1);\n assert_eq(generators[1], Ga2);\n assert_eq(generators[2], Ga3);\n assert_eq(generators[4], Ga4);\n assert_eq(generators[5], Ga5);\n assert_eq(generators[3], G_slot);\n }\n}\n"
5812
5705
  },
5813
- "138": {
5706
+ "129": {
5814
5707
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/encrypted_note_emission.nr",
5815
- "source": "use crate::{\n context::PrivateContext,\n encrypted_logs::payload::compute_private_log_payload,\n keys::getters::get_ovsk_app,\n note::{note_emission::NoteEmission, note_interface::NoteInterface},\n};\nuse dep::protocol_types::{\n abis::note_hash::NoteHash, address::AztecAddress, constants::PRIVATE_LOG_SIZE_IN_BYTES,\n hash::sha256_to_field, public_keys::OvpkM,\n};\n\n/// Computes private note log payload and a log hash\nfn compute_payload_and_hash<Note, let N: u32>(\n context: PrivateContext,\n note: Note,\n ovsk_app: Field,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> (u32, [u8; PRIVATE_LOG_SIZE_IN_BYTES], Field)\nwhere\n Note: NoteInterface<N>,\n{\n let note_header = note.get_header();\n let note_hash_counter = note_header.note_hash_counter;\n let storage_slot = note_header.storage_slot;\n\n // TODO(#8589): use typesystem to skip this check when not needed\n let note_exists =\n context.note_hashes.storage().any(|n: NoteHash| n.counter == note_hash_counter);\n assert(note_exists, \"Can only emit a note log for an existing note.\");\n\n let contract_address: AztecAddress = context.this_address();\n\n let plaintext = note.to_be_bytes(storage_slot);\n\n let encrypted_log = compute_private_log_payload(\n contract_address,\n ovsk_app,\n ovpk,\n recipient,\n sender,\n plaintext,\n );\n let log_hash = sha256_to_field(encrypted_log);\n\n (note_hash_counter, encrypted_log, log_hash)\n}\n\nunconstrained fn compute_payload_and_hash_unconstrained<Note, let N: u32>(\n context: PrivateContext,\n note: Note,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> (u32, [u8; PRIVATE_LOG_SIZE_IN_BYTES], Field)\nwhere\n Note: NoteInterface<N>,\n{\n let ovsk_app = get_ovsk_app(ovpk.hash());\n compute_payload_and_hash(context, note, ovsk_app, ovpk, recipient, sender)\n}\n\n// This function seems to be affected by the following Noir bug:\n// https://github.com/noir-lang/noir/issues/5771\n// If you get weird behavior it might be because of it.\npub fn encode_and_encrypt_note<Note, let N: u32>(\n context: &mut PrivateContext,\n ovpk: OvpkM,\n recipient: AztecAddress,\n // TODO: We need this because to compute a tagging secret, we require a sender. Should we have the tagging secret oracle take a ovpk_m as input instead of the address?\n sender: AztecAddress,\n) -> fn[(&mut PrivateContext, OvpkM, AztecAddress, AztecAddress)](NoteEmission<Note>) -> ()\nwhere\n Note: NoteInterface<N>,\n{\n |e: NoteEmission<Note>| {\n let ovsk_app: Field = context.request_ovsk_app(ovpk.hash());\n\n let (note_hash_counter, encrypted_log, log_hash) =\n compute_payload_and_hash(*context, e.note, ovsk_app, ovpk, recipient, sender);\n context.emit_raw_note_log(note_hash_counter, encrypted_log, log_hash);\n }\n}\n\npub fn encode_and_encrypt_note_unconstrained<Note, let N: u32>(\n context: &mut PrivateContext,\n ovpk: OvpkM,\n recipient: AztecAddress,\n // TODO: We need this because to compute a tagging secret, we require a sender. Should we have the tagging secret oracle take a ovpk_m as input instead of the address?\n sender: AztecAddress,\n) -> fn[(&mut PrivateContext, OvpkM, AztecAddress, AztecAddress)](NoteEmission<Note>) -> ()\nwhere\n Note: NoteInterface<N>,\n{\n |e: NoteEmission<Note>| {\n // Having the log hash be unconstrained here is fine because the way this works is we send the log hash\n // to the kernel, and it gets included as part of its public inputs. Then we send the tx to the sequencer,\n // which includes the kernel proof and the log preimages. The sequencer computes the hashes of the logs\n // and checks that they are the ones in the public inputs of the kernel, and drops the tx otherwise (proposing\n // the block on L1 would later fail if it didn't because of txs effects hash mismatch).\n // So if we don't constrain the log hash, then a malicious sender can compute the correct log, submit a bad\n // log hash to the kernel, and then submit the bad log preimage to the sequencer. All checks will pass, but\n // the submitted log will not be the one that was computed by the app.\n // In the unconstrained case, we don't care about the log at all because we don't do anything with it,\n // and because it's unconstrained: it could be anything. So if a sender chooses to broadcast the tx with a log\n // that is different from the one that was used in the circuit, then they'll be able to, but they were already\n // able to change the log before anyway, so the end result is the same. It's important here that we do not\n // return the log from this function to the app, otherwise it could try to do stuff with it and then that might\n // be wrong.\n // Regarding the note hash counter, this is used for squashing. The kernel assumes that a given note can have\n // more than one log and removes all of the matching ones, so all a malicious sender could do is either: cause\n // for the log to be deleted when it shouldn't have (which is fine - they can already make the content be\n // whatever), or cause for the log to not be deleted when it should have (which is also fine - it'll be a log\n // for a note that doesn't exist).\n let (note_hash_counter, encrypted_log, log_hash) = unsafe {\n compute_payload_and_hash_unconstrained(*context, e.note, ovpk, recipient, sender)\n };\n context.emit_raw_note_log(note_hash_counter, encrypted_log, log_hash);\n }\n}\n"
5708
+ "source": "use crate::{\n context::PrivateContext,\n encrypted_logs::payload::compute_private_log_payload,\n keys::getters::get_ovsk_app,\n note::{note_emission::NoteEmission, note_interface::NoteInterface},\n};\nuse dep::protocol_types::{\n abis::note_hash::NoteHash, address::AztecAddress, constants::PRIVATE_LOG_SIZE_IN_FIELDS,\n public_keys::OvpkM,\n};\n\n/// Computes private note log payload\nfn compute_payload<Note, let N: u32>(\n context: PrivateContext,\n note: Note,\n ovsk_app: Field,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> ([Field; PRIVATE_LOG_SIZE_IN_FIELDS], u32)\nwhere\n Note: NoteInterface<N>,\n{\n let note_header = note.get_header();\n let note_hash_counter = note_header.note_hash_counter;\n let storage_slot = note_header.storage_slot;\n\n // TODO(#8589): use typesystem to skip this check when not needed\n let note_exists =\n context.note_hashes.storage().any(|n: NoteHash| n.counter == note_hash_counter);\n assert(note_exists, \"Can only emit a note log for an existing note.\");\n\n let contract_address: AztecAddress = context.this_address();\n\n let plaintext = note.to_be_bytes(storage_slot);\n\n let payload = compute_private_log_payload(\n contract_address,\n ovsk_app,\n ovpk,\n recipient,\n sender,\n plaintext,\n );\n\n (payload, note_hash_counter)\n}\n\nunconstrained fn compute_payload_unconstrained<Note, let N: u32>(\n context: PrivateContext,\n note: Note,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n) -> ([Field; PRIVATE_LOG_SIZE_IN_FIELDS], u32)\nwhere\n Note: NoteInterface<N>,\n{\n let ovsk_app = get_ovsk_app(ovpk.hash());\n compute_payload(context, note, ovsk_app, ovpk, recipient, sender)\n}\n\n// This function seems to be affected by the following Noir bug:\n// https://github.com/noir-lang/noir/issues/5771\n// If you get weird behavior it might be because of it.\npub fn encode_and_encrypt_note<Note, let N: u32>(\n context: &mut PrivateContext,\n ovpk: OvpkM,\n recipient: AztecAddress,\n // TODO: We need this because to compute a tagging secret, we require a sender. Should we have the tagging secret oracle take a ovpk_m as input instead of the address?\n sender: AztecAddress,\n) -> fn[(&mut PrivateContext, OvpkM, AztecAddress, AztecAddress)](NoteEmission<Note>) -> ()\nwhere\n Note: NoteInterface<N>,\n{\n |e: NoteEmission<Note>| {\n let ovsk_app: Field = context.request_ovsk_app(ovpk.hash());\n\n let (encrypted_log, note_hash_counter) =\n compute_payload(*context, e.note, ovsk_app, ovpk, recipient, sender);\n context.emit_raw_note_log(encrypted_log, note_hash_counter);\n }\n}\n\npub fn encode_and_encrypt_note_unconstrained<Note, let N: u32>(\n context: &mut PrivateContext,\n ovpk: OvpkM,\n recipient: AztecAddress,\n // TODO: We need this because to compute a tagging secret, we require a sender. Should we have the tagging secret oracle take a ovpk_m as input instead of the address?\n sender: AztecAddress,\n) -> fn[(&mut PrivateContext, OvpkM, AztecAddress, AztecAddress)](NoteEmission<Note>) -> ()\nwhere\n Note: NoteInterface<N>,\n{\n |e: NoteEmission<Note>| {\n // Unconstrained logs have both their content and encryption unconstrained - it could occur that the\n // recipient is unable to decrypt the payload.\n // Regarding the note hash counter, this is used for squashing. The kernel assumes that a given note can have\n // more than one log and removes all of the matching ones, so all a malicious sender could do is either: cause\n // for the log to be deleted when it shouldn't have (which is fine - they can already make the content be\n // whatever), or cause for the log to not be deleted when it should have (which is also fine - it'll be a log\n // for a note that doesn't exist).\n // It's important here that we do not\n // return the log from this function to the app, otherwise it could try to do stuff with it and then that might\n // be wrong.\n let (encrypted_log, note_hash_counter) =\n unsafe { compute_payload_unconstrained(*context, e.note, ovpk, recipient, sender) };\n context.emit_raw_note_log(encrypted_log, note_hash_counter);\n }\n}\n"
5816
5709
  },
5817
- "139": {
5710
+ "130": {
5818
5711
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/header.nr",
5819
5712
  "source": "use dep::protocol_types::{\n address::AztecAddress,\n point::Point,\n public_keys::{IvpkM, ToPoint},\n scalar::Scalar,\n};\n\nuse crate::keys::point_to_symmetric_key::point_to_symmetric_key;\n\nuse std::aes128::aes128_encrypt;\n\npub struct EncryptedLogHeader {\n address: AztecAddress,\n}\n\nimpl EncryptedLogHeader {\n pub fn new(address: AztecAddress) -> Self {\n EncryptedLogHeader { address }\n }\n\n pub fn compute_ciphertext<T>(self, secret: Scalar, pk: T) -> [u8; 48]\n where\n T: ToPoint,\n {\n let full_key = point_to_symmetric_key(secret, pk.to_point());\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n\n let input: [u8; 32] = self.address.to_field().to_be_bytes();\n aes128_encrypt(input, iv, sym_key).as_array()\n }\n}\n\n#[test]\nunconstrained fn test_encrypted_log_header_matches_noir() {\n let address = AztecAddress::from_field(0xdeadbeef);\n let header = EncryptedLogHeader::new(address);\n let secret = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06,\n };\n let point = IvpkM {\n inner: Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false,\n },\n };\n\n let ciphertext = header.compute_ciphertext(secret, point);\n\n // The following value was generated by `encrypted_log_header.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let expected_header_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 194, 44, 7, 131,\n 160, 83, 64, 181, 98, 38, 153, 214, 62, 171, 253, 161, 111, 191, 28, 247, 216, 26, 222, 171,\n 176, 218, 48, 209, 73, 89, 200, 209,\n ];\n\n assert_eq(ciphertext, expected_header_ciphertext_from_typescript);\n}\n"
5820
5713
  },
5821
- "141": {
5714
+ "132": {
5822
5715
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/encrypted_logs/payload.nr",
5823
- "source": "use dep::protocol_types::{\n address::AztecAddress,\n constants::{GENERATOR_INDEX__SYMMETRIC_KEY, PRIVATE_LOG_SIZE_IN_BYTES},\n hash::poseidon2_hash_with_separator,\n point::Point,\n public_keys::{AddressPoint, OvpkM},\n scalar::Scalar,\n};\nuse std::{\n aes128::aes128_encrypt, embedded_curve_ops::fixed_base_scalar_mul as derive_public_key,\n field::bn254::decompose, hash::from_field_unsafe as fr_to_fq_unsafe,\n};\n\nuse crate::{\n encrypted_logs::header::EncryptedLogHeader,\n keys::point_to_symmetric_key::point_to_symmetric_key,\n oracle::{\n notes::{get_app_tag_bytes_as_sender, increment_app_tagging_secret_index_as_sender},\n random::random,\n },\n utils::point::point_to_bytes,\n};\n\npub comptime global PRIVATE_LOG_OVERHEAD_IN_BYTES: u32 = 304;\n\n// 1 byte for storage slot, 1 byte for note type id, allowing 6 bytes for custom note fields.\nglobal MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES: u32 = 8 * 32;\n\nglobal MAX_PRIVATE_EVENT_LOG_PLAINTEXT_SIZE_IN_BYTES: u32 =\n MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES - 32; // Reserve 1 field for address tag.\n\n// PRIVATE_LOG_SIZE_IN_BYTES\n// - PRIVATE_LOG_OVERHEAD_IN_BYTES, consisting of:\n// - 32 bytes for incoming_tag\n// - 32 bytes for eph_pk\n// - 48 bytes for incoming_header\n// - 48 bytes for outgoing_header\n// - 144 bytes for outgoing_body\n// - 16 + MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES for incoming_body, consisting of:\n// - 1 byte for plaintext length\n// - MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES for the actual plaintext and padded random values\n// - 15 bytes for AES padding\n\n// Note: Update PRIVATE_LOG_SIZE_IN_BYTES in `constants.nr` if any of the above fields change.\n// This value ideally should be set by the protocol, allowing users (or `aztec-nr`) to fit data within the defined size limits.\n// Currently, we adjust this value as the structure changes, then update `constants.nr` to match.\n// Once the structure is finalized with defined overhead and max note field sizes, this value will be fixed and should remain unaffected by further payload composition changes.\n\npub fn compute_private_log_payload<let P: u32>(\n contract_address: AztecAddress,\n ovsk_app: Field,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n plaintext: [u8; P],\n) -> [u8; PRIVATE_LOG_SIZE_IN_BYTES] {\n let extended_plaintext: [u8; MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES + 1] =\n extend_private_log_plaintext(plaintext);\n compute_encrypted_log(\n contract_address,\n ovsk_app,\n ovpk,\n recipient,\n sender,\n extended_plaintext,\n )\n}\n\npub fn compute_event_log_payload<let P: u32>(\n contract_address: AztecAddress,\n ovsk_app: Field,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n plaintext: [u8; P],\n) -> [u8; PRIVATE_LOG_SIZE_IN_BYTES] {\n let extended_plaintext: [u8; MAX_PRIVATE_EVENT_LOG_PLAINTEXT_SIZE_IN_BYTES + 1] =\n extend_private_log_plaintext(plaintext);\n compute_encrypted_log(\n contract_address,\n ovsk_app,\n ovpk,\n recipient,\n sender,\n extended_plaintext,\n )\n}\n\npub fn compute_partial_public_log_payload<let P: u32, let M: u32>(\n contract_address: AztecAddress,\n ovsk_app: Field,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n plaintext: [u8; P],\n) -> [u8; M] {\n let extended_plaintext: [u8; P + 1] = extend_private_log_plaintext(plaintext);\n compute_encrypted_log(\n contract_address,\n ovsk_app,\n ovpk,\n recipient,\n sender,\n extended_plaintext,\n )\n}\n\nfn compute_encrypted_log<let P: u32, let M: u32>(\n contract_address: AztecAddress,\n ovsk_app: Field,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n plaintext: [u8; P],\n) -> [u8; M] {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] =\n header.compute_ciphertext(eph_sk, recipient.to_address_point());\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext =\n compute_incoming_body_ciphertext(plaintext, eph_sk, recipient.to_address_point());\n let outgoing_body_ciphertext: [u8; 144] =\n compute_outgoing_body_ciphertext(recipient, fr_to_fq(ovsk_app), eph_sk, eph_pk);\n\n let mut encrypted_bytes = [0; M];\n let mut offset = 0;\n\n // We assume that the sender wants for the recipient to find the tagged note, and therefore that they will cooperate\n // and use the correct tag. Usage of a bad tag will result in the recipient not being able to find the note\n // automatically.\n let tag_bytes = unsafe { get_app_tag_bytes_as_sender(sender, recipient) };\n increment_app_tagging_secret_index_as_sender(sender, recipient);\n\n for i in 0..32 {\n encrypted_bytes[offset + i] = tag_bytes[i];\n }\n offset += 32;\n\n // eph_pk\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[offset + i] = eph_pk_bytes[i];\n }\n offset += 32;\n\n // incoming_header\n // outgoing_header\n for i in 0..48 {\n encrypted_bytes[offset + i] = incoming_header_ciphertext[i];\n encrypted_bytes[offset + 48 + i] = outgoing_header_ciphertext[i];\n }\n offset += 48 * 2;\n\n // outgoing_body\n for i in 0..144 {\n encrypted_bytes[offset + i] = outgoing_body_ciphertext[i];\n }\n offset += 144;\n\n // incoming_body\n // Then we fill in the rest as the incoming body ciphertext\n let size = M - offset;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[offset + i] = incoming_body_ciphertext[i];\n }\n\n encrypted_bytes\n}\n\n// Prepend the plaintext length as the first byte, then copy the plaintext itself starting from the second byte.\n// Fill the remaining bytes with random values to reach a fixed length of N.\nfn extend_private_log_plaintext<let P: u32, let N: u32>(plaintext: [u8; P]) -> [u8; N] {\n let mut padded = unsafe { get_random_bytes() };\n padded[0] = P as u8;\n for i in 0..P {\n padded[i + 1] = plaintext[i];\n }\n padded\n}\n\nunconstrained fn get_random_bytes<let N: u32>() -> [u8; N] {\n let mut bytes = [0; N];\n let mut idx = 32;\n let mut randomness = [0; 32];\n for i in 0..N {\n if idx == 32 {\n randomness = random().to_be_bytes();\n idx = 1; // Skip the first byte as it's always 0.\n }\n bytes[i] = randomness[idx];\n idx += 1;\n }\n bytes\n}\n\n/// Converts a base field element to scalar field element.\n/// This is fine because modulus of the base field is smaller than the modulus of the scalar field.\nfn fr_to_fq(r: Field) -> Scalar {\n let (lo, hi) = decompose(r);\n\n Scalar { lo, hi }\n}\n\nfn generate_ephemeral_key_pair() -> (Scalar, Point) {\n // @todo Need to draw randomness from the full domain of Fq not only Fr\n // We use the randomness to preserve the privacy of both the sender and recipient via encryption, so a malicious\n // sender could use non-random values to reveal the plaintext. But they already know it themselves anyway, and so\n // the recipient already trusts them to not disclose this information. We can therefore assume that the sender will\n // cooperate in the random value generation.\n let randomness = unsafe { random() };\n\n // We use the unsafe version of `fr_to_fq` because multi_scalar_mul (called by derive_public_key) will constrain\n // the scalars.\n let eph_sk = fr_to_fq_unsafe(randomness);\n let eph_pk = derive_public_key(eph_sk);\n\n (eph_sk, eph_pk)\n}\n\npub fn compute_incoming_body_ciphertext<let P: u32>(\n plaintext: [u8; P],\n eph_sk: Scalar,\n address_point: AddressPoint,\n) -> [u8] {\n let full_key = point_to_symmetric_key(eph_sk, address_point.to_point());\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(plaintext, iv, sym_key)\n}\n\n/// Encrypts ephemeral secret key and recipient's address point --> with this information the recipient of outgoing will\n/// be able to derive the key with which the incoming log can be decrypted.\npub fn compute_outgoing_body_ciphertext(\n recipient: AztecAddress,\n ovsk_app: Scalar,\n eph_sk: Scalar,\n eph_pk: Point,\n) -> [u8; 144] {\n // Again, we could compute `eph_pk` here, but we keep the interface more similar\n // and also make it easier to optimise it later as we just pass it along\n let mut buffer = [0 as u8; 128];\n\n let serialized_eph_sk_high: [u8; 32] = eph_sk.hi.to_be_bytes();\n let serialized_eph_sk_low: [u8; 32] = eph_sk.lo.to_be_bytes();\n\n let address_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n let serialized_recipient_address_point =\n point_to_bytes(recipient.to_address_point().to_point());\n\n for i in 0..32 {\n buffer[i] = serialized_eph_sk_high[i];\n buffer[i + 32] = serialized_eph_sk_low[i];\n buffer[i + 64] = address_bytes[i];\n }\n for i in 0..32 {\n buffer[i + 96] = serialized_recipient_address_point[i];\n }\n\n // We compute the symmetric key using poseidon.\n let full_key: [u8; 32] = poseidon2_hash_with_separator(\n [ovsk_app.hi, ovsk_app.lo, eph_pk.x, eph_pk.y],\n GENERATOR_INDEX__SYMMETRIC_KEY as Field,\n )\n .to_be_bytes();\n\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(buffer, iv, sym_key).as_array()\n}\n\nmod test {\n use crate::encrypted_logs::payload::{\n compute_incoming_body_ciphertext, compute_outgoing_body_ciphertext,\n compute_private_log_payload, MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES,\n };\n use dep::protocol_types::{\n address::AztecAddress, point::Point, public_keys::OvpkM, scalar::Scalar,\n };\n use protocol_types::public_keys::AddressPoint;\n use std::embedded_curve_ops::fixed_base_scalar_mul as derive_public_key;\n use std::test::OracleMock;\n\n #[test]\n unconstrained fn test_encrypted_log_matches_typescript() {\n // All the values in this test were copied over from `encrypted_log_payload.test.ts`\n let contract_address = AztecAddress::from_field(\n 0x10f48cd9eff7ae5b209c557c70de2e657ee79166868676b787e9417e19260e04,\n );\n let ovsk_app = 0x191ac5e29bbc8f80f29ed06b75eaf30c036ed7952d844833860c527077c8c3b4;\n let ovpk_m = OvpkM {\n inner: Point {\n x: 0x07f696b8b233de2c1935e43c793399586f532da5ff7c0356636a75acb862e964,\n y: 0x156e8a3e42bfca3663936ba98c7fd26386a14657c23b5f5146f1a94b6c465154,\n is_infinite: false,\n },\n };\n\n let plaintext = [\n 0, 0, 0, 1, 48, 22, 64, 206, 234, 117, 131, 145, 178, 225, 97, 201, 44, 5, 19, 241, 41,\n 2, 15, 65, 37, 37, 106, 253, 174, 38, 70, 206, 49, 9, 159, 92, 16, 244, 140, 217, 239,\n 247, 174, 91, 32, 156, 85, 124, 112, 222, 46, 101, 126, 231, 145, 102, 134, 134, 118,\n 183, 135, 233, 65, 126, 25, 38, 14, 4, 15, 228, 107, 229, 131, 183, 31, 74, 181, 183,\n 12, 38, 87, 255, 29, 5, 204, 207, 29, 41, 42, 147, 105, 98, 141, 26, 25, 79, 148, 78,\n 101, 153, 0, 0, 16, 39,\n ];\n\n let randomness = 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f;\n let _ = OracleMock::mock(\"getRandomField\").returns(randomness).times(\n (MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES as u64 + 1 + 30) / 31,\n );\n\n let eph_sk = 0x1358d15019d4639393d62b97e1588c095957ce74a1c32d6ec7d62fe6705d9538;\n let _ = OracleMock::mock(\"getRandomField\").returns(eph_sk).times(1);\n\n let recipient = AztecAddress::from_field(\n 0x25afb798ea6d0b8c1618e50fdeafa463059415013d3b7c75d46abf5e242be70c,\n );\n\n let sender = AztecAddress::from_field(\n 0x25afb798ea6d0b8c1618e50fdeafa463059415013d3b7c75d46abf5e242be70c,\n );\n\n let _ = OracleMock::mock(\"getAppTaggingSecretAsSender\").returns([69420, 1337]);\n\n let _ = OracleMock::mock(\"incrementAppTaggingSecretIndexAsSender\").returns(());\n\n let log = compute_private_log_payload(\n contract_address,\n ovsk_app,\n ovpk_m,\n recipient,\n sender,\n plaintext,\n );\n\n // The following value was generated by `encrypted_log_payload.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let encrypted_log_from_typescript = [\n 14, 156, 255, 195, 221, 215, 70, 175, 251, 2, 65, 13, 143, 10, 130, 62, 137, 147, 151,\n 133, 188, 200, 232, 142, 228, 243, 202, 224, 94, 115, 124, 54, 141, 70, 12, 14, 67, 77,\n 132, 110, 193, 234, 40, 110, 64, 144, 235, 86, 55, 111, 242, 123, 221, 193, 170, 202,\n 225, 216, 86, 84, 159, 112, 31, 167, 5, 119, 121, 10, 234, 188, 194, 216, 30, 200, 208,\n 201, 158, 127, 93, 43, 242, 241, 69, 32, 37, 220, 119, 122, 23, 132, 4, 248, 81, 217,\n 61, 232, 24, 146, 63, 133, 24, 120, 113, 217, 155, 223, 149, 214, 149, 239, 240, 169,\n 224, 155, 161, 81, 83, 252, 155, 77, 34, 75, 110, 30, 113, 223, 189, 202, 171, 6, 192,\n 157, 91, 60, 116, 155, 254, 190, 28, 4, 7, 236, 205, 4, 245, 27, 187, 89, 20, 38, 128,\n 200, 160, 145, 185, 127, 198, 203, 207, 97, 246, 194, 175, 155, 142, 188, 143, 120, 83,\n 122, 178, 63, 208, 197, 232, 24, 228, 212, 45, 69, 157, 38, 90, 219, 119, 194, 239, 130,\n 155, 246, 143, 135, 242, 196, 123, 71, 139, 181, 122, 231, 228, 26, 7, 100, 63, 101,\n 195, 83, 8, 61, 85, 123, 148, 227, 29, 164, 162, 161, 49, 39, 73, 141, 46, 179, 240, 52,\n 109, 165, 238, 210, 233, 188, 36, 90, 175, 2, 42, 149, 78, 208, 176, 145, 50, 180, 152,\n 245, 55, 112, 40, 153, 180, 78, 54, 102, 119, 98, 56, 235, 246, 51, 179, 86, 45, 127,\n 18, 77, 187, 168, 41, 24, 232, 113, 149, 138, 148, 33, 143, 215, 150, 188, 105, 131,\n 254, 236, 199, 206, 56, 44, 130, 134, 29, 99, 254, 69, 153, 146, 68, 234, 148, 148, 178,\n 38, 221, 182, 103, 252, 139, 7, 246, 132, 29, 232, 78, 102, 126, 28, 136, 8, 219, 180,\n 162, 14, 62, 71, 118, 40, 147, 93, 87, 188, 231, 32, 93, 56, 193, 194, 197, 120, 153,\n 164, 139, 114, 18, 149, 2, 226, 19, 170, 250, 249, 128, 56, 236, 93, 14, 101, 115, 20,\n 173, 73, 192, 53, 229, 7, 23, 59, 11, 176, 9, 147, 175, 168, 206, 48, 127, 126, 76, 51,\n 211, 66, 232, 16, 132, 243, 14, 196, 181, 118, 12, 71, 236, 250, 253, 71, 249, 122, 30,\n 23, 23, 19, 89, 47, 193, 69, 240, 164, 34, 128, 110, 13, 133, 198, 7, 165, 14, 31, 239,\n 210, 146, 78, 67, 86, 32, 159, 244, 214, 246, 121, 246, 233, 252, 20, 131, 221, 28, 146,\n 222, 119, 222, 162, 250, 252, 189, 18, 147, 12, 142, 177, 222, 178, 122, 248, 113, 197,\n 40, 199, 152, 251, 91, 81, 243, 25, 156, 241, 141, 60, 12, 99, 103, 169, 97, 32, 112,\n 37, 244, 255, 126, 46, 114, 226, 113, 223, 249, 27, 3, 31, 41, 233, 28, 8, 23, 84, 99,\n 25, 186, 65, 33, 9, 35, 74, 16, 52, 169, 48, 161, 134, 233, 242, 136, 39, 162, 105, 205,\n 43, 253, 183, 36, 138, 186, 87, 31, 7, 248, 125, 227, 193, 172, 155, 98, 33, 61, 186,\n 158, 241, 192, 23, 28, 186, 100, 222, 174, 19, 64, 224, 113, 251, 143, 45, 152, 81, 67,\n 116, 16, 95, 189, 83, 31, 124, 39, 155, 142, 66, 0, 120, 197, 221, 161, 62, 75, 192,\n 255, 186, 200, 10, 135, 7,\n ];\n assert_eq(encrypted_log_from_typescript, log);\n }\n\n #[test]\n fn test_incoming_body_ciphertext_matches_typescript() {\n // All the values in this test were copied over from `encrypted_note_log_incoming_body.test.ts`\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06,\n };\n let address_point = AddressPoint {\n inner: Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false,\n },\n };\n let plaintext = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,\n ];\n\n // `compute_incoming_body_ciphertext(...)` function then derives symmetric key from `eph_sk` and `address_point` and encrypts\n // the note plaintext using AES-128.\n let ciphertext = compute_incoming_body_ciphertext(plaintext, eph_sk, address_point);\n\n // The following value was generated by `encrypted_note_log_incoming_body.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let note_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160,\n 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157,\n 131, 149, 96, 236, 253, 96, 172, 157, 30, 27, 176, 228, 74, 242, 190, 138, 48, 33, 93,\n 46, 37, 223, 130, 25, 245, 188, 163, 159, 223, 187, 24, 139, 206, 131, 154, 159, 130,\n 37, 17, 158, 114, 242, 141, 124, 193, 232, 54, 146, 96, 145, 100, 125, 234, 57, 43, 95,\n 115, 183, 39, 121, 232, 134, 229, 148, 25, 46, 77, 87, 127, 95, 7, 77, 188, 37, 234,\n 245, 142, 232, 87, 252, 28, 67, 67, 90, 214, 254, 89, 47, 68, 66, 187, 227, 8, 59, 162,\n 25, 141, 97, 141, 217, 197, 115, 15, 212, 202, 157, 41, 150, 62, 219, 57, 224, 92, 185,\n 212, 142, 94, 146, 41, 178, 145, 68, 169, 23, 185, 206, 138, 70, 47, 176, 210, 165, 236,\n 23, 206, 229, 108,\n ];\n\n assert_eq(note_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..note_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], note_body_ciphertext_from_typescript[i]);\n }\n }\n\n #[test]\n fn test_encrypted_log_outgoing_body_matches_typescript() {\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000d0d302ee245dfaf2807e604eec4715fe,\n hi: 0x000000000000000000000000000000000f096b423017226a18461115fa8d34bb,\n };\n\n let sender_ovsk_app = Scalar {\n lo: 0x0000000000000000000000000000000074d2e28c6bc5176ac02cf7c7d36a444e,\n hi: 0x00000000000000000000000000000000089c6887cb1446d86c64e81afc78048b,\n };\n\n let eph_pk = derive_public_key(eph_sk);\n let recipient = AztecAddress::from_field(\n 0x25afb798ea6d0b8c1618e50fdeafa463059415013d3b7c75d46abf5e242be70c,\n );\n\n let ciphertext =\n compute_outgoing_body_ciphertext(recipient, sender_ovsk_app, eph_sk, eph_pk);\n\n // The following value was generated by `encrypted_log_payload.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let outgoing_body_ciphertext_from_typescript = [\n 127, 182, 227, 75, 192, 197, 54, 47, 168, 134, 233, 148, 251, 46, 86, 12, 73, 50, 238,\n 50, 31, 174, 27, 202, 110, 77, 161, 197, 244, 124, 17, 100, 143, 150, 232, 14, 156, 248,\n 43, 177, 16, 82, 244, 103, 88, 74, 84, 200, 15, 65, 187, 14, 163, 60, 91, 22, 104, 31,\n 211, 190, 124, 121, 79, 92, 238, 182, 194, 225, 34, 71, 67, 116, 27, 231, 68, 161, 147,\n 94, 53, 195, 83, 237, 172, 52, 173, 229, 26, 234, 107, 43, 82, 68, 16, 105, 37, 125,\n 117, 86, 133, 50, 21, 92, 74, 229, 105, 141, 83, 229, 255, 251, 21, 61, 234, 61, 168,\n 221, 106, 231, 8, 73, 208, 60, 251, 46, 251, 228, 148, 144, 187, 195, 38, 18, 223, 153,\n 8, 121, 178, 84, 237, 148, 254, 219, 59, 62,\n ];\n\n assert_eq(outgoing_body_ciphertext_from_typescript, ciphertext);\n }\n}\n"
5716
+ "source": "use dep::protocol_types::{\n address::AztecAddress,\n constants::{GENERATOR_INDEX__SYMMETRIC_KEY, PRIVATE_LOG_SIZE_IN_FIELDS},\n hash::{poseidon2_hash, poseidon2_hash_with_separator},\n point::Point,\n public_keys::{AddressPoint, OvpkM},\n scalar::Scalar,\n utils::arrays::array_concat,\n};\nuse std::{\n aes128::aes128_encrypt, embedded_curve_ops::fixed_base_scalar_mul as derive_public_key,\n field::bn254::decompose, hash::from_field_unsafe as fr_to_fq_unsafe,\n};\n\nuse crate::{\n encrypted_logs::header::EncryptedLogHeader,\n keys::point_to_symmetric_key::point_to_symmetric_key,\n oracle::{\n notes::{get_app_tag_as_sender, increment_app_tagging_secret_index_as_sender},\n random::random,\n },\n utils::{bytes::bytes_to_fields, point::point_to_bytes},\n};\n\n// 1 field is reserved for tag.\nglobal ENCRYPTED_PAYLOAD_SIZE_IN_BYTES: u32 = (PRIVATE_LOG_SIZE_IN_FIELDS - 1) * 31;\n\ncomptime global HEADER_SIZE: u32 = 48;\n\ncomptime global OUTGOING_BODY_SIZE: u32 = 112;\n\n// Bytes padded to the overhead, so that the size of the incoming body ciphertext will be a multiple of 16.\ncomptime global OVERHEAD_PADDING: u32 = 15;\n\npub comptime global OVERHEAD_SIZE: u32 = 32 /* eph_pk */\n + HEADER_SIZE /* incoming_header */\n + HEADER_SIZE /* outgoing_header */\n + OUTGOING_BODY_SIZE /* outgoing_body */\n + OVERHEAD_PADDING /* padding */;\n\nglobal PLAINTEXT_LENGTH_SIZE: u32 = 2;\n\n// This is enough for 8 fields of data.\n// 1 field for storage slot, 1 field for note/event type id, allowing 6 fields for custom values.\nglobal MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES: u32 =\n ENCRYPTED_PAYLOAD_SIZE_IN_BYTES - OVERHEAD_SIZE - PLAINTEXT_LENGTH_SIZE - 1 /* aes padding */;\n\n// Note: Might have to update PRIVATE_LOG_SIZE_IN_FIELDS in `constants.nr` if the above changes.\n// This value ideally should be set by the protocol, allowing users (or `aztec-nr`) to fit data within the defined size limits.\n// Currently, we adjust this value as the structure changes, then update `constants.nr` to match.\n// Once the structure is finalized with defined overhead and max note field sizes, this value will be fixed and should remain unaffected by further payload composition changes.\n\npub fn compute_private_log_payload<let P: u32>(\n contract_address: AztecAddress,\n ovsk_app: Field,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n plaintext: [u8; P],\n) -> [Field; PRIVATE_LOG_SIZE_IN_FIELDS] {\n assert(\n P < MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES,\n f\"plaintext for log must not exceed {MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES}\",\n );\n\n let extended_plaintext: [u8; MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES + PLAINTEXT_LENGTH_SIZE] =\n extend_private_log_plaintext(plaintext);\n let encrypted: [u8; ENCRYPTED_PAYLOAD_SIZE_IN_BYTES] = compute_encrypted_log(\n contract_address,\n ovsk_app,\n ovpk,\n recipient,\n extended_plaintext,\n );\n\n // We assume that the sender wants for the recipient to find the tagged note, and therefore that they will cooperate\n // and use the correct tag. Usage of a bad tag will result in the recipient not being able to find the note\n // automatically.\n let tag = unsafe { get_app_tag_as_sender(sender, recipient) };\n increment_app_tagging_secret_index_as_sender(sender, recipient);\n\n array_concat([tag], bytes_to_fields(encrypted))\n}\n\npub fn compute_partial_public_log_payload<let P: u32, let M: u32>(\n contract_address: AztecAddress,\n ovsk_app: Field,\n ovpk: OvpkM,\n recipient: AztecAddress,\n sender: AztecAddress,\n plaintext: [u8; P],\n) -> [u8; M] {\n let extended_plaintext: [u8; P + PLAINTEXT_LENGTH_SIZE] =\n extend_private_log_plaintext(plaintext);\n let encrypted: [u8; M - 32] = compute_encrypted_log(\n contract_address,\n ovsk_app,\n ovpk,\n recipient,\n extended_plaintext,\n );\n\n // We assume that the sender wants for the recipient to find the tagged note, and therefore that they will cooperate\n // and use the correct tag. Usage of a bad tag will result in the recipient not being able to find the note\n // automatically.\n let tag = unsafe { get_app_tag_as_sender(sender, recipient) };\n increment_app_tagging_secret_index_as_sender(sender, recipient);\n // Silo the tag with contract address.\n // This is done by the kernel circuit to the private logs, but since the partial log will be finalized and emitted\n // in public as unencrypted log, its tag is not siloed at the moment.\n // To avoid querying logs using two types of tags, we silo the tag manually here.\n // TODO(#10273) This should be done by the AVM when it's processing the raw logs instead of their hashes.\n let siloed_tag_bytes: [u8; 32] =\n poseidon2_hash([contract_address.to_field(), tag]).to_be_bytes();\n\n // Temporary hack so that the partial public log remains the same format.\n // It should return field array and make the tag the first field as compute_private_log_payload does.\n let mut log_bytes = [0; M];\n for i in 0..32 {\n log_bytes[i] = siloed_tag_bytes[i];\n }\n for i in 0..encrypted.len() {\n log_bytes[i + 32] = encrypted[i];\n }\n\n log_bytes\n}\n\nfn compute_encrypted_log<let P: u32, let M: u32>(\n contract_address: AztecAddress,\n ovsk_app: Field,\n ovpk: OvpkM,\n recipient: AztecAddress,\n plaintext: [u8; P],\n) -> [u8; M] {\n let (eph_sk, eph_pk) = generate_ephemeral_key_pair();\n\n let header = EncryptedLogHeader::new(contract_address);\n\n let incoming_header_ciphertext: [u8; 48] =\n header.compute_ciphertext(eph_sk, recipient.to_address_point());\n let outgoing_header_ciphertext: [u8; 48] = header.compute_ciphertext(eph_sk, ovpk);\n let incoming_body_ciphertext =\n compute_incoming_body_ciphertext(plaintext, eph_sk, recipient.to_address_point());\n let outgoing_body_ciphertext: [u8; 112] =\n compute_outgoing_body_ciphertext(recipient, fr_to_fq(ovsk_app), eph_sk, eph_pk);\n\n let mut encrypted_bytes = [0; M];\n let mut offset = 0;\n\n // eph_pk\n let eph_pk_bytes = point_to_bytes(eph_pk);\n for i in 0..32 {\n encrypted_bytes[offset + i] = eph_pk_bytes[i];\n }\n offset += 32;\n\n // incoming_header\n // outgoing_header\n for i in 0..HEADER_SIZE {\n encrypted_bytes[offset + i] = incoming_header_ciphertext[i];\n encrypted_bytes[offset + HEADER_SIZE + i] = outgoing_header_ciphertext[i];\n }\n offset += HEADER_SIZE * 2;\n\n // outgoing_body\n for i in 0..OUTGOING_BODY_SIZE {\n encrypted_bytes[offset + i] = outgoing_body_ciphertext[i];\n }\n offset += OUTGOING_BODY_SIZE;\n\n // Padding.\n offset += OVERHEAD_PADDING;\n\n // incoming_body\n // Then we fill in the rest as the incoming body ciphertext\n let size = M - offset;\n assert_eq(size, incoming_body_ciphertext.len(), \"ciphertext length mismatch\");\n for i in 0..size {\n encrypted_bytes[offset + i] = incoming_body_ciphertext[i];\n }\n\n encrypted_bytes\n}\n\n// Prepend the plaintext length as the first byte, then copy the plaintext itself starting from the second byte.\n// Fill the remaining bytes with random values to reach a fixed length of N.\nfn extend_private_log_plaintext<let P: u32, let N: u32>(plaintext: [u8; P]) -> [u8; N] {\n let mut padded = unsafe { get_random_bytes() };\n padded[0] = (P >> 8) as u8;\n padded[1] = P as u8;\n for i in 0..P {\n padded[i + PLAINTEXT_LENGTH_SIZE] = plaintext[i];\n }\n padded\n}\n\nunconstrained fn get_random_bytes<let N: u32>() -> [u8; N] {\n let mut bytes = [0; N];\n let mut idx = 32;\n let mut randomness = [0; 32];\n for i in 0..N {\n if idx == 32 {\n randomness = random().to_be_bytes();\n idx = 1; // Skip the first byte as it's always 0.\n }\n bytes[i] = randomness[idx];\n idx += 1;\n }\n bytes\n}\n\n/// Converts a base field element to scalar field element.\n/// This is fine because modulus of the base field is smaller than the modulus of the scalar field.\nfn fr_to_fq(r: Field) -> Scalar {\n let (lo, hi) = decompose(r);\n\n Scalar { lo, hi }\n}\n\nfn generate_ephemeral_key_pair() -> (Scalar, Point) {\n // @todo Need to draw randomness from the full domain of Fq not only Fr\n // We use the randomness to preserve the privacy of both the sender and recipient via encryption, so a malicious\n // sender could use non-random values to reveal the plaintext. But they already know it themselves anyway, and so\n // the recipient already trusts them to not disclose this information. We can therefore assume that the sender will\n // cooperate in the random value generation.\n let randomness = unsafe { random() };\n\n // We use the unsafe version of `fr_to_fq` because multi_scalar_mul (called by derive_public_key) will constrain\n // the scalars.\n let eph_sk = fr_to_fq_unsafe(randomness);\n let eph_pk = derive_public_key(eph_sk);\n\n (eph_sk, eph_pk)\n}\n\npub fn compute_incoming_body_ciphertext<let P: u32>(\n plaintext: [u8; P],\n eph_sk: Scalar,\n address_point: AddressPoint,\n) -> [u8] {\n let full_key = point_to_symmetric_key(eph_sk, address_point.to_point());\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(plaintext, iv, sym_key)\n}\n\n/// Encrypts ephemeral secret key and recipient's address point --> with this information the recipient of outgoing will\n/// be able to derive the key with which the incoming log can be decrypted.\npub fn compute_outgoing_body_ciphertext(\n recipient: AztecAddress,\n ovsk_app: Scalar,\n eph_sk: Scalar,\n eph_pk: Point,\n) -> [u8; OUTGOING_BODY_SIZE] {\n // Again, we could compute `eph_pk` here, but we keep the interface more similar\n // and also make it easier to optimise it later as we just pass it along\n let mut buffer = [0 as u8; 96];\n\n let serialized_eph_sk_high: [u8; 32] = eph_sk.hi.to_be_bytes();\n let serialized_eph_sk_low: [u8; 32] = eph_sk.lo.to_be_bytes();\n\n let address_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n let serialized_recipient_address_point =\n point_to_bytes(recipient.to_address_point().to_point());\n\n for i in 0..16 {\n buffer[i] = serialized_eph_sk_high[i + 16];\n buffer[i + 16] = serialized_eph_sk_low[i + 16];\n }\n for i in 0..32 {\n buffer[i + 32] = address_bytes[i];\n buffer[i + 64] = serialized_recipient_address_point[i];\n }\n\n // We compute the symmetric key using poseidon.\n let full_key: [u8; 32] = poseidon2_hash_with_separator(\n [ovsk_app.hi, ovsk_app.lo, eph_pk.x, eph_pk.y],\n GENERATOR_INDEX__SYMMETRIC_KEY as Field,\n )\n .to_be_bytes();\n\n let mut sym_key = [0; 16];\n let mut iv = [0; 16];\n\n for i in 0..16 {\n sym_key[i] = full_key[i];\n iv[i] = full_key[i + 16];\n }\n aes128_encrypt(buffer, iv, sym_key).as_array()\n}\n\nmod test {\n use crate::encrypted_logs::payload::{\n compute_incoming_body_ciphertext, compute_outgoing_body_ciphertext,\n compute_private_log_payload, MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES,\n };\n use dep::protocol_types::{\n address::AztecAddress, point::Point, public_keys::OvpkM, scalar::Scalar,\n };\n use protocol_types::public_keys::AddressPoint;\n use std::embedded_curve_ops::fixed_base_scalar_mul as derive_public_key;\n use std::test::OracleMock;\n\n #[test]\n unconstrained fn test_encrypted_log_matches_typescript() {\n // All the values in this test were copied over from `encrypted_log_payload.test.ts`\n let contract_address = AztecAddress::from_field(\n 0x10f48cd9eff7ae5b209c557c70de2e657ee79166868676b787e9417e19260e04,\n );\n let ovsk_app = 0x191ac5e29bbc8f80f29ed06b75eaf30c036ed7952d844833860c527077c8c3b4;\n let ovpk_m = OvpkM {\n inner: Point {\n x: 0x07f696b8b233de2c1935e43c793399586f532da5ff7c0356636a75acb862e964,\n y: 0x156e8a3e42bfca3663936ba98c7fd26386a14657c23b5f5146f1a94b6c465154,\n is_infinite: false,\n },\n };\n\n let plaintext = [\n 0, 0, 0, 1, 48, 22, 64, 206, 234, 117, 131, 145, 178, 225, 97, 201, 44, 5, 19, 241, 41,\n 2, 15, 65, 37, 37, 106, 253, 174, 38, 70, 206, 49, 9, 159, 92, 16, 244, 140, 217, 239,\n 247, 174, 91, 32, 156, 85, 124, 112, 222, 46, 101, 126, 231, 145, 102, 134, 134, 118,\n 183, 135, 233, 65, 126, 25, 38, 14, 4, 15, 228, 107, 229, 131, 183, 31, 74, 181, 183,\n 12, 38, 87, 255, 29, 5, 204, 207, 29, 41, 42, 147, 105, 98, 141, 26, 25, 79, 148, 78,\n 101, 153, 0, 0, 16, 39,\n ];\n\n let randomness = 0x0101010101010101010101010101010101010101010101010101010101010101;\n let _ = OracleMock::mock(\"getRandomField\").returns(randomness).times(\n (MAX_PRIVATE_LOG_PLAINTEXT_SIZE_IN_BYTES as u64 + 1 + 30) / 31,\n );\n\n let eph_sk = 0x1358d15019d4639393d62b97e1588c095957ce74a1c32d6ec7d62fe6705d9538;\n let _ = OracleMock::mock(\"getRandomField\").returns(eph_sk).times(1);\n\n let recipient = AztecAddress::from_field(\n 0x25afb798ea6d0b8c1618e50fdeafa463059415013d3b7c75d46abf5e242be70c,\n );\n\n let sender = AztecAddress::from_field(\n 0x25afb798ea6d0b8c1618e50fdeafa463059415013d3b7c75d46abf5e242be70c,\n );\n\n let _ = OracleMock::mock(\"getAppTaggingSecretAsSender\").returns([69420, 1337]);\n\n let _ = OracleMock::mock(\"incrementAppTaggingSecretIndexAsSender\").returns(());\n\n let payload = compute_private_log_payload(\n contract_address,\n ovsk_app,\n ovpk_m,\n recipient,\n sender,\n plaintext,\n );\n\n // The following value was generated by `encrypted_log_payload.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let private_log_payload_from_typescript = [\n 0x0e9cffc3ddd746affb02410d8f0a823e89939785bcc8e88ee4f3cae05e737c36,\n 0x008d460c0e434d846ec1ea286e4090eb56376ff27bddc1aacae1d856549f701f,\n 0x00a70577790aeabcc2d81ec8d0c99e7f5d2bf2f1452025dc777a178404f851d9,\n 0x003de818923f85187871d99bdf95d695eff0a9e09ba15153fc9b4d224b6e1e71,\n 0x00dfbdcaab06c09d5b3c749bfebe1c0407eccd04f51bbb59142680c8a091b97f,\n 0x00c6cbcf615def593ab09e5b3f7f58f6fc235c90e7c77ed8dadb3b05ee4545a7,\n 0x00bc612c9139475fee6070be47efcc43a5cbbc873632f1428fac952df9c181db,\n 0x005f9e850b21fe11fedef37b88caee95111bce776e488df219732d0a77d19201,\n 0x007047186f41445ecd5c603487f7fb3c8f31010a22af69ce0000000000000000,\n 0x0000000000000000a600a61f7d59eeaf52eb51bc0592ff981d9ba3ea8e6ea8ba,\n 0x009dc0cec8c70b81e84556a77ce6c3ca47a527f99ffe7b2524bb885a23020b72,\n 0x0095748ad19c1083618ad96298b76ee07eb1a56d19cc798710e9f5de96501bd5,\n 0x009b3781c9c02a6c95c5912f8936b1500d362afbf0922c85b1ada18db8b95162,\n 0x00a6e9d067655cdf669eb387f8e0492a95fdcdb39429d5340b4bebc250ba9bf6,\n 0x002c2f49f549f37beed75a668aa51967e0e57547e5a655157bcf381e22f30e25,\n 0x00881548ec9606a151b5fbfb2d14ee4b34bf4c1dbd71c7be15ad4c63474bb6f8,\n 0x009970aeb3d9489c8edbdff80a1a3a5c28370e534abc870a85ea4318326ea192,\n 0x0022fb10df358c765edada497db4284ae30507a2e03e983d23cfa0bd831577e8,\n ];\n\n assert_eq(payload, private_log_payload_from_typescript);\n }\n\n #[test]\n fn test_incoming_body_ciphertext_matches_typescript() {\n // All the values in this test were copied over from `encrypted_note_log_incoming_body.test.ts`\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06,\n };\n let address_point = AddressPoint {\n inner: Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false,\n },\n };\n let plaintext = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,\n ];\n\n // `compute_incoming_body_ciphertext(...)` function then derives symmetric key from `eph_sk` and `address_point` and encrypts\n // the note plaintext using AES-128.\n let ciphertext = compute_incoming_body_ciphertext(plaintext, eph_sk, address_point);\n\n // The following value was generated by `encrypted_note_log_incoming_body.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let note_body_ciphertext_from_typescript = [\n 226, 240, 253, 6, 28, 52, 19, 131, 33, 132, 178, 212, 245, 62, 14, 190, 147, 228, 160,\n 190, 146, 61, 95, 203, 124, 153, 68, 168, 17, 150, 92, 0, 99, 214, 85, 64, 191, 78, 157,\n 131, 149, 96, 236, 253, 96, 172, 157, 30, 27, 176, 228, 74, 242, 190, 138, 48, 33, 93,\n 46, 37, 223, 130, 25, 245, 188, 163, 159, 223, 187, 24, 139, 206, 131, 154, 159, 130,\n 37, 17, 158, 114, 242, 141, 124, 193, 232, 54, 146, 96, 145, 100, 125, 234, 57, 43, 95,\n 115, 183, 39, 121, 232, 134, 229, 148, 25, 46, 77, 87, 127, 95, 7, 77, 188, 37, 234,\n 245, 142, 232, 87, 252, 28, 67, 67, 90, 214, 254, 89, 47, 68, 66, 187, 227, 8, 59, 162,\n 25, 141, 97, 141, 217, 197, 115, 15, 212, 202, 157, 41, 150, 62, 219, 57, 224, 92, 185,\n 212, 142, 94, 146, 41, 178, 145, 68, 169, 23, 185, 206, 138, 70, 47, 176, 210, 165, 236,\n 23, 206, 229, 108,\n ];\n\n assert_eq(note_body_ciphertext_from_typescript.len(), ciphertext.len());\n\n for i in 0..note_body_ciphertext_from_typescript.len() {\n assert_eq(ciphertext[i], note_body_ciphertext_from_typescript[i]);\n }\n }\n\n #[test]\n fn test_encrypted_log_outgoing_body_matches_typescript() {\n let eph_sk = Scalar {\n lo: 0x00000000000000000000000000000000d0d302ee245dfaf2807e604eec4715fe,\n hi: 0x000000000000000000000000000000000f096b423017226a18461115fa8d34bb,\n };\n\n let sender_ovsk_app = Scalar {\n lo: 0x0000000000000000000000000000000074d2e28c6bc5176ac02cf7c7d36a444e,\n hi: 0x00000000000000000000000000000000089c6887cb1446d86c64e81afc78048b,\n };\n\n let eph_pk = derive_public_key(eph_sk);\n let recipient = AztecAddress::from_field(\n 0x25afb798ea6d0b8c1618e50fdeafa463059415013d3b7c75d46abf5e242be70c,\n );\n\n let ciphertext =\n compute_outgoing_body_ciphertext(recipient, sender_ovsk_app, eph_sk, eph_pk);\n\n // The following value was generated by `encrypted_log_payload.test.ts`\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let outgoing_body_ciphertext_from_typescript = [\n 97, 221, 53, 168, 242, 56, 217, 184, 114, 127, 137, 98, 31, 63, 86, 179, 139, 198, 162,\n 162, 216, 158, 255, 205, 90, 212, 141, 55, 9, 245, 6, 146, 202, 137, 129, 36, 190, 31,\n 17, 89, 151, 203, 43, 196, 203, 233, 178, 79, 202, 70, 250, 182, 18, 191, 79, 42, 205,\n 204, 145, 14, 13, 35, 255, 139, 142, 66, 193, 240, 175, 233, 180, 37, 153, 235, 41, 88,\n 232, 52, 235, 213, 50, 26, 153, 227, 25, 242, 161, 92, 45, 152, 100, 106, 29, 192, 131,\n 101, 121, 126, 31, 118, 191, 90, 238, 43, 24, 82, 49, 18, 199, 107, 83, 7,\n ];\n\n assert_eq(outgoing_body_ciphertext_from_typescript, ciphertext);\n }\n}\n"
5824
5717
  },
5825
- "151": {
5718
+ "142": {
5826
5719
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr",
5827
5720
  "source": "use crate::utils::to_bytes::{arr_to_be_bytes_arr, str_to_be_bytes_arr};\nuse dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__FUNCTION_ARGS, GENERATOR_INDEX__MESSAGE_NULLIFIER,\n GENERATOR_INDEX__SECRET_HASH,\n },\n hash::{poseidon2_hash_with_separator, poseidon2_hash_with_separator_slice, sha256_to_field},\n point::Point,\n traits::Hash,\n};\n\npub use dep::protocol_types::hash::{compute_siloed_nullifier, pedersen_hash};\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<let N: u32>(\n contract_address: AztecAddress,\n log: [u8; N],\n) -> Field {\n let mut hash_bytes = [0; N + 36];\n // Address is converted to 32 bytes in ts\n let address_bytes: [u8; 32] = contract_address.to_field().to_be_bytes();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes: [u8; 4] = (N as Field).to_be_bytes();\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..N {\n hash_bytes[36 + i] = log[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_l1_to_l2_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field,\n leaf_index: Field,\n) -> Field {\n let mut hash_bytes = [0 as u8; 224];\n let sender_bytes: [u8; 32] = sender.to_field().to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n let recipient_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n let version_bytes: [u8; 32] = version.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let secret_hash_bytes: [u8; 32] = secret_hash.to_be_bytes();\n let leaf_index_bytes: [u8; 32] = leaf_index.to_be_bytes();\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n hash_bytes[i + 192] = leaf_index_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret\npub fn compute_l1_to_l2_message_nullifier(message_hash: Field, secret: Field) -> Field {\n poseidon2_hash_with_separator([message_hash, secret], GENERATOR_INDEX__MESSAGE_NULLIFIER)\n}\n\npub struct ArgsHasher {\n pub fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n poseidon2_hash_with_separator_slice(args, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nunconstrained fn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..100 {\n input.add(i as Field);\n }\n let hash = input.hash();\n dep::std::println(hash);\n assert(hash == 0x19b0d74feb06ebde19edd85a28986c97063e84b3b351a8b666c7cac963ce655f);\n}\n\n#[test]\nunconstrained fn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(\n 0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6,\n );\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd,\n ];\n let serialized_log = arr_to_be_bytes_arr(log);\n let hash = compute_unencrypted_log_hash(contract_address, serialized_log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nunconstrained fn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(\n 0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6,\n );\n let log = AztecAddress::from_field(\n 0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303,\n );\n let serialized_log: [u8; 32] = log.to_field().to_be_bytes();\n let hash = compute_unencrypted_log_hash(contract_address, serialized_log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nunconstrained fn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(\n 0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8,\n );\n let log = \"dummy\";\n let serialized_log = str_to_be_bytes_arr(log);\n let hash = compute_unencrypted_log_hash(contract_address, serialized_log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nunconstrained fn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(\n 0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8,\n );\n let log = \"Hello this is a string\";\n let serialized_log = str_to_be_bytes_arr(log);\n let hash = compute_unencrypted_log_hash(contract_address, serialized_log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"
5828
5721
  },
5829
- "153": {
5722
+ "144": {
5830
5723
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr",
5831
5724
  "source": "use crate::{\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX},\n oracle::{\n key_validation_request::get_key_validation_request,\n keys::get_public_keys_and_partial_address,\n },\n};\nuse dep::protocol_types::{address::AztecAddress, public_keys::PublicKeys};\n\nmod test;\n\npub unconstrained fn get_nsk_app(npk_m_hash: Field) -> Field {\n get_key_validation_request(npk_m_hash, NULLIFIER_INDEX).sk_app\n}\n\n// A helper function that gets app-siloed outgoing viewing key for a given `ovpk_m_hash`. This function is used\n// in unconstrained contexts only - when computing unconstrained note logs. The safe alternative is `request_ovsk_app`\n// function defined on `PrivateContext`.\npub unconstrained fn get_ovsk_app(ovpk_m_hash: Field) -> Field {\n get_key_validation_request(ovpk_m_hash, OUTGOING_INDEX).sk_app\n}\n\n// Returns all public keys for a given account, applying proper constraints to the context. We read all\n// keys at once since the constraints for reading them all are actually fewer than if we read them one at a time - any\n// read keys that are not required by the caller can simply be discarded.\npub fn get_public_keys(account: AztecAddress) -> PublicKeys {\n // Public keys are constrained by showing their inclusion in the address's preimage.\n let (public_keys, partial_address) = unsafe { get_public_keys_and_partial_address(account) };\n assert_eq(\n account,\n AztecAddress::compute(public_keys, partial_address),\n \"Invalid public keys hint for address\",\n );\n\n public_keys\n}\n"
5832
5725
  },
5833
- "154": {
5726
+ "145": {
5834
5727
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/keys/point_to_symmetric_key.nr",
5835
5728
  "source": "use crate::utils::point::point_to_bytes;\nuse dep::protocol_types::{\n constants::GENERATOR_INDEX__SYMMETRIC_KEY, point::Point, scalar::Scalar, utils::arr_copy_slice,\n};\nuse std::{embedded_curve_ops::multi_scalar_mul, hash::sha256};\n\n// TODO(#5726): This function is called deriveAESSecret in TS. I don't like point_to_symmetric_key name much since\n// point is not the only input of the function. Unify naming with TS once we have a better name.\npub fn point_to_symmetric_key(secret: Scalar, point: Point) -> [u8; 32] {\n let shared_secret: Point = multi_scalar_mul([point], [secret]);\n let shared_secret = point_to_bytes(shared_secret);\n let mut shared_secret_bytes_with_separator = [0 as u8; 33];\n shared_secret_bytes_with_separator =\n arr_copy_slice(shared_secret, shared_secret_bytes_with_separator, 0);\n shared_secret_bytes_with_separator[32] = GENERATOR_INDEX__SYMMETRIC_KEY;\n sha256(shared_secret_bytes_with_separator)\n}\n\n#[test]\nunconstrained fn test_point_to_symmetric_key_matches_noir() {\n // Value taken from \"derive shared secret\" test in encrypt_buffer.test.ts\n let secret = Scalar {\n lo: 0x00000000000000000000000000000000649e7ca01d9de27b21624098b897babd,\n hi: 0x0000000000000000000000000000000023b3127c127b1f29a7adff5cccf8fb06,\n };\n let point = Point {\n x: 0x2688431c705a5ff3e6c6f2573c9e3ba1c1026d2251d0dbbf2d810aa53fd1d186,\n y: 0x1e96887b117afca01c00468264f4f80b5bb16d94c1808a448595f115556e5c8e,\n is_infinite: false,\n };\n\n let key = point_to_symmetric_key(secret, point);\n\n // The following value was generated by `encrypt_buffer.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let key_from_typescript = [\n 251, 232, 177, 34, 2, 174, 35, 92, 165, 118, 168, 3, 153, 140, 46, 210, 203, 154, 184, 158,\n 236, 33, 95, 77, 93, 120, 72, 88, 190, 209, 64, 159,\n ];\n assert_eq(key, key_from_typescript);\n}\n"
5836
5729
  },
5837
- "161": {
5730
+ "152": {
5838
5731
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/utils/point.nr",
5839
5732
  "source": "use dep::protocol_types::point::Point;\n\n// I am storing the modulus minus 1 divided by 2 here because full modulus would throw \"String literal too large\" error\n// Full modulus is 21888242871839275222246405745257275088548364400416034343698204186575808495617\nglobal BN254_FR_MODULUS_DIV_2: Field =\n 10944121435919637611123202872628637544274182200208017171849102093287904247808;\n\n/// Converts a public key to a byte array.\n///\n/// We don't serialize the point at infinity flag because this function is used in situations where we do not want\n/// to waste the extra byte (encrypted log).\npub fn point_to_bytes(pk: Point) -> [u8; 32] {\n // Note that there is 1 more free bit in the 32 bytes (254 bits currently occupied by the x coordinate, 1 bit for\n // the \"sign\") so it's possible to use that last bit as an \"is_infinite\" flag if desired in the future.\n assert(!pk.is_infinite, \"Cannot serialize point at infinity as bytes.\");\n\n let mut result: [u8; 32] = pk.x.to_be_bytes();\n\n // We store only a \"sign\" of the y coordinate because the rest can be derived from the x coordinate. To get\n // the sign we check if the y coordinate is less or equal than the curve's order minus 1 divided by 2.\n // Ideally we'd do `y <= MOD_DIV_2`, but there's no `lte` function, so instead we do `!(y > MOD_DIV_2)`, which is\n // equivalent, and then rewrite that as `!(MOD_DIV_2 < y)`, since we also have no `gt` function.\n if !BN254_FR_MODULUS_DIV_2.lt(pk.y) {\n // y is <= (modulus - 1) / 2 so we set the sign bit to 1\n // Here we leverage that field fits into 254 bits (log2(Fr.MODULUS) < 254) and given that we serialize Fr to 32\n // bytes and we use big-endian the 2 most significant bits are never populated. Hence we can use one of\n // the bits as a sign bit.\n result[0] += 128;\n }\n\n result\n}\n\nmod test {\n use crate::utils::point::point_to_bytes;\n use dep::protocol_types::point::Point;\n\n #[test]\n unconstrained fn test_point_to_bytes_positive_sign() {\n let p = Point {\n x: 0x1af41f5de96446dc3776a1eb2d98bb956b7acd9979a67854bec6fa7c2973bd73,\n y: 0x07fc22c7f2c7057571f137fe46ea9c95114282bc95d37d71ec4bfb88de457d4a,\n is_infinite: false,\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_positive_sign = [\n 154, 244, 31, 93, 233, 100, 70, 220, 55, 118, 161, 235, 45, 152, 187, 149, 107, 122,\n 205, 153, 121, 166, 120, 84, 190, 198, 250, 124, 41, 115, 189, 115,\n ];\n assert_eq(expected_compressed_point_positive_sign, compressed_point);\n }\n\n #[test]\n unconstrained fn test_point_to_bytes_negative_sign() {\n let p = Point {\n x: 0x247371652e55dd74c9af8dbe9fb44931ba29a9229994384bd7077796c14ee2b5,\n y: 0x26441aec112e1ae4cee374f42556932001507ad46e255ffb27369c7e3766e5c0,\n is_infinite: false,\n };\n\n let compressed_point = point_to_bytes(p);\n\n let expected_compressed_point_negative_sign = [\n 36, 115, 113, 101, 46, 85, 221, 116, 201, 175, 141, 190, 159, 180, 73, 49, 186, 41, 169,\n 34, 153, 148, 56, 75, 215, 7, 119, 150, 193, 78, 226, 181,\n ];\n\n assert_eq(expected_compressed_point_negative_sign, compressed_point);\n }\n}\n"
5840
5733
  },
5841
- "180": {
5734
+ "171": {
5842
5735
  "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr",
5843
5736
  "source": "use dep::protocol_types::{\n constants::GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n hash::poseidon2_hash_with_separator,\n traits::{Deserialize, Serialize},\n};\n\nuse crate::context::{PrivateContext, UnconstrainedContext};\nuse crate::note::{\n lifecycle::create_note,\n note_emission::NoteEmission,\n note_getter::{get_note, view_notes},\n note_interface::{NoteInterface, NullifiableNote},\n note_viewer_options::NoteViewerOptions,\n};\nuse crate::oracle::notes::check_nullifier_exists;\nuse crate::state_vars::storage::Storage;\n\n// docs:start:struct\npub struct PrivateImmutable<Note, Context> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:struct\n\nimpl<T, Context, let N: u32> Storage<T, N> for PrivateImmutable<T, Context>\nwhere\n T: Serialize<N> + Deserialize<N>,\n{}\n\nimpl<Note, Context> PrivateImmutable<Note, Context> {\n // docs:start:new\n pub fn new(context: Context, storage_slot: Field) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Self { context, storage_slot }\n }\n // docs:end:new\n\n // The following computation is leaky, in that it doesn't hide the storage slot that has been initialized, nor does it hide the contract address of this contract.\n // When this initialization nullifier is emitted, an observer could do a dictionary or rainbow attack to learn the preimage of this nullifier to deduce the storage slot and contract address.\n // For some applications, leaking the details that a particular state variable of a particular contract has been initialized will be unacceptable.\n // Under such circumstances, such application developers might wish to _not_ use this state variable type.\n // This is especially dangerous for initial assignment to elements of a `Map<AztecAddress, PrivateImmutable>` type (for example), because the storage slot often also identifies an actor.\n // e.g. the initial assignment to `my_map.at(msg.sender)` will leak: `msg.sender`, the fact that an element of `my_map` was assigned-to for the first time, and the contract_address.\n pub fn compute_initialization_nullifier(self) -> Field {\n poseidon2_hash_with_separator(\n [self.storage_slot],\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n )\n }\n}\n\nimpl<Note> PrivateImmutable<Note, &mut PrivateContext> {\n // docs:start:initialize\n pub fn initialize<let N: u32>(self, note: &mut Note) -> NoteEmission<Note>\n where\n Note: NoteInterface<N> + NullifiableNote,\n {\n // Nullify the storage slot.\n let nullifier = self.compute_initialization_nullifier();\n self.context.push_nullifier(nullifier);\n\n create_note(self.context, self.storage_slot, note)\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note<let N: u32>(self) -> Note\n where\n Note: NoteInterface<N> + NullifiableNote,\n {\n let storage_slot = self.storage_slot;\n get_note(self.context, storage_slot).0\n }\n // docs:end:get_note\n}\n\nimpl<Note> PrivateImmutable<Note, UnconstrainedContext> {\n // docs:start:is_initialized\n pub unconstrained fn is_initialized(self) -> bool {\n let nullifier = self.compute_initialization_nullifier();\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // view_note does not actually use the context, but it calls oracles that are only available in private\n // docs:start:view_note\n pub unconstrained fn view_note<let N: u32>(self) -> Note\n where\n Note: NoteInterface<N> + NullifiableNote,\n {\n let mut options = NoteViewerOptions::new();\n view_notes(self.storage_slot, options.set_limit(1)).get(0)\n }\n // docs:end:view_note\n}\n"
5844
5737
  },
5845
- "185": {
5738
+ "176": {
5846
5739
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/point.nr",
5847
5740
  "source": "pub use dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse crate::{hash::poseidon2_hash, traits::{Deserialize, Empty, Hash, Serialize}};\n\npub global POINT_LENGTH: u32 = 3;\n\nimpl Serialize<POINT_LENGTH> for Point {\n fn serialize(self: Self) -> [Field; POINT_LENGTH] {\n [self.x, self.y, self.is_infinite as Field]\n }\n}\n\nimpl Hash for Point {\n fn hash(self) -> Field {\n poseidon2_hash(self.serialize())\n }\n}\n\nimpl Empty for Point {\n /// Note: Does not return a valid point on curve - instead represents an empty/\"unpopulated\" point struct (e.g.\n /// empty/unpopulated value in an array of points).\n fn empty() -> Self {\n Point { x: 0, y: 0, is_infinite: false }\n }\n}\n\nimpl Deserialize<POINT_LENGTH> for Point {\n fn deserialize(serialized: [Field; POINT_LENGTH]) -> Point {\n Point { x: serialized[0], y: serialized[1], is_infinite: serialized[2] as bool }\n }\n}\n"
5848
5741
  },
5849
- "192": {
5742
+ "183": {
5850
5743
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/public_keys.nr",
5851
5744
  "source": "use crate::{\n address::public_keys_hash::PublicKeysHash,\n constants::{\n DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X,\n DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n },\n hash::poseidon2_hash_with_separator,\n point::POINT_LENGTH,\n traits::{Deserialize, Hash, Serialize},\n};\n\nuse dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\nuse std::default::Default;\n\npub global PUBLIC_KEYS_LENGTH: u32 = 12;\n\npub struct PublicKeys {\n pub npk_m: NpkM,\n pub ivpk_m: IvpkM,\n pub ovpk_m: OvpkM,\n pub tpk_m: TpkM,\n}\n\npub trait ToPoint {\n fn to_point(self) -> Point;\n}\n\npub struct NpkM {\n pub inner: Point,\n}\n\nimpl ToPoint for NpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for NpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\n// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091\nimpl Hash for NpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\npub struct IvpkM {\n pub inner: Point,\n}\n\nimpl ToPoint for IvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for IvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\npub struct OvpkM {\n pub inner: Point,\n}\n\nimpl Hash for OvpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nimpl ToPoint for OvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for OvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\npub struct TpkM {\n pub inner: Point,\n}\n\nimpl ToPoint for TpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for TpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nimpl Default for PublicKeys {\n fn default() -> Self {\n PublicKeys {\n npk_m: NpkM {\n inner: Point { x: DEFAULT_NPK_M_X, y: DEFAULT_NPK_M_Y, is_infinite: false },\n },\n ivpk_m: IvpkM {\n inner: Point { x: DEFAULT_IVPK_M_X, y: DEFAULT_IVPK_M_Y, is_infinite: false },\n },\n ovpk_m: OvpkM {\n inner: Point { x: DEFAULT_OVPK_M_X, y: DEFAULT_OVPK_M_Y, is_infinite: false },\n },\n tpk_m: TpkM {\n inner: Point { x: DEFAULT_TPK_M_X, y: DEFAULT_TPK_M_Y, is_infinite: false },\n },\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n (self.npk_m.inner == other.npk_m.inner)\n & (self.ivpk_m.inner == other.ivpk_m.inner)\n & (self.ovpk_m.inner == other.ovpk_m.inner)\n & (self.tpk_m.inner == other.tpk_m.inner)\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field,\n ))\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.inner.x,\n self.npk_m.inner.y,\n self.npk_m.inner.is_infinite as Field,\n self.ivpk_m.inner.x,\n self.ivpk_m.inner.y,\n self.ivpk_m.inner.is_infinite as Field,\n self.ovpk_m.inner.x,\n self.ovpk_m.inner.y,\n self.ovpk_m.inner.is_infinite as Field,\n self.tpk_m.inner.x,\n self.tpk_m.inner.y,\n self.tpk_m.inner.is_infinite as Field,\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: NpkM {\n inner: Point {\n x: serialized[0],\n y: serialized[1],\n is_infinite: serialized[2] as bool,\n },\n },\n ivpk_m: IvpkM {\n inner: Point {\n x: serialized[3],\n y: serialized[4],\n is_infinite: serialized[5] as bool,\n },\n },\n ovpk_m: OvpkM {\n inner: Point {\n x: serialized[6],\n y: serialized[7],\n is_infinite: serialized[8] as bool,\n },\n },\n tpk_m: TpkM {\n inner: Point {\n x: serialized[9],\n y: serialized[10],\n is_infinite: serialized[11] as bool,\n },\n },\n }\n }\n}\n\npub struct AddressPoint {\n pub inner: Point,\n}\n\nimpl ToPoint for AddressPoint {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\n#[test]\nunconstrained fn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } },\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash =\n 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nunconstrained fn compute_default_hash() {\n let keys = PublicKeys::default();\n\n let actual = keys.hash();\n let test_data_default_hash = 0x1d3bf1fb93ae0e9cda83b203dd91c3bfb492a9aecf30ec90e1057eced0f0e62d;\n\n assert(actual.to_field() == test_data_default_hash);\n}\n\n#[test]\nunconstrained fn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } },\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.inner.x, deserialized.npk_m.inner.x);\n assert_eq(keys.npk_m.inner.y, deserialized.npk_m.inner.y);\n assert_eq(keys.ivpk_m.inner.x, deserialized.ivpk_m.inner.x);\n assert_eq(keys.ivpk_m.inner.y, deserialized.ivpk_m.inner.y);\n assert_eq(keys.ovpk_m.inner.x, deserialized.ovpk_m.inner.x);\n assert_eq(keys.ovpk_m.inner.y, deserialized.ovpk_m.inner.y);\n assert_eq(keys.tpk_m.inner.x, deserialized.tpk_m.inner.x);\n assert_eq(keys.tpk_m.inner.y, deserialized.tpk_m.inner.y);\n}\n"
5852
5745
  },
5853
- "195": {
5746
+ "186": {
5854
5747
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr",
5855
5748
  "source": "use crate::{\n address::{aztec_address::AztecAddress, partial_address::PartialAddress},\n constants::CONTRACT_INSTANCE_LENGTH,\n contract_class_id::ContractClassId,\n public_keys::PublicKeys,\n traits::{Deserialize, Hash, Serialize},\n};\n\npub struct ContractInstance {\n pub salt: Field,\n pub deployer: AztecAddress,\n pub contract_class_id: ContractClassId,\n pub initialization_hash: Field,\n pub public_keys: PublicKeys,\n}\n\nimpl Eq for ContractInstance {\n fn eq(self, other: Self) -> bool {\n self.public_keys.eq(other.public_keys)\n & self.initialization_hash.eq(other.initialization_hash)\n & self.contract_class_id.eq(other.contract_class_id)\n & self.salt.eq(other.salt)\n }\n}\n\nimpl Serialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn serialize(self) -> [Field; CONTRACT_INSTANCE_LENGTH] {\n let public_keys_serialized = self.public_keys.serialize();\n [\n self.salt,\n self.deployer.to_field(),\n self.contract_class_id.to_field(),\n self.initialization_hash,\n public_keys_serialized[0],\n public_keys_serialized[1],\n public_keys_serialized[2],\n public_keys_serialized[3],\n public_keys_serialized[4],\n public_keys_serialized[5],\n public_keys_serialized[6],\n public_keys_serialized[7],\n public_keys_serialized[8],\n public_keys_serialized[9],\n public_keys_serialized[10],\n public_keys_serialized[11],\n ]\n }\n}\n\nimpl Deserialize<CONTRACT_INSTANCE_LENGTH> for ContractInstance {\n fn deserialize(serialized: [Field; CONTRACT_INSTANCE_LENGTH]) -> Self {\n Self {\n salt: serialized[0],\n deployer: AztecAddress::from_field(serialized[1]),\n contract_class_id: ContractClassId::from_field(serialized[2]),\n initialization_hash: serialized[3],\n public_keys: PublicKeys::deserialize([\n serialized[4],\n serialized[5],\n serialized[6],\n serialized[7],\n serialized[8],\n serialized[9],\n serialized[10],\n serialized[11],\n serialized[12],\n serialized[13],\n serialized[14],\n serialized[15],\n ]),\n }\n }\n}\n\nimpl Hash for ContractInstance {\n fn hash(self) -> Field {\n self.to_address().to_field()\n }\n}\n\nimpl ContractInstance {\n pub fn to_address(self) -> AztecAddress {\n AztecAddress::compute(\n self.public_keys,\n PartialAddress::compute(\n self.contract_class_id,\n self.salt,\n self.initialization_hash,\n self.deployer,\n ),\n )\n }\n}\n"
5856
5749
  },
5857
- "200": {
5750
+ "191": {
5858
5751
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr",
5859
5752
  "source": "/// Utility function to console.log data in the acir simulator.\n/// Example:\n/// debug_log(\"blah blah this is a debug string\");\npub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n\n/// Utility function to console.log data in the acir simulator. This variant receives a format string in which the\n/// `${k}` tokens will be replaced with the k-eth value in the `args` array.\n/// Examples:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\npub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n // This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to call.\n unsafe { debug_log_oracle_wrapper(msg, args) };\n}\n\npub unconstrained fn debug_log_oracle_wrapper<let M: u32, let N: u32>(\n msg: str<M>,\n args: [Field; N],\n) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n"
5860
5753
  },
5861
- "202": {
5754
+ "193": {
5862
5755
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr",
5863
5756
  "source": "use crate::{\n address::aztec_address::AztecAddress, constants::GENERATOR_INDEX__PARTIAL_ADDRESS,\n hash::poseidon2_hash_with_separator, traits::ToField,\n};\n\n// Salted initialization hash. Used in the computation of a partial address.\npub struct SaltedInitializationHash {\n pub inner: Field,\n}\n\nimpl ToField for SaltedInitializationHash {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl SaltedInitializationHash {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self {\n SaltedInitializationHash::from_field(poseidon2_hash_with_separator(\n [salt, initialization_hash, deployer.to_field()],\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n ))\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"
5864
5757
  },
5865
- "203": {
5758
+ "194": {
5866
5759
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr",
5867
5760
  "source": "use crate::{\n address::{aztec_address::AztecAddress, salted_initialization_hash::SaltedInitializationHash},\n constants::GENERATOR_INDEX__PARTIAL_ADDRESS,\n contract_class_id::ContractClassId,\n hash::poseidon2_hash_with_separator,\n traits::{Deserialize, Serialize, ToField},\n};\n\nglobal PARTIAL_ADDRESS_LENGTH: u32 = 1;\n\n// Partial address\npub struct PartialAddress {\n pub inner: Field,\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn serialize(self: Self) -> [Field; PARTIAL_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<PARTIAL_ADDRESS_LENGTH> for PartialAddress {\n fn deserialize(fields: [Field; PARTIAL_ADDRESS_LENGTH]) -> Self {\n PartialAddress { inner: fields[0] }\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute(\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n deployer: AztecAddress,\n ) -> Self {\n PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n SaltedInitializationHash::compute(salt, initialization_hash, deployer),\n )\n }\n\n pub fn compute_from_salted_initialization_hash(\n contract_class_id: ContractClassId,\n salted_initialization_hash: SaltedInitializationHash,\n ) -> Self {\n PartialAddress::from_field(poseidon2_hash_with_separator(\n [contract_class_id.to_field(), salted_initialization_hash.to_field()],\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n ))\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.to_field() == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"
5868
5761
  },
5869
- "204": {
5762
+ "195": {
5870
5763
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr",
5871
5764
  "source": "use crate::{\n abis::function_selector::FunctionSelector,\n address::{\n partial_address::PartialAddress, salted_initialization_hash::SaltedInitializationHash,\n },\n constants::{\n AZTEC_ADDRESS_LENGTH, FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__CONTRACT_ADDRESS_V1,\n MAX_FIELD_VALUE,\n },\n contract_class_id::ContractClassId,\n hash::{poseidon2_hash_with_separator, private_functions_root_from_siblings},\n merkle_tree::membership::MembershipWitness,\n public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, TpkM},\n traits::{Deserialize, Empty, FromField, Serialize, ToField},\n utils,\n};\n\n// We do below because `use crate::point::Point;` does not work\nuse dep::std::embedded_curve_ops::EmbeddedCurvePoint as Point;\n\nuse crate::public_keys::AddressPoint;\nuse ec::{pow, sqrt};\nuse std::embedded_curve_ops::{EmbeddedCurveScalar, fixed_base_scalar_mul as derive_public_key};\n\n// Aztec address\npub struct AztecAddress {\n pub inner: Field,\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other: Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self { inner: 0 }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn to_address_point(self) -> AddressPoint {\n // We compute the address point by taking our address, setting it to x, and then solving for y in the\n // equation which defines our bn curve:\n // y^2 = x^3 - 17; x = address\n let x = self.inner;\n let y_squared = pow(x, 3) - 17;\n\n // TODO (#8970): Handle cases where we cannot recover a point from an address\n let mut y = sqrt(y_squared);\n\n // If we get a negative y coordinate (any y where y > MAX_FIELD_VALUE / 2), we pin it to the\n // positive one (any value where y <= MAX_FIELD_VALUE / 2) by subtracting it from the Field modulus\n // note: The field modulus is MAX_FIELD_VALUE + 1\n if (!(y.lt(MAX_FIELD_VALUE / 2) | y.eq(MAX_FIELD_VALUE / 2))) {\n y = (MAX_FIELD_VALUE + 1) - y;\n }\n\n AddressPoint { inner: Point { x: self.inner, y, is_infinite: false } }\n }\n\n pub fn compute(public_keys: PublicKeys, partial_address: PartialAddress) -> AztecAddress {\n let public_keys_hash = public_keys.hash();\n\n let pre_address = poseidon2_hash_with_separator(\n [public_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1,\n );\n\n let address_point = derive_public_key(EmbeddedCurveScalar::from_field(pre_address)).add(\n public_keys.ivpk_m.to_point(),\n );\n\n // Note that our address is only the x-coordinate of the full address_point. This is okay because when people want to encrypt something and send it to us\n // they can recover our full point using the x-coordinate (our address itself). To do this, they recompute the y-coordinate according to the equation y^2 = x^3 - 17.\n // When they do this, they may get a positive y-coordinate (a value that is less than or equal to MAX_FIELD_VALUE / 2) or\n // a negative y-coordinate (a value that is more than MAX_FIELD_VALUE), and we cannot dictate which one they get and hence the recovered point may sometimes be different than the one\n // our secrect can decrypt. Regardless though, they should and will always encrypt using point with the positive y-coordinate by convention.\n // This ensures that everyone encrypts to the same point given an arbitrary x-coordinate (address). This is allowed because even though our original point may not have a positive y-coordinate,\n // with our original secret, we will be able to derive the secret to the point with the flipped (and now positive) y-coordinate that everyone encrypts to.\n AztecAddress::from_field(address_point.x)\n }\n\n pub fn compute_from_private_function(\n function_selector: FunctionSelector,\n function_vk_hash: Field,\n function_leaf_membership_witness: MembershipWitness<FUNCTION_TREE_HEIGHT>,\n contract_class_artifact_hash: Field,\n contract_class_public_bytecode_commitment: Field,\n salted_initialization_hash: SaltedInitializationHash,\n public_keys: PublicKeys,\n ) -> Self {\n let private_functions_root = private_functions_root_from_siblings(\n function_selector,\n function_vk_hash,\n function_leaf_membership_witness.leaf_index,\n function_leaf_membership_witness.sibling_path,\n );\n\n let contract_class_id = ContractClassId::compute(\n contract_class_artifact_hash,\n private_functions_root,\n contract_class_public_bytecode_commitment,\n );\n\n // Compute contract address using the preimage which includes the class_id.\n let partial_address = PartialAddress::compute_from_salted_initialization_hash(\n contract_class_id,\n salted_initialization_hash,\n );\n\n AztecAddress::compute(public_keys, partial_address)\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pub_keys() {\n let public_keys = PublicKeys {\n npk_m: NpkM {\n inner: Point {\n x: 0x22f7fcddfa3ce3e8f0cc8e82d7b94cdd740afa3e77f8e4a63ea78a239432dcab,\n y: 0x0471657de2b6216ade6c506d28fbc22ba8b8ed95c871ad9f3e3984e90d9723a7,\n is_infinite: false,\n },\n },\n ivpk_m: IvpkM {\n inner: Point {\n x: 0x111223493147f6785514b1c195bb37a2589f22a6596d30bb2bb145fdc9ca8f1e,\n y: 0x273bbffd678edce8fe30e0deafc4f66d58357c06fd4a820285294b9746c3be95,\n is_infinite: false,\n },\n },\n ovpk_m: OvpkM {\n inner: Point {\n x: 0x09115c96e962322ffed6522f57194627136b8d03ac7469109707f5e44190c484,\n y: 0x0c49773308a13d740a7f0d4f0e6163b02c5a408b6f965856b6a491002d073d5b,\n is_infinite: false,\n },\n },\n tpk_m: TpkM {\n inner: Point {\n x: 0x00d3d81beb009873eb7116327cf47c612d5758ef083d4fda78e9b63980b2a762,\n y: 0x2f567d22d2b02fe1f4ad42db9d58a36afd1983e7e2909d1cab61cafedad6193a,\n is_infinite: false,\n },\n },\n };\n\n let partial_address = PartialAddress::from_field(\n 0x0a7c585381b10f4666044266a02405bf6e01fa564c8517d4ad5823493abd31de,\n );\n\n let address = AztecAddress::compute(public_keys, partial_address);\n\n // The following value was generated by `derivation.test.ts`.\n // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data.\n let expected_computed_address_from_partial_and_pubkeys =\n 0x24e4646f58b9fbe7d38e317db8d5636c423fbbdfbe119fc190fe9c64747e0c62;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkeys);\n}\n\n#[test]\nfn compute_preaddress_from_partial_and_pub_keys() {\n let pre_address = poseidon2_hash_with_separator([1, 2], GENERATOR_INDEX__CONTRACT_ADDRESS_V1);\n let expected_computed_preaddress_from_partial_and_pubkey =\n 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\n assert(pre_address == expected_computed_preaddress_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n"
5872
5765
  },
5873
- "229": {
5766
+ "220": {
5874
5767
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr",
5875
- "source": "use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector,\n log_hash::{LogHash, ScopedEncryptedLogHash, ScopedLogHash},\n note_hash::ScopedNoteHash,\n nullifier::ScopedNullifier,\n },\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n },\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc,\n};\nuse super::utils::field::field_from_bytes;\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(\n function_leaf,\n function_leaf_index,\n function_leaf_sibling_path,\n )\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [tx_hash, note_index_in_tx as Field],\n GENERATOR_INDEX__NOTE_HASH_NONCE,\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), unique_note_hash],\n GENERATOR_INDEX__SILOED_NOTE_HASH,\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), nullifier],\n GENERATOR_INDEX__OUTER_NULLIFIER,\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256(\n [log_hash.contract_address.to_field(), log_hash.log_hash.value],\n )\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0,\n ))\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs =\n [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes: [u8; 32] = inputs[i].to_be_bytes();\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage())\n}\n\npub fn silo_l2_to_l1_message(\n msg: ScopedL2ToL1Message,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id,\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes: [u8; 32] = input[offset].to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\npub fn compute_tx_logs_hash<let N: u32>(logs: [LogHash; N]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; N * 32];\n for offset in 0..N {\n // TODO: This is not checking that the decomposition is smaller than P\n let input_as_bytes: [u8; 32] = logs[offset].value.to_be_radix(256);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn verification_key_hash<let N: u32>(key: [Field; N]) -> Field {\n crate::hash::poseidon2_hash(key)\n}\n\n#[inline_always]\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(inputs: [Field; N], separator: T) -> Field\nwhere\n T: ToField,\n{\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn poseidon2_hash_with_separator_slice<T>(inputs: [Field], separator: T) -> Field\nwhere\n T: ToField,\n{\n let in_len = inputs.len() + 1;\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\n#[no_predicates]\npub fn poseidon2_hash_bytes<let N: u32>(inputs: [u8; N]) -> Field {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of Math.ceil(N/31)\n let mut in_len = N / 31;\n let mut has_padding = false;\n if N % 31 != 0 {\n in_len += 1;\n has_padding = true;\n }\n\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n\n let mut current_field = [0; 31];\n for i in 0..inputs.len() {\n let index = i % 31;\n current_field[index] = inputs[i];\n if index == 30 {\n sponge.absorb(field_from_bytes(current_field, false));\n current_field = [0; 31];\n }\n }\n if has_padding {\n sponge.absorb(field_from_bytes(current_field, false));\n }\n\n sponge.squeeze()\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,\n 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,\n 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,\n 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result =\n compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(\n AztecAddress::from_field(1),\n EthAddress::from_field(3),\n 5,\n 2,\n 4,\n );\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3),\n },\n version,\n chainId,\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"
5768
+ "source": "use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector,\n log_hash::{LogHash, ScopedLogHash},\n note_hash::ScopedNoteHash,\n nullifier::ScopedNullifier,\n private_log::{PrivateLog, PrivateLogData},\n side_effect::scoped::Scoped,\n },\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n },\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc,\n};\nuse super::utils::field::field_from_bytes;\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(\n function_leaf,\n function_leaf_index,\n function_leaf_sibling_path,\n )\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [tx_hash, note_index_in_tx as Field],\n GENERATOR_INDEX__NOTE_HASH_NONCE,\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), unique_note_hash],\n GENERATOR_INDEX__SILOED_NOTE_HASH,\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [app.to_field(), nullifier],\n GENERATOR_INDEX__OUTER_NULLIFIER,\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_private_log_field(contract_address: AztecAddress, field: Field) -> Field {\n poseidon2_hash([contract_address.to_field(), field])\n}\n\npub fn silo_private_log(private_log: Scoped<PrivateLogData>) -> PrivateLog {\n if private_log.contract_address.is_zero() {\n private_log.inner.log\n } else {\n let mut fields = private_log.inner.log.fields;\n fields[0] = compute_siloed_private_log_field(private_log.contract_address, fields[0]);\n PrivateLog { fields }\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs =\n [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes: [u8; 32] = inputs[i].to_be_bytes();\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage())\n}\n\npub fn silo_l2_to_l1_message(\n msg: ScopedL2ToL1Message,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id,\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes: [u8; 32] = input[offset].to_be_bytes();\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\npub fn compute_tx_logs_hash<let N: u32>(logs: [LogHash; N]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; N * 32];\n for offset in 0..N {\n // TODO: This is not checking that the decomposition is smaller than P\n let input_as_bytes: [u8; 32] = logs[offset].value.to_be_radix(256);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn verification_key_hash<let N: u32>(key: [Field; N]) -> Field {\n crate::hash::poseidon2_hash(key)\n}\n\n#[inline_always]\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(inputs: [Field; N], separator: T) -> Field\nwhere\n T: ToField,\n{\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn poseidon2_hash_with_separator_slice<T>(inputs: [Field], separator: T) -> Field\nwhere\n T: ToField,\n{\n let in_len = inputs.len() + 1;\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\n#[no_predicates]\npub fn poseidon2_hash_bytes<let N: u32>(inputs: [u8; N]) -> Field {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of Math.ceil(N/31)\n let mut in_len = N / 31;\n let mut has_padding = false;\n if N % 31 != 0 {\n in_len += 1;\n has_padding = true;\n }\n\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n\n let mut current_field = [0; 31];\n for i in 0..inputs.len() {\n let index = i % 31;\n current_field[index] = inputs[i];\n if index == 30 {\n sponge.absorb(field_from_bytes(current_field, false));\n current_field = [0; 31];\n }\n }\n if has_padding {\n sponge.absorb(field_from_bytes(current_field, false));\n }\n\n sponge.squeeze()\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,\n 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,\n 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,\n 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result =\n compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(\n AztecAddress::from_field(1),\n EthAddress::from_field(3),\n 5,\n 2,\n 4,\n );\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3),\n },\n version,\n chainId,\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"
5876
5769
  },
5877
- "267": {
5770
+ "258": {
5878
5771
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr",
5879
5772
  "source": "use crate::{point::Point, traits::{Deserialize, Empty, Serialize}};\npub use crate::constants::KEY_VALIDATION_REQUEST_LENGTH;\n\npub struct KeyValidationRequest {\n pub pk_m: Point,\n pub sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m)) & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest { pk_m: Point::empty(), sk_app: 0 }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [self.pk_m.x, self.pk_m.y, self.pk_m.is_infinite as Field, self.sk_app]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x: fields[0], y: fields[1], is_infinite: fields[2] as bool },\n sk_app: fields[3],\n }\n }\n}\n"
5880
5773
  },
5881
- "295": {
5774
+ "290": {
5882
5775
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/indexed_tagging_secret.nr",
5883
5776
  "source": "use crate::traits::{Deserialize, Serialize};\nuse super::{address::aztec_address::AztecAddress, hash::poseidon2_hash};\nuse std::meta::derive;\n\npub global INDEXED_TAGGING_SECRET_LENGTH: u32 = 2;\n\n#[derive(Serialize, Deserialize)]\npub struct IndexedTaggingSecret {\n secret: Field,\n index: u32,\n}\n\nimpl IndexedTaggingSecret {\n pub fn compute_tag(self, recipient: AztecAddress) -> Field {\n poseidon2_hash([self.secret, recipient.to_field(), self.index as Field])\n }\n}\n"
5884
5777
  },
5885
- "313": {
5778
+ "308": {
5886
5779
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr",
5887
5780
  "source": "pub struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<let K: u32>(&mut self) -> [Field; K] {\n let mut result = [0; K];\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array());\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(\n &mut self,\n deserialise: fn([Field; K]) -> T,\n mut result: [T; C],\n ) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"
5888
5781
  },
5889
- "315": {
5782
+ "310": {
5890
5783
  "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr",
5891
5784
  "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\npub mod arrays;\npub mod field;\npub mod reader;\npub mod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate {\n lhs\n } else {\n rhs\n }\n}\n\npub fn arr_copy_slice<T, let N: u32, let M: u32>(\n src: [T; N],\n mut dst: [T; M],\n offset: u32,\n) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"
5892
5785
  },
5893
- "322": {
5786
+ "317": {
5894
5787
  "path": "/root/nargo/github.com/noir-lang/ecv0.1.2/src/lib.nr",
5895
5788
  "source": "// Elliptic curve implementation\n// Overview\n// ========\n// The following three elliptic curve representations are admissible:\npub mod tecurve; // Twisted Edwards curves\npub mod swcurve; // Elliptic curves in Short Weierstrass form\npub mod montcurve; // Montgomery curves\npub mod consts; // Commonly used curve presets\n//\n// Note that Twisted Edwards and Montgomery curves are (birationally) equivalent, so that\n// they may be freely converted between one another, whereas Short Weierstrass curves are\n// more general. Diagramatically:\n//\n// tecurve == montcurve `subset` swcurve\n//\n// Each module is further divided into two submodules, 'affine' and 'curvegroup', depending\n// on the preferred coordinate representation. Affine coordinates are none other than the usual\n// two-dimensional Cartesian coordinates used in the definitions of these curves, whereas\n// 'CurveGroup' coordinates (terminology borrowed from Arkworks, whose conventions we try\n// to follow) are special coordinate systems with respect to which the group operations may be\n// implemented more efficiently, usually by means of an appropriate choice of projective coordinates.\n//\n// In each of these submodules, there is a Point struct and a Curve struct, the former\n// representing a point in the coordinate system and the latter a curve configuration.\n//\n// Points\n// ======\n// Points may be instantiated using the associated function `new`, which takes coordinates\n// as its arguments. For instance,\n//\n// `let p = swcurve::Point::new(1,1);`\n//\n// The additive identity may be constructed by a call to the associated function `zero` of no\n// arguments:\n//\n// `let zero = swcurve::Point::zero();`\n//\n// Points may be tested for equality by calling the method `eq`:\n//\n// `let pred = p.eq(zero);`\n//\n// There is also the method `is_zero` to explicitly check whether a point is the additive identity:\n//\n// `constrain pred == p.is_zero();`\n//\n// Points may be negated by calling the `negate` method and converted to CurveGroup (or affine)\n// coordinates by calling the `into_group` (resp. `into_affine`) method on them. Finally,\n// Points may be freely mapped between their respective Twisted Edwards and Montgomery\n// representations by calling the `into_montcurve` or `into_tecurve` methods. For mappings\n// between Twisted Edwards/Montgomery curves and Short Weierstrass curves, see the Curve section\n// below, as the underlying mappings are those of curves rather than ambient spaces.\n// As a rule, Points in affine (or CurveGroup) coordinates are mapped to Points in affine\n// (resp. CurveGroup) coordinates.\n//\n// Curves\n// ======\n// A curve configuration (Curve) is completely determined by the Field coefficients of its defining\n// equation (a and b in the case of swcurve, a and d in the case of tecurve, and j and k in\n// the case of montcurve) together with a generator (`gen`) in the corresponding coordinate system.\n// For example, the Baby Jubjub curve configuration as defined in ERC-2494 may be instantiated as a Twisted\n// Edwards curve in affine coordinates as follows:\n//\n// `let bjj_affine = tecurve::Curve::new(168700, 168696, tecurve::Point::new(995203441582195749578291179787384436505546430278305826713579947235728471134,5472060717959818805561601436314318772137091100104008585924551046643952123905));`\n//\n// The `contains` method may be used to check whether a Point lies on a given curve:\n//\n// `constrain bjj_affine.contains(tecurve::Point::zero());`\n//\n// The elliptic curve group's addition operation is exposed as the `add` method, e.g.\n//\n// `let p = bjj_affine.add(bjj_affine.gen, bjj_affine.gen);`\n//\n// subtraction as the `subtract` method, e.g.\n//\n// `constrain tecurve::Point::zero().eq(bjj_affine.subtract(bjj_affine.gen, bjj_affine.gen));`\n//\n// scalar multiplication as the `mul` method, where the scalar is assumed to be a Field* element, e.g.\n//\n// `constrain tecurve::Point::zero().eq(bjj_affine.mul(2, tecurve::Point::zero());`\n//\n// There is a scalar multiplication method (`bit_mul`) provided where the scalar input is expected to be\n// an array of bits (little-endian convention), as well as a multi-scalar multiplication method** (`msm`)\n// which takes an array of Field elements and an array of elliptic curve points as arguments, both assumed\n// to be of the same length.\n//\n// Curve configurations may be converted between different coordinate representations by calling the `into_group`\n// and `into_affine` methods on them, e.g.\n//\n// `let bjj_curvegroup = bjj_affine.into_group();`\n//\n// Curve configurations may also be converted between different curve representations by calling the `into_swcurve`,\n// `into_montcurve` and `into_tecurve` methods subject to the relation between the curve representations mentioned\n// above. Note that it is possible to map Points from a Twisted Edwards/Montgomery curve to the corresponding\n// Short Weierstrass representation and back, and the methods to do so are exposed as `map_into_swcurve` and\n// `map_from_swcurve`, which each take one argument, the point to be mapped.\n//\n// Curve maps\n// ==========\n// There are a few different ways of mapping Field elements to elliptic curves. Here we provide the simplified\n// Shallue-van de Woestijne-Ulas and Elligator 2 methods, the former being applicable to all curve types\n// provided above subject to the constraint that the coefficients of the corresponding Short Weierstrass curve satisfies\n// a*b != 0 and the latter being applicable to Montgomery and Twisted Edwards curves subject to the constraint that\n// the coefficients of the corresponding Montgomery curve satisfy j*k != 0 and (j^2 - 4)/k^2 is non-square.\n//\n// The simplified Shallue-van de Woestijne-Ulas method is exposed as the method `swu_map` on the Curve configuration and\n// depends on two parameters, a Field element z != -1 for which g(x) - z is irreducible over Field and g(b/(z*a)) is\n// square, where g(x) = x^3 + a*x + b is the right-hand side of the defining equation of the corresponding Short\n// Weierstrass curve, and a Field element u to be mapped onto the curve. For example, in the case of bjj_affine above,\n// it may be determined using the scripts provided at <https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve> that z = 5.\n//\n// The Elligator 2 method is exposed as the method `elligator2_map` on the Curve configurations of Montgomery and\n// Twisted Edwards curves. Like the simplified SWU method above, it depends on a certain non-square element of Field,\n// but this element need not satisfy any further conditions, so it is included as the (Field-dependent) constant\n//`ZETA` below. Thus, the `elligator2_map` method depends only on one parameter, the Field element to be mapped onto\n// the curve.\n//\n// For details on all of the above in the context of hashing to elliptic curves, see <https://datatracker.ietf.org/doc/id/draft-irtf-cfrg-hash-to-curve-06.html>.\n//\n//\n// *TODO: Replace Field with Bigint.\n// **TODO: Support arrays of structs to make this work.\n// Field-dependent constant ZETA = a non-square element of Field\n// Required for Elligator 2 map\n// TODO: Replace with built-in constant.\nglobal ZETA: Field = 5;\n// Field-dependent constants for Tonelli-Shanks algorithm (see sqrt function below)\n// TODO: Possibly make this built-in.\nglobal C1: u32 = 28;\nglobal C3: Field = 40770029410420498293352137776570907027550720424234931066070132305055;\nglobal C5: Field = 19103219067921713944291392827692070036145651957329286315305642004821462161904;\n// Higher-order version of scalar multiplication\n// TODO: Make this work so that the submodules' bit_mul may be defined in terms of it.\n//fn bit_mul<T,N>(add: fn(T,T) -> T, e: T, bits: [u1; N], p: T) -> T {\n// let mut out = e;\n// let n = bits.len();\n//\n// for i in 0..n {\n// out = add(\n// add(out, out),\n// if(bits[n - i - 1] == 0) {e} else {p});\n// }\n//\n// out\n//}\n// TODO: Make this built-in.\npub fn safe_inverse(x: Field) -> Field {\n if x == 0 {\n 0\n } else {\n 1 / x\n }\n}\n// Boolean indicating whether Field element is a square, i.e. whether there exists a y in Field s.t. x = y*y.\npub fn is_square(x: Field) -> bool {\n let v = pow(x, 0 - 1 / 2);\n\n v * (v - 1) == 0\n}\n// Power function of two Field arguments of arbitrary size.\n// Adapted from std::field::pow_32.\npub fn pow(x: Field, y: Field) -> Field {\n let mut r = 1 as Field;\n let b: [u1; 254] = y.to_le_bits();\n\n for i in 0..254 {\n r *= r;\n r *= (b[254 - 1 - i] as Field) * x + (1 - b[254 - 1 - i] as Field);\n }\n\n r\n}\n// Tonelli-Shanks algorithm for computing the square root of a Field element.\n// Requires C1 = max{c: 2^c divides (p-1)}, where p is the order of Field\n// as well as C3 = (C2 - 1)/2, where C2 = (p-1)/(2^c1),\n// and C5 = ZETA^C2, where ZETA is a non-square element of Field.\n// These are pre-computed above as globals.\npub fn sqrt(x: Field) -> Field {\n let mut z = pow(x, C3);\n let mut t = z * z * x;\n z *= x;\n let mut b = t;\n let mut c = C5;\n\n for i in 0..(C1 - 1) {\n for _j in 1..(C1 - i - 1) {\n b *= b;\n }\n\n z *= if b == 1 { 1 } else { c };\n\n c *= c;\n\n t *= if b == 1 { 1 } else { c };\n\n b = t;\n }\n\n z\n}\n\nmod tests {\n use crate::montcurve::affine::Point as MGaffine;\n use crate::montcurve::curvegroup::Point as MG;\n use crate::swcurve::affine::Point as SWGaffine;\n use crate::swcurve::curvegroup::Point as SWG;\n use crate::tecurve::affine::Curve as AffineCurve;\n use crate::tecurve::affine::Point as Gaffine;\n use crate::tecurve::curvegroup::Point as G;\n\n #[test]\n fn smoke_test() {\n // Tests may be checked against https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/tree/main/poc\n // Define Baby Jubjub (ERC-2494) parameters in affine representation\n let bjj_affine = AffineCurve::new(\n 168700,\n 168696,\n Gaffine::new(\n 995203441582195749578291179787384436505546430278305826713579947235728471134,\n 5472060717959818805561601436314318772137091100104008585924551046643952123905,\n ),\n );\n // Test addition\n let p1_affine = Gaffine::new(\n 17777552123799933955779906779655732241715742912184938656739573121738514868268,\n 2626589144620713026669568689430873010625803728049924121243784502389097019475,\n );\n let p2_affine = Gaffine::new(\n 16540640123574156134436876038791482806971768689494387082833631921987005038935,\n 20819045374670962167435360035096875258406992893633759881276124905556507972311,\n );\n\n let p3_affine = bjj_affine.add(p1_affine, p2_affine);\n assert(p3_affine.eq(Gaffine::new(\n 7916061937171219682591368294088513039687205273691143098332585753343424131937,\n 14035240266687799601661095864649209771790948434046947201833777492504781204499,\n )));\n // Test scalar multiplication\n let p4_affine = bjj_affine.mul(2, p1_affine);\n assert(p4_affine.eq(Gaffine::new(\n 6890855772600357754907169075114257697580319025794532037257385534741338397365,\n 4338620300185947561074059802482547481416142213883829469920100239455078257889,\n )));\n assert(p4_affine.eq(bjj_affine.bit_mul([0, 1], p1_affine)));\n // Test subtraction\n let p5_affine = bjj_affine.subtract(p3_affine, p3_affine);\n assert(p5_affine.eq(Gaffine::zero()));\n // Check that these points are on the curve\n assert(\n bjj_affine.contains(bjj_affine.gen)\n & bjj_affine.contains(p1_affine)\n & bjj_affine.contains(p2_affine)\n & bjj_affine.contains(p3_affine)\n & bjj_affine.contains(p4_affine)\n & bjj_affine.contains(p5_affine),\n );\n // Test CurveGroup equivalents\n let bjj = bjj_affine.into_group(); // Baby Jubjub\n let p1 = p1_affine.into_group();\n let p2 = p2_affine.into_group();\n let p3 = p3_affine.into_group();\n let p4 = p4_affine.into_group();\n let p5 = p5_affine.into_group();\n // Test addition\n assert(p3.eq(bjj.add(p1, p2)));\n // Test scalar multiplication\n assert(p4.eq(bjj.mul(2, p1)));\n assert(p4.eq(bjj.bit_mul([0, 1], p1)));\n // Test subtraction\n assert(G::zero().eq(bjj.subtract(p3, p3)));\n assert(p5.eq(G::zero()));\n // Check that these points are on the curve\n assert(\n bjj.contains(bjj.gen)\n & bjj.contains(p1)\n & bjj.contains(p2)\n & bjj.contains(p3)\n & bjj.contains(p4)\n & bjj.contains(p5),\n );\n // Test SWCurve equivalents of the above\n // First the affine representation\n let bjj_swcurve_affine = bjj_affine.into_swcurve();\n\n let p1_swcurve_affine = bjj_affine.map_into_swcurve(p1_affine);\n let p2_swcurve_affine = bjj_affine.map_into_swcurve(p2_affine);\n let p3_swcurve_affine = bjj_affine.map_into_swcurve(p3_affine);\n let p4_swcurve_affine = bjj_affine.map_into_swcurve(p4_affine);\n let p5_swcurve_affine = bjj_affine.map_into_swcurve(p5_affine);\n // Addition\n assert(p3_swcurve_affine.eq(bjj_swcurve_affine.add(p1_swcurve_affine, p2_swcurve_affine)));\n // Doubling\n assert(p4_swcurve_affine.eq(bjj_swcurve_affine.mul(2, p1_swcurve_affine)));\n assert(p4_swcurve_affine.eq(bjj_swcurve_affine.bit_mul([0, 1], p1_swcurve_affine)));\n // Subtraction\n assert(SWGaffine::zero().eq(bjj_swcurve_affine.subtract(\n p3_swcurve_affine,\n p3_swcurve_affine,\n )));\n assert(p5_swcurve_affine.eq(SWGaffine::zero()));\n // Check that these points are on the curve\n assert(\n bjj_swcurve_affine.contains(bjj_swcurve_affine.gen)\n & bjj_swcurve_affine.contains(p1_swcurve_affine)\n & bjj_swcurve_affine.contains(p2_swcurve_affine)\n & bjj_swcurve_affine.contains(p3_swcurve_affine)\n & bjj_swcurve_affine.contains(p4_swcurve_affine)\n & bjj_swcurve_affine.contains(p5_swcurve_affine),\n );\n // Then the CurveGroup representation\n let bjj_swcurve = bjj.into_swcurve();\n\n let p1_swcurve = bjj.map_into_swcurve(p1);\n let p2_swcurve = bjj.map_into_swcurve(p2);\n let p3_swcurve = bjj.map_into_swcurve(p3);\n let p4_swcurve = bjj.map_into_swcurve(p4);\n let p5_swcurve = bjj.map_into_swcurve(p5);\n // Addition\n assert(p3_swcurve.eq(bjj_swcurve.add(p1_swcurve, p2_swcurve)));\n // Doubling\n assert(p4_swcurve.eq(bjj_swcurve.mul(2, p1_swcurve)));\n assert(p4_swcurve.eq(bjj_swcurve.bit_mul([0, 1], p1_swcurve)));\n // Subtraction\n assert(SWG::zero().eq(bjj_swcurve.subtract(p3_swcurve, p3_swcurve)));\n assert(p5_swcurve.eq(SWG::zero()));\n // Check that these points are on the curve\n assert(\n bjj_swcurve.contains(bjj_swcurve.gen)\n & bjj_swcurve.contains(p1_swcurve)\n & bjj_swcurve.contains(p2_swcurve)\n & bjj_swcurve.contains(p3_swcurve)\n & bjj_swcurve.contains(p4_swcurve)\n & bjj_swcurve.contains(p5_swcurve),\n );\n // Test MontCurve conversions\n // First the affine representation\n let bjj_montcurve_affine = bjj_affine.into_montcurve();\n\n let p1_montcurve_affine = p1_affine.into_montcurve();\n let p2_montcurve_affine = p2_affine.into_montcurve();\n let p3_montcurve_affine = p3_affine.into_montcurve();\n let p4_montcurve_affine = p4_affine.into_montcurve();\n let p5_montcurve_affine = p5_affine.into_montcurve();\n // Addition\n assert(p3_montcurve_affine.eq(bjj_montcurve_affine.add(\n p1_montcurve_affine,\n p2_montcurve_affine,\n )));\n // Doubling\n assert(p4_montcurve_affine.eq(bjj_montcurve_affine.mul(2, p1_montcurve_affine)));\n assert(p4_montcurve_affine.eq(bjj_montcurve_affine.bit_mul([0, 1], p1_montcurve_affine)));\n // Subtraction\n assert(MGaffine::zero().eq(bjj_montcurve_affine.subtract(\n p3_montcurve_affine,\n p3_montcurve_affine,\n )));\n assert(p5_montcurve_affine.eq(MGaffine::zero()));\n // Check that these points are on the curve\n assert(\n bjj_montcurve_affine.contains(bjj_montcurve_affine.gen)\n & bjj_montcurve_affine.contains(p1_montcurve_affine)\n & bjj_montcurve_affine.contains(p2_montcurve_affine)\n & bjj_montcurve_affine.contains(p3_montcurve_affine)\n & bjj_montcurve_affine.contains(p4_montcurve_affine)\n & bjj_montcurve_affine.contains(p5_montcurve_affine),\n );\n // Then the CurveGroup representation\n let bjj_montcurve = bjj.into_montcurve();\n\n let p1_montcurve = p1_montcurve_affine.into_group();\n let p2_montcurve = p2_montcurve_affine.into_group();\n let p3_montcurve = p3_montcurve_affine.into_group();\n let p4_montcurve = p4_montcurve_affine.into_group();\n let p5_montcurve = p5_montcurve_affine.into_group();\n // Addition\n assert(p3_montcurve.eq(bjj_montcurve.add(p1_montcurve, p2_montcurve)));\n // Doubling\n assert(p4_montcurve.eq(bjj_montcurve.mul(2, p1_montcurve)));\n assert(p4_montcurve.eq(bjj_montcurve.bit_mul([0, 1], p1_montcurve)));\n // Subtraction\n assert(MG::zero().eq(bjj_montcurve.subtract(p3_montcurve, p3_montcurve)));\n assert(p5_montcurve.eq(MG::zero()));\n // Check that these points are on the curve\n assert(\n bjj_montcurve.contains(bjj_montcurve.gen)\n & bjj_montcurve.contains(p1_montcurve)\n & bjj_montcurve.contains(p2_montcurve)\n & bjj_montcurve.contains(p3_montcurve)\n & bjj_montcurve.contains(p4_montcurve)\n & bjj_montcurve.contains(p5_montcurve),\n );\n // Elligator 2 map-to-curve\n let ell2_pt_map = bjj_affine.elligator2_map(27);\n\n assert(ell2_pt_map.eq(MGaffine::new(\n 7972459279704486422145701269802978968072470631857513331988813812334797879121,\n 8142420778878030219043334189293412482212146646099536952861607542822144507872,\n )\n .into_tecurve()));\n // SWU map-to-curve\n let swu_pt_map = bjj_affine.swu_map(5, 27);\n\n assert(swu_pt_map.eq(bjj_affine.map_from_swcurve(SWGaffine::new(\n 2162719247815120009132293839392097468339661471129795280520343931405114293888,\n 5341392251743377373758788728206293080122949448990104760111875914082289313973,\n ))));\n }\n\n}\n"
5896
5789
  },
5897
- "388": {
5790
+ "334": {
5791
+ "path": "/usr/src/noir-projects/aztec-nr/authwit/src/account.nr",
5792
+ "source": "use dep::aztec::{\n context::PrivateContext,\n hash::poseidon2_hash_with_separator,\n protocol_types::constants::{GENERATOR_INDEX__COMBINED_PAYLOAD, GENERATOR_INDEX__TX_NULLIFIER},\n};\n\nuse crate::auth::{compute_authwit_message_hash, IS_VALID_SELECTOR};\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\n\npub struct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n *\n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /**\n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n *\n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n *\n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let valid_fn = self.is_valid_impl;\n\n let combined_payload_hash = poseidon2_hash_with_separator(\n [app_payload.hash(), fee_payload.hash()],\n GENERATOR_INDEX__COMBINED_PAYLOAD,\n );\n assert(valid_fn(self.context, combined_payload_hash));\n\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n app_payload.execute_calls(self.context);\n if cancellable {\n let tx_nullifier =\n poseidon2_hash_with_separator([app_payload.nonce], GENERATOR_INDEX__TX_NULLIFIER);\n self.context.push_nullifier(tx_nullifier);\n }\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n *\n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n *\n * Will revert if the message is not authorized.\n *\n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can\n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash,\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"
5793
+ },
5794
+ "336": {
5795
+ "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr",
5796
+ "source": "use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize},\n};\n\nuse crate::entrypoint::function_call::FunctionCall;\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u32 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u32 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u32 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\npub struct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage()\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__SIGNATURE_PAYLOAD)\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n\n bytes.storage()\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"
5797
+ },
5798
+ "337": {
5799
+ "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr",
5800
+ "source": "use crate::entrypoint::function_call::FunctionCall;\nuse dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD,\n hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize},\n};\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: u32 = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: u32 = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS: u32 = 2;\n\n// docs:start:fee-payload-struct\npub struct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage()\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__FEE_PAYLOAD)\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n bytes.push(self.is_fee_payer as u8);\n\n bytes.storage()\n }\n\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n );\n }\n }\n }\n if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"
5801
+ },
5802
+ "340": {
5803
+ "path": "/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr",
5804
+ "source": "#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n *\n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\npub unconstrained fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"
5805
+ },
5806
+ "341": {
5807
+ "path": "/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr",
5808
+ "source": "use dep::aztec::{context::{gas::GasOpts, PrivateContext, PublicContext}, hash::hash_args_array};\nuse dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n constants::{\n CANONICAL_AUTH_REGISTRY_ADDRESS, GENERATOR_INDEX__AUTHWIT_INNER,\n GENERATOR_INDEX__AUTHWIT_NULLIFIER, GENERATOR_INDEX__AUTHWIT_OUTER,\n },\n hash::poseidon2_hash_with_separator,\n};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties\n * (e.g. protocols or other users) to execute an action on their behalf.\n *\n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing some kind of secret, or having some kind of \"token\" that allows the message.\n *\n * The `message_hash` is a hash of the following structure:\n * hash(consumer, chain_id, version, inner_hash)\n * - consumer: the address of the contract that is \"consuming\" the message,\n * - chain_id: the chain id of the chain that the message is being consumed on,\n * - version: the version of the chain that the message is being consumed on,\n * - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n *\n * While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be\n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few\n * helper functions to deal with such messages.\n *\n * For example, we provide helper function that is used for checking that the message is an encoding of the current call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can\n * show that it is acting on behalf of the contract.\n *\n * If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be\n * derived as:\n * inner_hash = hash(caller, \"transfer\", hash(to, amount))\n *\n * Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and `amount`\n * the arguments for the transfer.\n *\n * Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is\n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * to store the messages that we have approved.\n *\n * A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline\n * how this would look in private, and then in public later.\n *\n * Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX).\n * `Alice` would make a `deposit` transaction, that she is executing using her account contract.\n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token`\n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to\n * convince the `Token` contract that it is allowed to do so.\n *\n * This is where the authentication witness comes in The `Token` contract computes a `message_hash` from the\n * `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to\n * execute that call.\n *\n * `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her\n * account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `Alice`.\n *\n * To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n * authentication witness, and emit it from the `Token` contract (consumer).\n *\n * Note that we can do this flow as we are in private were we can do oracle calls out from contracts.\n *\n *\n * Person Contract Contract Contract\n * Alice Alice Account Token DeFi\n * | | | |\n * | Defi.deposit(Token, 1000) | |\n * |----------------->| | |\n * | | deposit(Token, 1000) |\n * | |---------------------------------------->|\n * | | | |\n * | | | transfer(Alice, Defi, 1000)\n * | | |<---------------------|\n * | | | |\n * | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | |<-----------------| |\n * | | | |\n * | Please give me AuthWit for DeFi | |\n * | calling transfer(Alice, Defi, 1000) | |\n * |<-----------------| | |\n * | | | |\n * | | | |\n * | AuthWit for transfer(Alice, Defi, 1000) |\n * |----------------->| | |\n * | | AuthWit validity | |\n * | |----------------->| |\n * | | | |\n * | | throw if invalid AuthWit |\n * | | | |\n * | | emit AuthWit nullifier |\n * | | | |\n * | | transfer(Alice, Defi, 1000) |\n * | | | |\n * | | | |\n * | | | success |\n * | | |--------------------->|\n * | | | |\n * | | | |\n * | | | deposit(Token, 1000)\n * | | | |\n * | | | |\n *\n *\n * If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store\n * the messages that we have approved.\n *\n * To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its own map in the registry, so `Alice` cannot approve a message for `Bob`.\n *\n * The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, see `main.nr` in `auth_registry_contract`.\n *\n * Person Contract Contract Contract Contract\n * Alice Alice Account Registry Token DeFi\n * | | | | |\n * | Registry.set_authorized(..., true) | | |\n * |----------------->| | | |\n * | | set_authorized(..., true) | |\n * | |------------------->| | |\n * | | | | |\n * | | set authorized to true | |\n * | | | | |\n * | | | | |\n * | Defi.deposit(Token, 1000) | | |\n * |----------------->| | | |\n * | | deposit(Token, 1000) | |\n * | |-------------------------------------------------------------->|\n * | | | | |\n * | | | transfer(Alice, Defi, 1000) |\n * | | | |<---------------------|\n * | | | | |\n * | | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | | |<------------------| |\n * | | | | |\n * | | throw if invalid AuthWit | |\n * | | | | |\n * | | | | |\n * | | set authorized to false | |\n * | | | | |\n * | | | | |\n * | | | AuthWit validity | |\n * | | |------------------>| |\n * | | | | |\n * | | | | transfer(Alice, Defi, 1000)\n * | | | |<-------------------->|\n * | | | | |\n * | | | | success |\n * | | | |--------------------->|\n * | | | | |\n * | | | | deposit(Token, 1000)\n * | | | | |\n *\n *\n * --- FAQ ---\n * Q: Why are we using a success flag of `poseidon2_hash_bytes(\"IS_VALID()\")` instead of just returning a boolean?\n * A: We want to make sure that we don't accidentally return `true` if there is a collision in the function selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a collision and we return\n * a success flag.\n *\n * Q: Why are we using static calls?\n * A: We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n * could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n *\n * Q: Would it not be cheaper to use a nullifier instead of updating state in public?\n * A: At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would be\n * cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the\n * consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff is posted to DA), and now it is cheaper.\n *\n * Q: Why is the chain id and the version part of the message hash?\n * A: The chain id and the version is part of the message hash to ensure that the message is only valid on a specific\n * chain to avoid a case where the same message could be used across multiple chains.\n */\n\nglobal IS_VALID_SELECTOR: Field = 0x47dacd73; // 4 last bytes of poseidon2_hash_bytes(\"IS_VALID()\")\n\n/**\n * Assert that `on_behalf_of` has authorized the current call with a valid authentication witness\n *\n * Compute the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then make a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * @param on_behalf_of The address that has allegedly authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([\n context.msg_sender().to_field(),\n context.selector().to_field(),\n context.args_hash,\n ]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\n\n/**\n * Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n *\n * Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n * the `inner_hash` is from a different source, e.g., say a block of text etc.\n *\n * @param on_behalf_of The address that has allegedly authorized the current call\n * @param inner_hash The hash of the message to authorize\n */\npub fn assert_inner_hash_valid_authwit(\n context: &mut PrivateContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field,\n) {\n // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n let result: Field = context\n .static_call_private_function(\n on_behalf_of,\n comptime { FunctionSelector::from_signature(\"verify_private_authwit(Field)\") },\n [inner_hash],\n )\n .unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version.\n // Those should already be handled in the verification, so we just need something to nullify, that allows the same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/**\n * Assert that `on_behalf_of` has authorized the current call in the authentication registry\n *\n * Compute the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then make a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that has allegedly authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub unconstrained fn assert_current_call_valid_authwit_public(\n context: &mut PublicContext,\n on_behalf_of: AztecAddress,\n) {\n let inner_hash = compute_inner_authwit_hash([\n (*context).msg_sender().to_field(),\n (*context).selector().to_field(),\n (*context).get_args_hash(),\n ]);\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/**\n * Assert that `on_behalf_of` has authorized a specific `inner_hash` in the authentication registry\n *\n * Compute the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then make a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that has allegedly authorized the `inner_hash`\n */\npub unconstrained fn assert_inner_hash_valid_authwit_public(\n context: &mut PublicContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field,\n) {\n let results: [Field] = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime { FunctionSelector::from_signature(\"consume((Field),Field)\") },\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default(),\n );\n assert(results.len() == 1, \"Invalid response from registry\");\n assert(results[0] == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/**\n * Compute the `message_hash` from a function call to be used by an authentication witness\n *\n * Useful for when you need a non-account contract to approve during execution. For example if you need a contract\n * to make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow\n * B to transfer T on its behalf.\n *\n * @param caller The address of the contract that is calling the function, in the example above, this would be B\n * @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N],\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash =\n compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_authwit_message_hash_from_call\n\n/**\n * Computes the `inner_hash` of the authentication witness\n *\n * This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n * that is not necessarily a call, but just some \"bytes\" or text.\n *\n * @param args The arguments to hash\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/**\n * Computes the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n *\n * Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n *\n * @param on_behalf_of The address that has authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [on_behalf_of.to_field(), inner_hash],\n GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n )\n}\n\n/**\n * Computes the `message_hash` for the authentication witness\n *\n * @param consumer The address of the contract that is consuming the message\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param inner_hash The hash of the \"inner\" message that is being consumed\n */\npub fn compute_authwit_message_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [consumer.to_field(), chain_id, version, inner_hash],\n GENERATOR_INDEX__AUTHWIT_OUTER,\n )\n}\n\n/**\n * Helper function to set the authorization status of a message hash\n *\n * Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n *\n * @param message_hash The hash of the message to authorize\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub unconstrained fn set_authorized(\n context: &mut PublicContext,\n message_hash: Field,\n authorize: bool,\n) {\n let res = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime { FunctionSelector::from_signature(\"set_authorized(Field,bool)\") },\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default(),\n );\n assert(res.len() == 0);\n}\n\n/**\n * Helper function to reject all authwits\n *\n * Wraps a public call to the authentication registry to set the `reject_all` flag\n *\n * @param reject True if all authwits should be rejected, false otherwise\n */\npub unconstrained fn set_reject_all(context: &mut PublicContext, reject: bool) {\n let res = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime { FunctionSelector::from_signature(\"set_reject_all(bool)\") },\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default(),\n );\n assert(res.len() == 0);\n}\n"
5809
+ },
5810
+ "395": {
5898
5811
  "path": "/usr/src/noir-projects/noir-contracts/contracts/ecdsa_public_key_note/src/lib.nr",
5899
5812
  "source": "use dep::aztec::prelude::{NoteHeader, NoteInterface, NullifiableNote, PrivateContext};\n\nuse dep::aztec::{\n note::utils::compute_note_hash_for_nullify, keys::getters::{get_nsk_app, get_public_keys},\n protocol_types::{address::AztecAddress, constants::GENERATOR_INDEX__NOTE_NULLIFIER, hash::poseidon2_hash_with_separator},\n macros::notes::note_custom_interface, generators::Ga1 as Gx_1, generators::Ga2 as Gx_2,\n generators::Ga3 as Gy_1, generators::Ga4 as Gy_2, generators::Ga5 as G_owner, generators::G_slot\n};\n\nuse std::hash::from_field_unsafe;\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: u32 = 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?\n#[note_custom_interface]\npub struct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: AztecAddress,\n}\n\nimpl NoteInterface<ECDSA_PUBLIC_KEY_NOTE_LEN> for EcdsaPublicKeyNote {\n // Cannot use the automatic serialization since x and y don't fit. Serialize 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 serialize_content(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 byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * 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 [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n // Cannot use the automatic deserialization for the aforementioned reasons\n fn deserialize_content(serialized_note: [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:[u8; 32] = serialized_note[0].to_be_bytes();\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes::<32>()[31];\n\n let part_y:[u8; 32] = serialized_note[2].to_be_bytes();\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes::<32>()[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(serialized_note[4]), header: NoteHeader::empty() }\n }\n\n fn to_be_bytes(self, storage_slot: Field) -> [u8; ECDSA_PUBLIC_KEY_NOTE_LEN * 32 + 64] {\n let serialized_note = self.serialize_content();\n\n let mut buffer: [u8; ECDSA_PUBLIC_KEY_NOTE_LEN * 32 + 64] = [0; ECDSA_PUBLIC_KEY_NOTE_LEN * 32 + 64];\n\n let storage_slot_bytes: [u8; 32] = storage_slot.to_be_bytes();\n let note_type_id_bytes: [u8; 32] = EcdsaPublicKeyNote::get_note_type_id().to_be_bytes();\n\n for i in 0..32 {\n buffer[i] = storage_slot_bytes[i];\n buffer[32 + i] = note_type_id_bytes[i];\n }\n\n for i in 0..serialized_note.len() {\n let bytes: [u8; 32] = serialized_note[i].to_be_bytes();\n for j in 0..32 {\n buffer[64 + i * 32 + j] = bytes[j];\n }\n }\n buffer\n }\n\n fn get_note_type_id() -> Field {\n comptime\n {\n let bytes = \"EcdsaPublicKeyNote\".as_bytes();\n let hash = aztec::protocol_types::hash::poseidon2_hash_bytes(bytes);\n let hash_bytes = hash.to_be_bytes::<4>();\n aztec::protocol_types::utils::field::field_from_bytes(hash_bytes, true)\n }\n }\n\n fn get_header(self) -> NoteHeader {\n self.header\n }\n\n fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n\n fn compute_note_hash(self) -> Field {\n let serialized = self.serialize_content();\n std::embedded_curve_ops::multi_scalar_mul(\n [Gx_1, Gx_2, Gy_1, Gy_2, G_owner, G_slot],\n [\n from_field_unsafe(serialized[0]),\n from_field_unsafe(serialized[1]),\n from_field_unsafe(serialized[2]),\n from_field_unsafe(serialized[3]),\n from_field_unsafe(serialized[4]),\n from_field_unsafe(self.get_header().storage_slot)\n ]\n ).x\n }\n}\n\nimpl NullifiableNote for EcdsaPublicKeyNote {\n\n fn compute_nullifier(self, context: &mut PrivateContext, note_hash_for_nullify: Field) -> Field {\n let owner_npk_m_hash = get_public_keys(self.owner).npk_m.hash();\n let secret = context.request_nsk_app(owner_npk_m_hash);\n poseidon2_hash_with_separator(\n [\n note_hash_for_nullify,\n secret\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field\n )\n }\n\n unconstrained fn compute_nullifier_without_context(self) -> Field {\n let note_hash_for_nullify = compute_note_hash_for_nullify(self);\n let owner_npk_m_hash = get_public_keys(self.owner).npk_m.hash();\n let secret = get_nsk_app(owner_npk_m_hash);\n poseidon2_hash_with_separator(\n [\n note_hash_for_nullify,\n secret\n ],\n GENERATOR_INDEX__NOTE_NULLIFIER as Field\n )\n }\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote { x, y, owner, header: NoteHeader::empty() }\n }\n}\n"
5900
5813
  },
5901
- "389": {
5814
+ "396": {
5902
5815
  "path": "/usr/src/noir-projects/noir-contracts/contracts/ecdsa_r_account_contract/src/main.nr",
5903
5816
  "source": "// Account contract that uses ECDSA signatures for authentication on random version of the p256 curve (to use with touchID).\nuse dep::aztec::macros::aztec;\n\n#[aztec]\ncontract EcdsaRAccount {\n use dep::aztec::{\n encrypted_logs::encrypted_note_emission::encode_and_encrypt_note,\n keys::getters::get_public_keys,\n macros::{functions::{initializer, noinitcheck, private, view}, storage::storage},\n };\n use dep::aztec::prelude::{PrivateContext, PrivateImmutable};\n\n use dep::authwit::{\n account::AccountActions,\n auth_witness::get_auth_witness,\n entrypoint::{app::AppPayload, fee::FeePayload},\n };\n\n use dep::ecdsa_public_key_note::EcdsaPublicKeyNote;\n\n #[storage]\n struct Storage<Context> {\n public_key: PrivateImmutable<EcdsaPublicKeyNote, Context>,\n }\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[private]\n #[initializer]\n fn constructor(signing_pub_key_x: [u8; 32], signing_pub_key_y: [u8; 32]) {\n let this = context.this_address();\n // Not emitting outgoing for msg_sender here to not have to register keys for the contract through which we\n // deploy this (typically MultiCallEntrypoint). I think it's ok here as I feel the outgoing here is not that\n // important.\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n let this_ovpk_m = get_public_keys(this).ovpk_m;\n storage.public_key.initialize(&mut pub_key_note).emit(encode_and_encrypt_note(\n &mut context,\n this_ovpk_m,\n this,\n this,\n ));\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update account_entrypoint.ts\n #[private]\n fn entrypoint(app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.entrypoint(app_payload, fee_payload, cancellable);\n }\n\n #[private]\n #[noinitcheck]\n #[view]\n fn verify_private_authwit(inner_hash: Field) -> Field {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.verify_private_authwit(inner_hash)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool {\n // Load public key from storage\n let storage = Storage::init(context);\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = unsafe { get_auth_witness(outer_hash) };\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\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 outer_hash_bytes: [u8; 32] = outer_hash.to_be_bytes();\n let hashed_message: [u8; 32] = std::hash::sha256(outer_hash_bytes);\n std::ecdsa_secp256r1::verify_signature(\n public_key.x,\n public_key.y,\n signature,\n hashed_message,\n )\n }\n}\n"
5904
5817
  }