From 1939677d1d942163f06ab0639fb2b762a4f7961c Mon Sep 17 00:00:00 2001 From: Oleksandr Zarudnyi Date: Thu, 31 Oct 2024 11:51:31 +0800 Subject: [PATCH] fix: test zksolc interface changes after unification (#117) --- Cargo.lock | 143 ++++++++-------- LLVM.lock | 2 +- README.md | 2 +- compiler_tester/src/compilers/eravm/mod.rs | 5 +- compiler_tester/src/compilers/llvm/mod.rs | 10 +- compiler_tester/src/compilers/mod.rs | 6 +- .../src/compilers/solidity/cache_key.rs | 6 +- compiler_tester/src/compilers/solidity/mod.rs | 158 +++++++++--------- .../src/compilers/solidity/mode.rs | 24 +-- .../src/compilers/solidity/upstream/mod.rs | 48 +++--- .../src/compilers/solidity/upstream/mode.rs | 24 +-- .../upstream/solc/standard_json/input/mod.rs | 2 +- .../solc/standard_json/input/settings/mod.rs | 12 +- .../input/settings/selection/file/flag.rs | 10 +- .../input/settings/selection/file/mod.rs | 6 +- .../input/settings/selection/mod.rs | 6 +- compiler_tester/src/compilers/vyper/mod.rs | 4 +- compiler_tester/src/compilers/yul/mod.rs | 34 ++-- .../src/directories/ethereum/test.rs | 4 +- .../src/directories/matter_labs/test/mod.rs | 4 +- compiler_tester/src/vm/eravm/mod.rs | 2 +- .../src/vm/eravm/system_contracts.rs | 5 +- era-contracts | 2 +- fuzzer/fuzz_targets/common.rs | 4 +- system-contracts-stable-build | Bin 979219 -> 946341 bytes 25 files changed, 271 insertions(+), 252 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b1709d34..7597d0fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -83,9 +83,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f35429a652765189c1c5092870d8360ee7b7769b09b06d89ebaefd34676446" +checksum = "8edae627382349b56cd6a7a2106f4fd69b243a9233e560c55c2e03cabb7e1d3c" dependencies = [ "alloy-rlp", "bytes", @@ -110,9 +110,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26154390b1d205a4a7ac7352aa2eb4f81f391399d4e2f546fb81a2f8bb383f62" +checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" dependencies = [ "alloy-rlp-derive", "arrayvec 0.7.6", @@ -121,13 +121,13 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" +checksum = "2b09cae092c27b6f1bde952653a22708691802e57bfef4a2973b80bea21efd3f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -302,7 +302,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -486,6 +486,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "boolinator" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfa8873f51c92e232f9bac4065cddef41b714152812bfc5f7672ba16d6ef8cd9" + [[package]] name = "bumpalo" version = "3.16.0" @@ -506,9 +512,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.2" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" [[package]] name = "c-kzg" @@ -527,9 +533,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.30" +version = "1.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945" +checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" dependencies = [ "jobserver", "libc", @@ -817,7 +823,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -837,7 +843,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", "unicode-xid", ] @@ -910,9 +916,9 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] @@ -926,7 +932,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -937,7 +943,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -949,7 +955,7 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "era-compiler-common" version = "1.5.0" -source = "git+https://github.com/matter-labs/era-compiler-common?branch=main#ce91855778bd5e1821f9b46751f92bafafd88435" +source = "git+https://github.com/matter-labs/era-compiler-common?branch=main#11cc7ed039fb96ef04d45d71c009e8dc8fffda9a" dependencies = [ "anyhow", "base58", @@ -964,8 +970,8 @@ dependencies = [ [[package]] name = "era-compiler-downloader" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-compiler-common?branch=main#ce91855778bd5e1821f9b46751f92bafafd88435" +version = "1.5.0" +source = "git+https://github.com/matter-labs/era-compiler-common?branch=main#11cc7ed039fb96ef04d45d71c009e8dc8fffda9a" dependencies = [ "anyhow", "colored", @@ -978,7 +984,7 @@ dependencies = [ [[package]] name = "era-compiler-llvm-context" version = "1.5.0" -source = "git+https://github.com/matter-labs/era-compiler-llvm-context?branch=main#23bd5c502ab9d246c44ed61802153de47a7d9dfd" +source = "git+https://github.com/matter-labs/era-compiler-llvm-context?branch=main#67bb2349e221627f15b09893e59f807094ab81ca" dependencies = [ "anyhow", "era-compiler-common", @@ -993,9 +999,10 @@ dependencies = [ [[package]] name = "era-compiler-solidity" version = "1.5.6" -source = "git+https://github.com/matter-labs/era-compiler-solidity?branch=main#12befad5d65a40166a8ffc6fd4f2008cb92a173b" +source = "git+https://github.com/matter-labs/era-compiler-solidity?branch=main#2b32d2de6039165bb91569375673fd750c8a10b0" dependencies = [ "anyhow", + "boolinator", "era-compiler-common", "era-compiler-llvm-context", "era-yul", @@ -1022,8 +1029,8 @@ dependencies = [ [[package]] name = "era-compiler-vyper" -version = "1.5.5" -source = "git+https://github.com/matter-labs/era-compiler-vyper?branch=main#be758e3a119f45e960f796f177db2de5d56c72ab" +version = "1.5.6" +source = "git+https://github.com/matter-labs/era-compiler-vyper?branch=main#90a858bc42d1a83be3fe95beb858f60c14f910cb" dependencies = [ "anyhow", "era-compiler-common", @@ -1046,7 +1053,7 @@ dependencies = [ [[package]] name = "era-yul" version = "1.5.6" -source = "git+https://github.com/matter-labs/era-compiler-solidity?branch=main#12befad5d65a40166a8ffc6fd4f2008cb92a173b" +source = "git+https://github.com/matter-labs/era-compiler-solidity?branch=main#2b32d2de6039165bb91569375673fd750c8a10b0" dependencies = [ "anyhow", "regex", @@ -1281,7 +1288,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -1644,7 +1651,7 @@ source = "git+https://github.com/matter-labs-forks/inkwell?branch=llvm-17#c50692 dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -1777,9 +1784,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.159" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libfuzzer-sys" @@ -1794,9 +1801,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libmimalloc-sys" @@ -2056,7 +2063,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -2082,9 +2089,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.67" +version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b8cefcf97f41316955f9294cd61f639bdcfa9f2f230faac6cb896aa8ab64704" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -2103,7 +2110,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -2114,9 +2121,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.3.2+3.3.2" +version = "300.4.0+3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" +checksum = "a709e02f2b4aca747929cca5ed248880847c650233cf8b8cdc48f40aaf4898a6" dependencies = [ "cc", ] @@ -2235,29 +2242,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -2357,9 +2364,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.88" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -2754,9 +2761,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "aa260229e6538e52293eeb577aabd09945a09d6d9cc0fc550ed7529056c2e32a" dependencies = [ "bitflags 2.6.0", "errno", @@ -2828,27 +2835,27 @@ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "scale-info" -version = "2.11.3" +version = "2.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +checksum = "1aa7ffc1c0ef49b0452c6e2986abf2b07743320641ffd5fc63d552458e3b779b" dependencies = [ "bitvec", "cfg-if", - "derive_more 0.99.18", + "derive_more 1.0.0", "parity-scale-codec", "scale-info-derive", ] [[package]] name = "scale-info-derive" -version = "2.11.3" +version = "2.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +checksum = "46385cc24172cf615450267463f937c10072516359b3ff1cb24228a4a08bf951" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.85", ] [[package]] @@ -3003,7 +3010,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -3282,9 +3289,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" dependencies = [ "proc-macro2", "quote", @@ -3363,7 +3370,7 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -3401,9 +3408,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.40.0" +version = "1.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" dependencies = [ "backtrace", "bytes", @@ -3500,7 +3507,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -3692,7 +3699,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", "wasm-bindgen-shared", ] @@ -3726,7 +3733,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4005,7 +4012,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -4025,7 +4032,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.85", ] [[package]] @@ -4095,7 +4102,7 @@ dependencies = [ [[package]] name = "zksync_vm2" version = "0.2.1" -source = "git+https://github.com/matter-labs/vm2#a233d44bbe61dc6a758a754c3b78fe4f83e56699" +source = "git+https://github.com/matter-labs/vm2#df5bec3d04d64d434f9b0ccb285ba4681008f7b3" dependencies = [ "enum_dispatch", "primitive-types", @@ -4107,7 +4114,7 @@ dependencies = [ [[package]] name = "zksync_vm2_interface" version = "0.2.1" -source = "git+https://github.com/matter-labs/vm2#a233d44bbe61dc6a758a754c3b78fe4f83e56699" +source = "git+https://github.com/matter-labs/vm2#df5bec3d04d64d434f9b0ccb285ba4681008f7b3" dependencies = [ "primitive-types", ] diff --git a/LLVM.lock b/LLVM.lock index 9b393bc3..15b374ab 100644 --- a/LLVM.lock +++ b/LLVM.lock @@ -1,2 +1,2 @@ url = "https://github.com/matter-labs/era-compiler-llvm" -branch = "main" +branch = "kpv-eravm-fix-linker-duplicating-symbols" diff --git a/README.md b/README.md index a802f68e..e9834f0f 100644 --- a/README.md +++ b/README.md @@ -169,7 +169,7 @@ When testing is done, these tags should be removed. - [0.4.10; latest] for compiling Solidity via EVM assembly - [0.3.3, 0.3.9] for compiling Vyper via LLL IR -### Compiler pipelines +### Compiler codegens Currently only relevant for the Solidity compiler, where you can choose the IR: diff --git a/compiler_tester/src/compilers/eravm/mod.rs b/compiler_tester/src/compilers/eravm/mod.rs index e47a77e3..b9a6d598 100644 --- a/compiler_tester/src/compilers/eravm/mod.rs +++ b/compiler_tester/src/compilers/eravm/mod.rs @@ -27,7 +27,7 @@ impl Compiler for EraVMCompiler { &self, _test_path: String, sources: Vec<(String, String)>, - _libraries: BTreeMap>, + _libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, _mode: &Mode, llvm_options: Vec, debug_config: Option, @@ -54,6 +54,7 @@ impl Compiler for EraVMCompiler { let build = project.compile_to_eravm( &mut vec![], true, + BTreeMap::new(), era_compiler_common::HashType::Ipfs, era_compiler_llvm_context::OptimizerSettings::none(), llvm_options, @@ -75,7 +76,7 @@ impl Compiler for EraVMCompiler { &self, _test_path: String, _sources: Vec<(String, String)>, - _libraries: BTreeMap>, + _libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, _mode: &Mode, _test_params: Option<&solidity_adapter::Params>, _llvm_options: Vec, diff --git a/compiler_tester/src/compilers/llvm/mod.rs b/compiler_tester/src/compilers/llvm/mod.rs index 607f6163..333cca86 100644 --- a/compiler_tester/src/compilers/llvm/mod.rs +++ b/compiler_tester/src/compilers/llvm/mod.rs @@ -4,7 +4,6 @@ pub mod mode; -use std::collections::BTreeMap; use std::collections::HashMap; use era_compiler_solidity::CollectableError; @@ -40,7 +39,7 @@ impl Compiler for LLVMCompiler { &self, _test_path: String, sources: Vec<(String, String)>, - _libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, llvm_options: Vec, debug_config: Option, @@ -53,6 +52,8 @@ impl Compiler for LLVMCompiler { .0 .clone(); + let linker_symbols = libraries.as_linker_symbols()?; + let project = era_compiler_solidity::Project::try_from_llvm_ir_sources( sources .into_iter() @@ -63,12 +64,14 @@ impl Compiler for LLVMCompiler { ) }) .collect(), + libraries, None, )?; let build = project.compile_to_eravm( &mut vec![], true, + linker_symbols, era_compiler_common::HashType::Ipfs, mode.llvm_optimizer_settings.to_owned(), llvm_options, @@ -90,7 +93,7 @@ impl Compiler for LLVMCompiler { &self, _test_path: String, sources: Vec<(String, String)>, - _libraries: BTreeMap>, + _libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, _test_params: Option<&solidity_adapter::Params>, llvm_options: Vec, @@ -114,6 +117,7 @@ impl Compiler for LLVMCompiler { ) }) .collect(), + era_compiler_solidity::SolcStandardJsonInputSettingsLibraries::default(), None, )?; diff --git a/compiler_tester/src/compilers/mod.rs b/compiler_tester/src/compilers/mod.rs index c29d7ee9..54162604 100644 --- a/compiler_tester/src/compilers/mod.rs +++ b/compiler_tester/src/compilers/mod.rs @@ -10,8 +10,6 @@ pub mod solidity; pub mod vyper; pub mod yul; -use std::collections::BTreeMap; - use crate::vm::eravm::input::Input as EraVMInput; use crate::vm::evm::input::Input as EVMInput; @@ -28,7 +26,7 @@ pub trait Compiler: Send + Sync + 'static { &self, test_path: String, sources: Vec<(String, String)>, - libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, llvm_options: Vec, debug_config: Option, @@ -41,7 +39,7 @@ pub trait Compiler: Send + Sync + 'static { &self, test_path: String, sources: Vec<(String, String)>, - libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, test_params: Option<&solidity_adapter::Params>, llvm_options: Vec, diff --git a/compiler_tester/src/compilers/solidity/cache_key.rs b/compiler_tester/src/compilers/solidity/cache_key.rs index 2bb9e654..3968f716 100644 --- a/compiler_tester/src/compilers/solidity/cache_key.rs +++ b/compiler_tester/src/compilers/solidity/cache_key.rs @@ -12,7 +12,7 @@ pub struct CacheKey { /// The Solidity compiler version. pub version: semver::Version, /// The Solidity compiler output type. - pub pipeline: era_compiler_solidity::SolcPipeline, + pub codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, /// Whether to enable the EVMLA codegen via Yul IR. pub via_ir: bool, /// Whether to run the Solidity compiler optimizer. @@ -26,14 +26,14 @@ impl CacheKey { pub fn new( test_path: String, version: semver::Version, - pipeline: era_compiler_solidity::SolcPipeline, + codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, via_ir: bool, optimize: bool, ) -> Self { Self { test_path, version, - pipeline, + codegen, via_ir, optimize, } diff --git a/compiler_tester/src/compilers/solidity/mod.rs b/compiler_tester/src/compilers/solidity/mod.rs index f2fd25a8..c534d105 100644 --- a/compiler_tester/src/compilers/solidity/mod.rs +++ b/compiler_tester/src/compilers/solidity/mod.rs @@ -7,6 +7,7 @@ pub mod mode; pub mod upstream; use std::collections::BTreeMap; +use std::collections::BTreeSet; use std::collections::HashMap; use std::path::Path; @@ -39,28 +40,26 @@ lazy_static::lazy_static! { /// All compilers must be downloaded before initialization. /// static ref MODES: Vec = { - let mut solc_pipeline_versions = Vec::new(); - for (pipeline, optimize, via_ir) in [ - (era_compiler_solidity::SolcPipeline::EVMLA, false, false), - (era_compiler_solidity::SolcPipeline::EVMLA, true, false), - (era_compiler_solidity::SolcPipeline::EVMLA, true, true), - (era_compiler_solidity::SolcPipeline::Yul, false, true), - (era_compiler_solidity::SolcPipeline::Yul, true, true), + let mut solc_codegen_versions = Vec::new(); + for (codegen, optimize, via_ir) in [ + (era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA, true, false), + (era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA, true, true), + (era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul, true, true), ] { - for version in SolidityCompiler::all_versions(pipeline, via_ir).expect("`solc` versions analysis error") { - solc_pipeline_versions.push((pipeline, optimize, via_ir, version)); + for version in SolidityCompiler::all_versions(codegen, via_ir).expect("`solc` versions analysis error") { + solc_codegen_versions.push((codegen, optimize, via_ir, version)); } } era_compiler_llvm_context::OptimizerSettings::combinations() .into_iter() - .cartesian_product(solc_pipeline_versions) + .cartesian_product(solc_codegen_versions) .map( - |(mut llvm_optimizer_settings, (pipeline, optimize, via_ir, version))| { + |(mut llvm_optimizer_settings, (codegen, optimize, via_ir, version))| { llvm_optimizer_settings.enable_fallback_to_size(); SolidityMode::new( version, - pipeline, + codegen, via_ir, optimize, llvm_optimizer_settings, @@ -102,7 +101,7 @@ impl SolidityCompiler { pub fn executable( version: &semver::Version, ) -> anyhow::Result { - era_compiler_solidity::SolcCompiler::new( + era_compiler_solidity::SolcCompiler::try_from_path( format!("{}/solc-{}", Self::DIRECTORY, version).as_str(), ) } @@ -111,16 +110,16 @@ impl SolidityCompiler { /// Returns the `solc` executable used to compile system contracts. /// pub fn system_contract_executable() -> anyhow::Result { - era_compiler_solidity::SolcCompiler::new( + era_compiler_solidity::SolcCompiler::try_from_path( format!("{}/solc-system-contracts", Self::DIRECTORY).as_str(), ) } /// - /// Returns the compiler versions downloaded for the specified compilation pipeline. + /// Returns the compiler versions downloaded for the specified compilation codegen. /// pub fn all_versions( - pipeline: era_compiler_solidity::SolcPipeline, + codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, via_ir: bool, ) -> anyhow::Result> { let mut versions = Vec::new(); @@ -150,12 +149,12 @@ impl SolidityCompiler { Ok(version) => version, Err(_) => continue, }; - if era_compiler_solidity::SolcPipeline::Yul == pipeline + if era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul == codegen && version < era_compiler_solidity::SolcCompiler::FIRST_YUL_VERSION { continue; } - if era_compiler_solidity::SolcPipeline::EVMLA == pipeline + if era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA == codegen && via_ir && version < era_compiler_solidity::SolcCompiler::FIRST_VIA_IR_VERSION { @@ -172,7 +171,7 @@ impl SolidityCompiler { /// fn standard_json_output( sources: &[(String, String)], - libraries: &BTreeMap>, + libraries: &era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &SolidityMode, ) -> anyhow::Result { let solc_compiler = if mode.is_system_contracts_mode { @@ -182,42 +181,48 @@ impl SolidityCompiler { }?; let mut output_selection = - era_compiler_solidity::SolcStandardJsonInputSettingsSelection::new_required(Some( - mode.solc_pipeline, - )); - output_selection.extend_with_eravm_assembly(); - - let optimizer = era_compiler_solidity::SolcStandardJsonInputSettingsOptimizer::new( - mode.solc_optimize, - None, - &mode.solc_version, - false, + era_compiler_solidity::SolcStandardJsonInputSettingsSelection::new_required( + mode.solc_codegen, + ); + output_selection.extend( + era_compiler_solidity::SolcStandardJsonInputSettingsSelection::new(vec![ + era_compiler_solidity::SolcStandardJsonInputSettingsSelectionFlag::EraVMAssembly, + ]), ); - let evm_version = if mode.solc_version >= semver::Version::new(0, 8, 24) - /* TODO */ - { - Some(era_compiler_common::EVMVersion::Cancun) - } else { - None - }; + let evm_version = + if mode.solc_version >= era_compiler_solidity::SolcCompiler::FIRST_CANCUN_VERSION { + Some(era_compiler_common::EVMVersion::Cancun) + } else { + None + }; + + let sources: BTreeMap = sources + .iter() + .map(|(path, source)| { + ( + path.to_owned(), + era_compiler_solidity::SolcStandardJsonInputSource::from(source.to_owned()), + ) + }) + .collect(); let mut solc_input = era_compiler_solidity::SolcStandardJsonInput::try_from_solidity_sources( + sources, + libraries.to_owned(), + BTreeSet::new(), + era_compiler_solidity::SolcStandardJsonInputSettingsOptimizer::default(), + Some(mode.solc_codegen), evm_version, - sources.iter().cloned().collect(), - libraries.clone(), - None, - output_selection, - optimizer, - None, - mode.solc_pipeline == era_compiler_solidity::SolcPipeline::EVMLA, - mode.via_ir, mode.enable_eravm_extensions, - false, + output_selection, + era_compiler_solidity::SolcStandardJsonInputSettingsMetadata::default(), vec![], - vec![era_compiler_solidity::MessageType::SendTransfer], + vec![era_compiler_solidity::ErrorType::SendTransfer], vec![], + false, + mode.via_ir, ) .map_err(|error| anyhow::anyhow!("Solidity standard JSON I/O error: {}", error))?; @@ -229,7 +234,7 @@ impl SolidityCompiler { solc_compiler.standard_json( &mut solc_input, - Some(mode.solc_pipeline), + Some(mode.solc_codegen), &mut vec![], None, vec![], @@ -244,13 +249,13 @@ impl SolidityCompiler { &self, test_path: String, sources: &[(String, String)], - libraries: &BTreeMap>, + libraries: &era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &SolidityMode, ) -> anyhow::Result { let cache_key = CacheKey::new( test_path, mode.solc_version.clone(), - mode.solc_pipeline, + mode.solc_codegen, mode.via_ir, mode.solc_optimize, ); @@ -270,14 +275,9 @@ impl SolidityCompiler { fn get_method_identifiers( solc_output: &era_compiler_solidity::SolcStandardJsonOutput, ) -> anyhow::Result>> { - let files = solc_output - .contracts - .as_ref() - .ok_or_else(|| anyhow::anyhow!("Solidity contracts not found in the output"))?; - let mut method_identifiers = BTreeMap::new(); - for (path, contracts) in files.iter() { - for (name, contract) in contracts.iter() { + for (path, file) in solc_output.contracts.iter() { + for (name, contract) in file.iter() { let mut contract_identifiers = BTreeMap::new(); for (entry, selector) in contract .evm @@ -320,28 +320,18 @@ impl SolidityCompiler { solc_output: &era_compiler_solidity::SolcStandardJsonOutput, sources: &[(String, String)], ) -> anyhow::Result { - solc_output - .sources - .as_ref() - .ok_or_else(|| { - anyhow::anyhow!( - "The Solidity sources are empty. Found errors: {:?}", - solc_output.errors - ) - }) - .and_then(|output_sources| { - for (path, _source) in sources.iter().rev() { - match output_sources - .get(path) - .ok_or_else(|| anyhow::anyhow!("The last source not found in the output"))? - .last_contract_name() - { - Ok(name) => return Ok(format!("{path}:{name}")), - Err(_error) => continue, - } - } - anyhow::bail!("The last source not found in the output") - }) + for (path, _source) in sources.iter().rev() { + match solc_output + .sources + .get(path) + .ok_or_else(|| anyhow::anyhow!("The last source not found in the output"))? + .last_contract_name() + { + Ok(name) => return Ok(format!("{path}:{name}")), + Err(_error) => continue, + } + } + anyhow::bail!("The last source not found in the output") } } @@ -350,7 +340,7 @@ impl Compiler for SolidityCompiler { &self, test_path: String, sources: Vec<(String, String)>, - libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, llvm_options: Vec, debug_config: Option, @@ -374,9 +364,11 @@ impl Compiler for SolidityCompiler { SolidityCompiler::executable(&mode.solc_version) }?; + let linker_symbols = libraries.as_linker_symbols()?; + let project = era_compiler_solidity::Project::try_from_solc_output( libraries, - mode.solc_pipeline, + mode.solc_codegen, &mut solc_output, &solc_compiler, debug_config.as_ref(), @@ -385,6 +377,7 @@ impl Compiler for SolidityCompiler { let build = project.compile_to_eravm( &mut vec![], mode.enable_eravm_extensions, + linker_symbols, era_compiler_common::HashType::Ipfs, mode.llvm_optimizer_settings.to_owned(), llvm_options, @@ -415,7 +408,6 @@ impl Compiler for SolidityCompiler { mode.solc_version.to_owned(), None, )), - &semver::Version::new(0, 0, 0), )?; solc_output.collect_errors()?; @@ -430,7 +422,7 @@ impl Compiler for SolidityCompiler { &self, test_path: String, sources: Vec<(String, String)>, - libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, _test_params: Option<&solidity_adapter::Params>, llvm_options: Vec, @@ -450,7 +442,7 @@ impl Compiler for SolidityCompiler { let project = era_compiler_solidity::Project::try_from_solc_output( libraries, - mode.solc_pipeline, + mode.solc_codegen, &mut solc_output, &solc_compiler, debug_config.as_ref(), diff --git a/compiler_tester/src/compilers/solidity/mode.rs b/compiler_tester/src/compilers/solidity/mode.rs index 296abf7f..45d3d0c2 100644 --- a/compiler_tester/src/compilers/solidity/mode.rs +++ b/compiler_tester/src/compilers/solidity/mode.rs @@ -16,7 +16,7 @@ pub struct Mode { /// The Solidity compiler version. pub solc_version: semver::Version, /// The Solidity compiler output type. - pub solc_pipeline: era_compiler_solidity::SolcPipeline, + pub solc_codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, /// Whether to enable the EVMLA codegen via Yul IR. pub via_ir: bool, /// Whether to run the Solidity compiler optimizer. @@ -35,7 +35,7 @@ impl Mode { /// pub fn new( solc_version: semver::Version, - solc_pipeline: era_compiler_solidity::SolcPipeline, + solc_codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, via_ir: bool, solc_optimize: bool, mut llvm_optimizer_settings: era_compiler_llvm_context::OptimizerSettings, @@ -49,7 +49,7 @@ impl Mode { Self { solc_version, - solc_pipeline, + solc_codegen, via_ir, solc_optimize, llvm_optimizer_settings, @@ -112,16 +112,16 @@ impl Mode { return false; } - match self.solc_pipeline { - era_compiler_solidity::SolcPipeline::Yul => { + match self.solc_codegen { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul => { params.compile_via_yul != solidity_adapter::CompileViaYul::False && params.abi_encoder_v1_only != solidity_adapter::ABIEncoderV1Only::True } - era_compiler_solidity::SolcPipeline::EVMLA if self.via_ir => { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA if self.via_ir => { params.compile_via_yul != solidity_adapter::CompileViaYul::False && params.abi_encoder_v1_only != solidity_adapter::ABIEncoderV1Only::True } - era_compiler_solidity::SolcPipeline::EVMLA => { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA => { params.compile_via_yul != solidity_adapter::CompileViaYul::True } } @@ -133,10 +133,12 @@ impl std::fmt::Display for Mode { write!( f, "{}{}{} {}", - match self.solc_pipeline { - era_compiler_solidity::SolcPipeline::Yul => "Y", - era_compiler_solidity::SolcPipeline::EVMLA if self.via_ir => "I", - era_compiler_solidity::SolcPipeline::EVMLA => "E", + match self.solc_codegen { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul => "Y", + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA + if self.via_ir => + "I", + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA => "E", }, if self.solc_optimize { '+' } else { '-' }, self.llvm_optimizer_settings, diff --git a/compiler_tester/src/compilers/solidity/upstream/mod.rs b/compiler_tester/src/compilers/solidity/upstream/mod.rs index 42b3854c..10078d40 100644 --- a/compiler_tester/src/compilers/solidity/upstream/mod.rs +++ b/compiler_tester/src/compilers/solidity/upstream/mod.rs @@ -49,16 +49,16 @@ lazy_static::lazy_static! { /// static ref SOLIDITY_MODES: Vec = { let mut modes = Vec::new(); - for (pipeline, optimize, via_ir) in [ - (era_compiler_solidity::SolcPipeline::EVMLA, false, false), - (era_compiler_solidity::SolcPipeline::EVMLA, false, true), - (era_compiler_solidity::SolcPipeline::EVMLA, true, false), - (era_compiler_solidity::SolcPipeline::EVMLA, true, true), - (era_compiler_solidity::SolcPipeline::Yul, false, true), - (era_compiler_solidity::SolcPipeline::Yul, true, true), + for (codegen, optimize, via_ir) in [ + (era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA, false, false), + (era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA, false, true), + (era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA, true, false), + (era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA, true, true), + (era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul, false, true), + (era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul, true, true), ] { - for version in SolidityCompiler::all_versions(pipeline, via_ir).expect("`solc` versions analysis error") { - modes.push(SolidityUpstreamMode::new(version, pipeline, via_ir, false, optimize).into()); + for version in SolidityCompiler::all_versions(codegen, via_ir).expect("`solc` versions analysis error") { + modes.push(SolidityUpstreamMode::new(version, codegen, via_ir, false, optimize).into()); } } modes @@ -74,7 +74,7 @@ lazy_static::lazy_static! { for optimize in [ false, true ] { - for version in SolidityCompiler::all_versions(era_compiler_solidity::SolcPipeline::Yul, true).expect("`solc` versions analysis error") { + for version in SolidityCompiler::all_versions(era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul, true).expect("`solc` versions analysis error") { modes.push(YulUpstreamMode::new(version, false, optimize).into()); } } @@ -87,7 +87,7 @@ lazy_static::lazy_static! { /// All compilers must be downloaded before initialization. /// static ref SOLIDITY_MLIR_MODES: Vec = { - vec![SolidityUpstreamMode::new(semver::Version::new(0, 8, 26), era_compiler_solidity::SolcPipeline::Yul, false, true, false).into()] + vec![SolidityUpstreamMode::new(semver::Version::new(0, 8, 26), era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul, false, true, false).into()] }; /// @@ -137,10 +137,10 @@ impl SolidityCompiler { } /// - /// Returns the compiler versions downloaded for the specified compilation pipeline. + /// Returns the compiler versions downloaded for the specified compilation codegen. /// pub fn all_versions( - pipeline: era_compiler_solidity::SolcPipeline, + codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, via_ir: bool, ) -> anyhow::Result> { let mut versions = Vec::new(); @@ -170,12 +170,12 @@ impl SolidityCompiler { Ok(version) => version, Err(_) => continue, }; - if era_compiler_solidity::SolcPipeline::Yul == pipeline + if era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul == codegen && version < SolcUpstreamCompiler::FIRST_YUL_VERSION { continue; } - if era_compiler_solidity::SolcPipeline::EVMLA == pipeline + if era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA == codegen && via_ir && version < SolcUpstreamCompiler::FIRST_VIA_IR_VERSION { @@ -194,7 +194,7 @@ impl SolidityCompiler { language: SolcStandardJsonInputLanguage, toolchain: Toolchain, sources: &[(String, String)], - libraries: &BTreeMap>, + libraries: &era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, test_params: Option<&solidity_adapter::Params>, ) -> anyhow::Result { @@ -206,8 +206,10 @@ impl SolidityCompiler { let mut solc = Self::executable(toolchain, solc_version)?; let output_selection = SolcStandardJsonInputSettingsSelection::new_required(match mode { - Mode::SolidityUpstream(mode) => mode.solc_pipeline, - Mode::YulUpstream(_mode) => era_compiler_solidity::SolcPipeline::Yul, + Mode::SolidityUpstream(mode) => mode.solc_codegen, + Mode::YulUpstream(_mode) => { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul + } mode => anyhow::bail!("Unsupported mode: {mode}"), }); @@ -281,7 +283,7 @@ impl SolidityCompiler { test_path: String, language: SolcStandardJsonInputLanguage, sources: &[(String, String)], - libraries: &BTreeMap>, + libraries: &era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, test_params: Option<&solidity_adapter::Params>, ) -> anyhow::Result { @@ -289,14 +291,14 @@ impl SolidityCompiler { Mode::SolidityUpstream(mode) => CacheKey::new( test_path, mode.solc_version.to_owned(), - mode.solc_pipeline, + mode.solc_codegen, mode.via_ir, mode.solc_optimize, ), Mode::YulUpstream(mode) => CacheKey::new( test_path, mode.solc_version.to_owned(), - era_compiler_solidity::SolcPipeline::Yul, + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul, true, mode.solc_optimize, ), @@ -425,7 +427,7 @@ impl Compiler for SolidityCompiler { &self, test_path: String, sources: Vec<(String, String)>, - libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, _llvm_options: Vec, _debug_config: Option, @@ -517,7 +519,7 @@ impl Compiler for SolidityCompiler { &self, test_path: String, sources: Vec<(String, String)>, - libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, test_params: Option<&solidity_adapter::Params>, _llvm_options: Vec, diff --git a/compiler_tester/src/compilers/solidity/upstream/mode.rs b/compiler_tester/src/compilers/solidity/upstream/mode.rs index 6c9157d6..3a37b435 100644 --- a/compiler_tester/src/compilers/solidity/upstream/mode.rs +++ b/compiler_tester/src/compilers/solidity/upstream/mode.rs @@ -14,7 +14,7 @@ pub struct Mode { /// The Solidity compiler version. pub solc_version: semver::Version, /// The Solidity compiler output type. - pub solc_pipeline: era_compiler_solidity::SolcPipeline, + pub solc_codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, /// Whether to enable the EVMLA codegen via Yul IR. pub via_ir: bool, /// Whether to enable the MLIR codegen. @@ -29,14 +29,14 @@ impl Mode { /// pub fn new( solc_version: semver::Version, - solc_pipeline: era_compiler_solidity::SolcPipeline, + solc_codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, via_ir: bool, via_mlir: bool, solc_optimize: bool, ) -> Self { Self { solc_version, - solc_pipeline, + solc_codegen, via_ir, via_mlir, solc_optimize, @@ -97,16 +97,16 @@ impl Mode { return false; } - match self.solc_pipeline { - era_compiler_solidity::SolcPipeline::Yul => { + match self.solc_codegen { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul => { params.compile_via_yul != solidity_adapter::CompileViaYul::False && params.abi_encoder_v1_only != solidity_adapter::ABIEncoderV1Only::True } - era_compiler_solidity::SolcPipeline::EVMLA if self.via_ir => { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA if self.via_ir => { params.compile_via_yul != solidity_adapter::CompileViaYul::False && params.abi_encoder_v1_only != solidity_adapter::ABIEncoderV1Only::True } - era_compiler_solidity::SolcPipeline::EVMLA => { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA => { params.compile_via_yul != solidity_adapter::CompileViaYul::True } } @@ -122,10 +122,12 @@ impl std::fmt::Display for Mode { write!( f, "{}{} {}", - match self.solc_pipeline { - era_compiler_solidity::SolcPipeline::Yul => "Y", - era_compiler_solidity::SolcPipeline::EVMLA if self.via_ir => "I", - era_compiler_solidity::SolcPipeline::EVMLA => "E", + match self.solc_codegen { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul => "Y", + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA + if self.via_ir => + "I", + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA => "E", }, if self.solc_optimize { '+' } else { '-' }, self.solc_version, diff --git a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/mod.rs b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/mod.rs index 993d26f7..a1feb86d 100644 --- a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/mod.rs +++ b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/mod.rs @@ -45,7 +45,7 @@ impl Input { language: Language, evm_version: Option, sources: BTreeMap, - libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, remappings: Option>, output_selection: SolcStandardJsonInputSettingsSelection, via_ir: bool, diff --git a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/mod.rs b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/mod.rs index 16581b11..1ffd5b12 100644 --- a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/mod.rs +++ b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/mod.rs @@ -6,7 +6,6 @@ pub mod debug; pub mod optimizer; pub mod selection; -use std::collections::BTreeMap; use std::collections::BTreeSet; use serde::Serialize; @@ -25,8 +24,11 @@ pub struct Settings { #[serde(skip_serializing_if = "Option::is_none")] pub evm_version: Option, /// The linker library addresses. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub libraries: Option>>, + #[serde( + default, + skip_serializing_if = "era_compiler_solidity::SolcStandardJsonInputSettingsLibraries::is_empty" + )] + pub libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, /// The sorted list of remappings. #[serde(skip_serializing_if = "Option::is_none")] pub remappings: Option>, @@ -60,7 +62,7 @@ impl Settings { /// pub fn new( evm_version: Option, - libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, remappings: Option>, output_selection: Selection, via_ir: bool, @@ -70,7 +72,7 @@ impl Settings { ) -> Self { Self { evm_version, - libraries: Some(libraries), + libraries, remappings, output_selection: Some(output_selection), via_ir: if via_ir { Some(true) } else { None }, diff --git a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/file/flag.rs b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/file/flag.rs index dc86bc50..e5eb3fce 100644 --- a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/file/flag.rs +++ b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/file/flag.rs @@ -28,11 +28,11 @@ pub enum Flag { EVMLA, } -impl From for Flag { - fn from(pipeline: era_compiler_solidity::SolcPipeline) -> Self { - match pipeline { - era_compiler_solidity::SolcPipeline::Yul => Self::Yul, - era_compiler_solidity::SolcPipeline::EVMLA => Self::EVMLA, +impl From for Flag { + fn from(codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen) -> Self { + match codegen { + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul => Self::Yul, + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::EVMLA => Self::EVMLA, } } } diff --git a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/file/mod.rs b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/file/mod.rs index 70b82559..d49a842c 100644 --- a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/file/mod.rs +++ b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/file/mod.rs @@ -27,13 +27,15 @@ impl File { /// /// Creates the selection required by EVM compilation process. /// - pub fn new_required(pipeline: era_compiler_solidity::SolcPipeline) -> Self { + pub fn new_required( + codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, + ) -> Self { Self { per_file: Some(HashSet::from_iter([SelectionFlag::AST])), per_contract: Some(HashSet::from_iter([ SelectionFlag::Bytecode, SelectionFlag::MethodIdentifiers, - SelectionFlag::from(pipeline), + SelectionFlag::from(codegen), ])), } } diff --git a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/mod.rs b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/mod.rs index c8f84ecd..4e8ffcf5 100644 --- a/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/mod.rs +++ b/compiler_tester/src/compilers/solidity/upstream/solc/standard_json/input/settings/selection/mod.rs @@ -22,9 +22,11 @@ impl Selection { /// /// Creates the selection required by EVM compilation process. /// - pub fn new_required(pipeline: era_compiler_solidity::SolcPipeline) -> Self { + pub fn new_required( + codegen: era_compiler_solidity::SolcStandardJsonInputSettingsCodegen, + ) -> Self { Self { - all: Some(FileSelection::new_required(pipeline)), + all: Some(FileSelection::new_required(codegen)), } } } diff --git a/compiler_tester/src/compilers/vyper/mod.rs b/compiler_tester/src/compilers/vyper/mod.rs index bae7e2b6..b89f2a61 100644 --- a/compiler_tester/src/compilers/vyper/mod.rs +++ b/compiler_tester/src/compilers/vyper/mod.rs @@ -195,7 +195,7 @@ impl Compiler for VyperCompiler { &self, test_path: String, sources: Vec<(String, String)>, - _libraries: BTreeMap>, + _libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, llvm_options: Vec, debug_config: Option, @@ -258,7 +258,7 @@ impl Compiler for VyperCompiler { &self, _test_path: String, _sources: Vec<(String, String)>, - _libraries: BTreeMap>, + _libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, _mode: &Mode, _test_params: Option<&solidity_adapter::Params>, _llvm_options: Vec, diff --git a/compiler_tester/src/compilers/yul/mod.rs b/compiler_tester/src/compilers/yul/mod.rs index b8ddbfbd..824bf22b 100644 --- a/compiler_tester/src/compilers/yul/mod.rs +++ b/compiler_tester/src/compilers/yul/mod.rs @@ -5,7 +5,6 @@ pub mod mode; pub mod mode_upstream; -use std::collections::BTreeMap; use std::collections::HashMap; use era_compiler_solidity::CollectableError; @@ -55,7 +54,7 @@ impl Compiler for YulCompiler { &self, _test_path: String, sources: Vec<(String, String)>, - _libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, llvm_options: Vec, debug_config: Option, @@ -65,8 +64,10 @@ impl Compiler for YulCompiler { let solc_version = if mode.enable_eravm_extensions { None } else { - Some(era_compiler_solidity::SolcVersion::new_simple( + Some(era_compiler_solidity::SolcVersion::new( + era_compiler_solidity::SolcCompiler::LAST_SUPPORTED_VERSION.to_string(), era_compiler_solidity::SolcCompiler::LAST_SUPPORTED_VERSION, + None, )) }; @@ -76,17 +77,21 @@ impl Compiler for YulCompiler { .0 .clone(); + let linker_symbols = libraries.as_linker_symbols()?; + + let sources = sources + .into_iter() + .map(|(path, source)| { + ( + path, + era_compiler_solidity::SolcStandardJsonInputSource::from(source), + ) + }) + .collect(); + let project = era_compiler_solidity::Project::try_from_yul_sources( - sources - .into_iter() - .map(|(path, source)| { - ( - path, - era_compiler_solidity::SolcStandardJsonInputSource::from(source), - ) - }) - .collect(), - BTreeMap::new(), + sources, + libraries, None, solc_version.as_ref(), debug_config.as_ref(), @@ -95,6 +100,7 @@ impl Compiler for YulCompiler { let build = project.compile_to_eravm( &mut vec![], mode.enable_eravm_extensions, + linker_symbols, era_compiler_common::HashType::Ipfs, mode.llvm_optimizer_settings.to_owned(), llvm_options, @@ -125,7 +131,7 @@ impl Compiler for YulCompiler { &self, test_path: String, sources: Vec<(String, String)>, - libraries: BTreeMap>, + libraries: era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, mode: &Mode, test_params: Option<&solidity_adapter::Params>, _llvm_options: Vec, diff --git a/compiler_tester/src/directories/ethereum/test.rs b/compiler_tester/src/directories/ethereum/test.rs index abbcb664..99172fc7 100644 --- a/compiler_tester/src/directories/ethereum/test.rs +++ b/compiler_tester/src/directories/ethereum/test.rs @@ -124,7 +124,7 @@ impl EthereumTest { ) -> anyhow::Result<( web3::types::Address, BTreeMap, - BTreeMap>, + era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, )> { let mut caller = solidity_adapter::account_address(solidity_adapter::DEFAULT_ACCOUNT_INDEX); @@ -163,7 +163,7 @@ impl EthereumTest { } let contract_address = contract_address.expect("Always valid"); - Ok((contract_address, libraries_addresses, libraries)) + Ok((contract_address, libraries_addresses, libraries.into())) } /// diff --git a/compiler_tester/src/directories/matter_labs/test/mod.rs b/compiler_tester/src/directories/matter_labs/test/mod.rs index 3cf54aac..313e7863 100644 --- a/compiler_tester/src/directories/matter_labs/test/mod.rs +++ b/compiler_tester/src/directories/matter_labs/test/mod.rs @@ -230,7 +230,7 @@ impl MatterLabsTest { &self, address_iterator: &mut API, ) -> ( - BTreeMap>, + era_compiler_solidity::SolcStandardJsonInputSettingsLibraries, BTreeMap, ) where @@ -262,7 +262,7 @@ impl MatterLabsTest { libraries.insert(file_path.to_string_lossy().to_string(), file_libraries); } - (libraries, library_addresses) + (libraries.into(), library_addresses) } /// diff --git a/compiler_tester/src/vm/eravm/mod.rs b/compiler_tester/src/vm/eravm/mod.rs index 5cd6c8f9..1ebc6c56 100644 --- a/compiler_tester/src/vm/eravm/mod.rs +++ b/compiler_tester/src/vm/eravm/mod.rs @@ -105,7 +105,7 @@ impl EraVM { ); let solc_version = system_contracts_solc_downloader_config - .binaries + .executables .keys() .next() .ok_or_else(|| { diff --git a/compiler_tester/src/vm/eravm/system_contracts.rs b/compiler_tester/src/vm/eravm/system_contracts.rs index a6842843..8dc79694 100644 --- a/compiler_tester/src/vm/eravm/system_contracts.rs +++ b/compiler_tester/src/vm/eravm/system_contracts.rs @@ -2,7 +2,6 @@ //! The EraVM system contracts. //! -use std::collections::BTreeMap; use std::collections::HashMap; use std::fs::File; use std::path::PathBuf; @@ -294,7 +293,7 @@ impl SystemContracts { let solidity_optimizer_settings = era_compiler_llvm_context::OptimizerSettings::cycles(); let solidity_mode = SolidityMode::new( solc_version, - era_compiler_solidity::SolcPipeline::Yul, + era_compiler_solidity::SolcStandardJsonInputSettingsCodegen::Yul, true, true, solidity_optimizer_settings, @@ -431,7 +430,7 @@ impl SystemContracts { .compile_for_eravm( "system-contracts".to_owned(), sources, - BTreeMap::new(), + era_compiler_solidity::SolcStandardJsonInputSettingsLibraries::default(), mode, llvm_options, debug_config, diff --git a/era-contracts b/era-contracts index 31465df1..daba783e 160000 --- a/era-contracts +++ b/era-contracts @@ -1 +1 @@ -Subproject commit 31465df18b212c420c288bf8c05af7b47046a369 +Subproject commit daba783e8ee9ad578a69a1a15716b5fd3680a5bd diff --git a/fuzzer/fuzz_targets/common.rs b/fuzzer/fuzz_targets/common.rs index d6213294..6e3044b5 100644 --- a/fuzzer/fuzz_targets/common.rs +++ b/fuzzer/fuzz_targets/common.rs @@ -9,7 +9,7 @@ use std::{path::PathBuf, sync::Arc}; use compiler_tester::{ Buildable, EthereumTest, Mode, SolidityCompiler, SolidityMode, Summary, Workflow, }; -use era_compiler_solidity::SolcPipeline; +use era_compiler_solidity::SolcStandardJsonInputSettingsCodegen; pub use solidity_adapter::{ test::function_call::parser::{ @@ -160,7 +160,7 @@ pub fn build_and_run(test: EthereumTest) -> anyhow::Result { let solc_version = semver::Version::new(0, 8, 26); let mode = Mode::Solidity(SolidityMode::new( solc_version, - SolcPipeline::Yul, + SolcStandardJsonInputSettingsCodegen::Yul, true, true, era_compiler_llvm_context::OptimizerSettings::try_from_cli('3') diff --git a/system-contracts-stable-build b/system-contracts-stable-build index 69366327deb3dee7e2b88ce432b7ed5f5fa22e12..a8c8ada23d3312d19b19f4b0dc66ebae6f0047cf 100644 GIT binary patch delta 219862 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 z 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

xIO( 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%0AE1k*o*bf?`Eq6ls+_T<10t<|r+b=0!>Nj- z%^UTL^D82ktY{2>$)5oXNG$zKx3cu{fBPD7TEE6O45wIjKCYUx^YiKqlN4#x&T|_6 zmM9|((X!tl=$tqs*l3Cm$J&fzl!(ut6Ks|Ym7cLB6#El1&h<|c=6LQ~fd+sJ?R*hC zfs((oE}-IU3lRTPKyn;D=@aS8YxS_6v1=s22lVhiq5qsGfgtOSa#06($Jsh|sFgFF z*ZPrrPd@Ssv!jWFSW>%z^X$+GV_-M7`kECCowryO*Ykeb!j!EhoVM_1n22&zHxL!) z_E*SgDIWDz!yQ(U-sYPpY3|#A86EbpS;gv&y9ZmfDJh!!GK}|a^WYq8c|dPM)chY0 z=pD5<#})vKqD;?e;e4(^*?14&kUUpz#le~yL$vwqU|ppUGLv8oqfNT}8H{J`zrk#q z#H(uA)*0Bsdv0ZTKVGk=>F#F4Tz>R#;BwX;u7{8_So6nF zJJ)T``DzFy@xLpdwmcF*ET%1-rncEWEqi5iM*t7dL(|ryW9!q^evSHmit6svWXx|m zzZS@}limh)m8XLEAPk<1_!=t30_HW2(e)oxkp3pGZOL%&kd5E3wj?A>cVvarWem0cjaq(!n?m- za*ZaP-Lp0ixrO{|a6mn8!&4qAi>9p2>vOm;?WLM-&(=f%-pRizS01@FN@rdW5ad@|KTW1mCImXxnv^8k5 zIA8#QBJS^bo0w-e;xW&r$Dx9r*sOOQBlyk8>B`kUwV z&OWcCN_r(#(%Be`osyhu$h#JYy7CWr$TaEQsH8319L`6xOwUEQcqi|w-mOb|Rd>>> zyOUn!o$_vFUn=5x))XR0dG}3uwRg(9xhb#mPI;Ag%B#Fn)^7JXR#?ibn^T;>a4$fL zCtl_s@IETyo%v^YIo#L2ZC@U{e)bR2r(DI)$N0wU_T@>V&weK?_iMny zV~BA6lVQqR{(%8ML5wN?49vau97uXDx<}lvZm&Kb@MHrII40?EOQ}or*vpFtA8`<1 zaXs|jt1uK|-uI8?YZBnlJXR5qYWeRE2%PtT_o7MfMWMjtG5Q#L>3%?t#pfMJBLe6- z;CZ05*Q`bkE&nG-vw06#7j3t#GGvOpr=;lHTl9{46*ujvoOsGPXP!9wgp*G_?aXL) z$-5c){T96ky%>?ZM^rBg&=b#Gr!oEdBsJ_%rtVaABE>9Ybj^41*Q)C2e`?jvoMwXV3ah{fjlplvB1OdsvKD2nhbWfVzW7rW5r10nHZv)NDWjp`(v{K z{5aQW4)7Tanr@<&1Av2E@x72KfFQivl0WHn!8pgE)DU_#3lNp6G~utPzenmEAe%{; zNwmHbk>b<$G0aeGw&aIWH1+3zYcIat2+%z|=e_+fze&INb6F*|w1f?sdAV7MbESqu zU3<+9DCU1+sG;G$bICWHwoD5IY27r`q+UK>uf@qJc@WzAE(WLbgm;>CJJ#^3#Q;~$ zdlYr)v)h6pI^avF3cqa@z+;`iKpV{dKjYhb?gEtSv8~8H&pRvtj0u`)#PrE$q;p_W*e+m;eCNs<2FG;q&sJ5rV$<6^z#0@Roi*o&Eh# z4c&GW#t>tKr9n@hsGF@gPetyqYG4cwDXQ6pNRV#Cyv(K8OS=6$-w^Bo-t@2fXoUNB z#Qkmf9HmJY10D15U-cFruvydp7;NSHMzb3yw(%bcYJ6M2VTh!a@sSf+e0`_E42}T= zd^4IAJ;oJJGLQmU*U&yjrumHZAH0AO>EZ=?ip0>hzTH4W%p4oW&3QG5& zimS1+)@*WHs{GP*1K+$9xs zD(8~XpAx8+HNH;jdo>uQ;5Mz3-z!3o{I9-$B^(0b7sUCIz3QZKI}kobo6hga#&q>) z)99(c>*Eo(U!Mw~=Hxp@GnvfZTehM$Dn?6N(OH#yI73Z%Qf_iE$qLr$I#@EXm=wJJw^!4r?5MYwPU%D76pxH;E zG~&&p@JoQG!ZdR(BunIdvgy|)iCM}SiW=#ck8v44MGKc+gy zxlt?ABw}jS#XyT0JwOOZS}Of6F1F8+(a4>G&;MAi$E&h+`r>`K_e#uJi+|h%E8q?Qc zF|NN;uQ)JnW4m#ch~)WI(n``FQO7 z9xtz5xG~RweW9{{>%(yEvXAx7+;Svn!Pkt@c~?EuwU|-NM8Lv>PzQOJ0lS}nKS)J% zoZS75#YBU~8X2&_^aauqN}#Q$2apM$jnNBqTNcHkiX{{)wlaO>H}n`Fwab?3am)Og*TkSLK$o~kd@M()aM zjwte)RtjAn-NjrE^#U#hYLXsk=Ex$;>X8;`MA=CF6|g6lZNS{~?GGE=N_@v!qk+o{ zqSgM!2@1a<7y!3WQEb4n%`uc9PH5q;v>`j`ixvWD#!*W&h#t&sx+|f{O05v8 zU}9w0U9YJqh*nn`Bca#ljz&8obEYwys>_W7kYwNbgnlG9A8(|QlZ@(S7VvTjSJT2c zjP&g435|^qWehd7B)HQOZ5d`u@&m38h8r~nBa$;|MyFZFQ@su2INWLdrLe(oz0cIM z7hN`t&i@K*>sbk?shmf%^bj*(a-4b|1Kx#nsB5gzqB;&#{Q(essp)&{jw_9V+jF>;dr)egMt!bPD5xtBxDupluva+l;oLB2$~PRMc+@2 zj-7P4Z)?g)R{^9-mATd4zJ)Hl*fi-6V>CF92l}e{su7yxmZTCZ*=E=gY>^)yaV?$?>O5ck{IsNJtEyjJa!gT#a zpzofTX|%b7wL}{#cOn)uSFs^=x*2FFDAKdlPd3$Joz$!X&!m++yE`F+&Bf5Phrd+_ zNBZClI0miT^aK+s<}7S^GP^5QwfI#vg1~0lJnRyD4oS!09N42)+%l=?oR!TTMyn6F zH0doQBUR>n0MqD$5qecP4VO#VpE7V|)y=RfCbl4$bpLheeS=6{NPR>oZ z?eG8T>(n(jjWcGc*)77X58rN7t@slnLMVEzqUnd3fm%yz<%-H-{P!Rfz{<~u_I)T| zoQQY={xT0Thvi=HnzD+Wz8K2mUYp0D~;-GvRUw80m7@gxMe1B&;42<~bL^v+30F=_T%YF4Uy%{kydn6317NGs*7u-Z~ z?_p*=D$4D7Fb&v;WE>M=Mi0g7p`M(L30I>;d#_Pqh4Qm@?!G=wQ+)&FeEP6f?+kKe z13Q3WF?Uku35HQhLF5Dy*VkBny-bo222He~l5c>SzW!2eDE)PT(d}Mw)GQjqs7vE{ zOm9_8S0sU6>ScdG|B~-~fKV191)70(av8*PUo|>3*WfYgT7cj>Z-UYX>kdI-OEKfv zd3GKavbkEtB@5g%cC1vW-^jJ!$d# z+UORz#z3g#f;ZwovBsch-bcp(bcew@9ETE|{>#lU&jmsONlUeIB%E_yn#IxdYLK%i zID3|Iv9;KpdCK`qA;WRxUiR?9V)xpu0fv0D@s_(nZhF%$J4$mGq(h!ln5$-?oMv=+JaQf;= z{`%m=d1#T9qW*S&Bm3~EJby8uA;Q=Y{Yc=Ls>Gr?SyuE?NF_P9|@TB zB{Ph!Gmw*0E|4q|zpLdENzFHZMr_&TR&h)${|HBbEkPI0IL$ryJbrlOLS+m1tT^qs zGt{>HW5g>Hr|2EnHvB-TWjqFVj_edMG|qO*oVs(|(aA3GudJYK953iN8n7q1f5-rS z=J<>^X44=zXMQkOutH3y7OH;O3^;+AB|p>ZO}qnE0Hmc#!)Dy3)xp53ZDxd)wNJcr z_N&I}u7kD1=;L#OXc+7dRaB`56Z0b;MWJEWSj3V>Jz!M%qA2Y|X22b}%?SoH>W8yk z$?wEZih9}^?;^a8dEUjCw&w7iPHc%uD|w;mg3?GP`-~3TH_eT_L{~pc6Xpx(-5Ptz zg2GV;z?F(RDCmaz&`xUW#-Vj8V(wN(uE%%c6A9W_VM@U2!DG~5n_^3~|>jPQF%f*;_mQ&M45jU?aM zL+Vz3OHOjnUY0YhG_;y3?VY{+!)Bwdm8rR~F5%J34Tvo!V*H5A#Y#be*=6{0v&s<3 zGD;F|;OOPBCd!9Tfi-}^%dM~q(dYHqL$xNut%c&4z1&K#y@5n$XA+6V7Y@~`SZHwy zO8uIbNTx40knb2YtZmzhzH&T!d3m3|q6sexJgbP2sOVNKC2W*p!t?18z=$sR}YAqG%F@}UQr%>iLl`+h}hDaz8; zd^t%?6%~O=B?4WUKC7*mMD~Sbo$5Y#`OOJ+f2FTgrV)`r-q2XL6H{>654`#=q2kDU zAm#0p+Mo>jt7^^9*`RkG9q+TN8LEPzVM(Dm(h6SUf=~yoe6u1vQbk|cx|84zZ{EO! zaej0&hCV8o$uk1h4#!M)p26_LBBk07jPbdVJcXR#T=Jk_GmrelDFbH_(O|@zyOu$S zillah?&3n=vW|nGyJVWDvWZi$eOjoIt4Rk*--&L?jxs?H<~}kWQ||NXk!mbwF`aqH zQ6;7ZR!QSl<}5D@J7xgz7Q2!x9$dB*6CHep$&FY)Nvf1?EW=3JF+0#kZ+CK~jtLS) zjM?`89fM3U6--i>i*A!a{=l6)3j>|?c)eVymQrEO<}ZrCv-2w02WC!7{4p)4?95+-;AxFGd@?HQqkY-i#s2@!8}x_f)8ygJ)>DB`C=WvyG}spmW6zKx-L> ziSWA3JiD~P`}El*24bq=<7s9nFH_|x4mQmIiW_DtzXBAuU@mv;Eu`vDP{iBqco|3+ zSz~gGc^SJkDmQP}QO4!i>=&IF!N(uR+)=D^}=vpPMo4HuZH6?JMEdLZ(3b-E@ z>n<}!^?}}XbrO{Ut+pI-@x6O*9Wsd{=`nyzCY2x)(Kifni#o`+LNo)WWm0#&kEMQ! zm}Q^BlBNnJ+DjXUd+sS*3!EOfz!J^+`32=e7$s?rDy#xjJ8*Wkl#NA_QOi>Wh|GFa zXF?!_#i(Y_y`Q5Cu*x37we0B6Zll3F1K}GM8x(np;$DCnq`edNao!%9(3a?3XOxyw zOV21Fr7TxRpp{-R<=hM=r-!HFjL>%@#s+B$V(g7gR)a7FA^+`{9Jjc%+PZo1&O=%v zTD>pn@C!vpJ1%Bi?AFNRJO)DdLfe|Qr&AZX*=|j!&Qocr7=i^>9;Kk^zUR2p zSMGllBJq&Tee1)A2V0!Y0lCF@gz2IUnfdaOOq)2+ZN!(-}*K>Z`uB(Z2)TLp>00LglilT_H({rj4T*o?{sn@ zQf9znoRyU;4(g!bhFW+6Zg?f31EzGg0c|E6IoEq-X{C7gmBz5T0uHc*^p#RnMG{5zMG9?@H?CJs zl}nB>H^>{5v;ze5Q}vh;#duyU4!;-X-CPCMShcqi)^kC5B*PB9H`vB`#~~fL!^-i- zuOMD6e(k17A)^5x2Ox&i^ot;>Q@-{HVhB@KYK%35U-(WClM0S`QtP#fh~yyJ9(Hik z^f@nSqw3+I4;0n{66U9b9Uqy3nxd1I>9y=?qAee4zuJAVBv*ck^Es1x&j_{(L2qab zw9zg1VS3fKegWXb|EvjWbYV+CqrW|2gz2Ae8oF*v8eAKF@cx111--19Dzc`~jB-#CnmP`%^}>Xkzl2GzlbYdF_> z|2Um_lhLRsfyvE93DpkM*$(&m*MrR~x=~hhQd0WS8kXx1g$&OIWKp2Lu^z_Wo zBp5aVxg2Q5a4ox{09R-%j|3buCNP9g=C#dp`E8z{ckVM9n;hw2r3x(Lh@v%^k2mE6 zD8CIi8BNvBZQb?^q=w_3uQy7bBZtEhY3bqZvuSPSFZ(m0DR51 z7CL?zcI}y=sDMBjama9y-k!C4xR%)I<{t76(wTG>%4+|4nOWVKTME~s#OS$OwGlF5 zld9gp+yk`xZKaNt!0DhLUljye25#2&r$Y7g(6z=4NCXi8IOt9#T1;ZWLzyWQmk8IS zXxmC{v@WRywb^L7*^4ofQnCAX6Y8wD9e|?4^KaEm?nRH5&L7^7@@Ct@+0UOr>`t(4 z+i%mf0HPnLZ|(3mHnBaRk$DJ#GIv7?Vx$3HUi^J{K31xI>XVEDY^h ztu=es8bRBa!_Y)`|2jJHC&0rNveVrJULLj{6x}Z$`5w==`ZjdQ+7}>H1~3DzoUNIM zK~p>o>+!8zYW`$-6HWVNMJQy4$7o|a#9Z6a0Ue?&O>QbKbg zW<>H4z5r(uWUQT>$T~pu0ImCpS>GjWD8IALl-IY0Qi=t{PX$U^{S#jUAO&cCsUBMf zC0V>I%-w~w@shcEqipx4pP4P$1+!$iq5e+G7$vJSa-o#C6Vhas9 z-*l;u0vuX8X=T?7RTvloK51c6GLyD>>(^Ma|wjyobG=I*SAjYvUrw!*UKEMVIg43SF3 zXy&)c|r5j(?YIK)fkQOC*$TZbUVo+vn z)r#%qRTTLp^y=}bs^jQF9UV6x6&S1o2MK^?>$a<;b&C!on5~PjOgVE_gxJJkE31-v z+F$|*X4r{o#D$lvX{}gh?wY3F^8Z&G{~uEuFwh}cw%%xTQTOZUfN}kQVf5C7MIo8B zIB|g1=;jJGm)7V8#!=Z7JXA7gSNtzV#thz?s1`xU65D0xqU`88t$B38;2x_GE68J8 z7fUV&wEeV4%WCPhtuX0QZzAN!SZmB-gmlcaGyorZG0@T!jiSP3;N@vYBcQmrH$q*t zFto3{-DsEe3C2XW(qaFD9x<>lgY?_m;oYv>4>OYv3ZTw8&z4|ij4D1EL1fQ&)YUIA zN2k8v$qoPoRyJaVjl~R(&L0~G(8o6cro49?M)1VD(As6rA-*bcz8&9K>R5B-CUd!t z;X!Q_KN#Hk`L7uJ>-fXkJ0M_l6Vk*&<@zj;1{%e0dQ`t#eubRJI75mvxGF?e1mkpC zN#7d}U{?dprp3Ri7)#H+=nGNb4%A*CR-$SzYzs)Is=W}J{OHY)4$yp&lHSs$(8hDo znq$FV5Z1(KY|IX;M$3vGo`L1Ih0s(Z&lakt-gy|SyRF^Nz_$#y$#T(g#;*TCan34j z&6LD`5Ur;Gz+FB0_TY@j0HyE`NfB5hHfsEz&1FfHdxD#yK zzaaK<2^XI|5)6mwko!^Xc-P+$;_f^YTXghNs1E^{0|a(By8Gw(|Ht<5c_)Un?A^bT zcxWyP@Xu97f|6(PDCpJ33|A3JF4!v-KN!PQg~3l|pp&DIPBBWM;783$1Qrhd3(gn+ zv6lyH!tFD_9MTv6pO}$Hk9-4_cE7v`afvT4H)_yNXXbKaH2(KcOlxYvR=cPM4NnvY zVMy05)sQp|6iRG_0aA)^=t&GWb=Q*E_L-7n6ThY!yV$3&EVR#naCYoo%MzE86!$r5 zVQ85VsAEHR67H5S((JRuYk^ zz!Z{VmUk$W`3F3S(S`Xu>+(u1+r-7QdoJ(g*!L*YvGaPj-Ca5aZLTYkmsKw;z|i6^ ztdj5?e%t&^>GWvtvpYrg#MntHdM|)_>{M*;3#IRM_X{QNW#yYC4eY&H&euTLWq_|S zjGX|N4P69kAg;#Uk7^TusaAzR%mA*C>Q224F30`b<9Nq&j`3BuB5-LZ$6QVaE}5ib z-$NQ=ptHe<8bsnLP@zu-46yU1P`zqn1q+!G1DmuV9B?;&W{jjM8&nM09X{OyUWb$4 zRECslUAJrQ2957Wv${EtS)p{*Ht>;KpgMQQ>0pd`(U3YVJWv~*-_NBql%qI^!onr6 zD9lMomWpnH=>g@K=fq(>v6Ghpegeo~uU&ddYbZg15-$1SHM%`-3;C|MqVELAKOSW7=W8H2Fy z2w~{xM;j_?D8H`(ca&WCfDcvQITNr@BIuY05O0-8$j?(~XnN#)Bt3UA62b*UMTHW# z{P@J3++am7dBVVWIY3>~p(cFn9bVpmRfc9#?X@B`=r2(HZKSuj5Wm98F<_Fb6lbB~ z7|SmFlQ^f+e~4YWk{G#D5O#x+$6>dDU)z^Z*?Mj?HsBoA#(B16pLJU{6gezA;1?2Z zwQ^YY%w{|Ihdan4^W)27!|kxLb9Mw5r#P>Mdswas6SivfS7RBm_Rk=~^LooARH1+i z9X$PA;71DAJ*wg>Wj@fxceU1?CI2IZDhC|RfiZ=)$T;ZT(jw#M@0Ji5%FGji>9vNO zd%=Spe2?^6NL_Qwb!b2+G}NK!%N0IxQ4~T5p(=e9=eC_q6jh| zGZ>v6LX(JBj0P==K^WqD;OK@|j1fMhKJ5Mw{HHqv5sRP!vDKFX0fASIM9EvmBDsbe zD2}iiZba-R4ER#6b|sdqeDizgm;4+VnF|XFu<<$ znn<#@#W6fP2PXuJyWr5k>>Ix`{^cB5t;z-gSYnX!kdR~St1A;<=u2+kvQqeSX2rvR zmw)*R3~&&nY$NMh!RYic#%hz+Si`0cy8(DY!Iz}z;@7p&IBPRp z<|eBpO%&5zEyr9$Gu7bB8a|)z$Cu!L$fTo#LPr}?kOJE%IefZQ+{7Q z?1o=f($yGOae(UHBMV|VMU0Z->%wEpPr^r22vZ_VFtEKC4`DtBgn{m24fN%ke03a@ z1A0rD**W;lfW{B#I5vcSawQ5G!o&U54g44!qToK({0Q=yB4=SXu`Gb~mA$>#0BM0O zpXusT{lkV2^z{n6dX7Mdb?2&>bIIirUCc&R|Hm{vh>2!WyfUhgMBuf|)zb6g62d(V zwRy}U3oTKeW~aLq{4guk$7_o@=l7xG&+MZSqDA0GGxPW*PTkddTo8AXuaguW`dc;j z$!%O*BX{y}4VQ&T=t(x%A^<1D#GlzGl!ALEO!=pN;R+f!adbHQ)^o$PuVb(>ZV%4j zpE0|o?e;D(v+$itsd5y+j%4vk`R!eBWZ5&}cE(qV?eJ@UZk7QqwgakC96*PQd1d0{G+_A*S&(&^`EO%_+jkPRAneS%og-c8 z?>(lF^{UW$c!?a8FOu_99kr5Ft*qFHyY;}*Mx1_-HnfSOMn!5kItJApF%HbLZD=@f zyf3J{WPuCYggUUfh>S$H{O|lARSxg>QGIExe0qbvvyv3$wR_dFw4JPhP~Y}LG^dNy zYc+^4axW9RGNEC(E7j_9KJs^ueLk_@wl*1cBb^!?-ZhUnkaa&Bd_1Y8T zyd)i|M|PkL{1kXxo~7W(pxtZy;!qoMa2&%cSnPy$VzlEvqfS@CR^2j3v5sPjr{lD) z8Snw8M|Xj`qmJ!oaTmJ<#rmRN?t zVxw;e6i&s(Be}K{gWA4>T2R6ygYN#bN;Q#Ew42j7VqQt_HXwGL-oC?fr5vRMe~S-h z>KSMaPS0(r2>X#^q}4P0b=l5sm6VSg2+lhReb}Sf=*D{RY7ADV)jd9FNiWn8wNn50 zL&0F2cP~aWx{UF({st6FEVxUXk*kPS{o}2io%F03I}HVp-4l!vj3%>Yez<$%c-jW< zqYT-TaG(M4$Ne-d5ryWO(gn8c=& zW5`%qzn~#A@1%2CmAc}Hj>Lvu92lf^5l;c5uXBK)P|BK(2+#m-bH}OcqN>Iv zLM)0|_GU%n?sRU8rcgugomn-_^(fpdh8xNju@gmzFdR}`9=1jXBr{dYkykf7!>0jOmE7YPuo%n18qY7P;*MxrdmQg)Y@~qv>ZDmcTH&)*!z)G-E0Kvb6vp| z;bVneUQoLY0Y=Yd%a@h#3hx`jZD_(gGLEFE0(SBRSP@#$8_+p^q5^BQ;~cZW@;ReV zXzkghV=B->8K>A7Rg~`8EtFd=KNC!Vs|l~#XHjI0*+3iK2MYE#i_xxOP7{y{{~Cdk zmFZXO$1Gptms0(~uurr7W++T^d+7<yja@9D^&Q+u8pqYOB6#%E7{smz8Cxm^CTw+T7i?EUFc(j!qKm2y1mj2RijPhsF zQTkTYgs<_cQJY=0xRySSnvWIH#UAvvYQJ#_`f`L)fZ>Z2gVbEzWe%m;N0&Kd5BV#x5Mu|X#rY$!op;oVNxjEL41GFTJ z!Ap-sQG79UFLNK=CNzA78nP8;eVs&3c^~cK&uApOesiM$#fL;dB>ACI8*~ss)y8#? z>Fq%Y6?N0ClS3oX>;%`fJL^VZNJ_E9qSMV`z6kmkj5F7vQ7-;kOXj{b=?-wpAFlO< z1^O7VE}V(-Tp%Zu=HURVHevSnjPP)$5&I`n{} zJ=Axj-bA;*f_fnRPgX4gH&|{4Dl3yT#}3KFAtUn1!D^qF;X!~&bAMWQkr@anIROh< z@m@S3Tkp@{5A1x84N=w-s1kNdtpxHmwc@`sTil04H|7xL?uIBf^I8F~98JU>Eu#a~!5XMNU99DqK08-WdmBT(!g)2I|U( zedQV=FFn&d5{;~+QE44N7=rS#xZItM%}h3WUJL#94h(P~&U2h@BY@E7d=)6q{y(C+ zi07QkgP`cX9m81l`$8;a(-Dh`<5mTgW13LSt%i*2<;ZM{ts@dLp-t68i35;#TAh7b z%A$Q(NL1t3n@UAHbJw;;n(X8eY`)sbX)#VPg8g=Kny8kdr{zMH7}t5>SM*WbbDlFI z;?F0z*ICDkPE>O}jGhPio_!q)61Jx#6I0l$|4SQsupBjCOYI5>*RBcVc}zumA+Qf` zPd;)v@x$77=Ce8P8-tbf)=}tuBpiXZxE0iKv>vj0a)_A1EU+J8j^y-O!{qifHOFIS zIwB|`nVC)pY32}a^*uUYaC;_%GEINtCf}_#)x}b*^owrhDEmCbHgF#Ej}sfS&3sJH zrs(^6>xz|VbJ5Ggsve#k;6lt?n(+8*3{8{Rogyw;GREIT+it+P$(hZXjFkn{W$Q0} zbt|ecm+j+rbF2>s;62n+-+5?@_k6Q90eO8@BYCzppHB&Qhgewy74fSb9}5V}g=gcn7o)jSPO`T1+YoAOxn(uX6S$C=)J?RQEA)!6u*e0v-Ua6PicDK z_3~kK%|cV};_qxX4DkWW4NKdW0#X_?4#keGdLM+*zZa;>{DY=B!}y$@0GaMM-TZQ} zjeF17LnhGDrpMdUX7x%K@|~k`ou;8$ZJ`!6c&#nHW~)CL>!BULF0UIp7z%5%870YX zqd0)#);^!i|U~C zRqIPe3jIX&+4cNH4*tLHt~^Yt>dJpz)k{^^t83HUbkoo@-Le_6q27D-mSP!*3NBG> z1T`)|BjRY_Q@|yfAk`p?1_Vq`xQ+`#)G>)da2XjT3VccYW{FXg88e#1#(fRom-#a0 zi^}3f1`{5`u%Yd$xt8k%rgq)dCT%dTM&+zp`jAs8rY zc&vh^LHGhtov={wnbA2ECjpAlCy8Ms(zxz-0bLlr5b0BX_$|bVOr2lOvNShjKqLyV zgfB%g>Pta;&O^84L<$979Db#S_~NSwnF{MyQUf_C8kAaFC2zqe2u zO?l>0{M1X>z_jISOMtRIP7!Vohw$l(v_`13r zdclseY~uw~2um1LpwFUbv>qaCoVQDSs-P6k^e3&fMRXNBT@BK#xS1Vg~&sPwTuViA1{Mi$|QF9ax2^Ml^E1)2L|hzPEE>qS1x?ilK_( z)1YY5qwuCb=`=oac@Zh7i2^PD^xepGIAu+$5@HjY@U$B!&NM5SuZ@4o4$-0$z;FL& zq$~gU+^kmXQ9?)=QP4er##~(<`9M8-dc&=@-U>w(5P zlP-h?Kd~t8Tz`<628G*2I0vyb^irtjE^?~+_eR8@{=JbS#l{jYw3YR+_}r=Vn>mMERBRzXJkM(*D_=1n2W2%Lcj>nu|U$HSABtFxEJSwV<=dN&q7={Agjn2 z|MhoS7P~;=VXa9QzE1$e9!cQeI2^`n9$@8Ze+Lx+_ub2e@ZvXEZB)?XpOmGC^1UfU z#(QBoq|xFV8H%!I@mNsNT5ey-YWXj9i0yzw^bZpj-#85cM_VsVRr8OAA{1T;9O?+s z5eBU|7%k+MUhqf@Z|bbb@MQ~uWBsWU;7x%1Q6{dOME;~e-yc0Pkc&Ze9j!6B_;VCV zT|}?=EFvi+y^o%&s^t`P;5CFf&hv~_mo_7%yQ*os-`z4z>5 z$W$kfbA&?Z`qxqceQQ&YX6Sr0`M9kJ!_!j8R5LuHqm`s1oX&jX-y(q0){TgfG=dXh?_R+uTucZK{iLmd_xwGpfP{bb70GdY?Emh|&iiQdGZCU9iFzgMhu4>z3of0y1f>X(5OsXvx&YshO`BK? zuU)I1K(M|myMbGJ36|52eGqrbhZY=Z+EaW4@jxf$_pH^1bdoen5L;9g5Wgc%_K=E0 zziCnWx=RBeD5=tgnnbKQ9EX)7iQc^gkN8SStnipx!8*!8&*RDVHi{sBjX%dVhu0#F zIUlo<)g*8!cG5~Vi2l7`CA&0>P(fn+dQQ)QsxKmHw}h5kHayH;oP zWgXCSrd%dnMBAjjgCxA;GxdJ;Qn3mH;{y7|j*_v}kO1&zwh#t5+)dF|u{i@>VrrhM zD~F2EhC4S2d2eX5a}SQ>)qVA$aHW z7CfUJ9})`hTnj_%uUE6b(Tu=42zRQ^Z?i_U02t@wHS8q~N{v4bI880SkIkdj^ZeGe zl!!LR|9BrWT2UG_7*Tzwx~!%{-4OiahR5NjweEh_j(A@(OFaI<`iaSC+5$7uhxfDN zh=u5n81?7rO!bC^ryHw=!$b3_R&0ApsiY)M_tWe$?a})pN18gcj7_L|$ zdbpQFy9+B3(EGf9Kn{yYtA)PFCWuER1AU7FjMlpUUt<@b(+WezhUJy11dhLX`=POo z{jHXUq^a|+-=#+N-=fjg4b#V-VVS9%EZ?wDw+=^0dc|)~m z?07*Oar!W0%u*9^BqMv*l}XE8_^bpwt~Za=`yzJN%jQn}x-^UIbIZCmqH)GKWCFl* zW)+)TukuINCiT7-dz_MR;V*PA!t?FFk)^42&1yC}=>jbWi!`D2Endw=G`Y6ayd4Q- zc*khK9Vcq8BMA!VF}UL(L_7cD8ulM};p0pwL9Fpow0g^0>IE@L!5GbE7vNrWY9*BH z+QiH#Ag5%CW3__pg#@nB91&a04T|CZUa&d}KP(j?Cg6uIq)3$=_PrW(#A2|58%~3( z%chGe26~2+7%Lnywjk%DAgzzRIi0@+;Vc&A;4OU;lf(bCflX9+2?IJixTg*#-?kc*hFGV_RKd@DklhA^?^i*0R7~8OEmaPsVB*#u2`NROs~= zL9lT7{bQW4tsfvP@3e8+<-qAcv#HVZ3uq zqP$iL@!`hd+kTON>lmWZ9+h`qBmdFtY^zV>39!F;rbcme9SEEriR-?E=isKT03RKM z?(xA#@#hhNkJXWpi%7c;WYN9fs2t4G6A+A5fMZ>+r7FAc=^A*Xj(U(as(FQt+yQ+% z>Nz60g9=3I6WAQhk+uN`K|Su8z{c_We+oa&t}Ds?<4h4X7+k(=Hx&NLQ?x1IxWK~v zGr~crP68mY6JK(*6Ntnp3jyd8x0VT$r%mG1zk`4dzpFYOu)8C1cRX5BK$PdD3t4N@ zL2UPjzNGD-mB62K&eH6tgTI4YutMyn+50T!-Nw@9T{p1qHhB^pW%A(n-T|wuu=6^3 zv%73z179bM9d1?oUT<3&i;a>E;$x>CR}uSwSOF>T58=AJT^ z`7EFm($rN{b$|Up_@xPO?Ge|oeD7~N%}1?9@SQ&`E9V{Sq2C<*3Y@;|udvaTK7y4k zVD~<`9!{f_!}B_ZM2NVObe%SpmPTGjaqvz7OF}G)!X0DT$;h8{;EzGD2_^wojK^d< z2)L>ie!f>ditcN6r7DOsL$>#}0rI{G;4Z?Lft@ee2}o+}caUv-;yP_)+Aj*>QF;!N zNAi*>!e?;DP4J@(fwlO!ygYn@zbv~7TJ}v#G*>LPZ$1FqK%-tL@Y|Pb=kURu71acu zYjwVlL1f3eJiUqKB7N;Vi^(r@1C|YWhoK#|ykn5y` zfXKKhIhM)qUaK|p<8~)fvk0S!n|Wiuj|!vVw{Jnf#;32LBe^q04p`W*U%W-ToETrQ zc(}m71y`gB>$KC!s3{=Q{t_F4n1R@m4p4ppmf{beB%s#!ht`NrhukKjz&pV55Q1%b zKx`Swts$($QKSJ7^7nIX1RuSHwI#s1+wRaP0wR_f5fHUOyn3T{7T>vrRW#=n{V5O` zZ5MbqIm;BUf#bXcnuhYpCo`tG(k0u0Pt4?^Hk5?>;2F#=Ue#9*REPvm)3dI;3E?2u zOXwnXYfabezBmv(Uj4lGqgqIbnE+~S@*BUQn-b!lf%1%QCtT3B1s!Fl)5o!SV| zh)a6QP=4VGjhrSO2bV@yXl=B`rLIHu^!D=lZ$7N?y(_e_v`e7ocw5hfEV*f1dA(@A zzz=?nH6hWK1rSafDgIczQsdMbfJMKC&JW$K%@q|4@^u#CH<0n=_h<&+xtUcq#bh{F z>T4w7lb;y>NllXRt8QY)VXH5{i8Vwg3T0voa0bXSoa6$ZyjdF-oA-j8_nS9s)8N2| zNgw~MCBV?1Ue5C2nz_&q{eOc*{2JTxcZ@aMswE3%()FC4zuh-;jjb$rt|& zk!T>;ugkh}HlWXp=TlzS29tb`m82J+D&F_4y8$=#qs`z` z#Cmf$%n{M?yTP2h1aJo;{h3iEV?tjF9O)8LU{*RMje+aina!6%Nr<-CrxHsPM*!d7^*BrSZSShrk9gnG|XOXG) zpr=P3fhINP2Bt;U85g-8K@}ocDAKfpnwVuzVMtQf94IlbntPaqP*RhtXOYxACmG@C#A2s^(V{rei5DdPUr z3N$QY-iUaFWDtCpRgv;F<9e9F{^>E+0PXYn$Jk)}qYp|nY<`?gho5+Ldg+2|y{+#8 z$&^zbxeMn%iiEot*MncI(1yY=?OneXr6&U7Lx#GvEE1xm3B;x+G_4+ro6S_V_V zjr*&z5Hv*Kq$Wz!iCUz$A${uyaNIoS88!ex{YiuKVzwZR(kl>c4=#e**Rxw|6c;Up zeD5!_RQlv)4sngmYga_naKwB;ZXPfk$tI8kHN`3I1ZW0>0LbyY}sp2c2 zfGCA1e@hxfQdug1XvKAvo{JZM{s}fT0kH1C6RcxM7*7d<4JK00k)IRg->Y1@;Q9qi zujTUwBnAraV;olhwhLF8Uj9Mi#BxMP4E-0&d3FLM+x@%YcR+9H9s_}|Xu(?^{D#Ow zDf}`L$~U0F@0*WcJwdH3N(rb(OdMa_jhutO_(9?%e)b-6e|VBLi^fL+K|hkk-uo15 z_40oRa6GcoFRo%8U0#P0)?c-WgyaXbU#2!Co{{;U1AG0Rd zUcUS+GGZ3^x@TGI6_&Darn*ih#hHuFiAfO%V-F||ar}W?7RetWg+7l?i^^=~Rql{i zxkDb9Vyx|au;hN*d6gF+O}tWt{Efx_^tlYT(?d6lW>^J=36 znZ?>Ds*{^1Tr^gM(x=8BsI59`tByKUmCNVlMhXZpukNJ0&)LJzqdVNufmkH?#UCg` zwbZq;)V2Dur7jk7N-3=di{-DCrLL8wu9XGJ;M9L%ZNnAnveXr_kiF@vC|Fb|+ESOr zA^|-1t%y&cJW%+6rLr?iWoH)M*Ab0MGPKm=*-}@|QaO~Rp3n%+tc*-uNlQJWts?H+ z$G*l^_o1!sLp$Um-c=!6J*92+l(yBiw&ejFkf9BSn)pBrWm;`@^=%l=;#J6HKDt)O zWUD+-_f+xE$$v}qRXkP)_EEOeiw%_+<54!P?xd0}tKxIXLdvQh%QF8@#kYPhSuwg@ zj^)J0_uXMzE=E+R!xs7+%M?S+?Jv=NM1A^;biXLzzsIV3TUB6@X1WhrC<>h$xK_MO zL6w{fst|UJ##@|QP(`!;wX7aB6yIWVI5HVdVZqIZPC=Tten@k9}a z@I;Yn@I*N@0SznXIbft-El1>6&;Ex(20!#O)?mA;gaD7W_~_w>r9LqEfuFP1Ug8J5 zrj(MZ3gsfg#O*(4jYUeR8=WG@R*rT@m8l$6(}0ObX+tF{r=T_}g`Ya9d$~~I(8{$7 zZn(BP_fpfYng7mCsz?I`JEa2)Y4O%cu&rP{#ZRZZOP`VkSS5bJ5MZV4qHaRgEZ7#p z#afn&kVb&B^5lx+AVi%@MRRirOZL82cXNn^qnib29VT!=%Q7K;8;JXq&%p`8fw&HV zjOv;etz^zNP23;UbsMcZki!k=WQJ`4h|G(&6La&t^+V>g1F?pipKjq_vtU{1#DJOt zCBvZW3}P5SA;rjbr+d@-CU~+gdxbTn0Xlk5`Ic8$LlL*g#ZSWIyfNE0LhX4iz^7Zh z3_qwHZ}a|Vl4lTJ8*>50i(+I7@!FtbvJp5td&MaFktj#dy;siQ@2;vCkwCWUWxryV zSD_y&z~>m1MiH%v(o|ngrwQ5H#HBY2#&QQ2K5R?Z5rWD<;u*`ySrAMOc#T^YCf7uy zc|fd|X~9t*7E)A2tZoA?69v~nm@R5NH&^#2$(SqW0WQ^EZ~Q?kJvN7s6SPq15tW|s!&l88JD>Da`D{MtRhF)nganJsl2_SfW%lNL z5%=hh#Qn^mvXT1YToxc8(bT#vRpT$K0e4U z%wjvpFNd=W_K=k`uzCf!!|Iq^+XT6T;B_5Soj0Lb`?N>Ca$^1ARs)K^=u|Ukn64W5 z^n(?L)@VX^z&aVG4pae#L@Q_7dJYJWSROL8iI(7-kCtZg?Qg;pX2lzvf7e*g{6V{WzdyAb{Ex88#o`3rmo6T3e1y98JZ?jp! zO2fNk-`i|R+3zQ-=%Bi>_mgD{nOkh=F(6f8k}JF=?$<9lpQFgAFl z41FIx*1gZ_x-Yz?Jp;hpFInKvzR%A5f*hML5_r=M28Lr$Oe$Sd7Y$o_cgHQ`pl5rJ z<+ugN@7D@hh9&2edh^$?UH7ZXuMvJNUe$KM?P%ACu+(;}8MI6BG;D;we}HLcV92sj zT3InBV{S+;AT-y~agh0Mgm0tY6DoL&4YY0W6Av;627zY|vcZEwc13;TYLVz07fcQv iWS1o17&!0U@-agUB$o@jr+B3f6~w7x@tY2@&HoD|@3+bT delta 230334 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