From ceff8736f22b8c0e57d52641023b4af4375918b0 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Wed, 15 Apr 2020 17:40:05 +0300 Subject: [PATCH] vm: use ID-based syscalls In NEO3 SYSCALL opcode has 4-byte ID parameter. This commit removes support for string-based syscalls and changes SYSCALL's parameter to be fixed 4-byte value. --- pkg/core/gas_price_test.go | 18 +++++----- pkg/rpc/server/server_test.go | 22 ++++++------ pkg/rpc/server/testdata/test_contract.avm | Bin 1108 -> 774 bytes pkg/rpc/server/testdata/testblocks.acc | Bin 112624 -> 112274 bytes pkg/vm/context.go | 4 +-- pkg/vm/emit/emit.go | 5 ++- pkg/vm/emit/emit_test.go | 4 +-- pkg/vm/vm.go | 7 +--- pkg/vm/vm_test.go | 40 ++++++++-------------- 9 files changed, 41 insertions(+), 59 deletions(-) diff --git a/pkg/core/gas_price_test.go b/pkg/core/gas_price_test.go index ba802f6f5..d52a3d0cd 100644 --- a/pkg/core/gas_price_test.go +++ b/pkg/core/gas_price_test.go @@ -24,13 +24,13 @@ func TestGetPrice(t *testing.T) { t.Run("Neo.Asset.Create", func(t *testing.T) { // Neo.Asset.Create: 83c5c61f - v.Load([]byte{0x68, 0x04, 0x83, 0xc5, 0xc6, 0x1f}) + v.Load([]byte{0x68, 0x83, 0xc5, 0xc6, 0x1f}) checkGas(t, util.Fixed8FromInt64(5000), v) }) t.Run("Neo.Asset.Renew", func(t *testing.T) { // Neo.Asset.Renew: 78849071 (requires push 09 push 09 before) - v.Load([]byte{0x59, 0x59, 0x68, 0x04, 0x78, 0x84, 0x90, 0x71}) + v.Load([]byte{0x59, 0x59, 0x68, 0x78, 0x84, 0x90, 0x71}) require.NoError(t, v.StepInto()) // push 9 require.NoError(t, v.StepInto()) // push 9 @@ -39,7 +39,7 @@ func TestGetPrice(t *testing.T) { t.Run("Neo.Contract.Create (no props)", func(t *testing.T) { // Neo.Contract.Create: f66ca56e (requires push properties on fourth position) - v.Load([]byte{0x00, 0x00, 0x00, 0x00, 0x68, 0x04, 0xf6, 0x6c, 0xa5, 0x6e}) + v.Load([]byte{0x00, 0x00, 0x00, 0x00, 0x68, 0xf6, 0x6c, 0xa5, 0x6e}) require.NoError(t, v.StepInto()) // push 0 - ContractPropertyState.NoProperty require.NoError(t, v.StepInto()) // push 0 require.NoError(t, v.StepInto()) // push 0 @@ -50,7 +50,7 @@ func TestGetPrice(t *testing.T) { t.Run("Neo.Contract.Create (has storage)", func(t *testing.T) { // Neo.Contract.Create: f66ca56e (requires push properties on fourth position) - v.Load([]byte{0x51, 0x00, 0x00, 0x00, 0x68, 0x04, 0xf6, 0x6c, 0xa5, 0x6e}) + v.Load([]byte{0x51, 0x00, 0x00, 0x00, 0x68, 0xf6, 0x6c, 0xa5, 0x6e}) require.NoError(t, v.StepInto()) // push 01 - ContractPropertyState.HasStorage require.NoError(t, v.StepInto()) // push 0 require.NoError(t, v.StepInto()) // push 0 @@ -61,7 +61,7 @@ func TestGetPrice(t *testing.T) { t.Run("Neo.Contract.Create (has dynamic invoke)", func(t *testing.T) { // Neo.Contract.Create: f66ca56e (requires push properties on fourth position) - v.Load([]byte{0x52, 0x00, 0x00, 0x00, 0x68, 0x04, 0xf6, 0x6c, 0xa5, 0x6e}) + v.Load([]byte{0x52, 0x00, 0x00, 0x00, 0x68, 0xf6, 0x6c, 0xa5, 0x6e}) require.NoError(t, v.StepInto()) // push 02 - ContractPropertyState.HasDynamicInvoke require.NoError(t, v.StepInto()) // push 0 require.NoError(t, v.StepInto()) // push 0 @@ -72,7 +72,7 @@ func TestGetPrice(t *testing.T) { t.Run("Neo.Contract.Create (has both storage and dynamic invoke)", func(t *testing.T) { // Neo.Contract.Create: f66ca56e (requires push properties on fourth position) - v.Load([]byte{0x53, 0x00, 0x00, 0x00, 0x68, 0x04, 0xf6, 0x6c, 0xa5, 0x6e}) + v.Load([]byte{0x53, 0x00, 0x00, 0x00, 0x68, 0xf6, 0x6c, 0xa5, 0x6e}) require.NoError(t, v.StepInto()) // push 03 - HasStorage and HasDynamicInvoke require.NoError(t, v.StepInto()) // push 0 require.NoError(t, v.StepInto()) // push 0 @@ -83,7 +83,7 @@ func TestGetPrice(t *testing.T) { t.Run("Neo.Contract.Migrate", func(t *testing.T) { // Neo.Contract.Migrate: 471b6290 (requires push properties on fourth position) - v.Load([]byte{0x00, 0x00, 0x00, 0x00, 0x68, 0x04, 0x47, 0x1b, 0x62, 0x90}) + v.Load([]byte{0x00, 0x00, 0x00, 0x00, 0x68, 0x47, 0x1b, 0x62, 0x90}) require.NoError(t, v.StepInto()) // push 0 - ContractPropertyState.NoProperty require.NoError(t, v.StepInto()) // push 0 require.NoError(t, v.StepInto()) // push 0 @@ -94,7 +94,7 @@ func TestGetPrice(t *testing.T) { t.Run("System.Storage.Put", func(t *testing.T) { // System.Storage.Put: e63f1884 (requires push key and value) - v.Load([]byte{0x53, 0x53, 0x00, 0x68, 0x04, 0xe6, 0x3f, 0x18, 0x84}) + v.Load([]byte{0x53, 0x53, 0x00, 0x68, 0xe6, 0x3f, 0x18, 0x84}) require.NoError(t, v.StepInto()) // push 03 (length 1) require.NoError(t, v.StepInto()) // push 03 (length 1) require.NoError(t, v.StepInto()) // push 00 @@ -104,7 +104,7 @@ func TestGetPrice(t *testing.T) { t.Run("System.Storage.PutEx", func(t *testing.T) { // System.Storage.PutEx: 73e19b3a (requires push key and value) - v.Load([]byte{0x53, 0x53, 0x00, 0x68, 0x04, 0x73, 0xe1, 0x9b, 0x3a}) + v.Load([]byte{0x53, 0x53, 0x00, 0x68, 0x73, 0xe1, 0x9b, 0x3a}) require.NoError(t, v.StepInto()) // push 03 (length 1) require.NoError(t, v.StepInto()) // push 03 (length 1) require.NoError(t, v.StepInto()) // push 00 diff --git a/pkg/rpc/server/server_test.go b/pkg/rpc/server/server_test.go index 1a0108ce8..1d18829d6 100644 --- a/pkg/rpc/server/server_test.go +++ b/pkg/rpc/server/server_test.go @@ -43,20 +43,20 @@ type rpcTestCase struct { check func(t *testing.T, e *executor, result interface{}) } -const testContractHash = "c2789e5ab9bab828743833965b1df0d5fbcc206f" +const testContractHash = "1b5cbfaa2e54b584d3240e38fc4bd413a65ea40c" var rpcTestCases = map[string][]rpcTestCase{ "getapplicationlog": { { name: "positive", - params: `["e5a6be3cd796e2284a55ebb2061f85d3f199263bbf659dbd5b670a6506e7a4a0"]`, + params: `["d98e4b58783aa9665efcc5be19ee432772a94462efc8a5e4165776e6dd8c4e92"]`, result: func(e *executor) interface{} { return &result.ApplicationLog{} }, check: func(t *testing.T, e *executor, acc interface{}) { res, ok := acc.(*result.ApplicationLog) require.True(t, ok) - expectedTxHash, err := util.Uint256DecodeStringLE("e5a6be3cd796e2284a55ebb2061f85d3f199263bbf659dbd5b670a6506e7a4a0") + expectedTxHash, err := util.Uint256DecodeStringLE("d98e4b58783aa9665efcc5be19ee432772a94462efc8a5e4165776e6dd8c4e92") require.NoError(t, err) assert.Equal(t, expectedTxHash, res.TxHash) assert.Equal(t, 1, len(res.Executions)) @@ -405,25 +405,25 @@ var rpcTestCases = map[string][]rpcTestCase{ "getblockheader": { { name: "positive, no verbose", - params: `["02b9e6f634578f34c6026f1676e25aa04f58889a320fba8bc632c6fe48c26cf1"]`, + params: `["60c00bfa7f283d1821e1bc8c1c83aa534f325968944d73fa25cf7235af17d608"]`, result: func(e *executor) interface{} { - expected := "000000009456b8c7f89bdfe012a30a2be9af5218e048ae7372115ce3e39cc847c01e9e7f9cffa26c112eb147a995520e47afbc45a192d9bf1a8e9b8f80497e5d92c4e9f2129e965e010000005704000000000000be48d3a3f5d10013ab9ffee489706078714f1ea201fd0401408ee2187395071a089e3b9743b1a718fa28a8700676451317f7454aade98cf779b0afb5634a7e104f92e2df8e8b1c1b7b3b0e9fd61f4c0e9ea07ce112cef12b9a40fcb441c89b0c2047ba71a86d759bc2554dda55369798e6ab63e6c7713b06a8178f13586edf6a673f20bf5ed7bdc727f9e0c6f487cf667e505a26236d73887ae940691972a6f4ccef19a03a3d5948dfcf992af2c6a3c5b033a0f9235d2b8967291d9f61495ff1a681f240517c8d892eaa805e667bca40abcf03d441c68a9ec59deb4005890a59d83c7cb0416895e4768123e900603d5b140bf799bc9879fb628c598193db2b7a8e07ab54733c1c67b60c97a1a8048961cc0afd0b048e878866ffd7298b532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae00" + expected := "000000009456b8c7f89bdfe012a30a2be9af5218e048ae7372115ce3e39cc847c01e9e7f9cffa26c112eb147a995520e47afbc45a192d9bf1a8e9b8f80497e5d92c4e9f2011e975e010000005704000000000000be48d3a3f5d10013ab9ffee489706078714f1ea201fd0401404be65e52d50121ce243eb27f7a1c16637e753e847e9c027f255bc5e2bae45f1c99d8c1014e5abe829b9a229904540b7010ae6fb2bb57f88d70179ec617dea35440c9d51c5980e016f5cb51734554341764572b0644010952761878b1966d2b013ceaf18958891060dde3a33d23118f27ef21e991f913a8740c716c14aa19483ea0409a44efd5607f7b8f09dd4f242882713b40866c2aeab9aaa5f92b92dbaf84ed0c039fb1790888ab36d77c8b6520b2bb58ab43b219be3272145cf0f6fd091e33e540ec1e52377a56bb6e0f82329ac1a70ab06cb7e23c149bcc194fa483a316de33468191b16ab1fafb2f1a1af79a0cd6e7e275d3a3ed56f8b0ecbcd6e26f93a3957b8b532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae00" return &expected }, }, { name: "positive, verbose 0", - params: `["02b9e6f634578f34c6026f1676e25aa04f58889a320fba8bc632c6fe48c26cf1", 0]`, + params: `["60c00bfa7f283d1821e1bc8c1c83aa534f325968944d73fa25cf7235af17d608", 0]`, result: func(e *executor) interface{} { - expected := "000000009456b8c7f89bdfe012a30a2be9af5218e048ae7372115ce3e39cc847c01e9e7f9cffa26c112eb147a995520e47afbc45a192d9bf1a8e9b8f80497e5d92c4e9f2129e965e010000005704000000000000be48d3a3f5d10013ab9ffee489706078714f1ea201fd0401408ee2187395071a089e3b9743b1a718fa28a8700676451317f7454aade98cf779b0afb5634a7e104f92e2df8e8b1c1b7b3b0e9fd61f4c0e9ea07ce112cef12b9a40fcb441c89b0c2047ba71a86d759bc2554dda55369798e6ab63e6c7713b06a8178f13586edf6a673f20bf5ed7bdc727f9e0c6f487cf667e505a26236d73887ae940691972a6f4ccef19a03a3d5948dfcf992af2c6a3c5b033a0f9235d2b8967291d9f61495ff1a681f240517c8d892eaa805e667bca40abcf03d441c68a9ec59deb4005890a59d83c7cb0416895e4768123e900603d5b140bf799bc9879fb628c598193db2b7a8e07ab54733c1c67b60c97a1a8048961cc0afd0b048e878866ffd7298b532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae00" + expected := "000000009456b8c7f89bdfe012a30a2be9af5218e048ae7372115ce3e39cc847c01e9e7f9cffa26c112eb147a995520e47afbc45a192d9bf1a8e9b8f80497e5d92c4e9f2011e975e010000005704000000000000be48d3a3f5d10013ab9ffee489706078714f1ea201fd0401404be65e52d50121ce243eb27f7a1c16637e753e847e9c027f255bc5e2bae45f1c99d8c1014e5abe829b9a229904540b7010ae6fb2bb57f88d70179ec617dea35440c9d51c5980e016f5cb51734554341764572b0644010952761878b1966d2b013ceaf18958891060dde3a33d23118f27ef21e991f913a8740c716c14aa19483ea0409a44efd5607f7b8f09dd4f242882713b40866c2aeab9aaa5f92b92dbaf84ed0c039fb1790888ab36d77c8b6520b2bb58ab43b219be3272145cf0f6fd091e33e540ec1e52377a56bb6e0f82329ac1a70ab06cb7e23c149bcc194fa483a316de33468191b16ab1fafb2f1a1af79a0cd6e7e275d3a3ed56f8b0ecbcd6e26f93a3957b8b532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae00" return &expected }, }, { name: "positive, verbose !=0", - params: `["02b9e6f634578f34c6026f1676e25aa04f58889a320fba8bc632c6fe48c26cf1", 2]`, + params: `["60c00bfa7f283d1821e1bc8c1c83aa534f325968944d73fa25cf7235af17d608", 2]`, result: func(e *executor) interface{} { - hash, err := util.Uint256DecodeStringLE("02b9e6f634578f34c6026f1676e25aa04f58889a320fba8bc632c6fe48c26cf1") + hash, err := util.Uint256DecodeStringLE("60c00bfa7f283d1821e1bc8c1c83aa534f325968944d73fa25cf7235af17d608") if err != nil { panic("can not decode hash parameter") } @@ -822,7 +822,7 @@ var rpcTestCases = map[string][]rpcTestCase{ { // If you are planning to modify test chain from `testblocks.acc`, please, update param value (first block) name: "empty block", - params: `["0000000029e2ea0ec5c9aa98fa736b52750916b3b8ab5cdbe7647fb6d0b7f6dac35865640000000000000000000000000000000000000000000000000000000000000000e29e965ed10000005704000000000000be48d3a3f5d10013ab9ffee489706078714f1ea201fd040140efdc94ac1e5c7588a1e70aa2ada3450631f30b15676861e7f32159f0e0b97e5fec8dd9870d92755e76b2cf3d6a90f06c2f6a7b782248ac4b765433beb6891a4840551f59a1e88395290ea2273500c60fc55b0d33ab6c3ddd565177f77083e82aaffca3553a0a116b457d5101f8627da39a3a24f19e2d04fab7e65670fda6a50f4140576969f478e6150b128b1149dd3c8b663f27bda53a6815fe177d52abc6ad40311a4fcba14a0d9286d6cda521cd9bc0ade09a66e88059da84363512c6110f4dc94008e8c0e6f3835281690fa0d594a6f5f1914b2f047fe835b134641b5a19935a4f6b10931ad168e47f96f6bf98380c0f060d4b25ae71869c4ef9d2a92a262eceeb8b532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae00"]`, + params: `["00000000547e0fa207c116e25fd69a04b99e446e409ca23c7863bafbd585abeb468314c00000000000000000000000000000000000000000000000000000000000000000d21e975ed10000005704000000000000be48d3a3f5d10013ab9ffee489706078714f1ea201fd0401404fb770b14c4e7bd2461dbf238ca197844a724388d15cfeb96a07cb8cb52733f3f7adcc5bbd33c8dc19103116f1fe6c3151a14e3db40585823cc3ce153a0426ec40fd880f3d029e95dcb4612b40f31d5111a961345bc2090689a7462c12c85006ed281216331e1169d41cc0a8780b0befc22b9d3ba147e331acfb858675ebaaf8de4055922389015e0a96e07c9ad987eda4a642f0436843966821e620b89bf84e8ec22a33c308ad7e9815b1d0bebd93289db1828bec516d3b2ccfcaf080d2b7ea385f408005e2ff7387c50393407b125a09f42970b4b8033737e0b5ee04c1dfc9e6ad15da879cd46b3177b302ee1c109acbce4af689bb7e89978e4709e97d2db76c7ada8b532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae00"]`, fail: true, }, { @@ -848,7 +848,7 @@ var rpcTestCases = map[string][]rpcTestCase{ { name: "positive", // If you are planning to modify test chain from `testblocks.acc`, please, update param value (second block) - params: `["0000000029e2ea0ec5c9aa98fa736b52750916b3b8ab5cdbe7647fb6d0b7f6dac3586564980135e10c52e5444c962659b388a5b226114a45d3912a88700ac6b05aaaf961e29e965ed10000005704000000000000be48d3a3f5d10013ab9ffee489706078714f1ea201fd040140a0ed19af416fc4edb6e32b4687290d4eff1262af338dc8e55021a13f500ce94377c0fca593db15e29a0ee11b229d8bb48bd75203834829aee47096ff375ef8e240bcccad08d1ae7cc47c099eb4321a1fe07cf77a434841fd48a04aaf19204ec5bbf465533a2845a323710ea068316f50be82c384c82e0a5a509b2a9442c6a7909640de0a52dd615efac136971be900700ec39a84198e7d1639e880955022901a8d98ff39f00e858b41686047d68d7c18963b9def50a85907eb3b0bfbba7b2fa64d814060670b0c648757594cdba09aafc158ee6f7e88fbd2aa088a8c57bff2c8e7ddd83fa242632e1b6f82e3af2b3d0428c3936833cefb7ced1cc3c50ec29da906eb498b532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae01000014000000b004000000000000"]`, + params: `["00000000547e0fa207c116e25fd69a04b99e446e409ca23c7863bafbd585abeb468314c0980135e10c52e5444c962659b388a5b226114a45d3912a88700ac6b05aaaf961d21e975ed10000005704000000000000be48d3a3f5d10013ab9ffee489706078714f1ea201fd040140dc1690f42fd67440defaf6385ad5d77b3a2ffba6270c22aa20373eab011cc5eb46e1aeb0f5f9d3f78ebd29d7fb3bb47777e2a0793e4594761e74dc6867834f6a405ebde4af3a4fedefc33c7debf58a159dcd4a66e396c007bf9cc185f422ff449849efcbbb8d772df213b3b412b7ca4188ec3a4ac841c3374ae4cac3277e16d39640ee9e51540a5c37100e0964f279938561096df6693429e692ce39553f63db53ce4f4d4d777e00299c594f7c8095410b03b5ca253f6946e081069180890a443e8e40981c77a1d7a9e9d71e54ba3edd8d740b24b723efefd7eca87ba9e5c2abb2a07dea5ab83e643cabc20af3d2e90990e668973850bd7be723097f34a47ac60fddc28b532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae01000014000000b004000000000000"]`, result: func(e *executor) interface{} { v := true return &v diff --git a/pkg/rpc/server/testdata/test_contract.avm b/pkg/rpc/server/testdata/test_contract.avm index b9f78fdc62e883a27453f59dc2e50c9160e16e2d..110c811883be2c40caa47b771616f6cf843ec8ed 100755 GIT binary patch literal 774 zcmZ`%F>ll`81?0jwy0`PpsHe_973oP0~2C~j;IpExuosr#ED|#IH$z6bQeaXjFo_y zikUwF%CRGm_#G_ld``%5K-ui)_uluu&)?v|r{^41OYT<7ohX;8Ad#9xLL?AsmAaTUJZ8rhxUa?D0K&%#`E7T7H6I3hZ|MOVGiiumbV4XC;<8L1e#IL^BXF`Uc+HFS*8OUe z@M*RDZ3{S`uFXKh&DQ=rFk3JwStfB&(ezxwl6{hfg1#CCN-Z=>r>mO4pT#A2x? ziI((_!L+fx_zmT z88OLV!Gg8FOzY+gCH$;f+TCe82KzH>@{c|0@XO2((6xR*`7ADoV!3Q*^gSFR{S!^D BFgySN literal 1108 zcma)*&2G~`5XUz-LPZsgsH&cGtEkiNNE;NF?<)!bE8Xgh>~sV;A@rPF&#Xn`Vk1xGmW_i%AVD! z#jIS?``Z@;uyKWn!*5Qpu9e2ZH zZ7hRvs$h9mbS!A?*fB^Q+diF>J+#SWZsM3lj7r^)jU<0HpZQKGk-R0znW&(f1skvB!k=euzC-ZJ%5^Onhp-m zXk;`~@<5K6tZ(eMNsj#}V-x)Z=LzPg^MyT{dJ2GjYJpZ_qsHeN(7Wi)a-M2JGi+)8 K8|lx`LFO0sEvvBr diff --git a/pkg/rpc/server/testdata/testblocks.acc b/pkg/rpc/server/testdata/testblocks.acc index 33aa0230fb0343e4999de6c266068a269629e3c6..0cfa498641ced80e1307a410e0d8deb817a01855 100644 GIT binary patch delta 67514 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 Xh)RGl%l0J;*2w=i?X&-Tp!t6Q*HWp| delta 67857 zcmW*RgInEg7{Kv#vXgWC4%OlEc~PVEGQu3Rmy!FS@GBy8P)G zyH(b^-#kSSD+m*D4cyk9>?OdxW((cl816QPE+Z%H-fI}q)40Bkf&}aXj>KMNm*c0z z1;S#63hR@Z%zuW82kUtX?r2O|qV1W;^DPz4&&xvo0GdJZ(d?f;nAru60#%dnvywwG zd4su!04N&Oa8WdC6lM3azyzH_ifclE(}Dw^yL?f29^xK~?ZD#BiZW0yFxv7VaEBY> zP1NVT-ff42`XGQoxOr)2aLJmq5FHH+`!j2TZGHTc|7c}~x!M$URecC&vvrNL&Yv#t zeztP9kCAEJ{!DrcTG1~C+WyEDO?8#LuQ(Xr(QM-_j{sb&c-ZrJRtBw+Zqju1S!;HS z<2^NFLyc_EdGUJmJ5yMGmiICc)6|r*Vhvz49O1rcFGW4TX^c_C7vYt~eK(nKJCcs*8;^TTG=WZmx+DNCE1^*OJ|;@$}x zB@2Sy9qyeeAVY*fq^B6Qe80g^Yv=B(&Em9_+b{mg#RsZ@#BYPG4;9jJe+C~(Uf2}) zk*FXc<_spzc!@t9ZvzhULA(R|g`=-{iBL^MJTM=$An{3_;l$OQ8&5t?JdB+HWeuP8 zeR|)>*h|+XaX9oNA{d1CY6t(<&P?Y`EoZJ1HAQzdBw&V|p_an~J z2OMz8u6|ilZG+s0+>A{0m*RH^;ghQ4%UCs6gX~C##sD!$Q@U^$)O*Y=o?sG*N@<&N zV67kuDqSv*k<#7K`KD6zt>NcdPV4gTyjG84(SbZl~E6!=o?qGu4c-2Ihi5w{oax}87 zpN@i^Y!fsE84SXIbwl{;7K1qZNo}lvDODAsTfW~c^CO-GHo<_TW{)U@#YLqpXp=>x|~Z(#ZTS;3lijL%P7`#^c25r&UtbLvk# zs~KOyB5oy^zDrcbS-N~7&ej-CZL0Sk`|m6Z?c73hE3Mp#@EH1gxq;5ns z_|330qJrEmvWbWP81-e36>gY@kJ_XyH(P(SONM-L*`&+kU#Ob8&mp*bYs6Z`C()rX zQiSbi3^0B#M%ep9T)o0c*R;Rzh3WELJud8GWn5|aA|pbQ@Ip^--FXn17-YA+D?j(IId@b%S?{Wi7#UwGL=S5Ty$jmnyuHkwdWrigLSx3f zaD^OT_N<#XJZq}EB<8zwP7188dY(<@ooUs_Phz_+A~;fWIRvk)puem`*cFe0g!0_q zp}`*!ufiO2G&P{>7<*$s28nKx_~?zsa#g%&`wTx8b-_2NF!-7LNu{>bLXN=vbO^2C z;&JN&ekraM)5sdr8f`Hmbhdltn-;AaFpHX^YEIK%QSd&7qNemXXu^}E2p zz$l~rZ--F%+{rUGrFH>A@B}DCfa$}#hSoQK<1L8?ogKl?HJet5S@K}^BcLR}8PtcY zAjYXvgIPJBzGv}ZypvsI#wq)F;g{Da%uUWo){X=WmE%Z7uYZ1e)IZV1RUxPv(pp`T z&^?OGL5pvzH7kWl!A$np7=Pil_|RLLj8S!ODt&`QcbC6dTKopI=3u?B@{jdBI-V@U zc9CYAk@(Q?m*z6-9ie&oEH1v$bhV4sXwf_?8piUupuQq934UIxmLS@uvQhL8!fF!E zVx7}3y-&+fD+V;eS60NotoPm>UkFMx%R?i)S^RUgk#P>4;?NKlKM5eUeL`{8_ns$IT$+TFNZ$fnnN(b%yUY$L8&zXEDQ#GknNuUTrpLolPE#! zECFXnvD}0~f5}T8l@@mq&g$i*Fy{O5Ls#<$aC`T?$FEbFBbW7#B(wi$orMJP+cAE{ z`%udV0WO$^h3LQXRpq_$34|ASCVb?6l}E+T#Xay-ZXq}s$I+6AD>&GF=v``k;2Ov6 zCpRH4O^jc}r2-csf+EMX(m4LH#$)1vbJ!>q$j@6L)@IfX%`VOO(+dSn8pCud+YWnU#{edfbSWt~&dCz!Fj;Jm zcRlpr%F4q}VM8L157LkorCo9;Gu{|aBawY5nA9#7wRp=WtpjQ5Ll#D+CDA0j0h~UALekfEE7wz}+O4zz{gzo<5)Jm>=kUnzSwVRKBY}prdCd7~RJ7x8r(9CLK@WZSfL&QPu zSSGMyc6qTH12y0Fr& zgo4m@959IF)ehyaot4?|#j$koK38@%=3_4SJE?Ra<7wT6#d_D*U>m8=LBjYa_6;tU zG8I#3SC#c6*3UtrIF zTIj*^tzEljpFKeehv{MoX3N4uTz3Xys&ced^WXb)je0{sS9;7`HvoR>e{j({$?l)sP-|qTY1a-=X zqhH){q1G|YIv_ss&BBs@b{%+lV4lJ+u#sMyS~#!+@;e< z%0f@@!0@DbY0x+L^pI(&@RBwURqn}uRpFC&7!b^jS-zPsr1nv&DS;&|j%5S$cu2`5 zeNy-%_N?oy#;KH|+=?765g$j2jssU1W72@m-h4wtgywVGETfx<%~5F!Xvct5BR93VST34@or!ZidDLm{sihCzw1j zli~Nh%L`zsJP!2TQiQ28V@zGH&D19>#=Z@**oy7ka3(WC-cULk*|akF=!*#td6NX(N|w{w-MueCt40kD zdABx={Kod=wN`aLGqKPQ0Xw8_!oU$y zbqT8QK=q0SP*4)>ZpS~mMWRf{|4!`hqSAURuP>XZ^ZXRwdC<5Y<1|C4oILZZQ*Y27&oT5Z3n=GiT;`$C zxs+rpCY%mj@*-H*RV}QNcn_{QKHsl^o|;(eqGZbYn~R*|kadH%l8CMoL1}nN_~vId z)1%ox^p16gdb{Nfb+*US3aQud26dmmWIII@$Psb(pPWMEHGvM=A9Hy5NLWxh+)MRK zI^O5!J}AN(w^68ggO$wn(&B;(fw8m3cst7vhI$T-$@c%Yiu)^cJk$9uShsZl@Wujp zQdazk6K#QUlq-94_^W~#bRazjiu@#EM`y-+eLtFu`l%c4>d`99rcW8N3-lXo zQ_bzZ+YSPi#LE%1fj$ZPn*C>{?Y}?OZRrjPU~XmY?iN!+(iWOdkL|#Ng%)1KU9pX#d55@e5(L|z;5+> z;kn!!sehjn=x1J9w$A)xho$_|=uQt5GMli#HpMS*2K>T^58nHLl)4~E|8+-zvYMt} zJWMPd7yW0=g%}tj(N!z#@!%GiR3&1@Tw6rVnm6dKYXuob1h!J>AoM}MBRMV)+i`J+ zXTQWvu)Q_t1O_>Qs^mkXd$ ziGn?N^I3aUU__5y!$`=3LjJsl_AOmKvrrV8VUv~)I4_psXr`jR39FAMn?5# z(jO{5Q8A*5yl1hj%~1nJbz#E!E@J!;L#h`A2IFKLJh(E${J!Uheb73D<&07f+TLLt zJh}Y|B6T<|w*O}bqQnE^vei%-FS<&v1&ip?rxGW@wT619w*tXW5| z5Po+Pb3iqZlAw50cwi7xV@56ot=LOtoe~B5%=6=aKaLaI5_}7eB21}?G##M|RA3O* zD;@S6_9v(I@|Nrw$$3ho+T>qGz=r?~*&%EQ= zQ~MZ1Eln)vU2VF_$b-5_NF5|6w|E{~Po!k_A{}!h{Mgui zcw51kklF5PJxVv52s%ylFz4Sx7mJ}{v2=~ebrH|WX(X&Dru-_j(zQu6Jbn!N?&5N;D&aIj z)fZoX=nteMC^sD*7}2Ac1Ylk$AFgU4;&kcE3d04{{tA>gxb-8K{T&) zIDhH9w$Hsd?b^ZIm)5TH%?Te4;tC-mK2c<2%|{ zI7IrN#bU%)z>wQ#w?0K6nI`8Qaz??fcEDrwH@^}UMB;d_p01R6%z)HGP>$QKx{7Eh zCN}#$k%t2I8Py5FxA5py(h6h_&M{{fu2hII9ze|BVacTI`(s)DwAGmPeuLTio$0y{ zljbgMU+MCAb-}oJB674vZ6^XFVRGAK5MzT=XoXpTm`KWM&_m*Ut2^+8rSV-+wqtZ4 zrc+Y2)a2sjpVVi*Skem*d)P$5%9`>FR&{$(f0fCnB{3Sysc%qR&a9=BC$L5!z8GHa@AOgyEan0VZB*P4TRGk`&~uXec5 z{uesPww11#UrYONt;h)axHAEcLVbFO4WQOdj`9>lS2L2$W2z<8+|MrBmdXDJ<**OyH<%(&cB3KD z+fDxR;KKuQLk9u2>w{ezw3+aH)t6?K0|+|gBhW?uzSacmw3Ws=Vaek?OnTw31A8o( zfCfWT5;)7y9+Q(m%3TH5s-r+!w5g1E;Z05-7Hy=`E!+6w8AGY~AtykG5f`S>&DIc3 z5SAbRI0!G{b80wy2I|105dG9j;Tu&XrFEVkJBddWEt(R6{zzZC(Gm}wkL9S1qiY!9 zdEGjoh4M*I4JJJBeUqma$(PPXdEr^Bu;(dALZc*{sSQZfX3nInm-}M^G@Je??#Hzl z5IR?42ypw>AT_}wm}hL9tB zQiSS%*_pH8$?ntZCs?0OttNVUP=<%Z-005ed3{QMsh-PjgXBg1s?V|4P>oUW98H^S z*W_UL)Ul_EZHm;!z|l~*fP>~|AJD(D;{RnuoBRol9CXWDnLE?s?~PlCVtGr0qOq0` zcy|*k>3%8a=QRiKul0q`&OSCUsOy4n5k6WH$qtK%3bT5 z#qInFU0RNN^UE^Y8Rg8+bE2mo0?kpj1#%t>e3seY5Y%ZJ>`#Pkbh@Dhmo0Th%;iHC z8Ue2R?=?bi4J6J!yM+5;k-L6PZ*z=X+VqSXQ$*^~q&EB_fWu zw(~yfu3u^4k6u;72*# zRFXJiAK_#WS~Y9&8#2C5ZfKF5z{drWlK7cb_K($#4NtbraNzfjaBCho?sBTqvmLiU z<3F&uhH$@00<;PIPRVMW@X7WJhG&M!O1blW)^T&|$J$DdU8uB=ZSSN+ao0V=D=WcY zR&IttzvAB3H{Cr~c;l|*{PCJgJA@B6SJ}CUMi_=cGkWMB<7+#sy{4c{7MbIP@_8lD zNcm1K81&t+2zM8>0>G!1Tq!_K;`*nw^vrCs2AaI=QIG2mH+tKb^{wuxdo`yb86$aX zr?i=FJjMF^bQ;}b=Rca{)JL;YZ^MWAApi;xQHnVJ7D>H4iPx!9*ED4)Qhrz%-Y`ML z(mVaB=n&ZEZ3>4S?`*))lv4^_P{dZdO+6Z? z>ec6YxyvYC5>`cVkZT69&USSN?8zn^WGW57XJ^VWO^*1my3Jqcn5q04%QAVf+eGV(##Y zhhu^I{lGe=J2PVNCiKyP7r(BsF*e@*9>On67|Tnn3s?1n@ibR2u|#vNx}j(tq>GFA zL-?Ov92XvV&GiZKY18oQPxp#;Zxq=F1Q<4=DicIa>BgQpewO=AXdf3C#Pn)M^w+M> zYl6$+Mmk7^o6lU#{^9M0(XpO+75VLR3qNr+0(LYNd36e|eJ7CsC!2V`)zCSoToz5w znH#KwV@6bo2tg!(u4}NgIxej!>_b7%2!8499iuTrT<12mB#`VTd@17$$xlX3i=_#q zWQZ5q)$6XsO+<+opW5P)`*5g8-3MVX04`jZvJy0?56`~4cIz}JlqQU;_>|=ATcPR~ zIH-t(V}79S)pS93&QAF8XFl($PyQa$$!B)}R^mp)*m>@G%NvM->w5PQYDOb9>tL9s zJ;q0jyY54?`3w(rj8ck^n)RNNZq%If9#t*M>G2|>nmmmQZWWO}P@(@& zJk#K;j~TC>1x^Ssdd9*WO!qZ8ZJkKyO8%+0&N&-&rM1GO@;h~xN7f*P^Dr#V%mg_& zS^X)C)5jrqqEB?nsdnHz+cjY7O_c%U4rp1*o3HZg5cee0i&$E+IA9Ru25#M#L3T9WGffbGsCdtwH z|Ji-!!vlYo-R4F9Y`xmd5@v!OU>+Ea^ zeqxAA-np-ygu+__n-(v(jB5r7a41i;#}{hoiIJk3Hd6Nuez^8!(kdeqKi*)WTup!8 z7j-m)Z!qySAo6)mQfXfy6gV3biim`Gs{qB*#8NG}%D+>es}Fb%j;yu<1g9z8%nusK za;Uzl#nXR=;==9_Jw|y)Q0_6!VF|QaSP4TWD%B9v-+|b{y`uneM}=HVHl~>4UOT2{ zNc6_&UFmh}vP{*NRt=XU>M4!gC?EfL)<$|G&GDvymetFtL<+Pj$IWh?xg?OHxkP9D zKe~1SJg_0I4eRgU%sTC>;ka(=ecrB-1}OY*`qm0$_O7S2}D#ddT*Z z9s9}wdc;SF?T5M2E#c;u9IMQZFJ{Yt{w5Xb*@|pkUHu0lBvrf7!CwI@6d6$1f=16` zN<Y<)3)+O-hUAmwrL09=)t(45?-8>xb~wy0DgUO$!|_6A&_U%73` zp6W@yPR()&BoCqJdA3UzW(H40U_lb&fd4+k-OWF%m`}Z5lilZ3MDPvSjsn$kXXI@T z#Q$1(|8AlOl3`gX=b)e4Jrep`JeObBGuf@B8DHjk?#zOsCjr=?D2VtZi(%fkAAq6HE4YwL_?L zt61EAhgEaSsbApzgRE1>-(VnvCoVtJ7C%U$mdHlzF5?*(9b{Y^tZ;^yXcl`XdQO-# z6Wt@Ur6{b4u>%q?#9Ng-M1?esrC2;m8b+=eeo`=!zM~KPvP(Ot4G3fis*Y^1W4h-k zx1Wv&Qig}N9vrjAiG7eBgsLwxA-oGf&0{?&7?0QnMlc||^M+*ZTAy2t$#`ganH6T- z_8bMVsu$l=q_p!_T(jTuGZ-4`LAhV)Pprl4|<-XJs+7BNO z{Ut^SzO~6;mLz3~mAb9we6y27`Nv=5V~e*IIKDpfs%-WK^(7i6o2XF=_u#m z4Qle`!e=jT#YFQV?Mh5b;D z10S)8>1-!?8BxVYLL^Gh%+LW-uu3f2Bf>x_tOptOY*RgPMT8G*!k$bT~5He zxO9*H1*)8M^sN{pADX^^YjF~>s9V;?bS8)Fn8NP-Tfj>>VMLt3yGsWocLKRn`blyMt6iJR{AozAD695KrzS>d#wX?N-PfL_K z?fD+Z;Y#PqX~S7AXvxdyT-B+8=8kSu-CK%g$ZVjxOq_!`A#oI?ka40c$s3q9jnn8t zzSmfKQw>~7JuzBH=VP*W+-=pgB2WL3&O_7l>XT1)IcJ=Ag@%eUIUdUiQ7YJAw-cUQ zv_27?Ib!?>V1pZ16jdWrgg9{kth0xII2i38{0+$os%_w~o){v$?77#p%KY@pC`8_( z7L@JOe5y*e?~iRj62dGhoh?uKIC~!r^FzAdXO83!23S1v*@<}fK&nVuJkT^+^T_k1hQa1}XRD@cq^xB1}-Clenc3Cn&rds=mMu4})MJ4^wqV*({|FI-@ zJn9MP>inK2ZZdVof76|@l3Fzf{%!2&H&6Bbt*hKd*oB94+qYGMBPUonEL)x*`<1H? zR!8BAtaW_u#QQt^5N3#V8Q^nc_{(Hj%|KA*J!0OT&j4!Htgt*bO0{bL=`l9N=DsX) zNKW~zq&)$&C;_#{u`fClg+)qCWGZdC+niwIBh zsJGU=FmAd03!y@z8p#0;Ka5pU;Q}cM-Bp)k~53XoW@mN8C+0#88C?Z)sE_~om3)E!tAVi)}?*4 zQ#mi?rcLMORL0ji89M>?4eOlU+9AT$gKS$9z!a{2*oNZNdkQDuMqzhBBp*BYni@?@R_Ugd5 z!)o{*tW&x6@xMZ9l@-NYB@YG8Ll8a z9OIBCS?#Q&*nlEPlrrZ%0wU`Bjgl2P%QnUbsGb}c#Pe!L{nzdzb7&l{y6f!Vu^4*G z`y5SZ_R-S~gXmr8{QSdQ>f06!=(CzuR!IB6AZ#5bF*`->1&mu?nt@cL;Gdu?j7V|7 z*WxMk19hL`uu*x8THlhK>-WkqEmAoo!*_X1+IVBj?``)S@ZJhmNz@(!4ux|n0>IA* zQ1%O4fP^#D?iwNq0%*r|ko!a?h~=>i7#mzpPU^DQ9xYGaFgR(p9tkgTkBv1G1)HpR z{al~N3X>R^+AwEau$RRvs%|2T@8)(@F#*UL$-C$LJ|WQJe_XU zQZntdV1NB;dqlo#7lm;Iwm+gg{zvqs#KRV9s{jV^zS`0JwbNVB@<_W^i~Ta>Iy_U% zfEmpJfcL@+j9SnihAYjKgmFJK3Q7B*#TVr*&|GuWBT`QGq4#;p}Yp?MLLl_XCsKcSJWPCDgy|HU719}_R?k{ATubU?eri*{Fy zLmz~ja!OrFAdh3f@PxuXey}fd@dQW(;-c9_Gis}V(f~NN9)!33D2@A|{8HLZdS{z* zZfVK$pNyU|9ZT4x(WJ78G{wF?`%vvMfQ280gS6b=bM;n)E#$n5-j_h`C-Utg0o*xd zY9SK;1d8;gkzWdRcl3m$C6$LLVsq@_pjXMB@l<^@NHGhgJ{j7eSPUMJJQ647jc`bF z$iGslkrZ}r(@G`&F_h33j0tX-_AQ3KQv!qdUfpQ_x@A@*2SsyEPC$A-80_*X$T;1B zW+OlHEfl+#Nq(~!nG;Ck3HTtI$(3>@$1|t!gGo->DTcn+vh%KLYW|Un7ZJ$LpIs=s zU>};`$P^B^`lcWlBpwQDC^LNSwJ^v%wr$wrADJ!HDo!mR&>Aqoe1a4)T1gx4PtML{ zwbz$*2nomqxX4IF0B97V-1RWg`Gz;uLI699f4`FHw%qnmCm=#)ZhuyYZW3sY?uo=8 zl^P#WHx%gUXDTdNt~D)h)Be&2%&U`uH#u`wZjY>OKEx(Qhi@U{V#{_Ck`~g9HxbY# zM}DH3x=m2{4E}hl1>b$5C{0Ltz|^=m)wXaA>K?o+{PnLnbrn3>%X_v+Y@{RX%&DOf zx)B`ZjE;7VhuP`kQFKY+9?)gVCDIbvBSl;dC#gFJcA>~0g@!4lG<&fJ#hAVG3K9+8@RP((zx`7pB z&einZdxart^{09}rk&|-`j!CxfIC@ad)jujPKeV*?=ENTik~v)FG&(fBbGr1_|yhI z-YcB&mG03dpOLq8@U7P;pwqUAy_^A$!SwH#IS|eSzy}qq)N)dW*Tu*c1jgSkd>_d^ zmSWP-Y-V?~yomN9#P;^;X=rm&(WE?sd-8p6po~8J)aqfQNvwe-L0C+*D}Z|?^u(fG zE?RtCSMh9PrBUF!HTyZ9ZFpOh&5cvqPmwthIk~KZV+I=?oQAAqJPgvY0*2)6{f|r# zKrgF7A@cuN&D8K@=~Kv(;y{S%%9))XHvf!)gpA+~4s_U64T5h`AVjn7e+V7lqhlv~ zsEl0Z7~_zZ($3%8@(OFNgH74tken{A1zuU{|FZ7SFy0(K#r149<*uex31kYjMz8tt ze+xg|O`i-c&4j?7PeC(5SL~199x6^-)3@j2sbDM9C)Ioz2mKs{)`KV?*pQL9j zH-vx)Q2DyP#F$0rBo1la6$!uaL#GkMMyK=R9bL2K9LS<*w&zCL4D{PgmCGUHxzH)& z3&+Bz5311l9U|U$rli19y@H>j>A{DPTRrEzn;&o6+Fs zQ4KB8n4Py(zm`=6hEc#+ArfjAp3Y|cn49VR zTy_WNzuO-CIhJ!B`l8$|3@y|Eg9Kmg82;Mjq=!;hdr_MDZ~NeH#lrSu%x?sGcX|fP=&DEoXWF%quwkS$XNRFNb3& zR!A~=PZURGVM}652Ww*8&m5%xt|&yuzIur>;z*6(mA}eFZV6m+S%S@^9hT1TXNd%FoP)BXK$v`M`Wbs zFzLAiE2|+zwAIlZGm;9#d}ro1j}M+8Bi?!I;D2^OT6kc;S~K~vh}Hw~-(pnH*RzIH z?gpMNP3qcTzuv#ay`G_g)@y-5La%m=f9+=BYQ;zr@C|A!1yczlAH%U}EC$T}9QaTo zTlukph;m2{9(_-*TKF{zNZ8O>I4eH!nd*NPF7NY+O{JdTTZ{t+#{eFMgo+=N<9a6R z53YRC@)4QlGa`Wy{NnFl&)BT<9$#iuF}{dc6(~z08~T={|FrC#WyP3OUcG;zLV$$5 z0TxgZA#(j=H<<=~l;a;6dQ098ynjK|m8 zlIl%Ffvu+noSKq5Qvr{v@}!D40fF}>71DOW`p65Fb3!uOLMlP@L#C-R?%X!{O=4ju z1;3)Vp=YK*SEDTj(?=z8Up zcYS4#53;xnoNiLB5uX&aR|gCdex+mjOGhj4Asp;M6oq~-?f#ZNtt4R_K4cp@@QEdB z-5<;OziLKrA8RQSUgv|)9J+PRJ3ram>b^RdZKzqs1v_y=XH1a)YDB7DZZqs!U##S z09J}tcD~JNZ0r6&GtcxAfY5O`I1rxK7K&xZIqVni|9+odgfJ!A_OiqTivOyUUPpY! zac%m8*>|YRJ>CCXgAKr|{9Ry3i&WxpjG+*KtRZ z?;)k(gO#2$xO-kpxc1V{c^>v^Mgb%vZvTPnUv^n~c;L2T4Si&E>+EWlizi}e^{4#X zAAQq>!3xRp%SuDUVxiCpJutk;>y_2H9z8@R^}mo^Y7}Rj1q7R&QHGR1N1s(c_-(N4 z{pv|s)6bDJolB&eZSY>;6G`O1B@#TWpkEyjhVlnoJM=Zav}lz96|B~An;(DLzkzQz za6f10nDdn}aU4P(5#$^lyL1s$kNI4E*PL-np~L$QY`wsz-RiDwvRbV#U!OM>l%N2? zJ^;urTF#@?Lap;8;0D;m_50tgI#X4wL$Da+OyjOatA91|1znpfH;HAjKk?e4zk#ir za4y*&V_6{JqidVw!?^%j%`)z6#gaOB7=pQe&(C*VS*ns?T;cNz)plcbo{_J;SLB|| z9mgD(%%3l;{tV!=`m9{yZs`c`@%#W`Lr|HL{?Sz$;DLql(h@!(SXFT8;m=U4xuTok z*w-?|Op78g){m*OYNA0`4Z!fCd1;>v=^-k6?KrubZq^%#B z{WWk4}V^5?wa^_H{or${RB)9j?B=ig_TD`jIt74QT_ z$$~~Y!`C-*n?E6+m;qn=l?1u^^p@~mJ}{7)4mNu+MWI~MZO`}ke=K4ZqMESJ21VQ= zf^^_7Z-ki)%cIY}zmG+!Jn)OWBcb!xAr(&21qE8fHecxg zeCq{QtwTdD=c?n83^?eK5f~))IJBnGs1KPwa^6y(a=CjVA%TfEIgoS) zU`Oq3n{+XMI3u3&!5sR|)bdb+$(l#v2|u|CHB{PmqtS{zkrw z=3LWNb%k;Q7;a7isQ`hXT7Aq*072vJwA+`@z5kt_zR)W@cT$cNf178Htic+J-0tpS zowqFK^LnhDocUwz*v1YL~{c?H{)t3exv z14mvR`Dw|$h@}0_g%9+>1Pl^?wPX8h$HJI8Nxv^G+1>LbFo}x`TmLbQ(fCU@M zFB!p3_CHT=5{HDHmt=zFAlHLTH~~5@nH0UL*ip!3VPCR{OilzVDK4pwr7VNRvaDPX z)p2%B6YokCe*t0?I+D3E47NjgY3n!PL@%V@!V5(FCE>-CY*5QZ1AgoWByEgH;*N!L zpGb!%_zUVur?s&&$bVuT69uv7ay*9ov)i%21J?pxp<$vgg%hf65w96qJ!8w4=3o|a@Rt!$*nD1krxGEO+76(uis3tCjh!q z)i92J9*u+O+SRHd3feg;-EcJLqeU1_+ zB{rC$v!(QVVeuoa!_Bs;j>nV_7Gu!<)nB3 ziwKtD>oFV{e0q@AFv{s&sa^hwt^mQ2CLy$%GY$NeJp*>0%ZbxIa_wil!S_Y0@1@n_ zNjV#=+9h*>z^EdPygzM*BAKa@M13dhafHG~C0H=y4QA48V@OjSGWc_4c;A?NXVxYwCY?msWV-=@A=^FN9r`nQALW_o;$s=iRl~om_NF zGzzl!?Y3BQP)2JoNb=Q=^KW-2{zU1=_*MAr-5OI)F~zAcmtK3;JsHXrg52c>|K%nq z`(12hPWQs^{@&~0OQ;sd)-^dLU-)YF+l@QNDR68XP~i|O)4#hti=Pn0FF7SaA=wru zxVuBSExgbeSg3A(mDH8BxfQImDG1gPGG-dwzq6h40`#fs7vW(e_BU zo>MU13Z(&D=A7ZA&dif%tH^?18KhBIB9#4!`qj$KGd7egY=sfVWSWN8`s_U68XL2R z#%2p74nm47byBD2l7&I%LLUAP|Lovx@xb7Urf!2%+C0ADXKAoE>N1r(G3Y!8btisl zS=v~APyi}m3kFHO+Hw80BQp~q{*1C({cW~-xqf;BG(42*NZ6Dt#By%I#*rC>SP?lm zXZ`!gMz`@GsCsFoqZ5bd=!ycR?c1W~taLv31qh|j_qWLF?HtvPNSH_~U5z{e`FtQw z`N9w`Z9~1u$l12+<&F~OZz}}z?IeMXH3iYTkj1R2;GQc`kdA@_((MP-cuE94rHC_L z_%qy51~utk*V&DCGJJoF9AMNF%<^P7nhyW`9k-3~l!&oOVUm(CmyGM4rprk%@v7@V zUtv@eXkr_IMS~1_zBTIb+DPpvY>|%bs;TYgV#eVe_;$^asNvm#h^5Nlvl%e^ZY_W{ z3EIv@+FiLrF5qvB5Lzh|1NHoz1jVt(1OGH=dXC+(1Ynu3VTzO^(v< zHlBFHa|o5Q2ZN+v>A3&WIiJ!F#H`y_ja<~VOA&+8{5B`vfZ1X|@Oww>>Khb{dR)zLj(A`?;g*d(M@rNe&tDM;9dQm4ZWY)oZm=vaHIJxO zTD;p(T}LoT=GBhp-&Wzmg<4p)mdh>sYk})+N7K3-!qgPlHDFh@Xo)Vdp(F9ZTPd99>yAjd&pC?K@Onm69}>c+G6q=GCyuvcUr!<2%g_Fl zhdAeNh|}pcIjYn#IjX9MnH9D*S2uuIHU_7G_2+`^3~FIrlm!8m*&@P%RGQrC3Uw~& z+PNDZMRTyFwZo8?_}gTZr1{U`onnLrN<|E@BGqU-q7WKkAke>&pUB55U4P&<@hryK zVyAmlNUk6`vhcp9N*4x#B2W-+a3~+jx7Rp3T|;npB}m*i8CWuGo}A-#Y!KYG2Y43E zl(>f<_2N28HyK6~P1w?e+B6fdlm8w?xEARgf~R{M(b=Okf7v>g)O3SLo`;1F5+cW# z)JNQT0HvhdiqZXRPQn#W*61ig-$2BOy`ak(>AkDjl1driC~O)PmYCQ$dzQ$7$S>Gc z{;hP#&}3&eRBs-4BKFEO_WDW*z5U3xb5u@_UG9~Y?=P!Kz)$m@ug%Dx(pmf``XDXa zHpzbOA&j9POYlO#DS4vT-Dy&O@i{AM1i*uabc#WnMb-LEGvlb@wh>-h{{{CySQkXm3o4{H~VLrR!7&1F=In-_vT zBhddR=`Pr+dYS-$QWUGIKV5Sv>#*|E9t=suoW)6#&_ZKdzv^S`Fg^Cf?RHXgc>5! z9w@mgDaGGMgGj?lR0<8gW(07(aI=vT)}vz%_4ZpA0+0tmY-&hZ@c*&CcLvL7LLM5R z@xr#8e*M{sst%KN8k;`xk6SjXti5PYSWinn!Peh8Rk|O==`tW>$3^9IBUM z0C0iK*!bzP4@~>bIh_t&Wdp|1GtCFshz`VtKcaq&D@oMJIp$Nozdn>nT*bTl)0%ME z`>Q6Rza)4;yPO}DPPgZY zp?&SpNuSgj_a$?)m=(v9{WXd;%#Qb!nY`#}B&!jM>{0HME|$=}=2h?scezM-;jcOm z02Qf2dZa`+8Pia7@6q&6bGceA49&{hX1vC{epA*LhWa54<5XgghtXmqPcA2`bD8(O zArq;~%XMlsQg)@E1I+Y$BFw=Z3{e|f`D1A_^^`)(kzw8|p-)5zZjmk?!ZXbt((HrZ zRfOfaLqPH`bOQhAco04?N)@5o9xAT0Bz>o&kOdo0II}6!>q~D6?RwsAyrEkfdSwN| zgXR`UmHY_)G~a&INTl1HboN`x=T;}26_~}8A>?b&G#?lVbq|duk+rIgl*>fZB)ch$ zHU4&g!FlsVH;dciP(V7kT=vi#7c=j6D7Rh6KXsM!n#;8qioXj)`?7K-GvE}Z>Pp8> z2=Ln%5twLss>F!Kx!d7rDxClLvp0i%m8px(OqgE0bR42FQg9)D9H}aQ%E?i*@ zkfJ?+hZlni<@|(cZ7TRxM3V|pZme-G&<4$iY3S3n#kF^*bQ(%^3yl{2u8v6_x+zQY zveaCth-7dD4SkjIi~cX{{5-&r-b&lh^v_*%w0HBSn#y(q*2ILQQj0ouW7(<>^-oh` zuo@2tNa4j!FfGXpo)+59xi5EqcB6Ij#eKBmTeul5HFj}7KBJGjo7QIIxcq&VC=DF1 zcNVAmzIi&rr#7COwCd<$=IJejME1lpSOw63!uy6Z2L{%w*zEES8(6RUt)WG(3Nm?}f0OyJKE*cZ9Zz0&=KB?x7l@0V7n3uMH0!g;gk9WBF z`m~<@5|69SZAcsIq#+L)KFBz7-q25h2Qg5^u2*QGd@ow!PR<(rTd!I(7X7W9cHjQ)0oN7~v7m_$I|)oC$4L^f8q|*{K-xDv@5uryBq(GWapQ|779)Ih z0RIU7MwcKW5sQd1|1<5C%gY<`Xs?$8u%8$B&I**N*Dz2Y?ofL2h?b1Pqsr3WX-!6z zebCGb>-2&kD!x?vHofSeB=9E(6K9yqw}|04BH8OArDg(o^UG)+Q>7`L8A_bp92|5Nve3-Hl7=7R1#H zsgngzQ%Fm&WSN$wwa=VB9zcSlS+YQ}+260hS=z&u=W!qGz&=`m`*KjJIp-_&*%iaV zUGQ0jxtkhIZjujF@aFd2-G6bH;RA-8QHx3oVHgg~UAwSf;Pu`?sqHeo z#vk{;p1K-IAIKaq0Aoz#zDEj$F%|VHkx<0grFk>))z%xhC_-EHfutwylk&H0OefxA z=*vyt1PX-# ztfOrP+Gb4y2|%8pXH$&-=*s+F>hn5B5A94esicKr&>?b$N0tcs;Kz?P3rS7-Gsc-I zZLk$T20b5a zMxYyYW`0x;&+n6!b1Ts-%#O{k<=MHtO961iDu!jL|DFdJ&E&H^e#DU9?CWHM^H=%4 zRnW64>nx3z4xjmvwgC09l&504c73DWghilePmSWe694a3XQ&Vp5Y_Qi%frG0{Mf5XaT!o7K`L(8ljJBDpG6C(PTmNd!_vUTNd-{5^ zZlKNYEDnHmP)d*WLC!icgNIN>-&()tu72A%BtJ9^rO`}79-~~3^4(n-jov=bCNS)J z?oSOeG4qu|0re)VB+~q6*Bk(bj479~4v>Z~&9>*4t$TYb$otDtxKG&b_ z`Ox$tdr}`193qI!^`G4!6bv~pRt_+0G%1lm(|o#zKIYLHbz$bSC~o*_)#YeK_U6I< zLLngK7dx?kb`uY^zj~?l=ZROfiNR?k4>V-`OU{QDLGSkH9U={$;|SK+P)j$|*L8Jc zbFr}uTHiFs1W1;Km4!G-2vw2S%>!r%ETUI(7WFyK&E&+tFf0~mIpaRpKbBg&L7t$; zMs!7Z-a6I5UBG|s-8v8UCKK7`M+>z74GO-aVkjZ0fz~GgknAJDwIyQ)tj3E|@&ap> zZ+^M#!|h)ylf$2Ieu+)qB@-fSu7In%2#uVsfb{!3WOG$2k+jw8`^f%eAx_#tKyb+( ze((=ZOfAk$ki5KN%ZB?ZQAT`H`R^U2*nr1N-P;m2?tXfL)VM;C_Se1UTlw-S?pzZt zGmltrK!u0n79RiE&3}BU9k^xpC!*G^Dg_W1D0PEVIG$9b?x74Lc@_RM+W}$(FtlI@ zNae*&{GT1;RWgkRBU@@aO8n8ahqls05>|LngV5K6*WK;abpDI?eP|T;@AcE^mbe-l zHD7JL(PSqa2$<+}P}TZCaAo!bINEH%`erF3rs*hf^tf`$cdV{gBMZAB?fhluQe^po{mmt3Vr7RnQtVw+d*;$sMf=S{z?LwouK06Mvc| zM!pl5xoAkjty> zn5z)vZWSW<|LcvN5HO@qQQj9e<@@*j6P734{JwJFl;X>_v;=C+exy~m%;g0m4uybJ zU+jQ?c8J8@)D^ke7u59elw8%JtY-m0n8kq3q|SU03jZT`0jGJn>HDwOQwL$V2PywEx)|Wqj=#{ z(U&uDRP3bBDSvW_52>-fmI1POs;KUSvjGkimIY8FOnW;m7Jdprk|?BkyKhPBiVLgg z$eB-xxr%5#TvhMsy$>iP{t{!~ZBxvGMF`kDJ-^wCGDTJ{E$4tbj3@(lnwiEnG-fI` zqNBWs12ZvO#Mg&afj<%IKas?BkL#rweyD7(k3-#B_2ZJg;uKaG#$~yFZN6-sCwBk} zqSc;g`!DV;!oZMPdqyy-)wVqCQS-eIl+^D)B>{$jp?9a1pG22cP)Z4-4~Kx%UhE|P z+1-pk#GOf^wS&E;3Y}fVOKaX9cosUEn7(cCr}q;UGEkvdh*V}w#YY>ivex}W5+JUl zIhQUjs!L^oGcrlGL<}6`sQ$cZ-1CYbXHl@Wp7d?bNv?v0B#KK{6th%2#)hR={%O)M z$l~)(m`Cf{{&*@QfV&k*5hV3~yx7SjCQq#pY&_Bv}*EweCtMMDi$_BG8zGmI}10#bjmll*75 zJSGZOrL$Ry|BG|0?Y-c@_(7NWD>*c!!9$L-eDNXM9A}sUk?ioK^DhpwXsE<*>3gX- zWH9%SC5_KPpL%<30k{WuHTX)>WCAeHvL!6sOGl z^|61^p<*3JIW;>0=$*APuRM_|Bv}yJxeO?K_G-$Z6*0A`F9hShvYz_MM|gjvQSzP& zojz_3by4+sOEP&eukED1cl_E2hj3$0XDsY{m&Vs2>K@Deb)Fn+W02 z8$?DgeoM9bsX@oL|`~RWlHh01xriBY8e=b_|=$W z8YkP!&iGX{7}AAr8hgQjVBM6~u4hvQ-ofK9C_D0%ys!M;&A&Sk?*x;HhJZ9)?434)i}t~f`+9A} zyklSlzRI1SDlYn&v5bL+hsA%teB^V4R&xP$R>KF#+K6FTbM(n&vE<-J4hs=~deptW}Z(pUXa2Rq4g0zy2_ z1CCxZtO}>%#ix)R6>U5!s?aQ5W4a^pzaueVfPXa@Mkd;|a5dg~>tV??8yGwcLa2?` zJ%%O46hi*`SMT#3<|u92rJBK;$dGxf`}ZRU`_HUd+?uE~RKj2yu@I2vi<|U6H-&eF zSS}6749tRUm{1X13rx94@o^-Ju2PZwo{|Fn;3IH5d|(Wn-fTqfovZm^Qi699lea;jbYHw_A}OKEPvpHaoyR zxfP358#3=!396vXDx2dxCjLPMfhscr_WK5Auj*2lVqH-)j*TQf-sRa4<}dR5Yx-lp z;k*i`AXqqu7tC+J)iRX@E<1_BP&N^6n^JY2yaS$&KIL8C0*Q(bRF~%9UIMBZd&;V( z4!H7^5b(mD*0`P|&%GM6AHN%9TsKWxav&Q&-}a497}l(hQLK9$T;1PxkOM_T`v3PQ z?D1fk)M*PoOv|;ylHuJfA}F>5gw`|pZr%1>Ivf&_DAljuD#~)N4(h>8EAy1ndk?wZQ;#g3cOj|cD+I7i3nG=| z-z!fr)q3D)1rXnoO{KyRp6o>5uDil<&R?s`G-Jsj7^U2lJ9W2j zYxfAPML6Q6pc9|Htm)8?CM;trb-z$n{1()hJ%U7i|CkvtcSKu~;9Kn%*0=vy#r>zq zdpLf!BdUhea?HeH-hMOWxpjJO6EDuWZOCJNg+LkcnYv!>OKfRLvyXV|(k%Df=R2ls zh&j$4fTNwd1!(bFb*PqVQ3RXn7MA)C!;|^3J)ZU4dCQVG`pvxuAt7tm`3o&%Di)xl zy?$oL+*cd#{1PCdofG^v&qFZ>sz(BpVGvUXN^*$q-8`lnX-L}uvmaG(><(WUpBBMK z9ZeeP;e;-R|Fxs^ZU&ZMgeU?53}RK_Yh9UKk0zUhN7 zw*1gaBjKhd4! zyJRqg%2c}ytzR7yG}b46oVA@;gK>Y>X43RV;$-aZTO;}u>|-(nr1N4Y`_C?ox>4Pl zVv|1u3z*wyRpbf)$RSfgURS%~Y83?AMr`D6H!W=FSfB~K`Z}>+wb2bXJ4YpCBGZx~ znKI1_6u$uTmSsA`18N#%Q!dVmM|+_{i`%)Fm!u_h47h6#)vCdTO3Vg0$4O+X1~F3l zbULa(X#XBZxm@ejcojNH2_+x{OwZmwQh!O-V;djM#bGV$9;|3fn5@teB9;P^0jHxq zluyx~TPh->BTPRO1=?#GSHw zrjy=UQ(}By+ner%#KxYnM2sSQJ&{l@bi~s%W)%~2chi&?{u!_|4?1di%J_d}-yj7H znF6Wv^EL#@d5*_wP^Y^ zwTLDFmwaJnSTmzk9|iP23h3xj(~ikd)gKL050kNHK*2Ci;yj7T70Srj@g$&hBQ}3qD_0&4U?l6^T76az|=D$ zlWbMeFo0h<_yse3l36DG%_(U%^IU$Il+W%qov8Ff%c!k5PppZ zY70C?jF!gMFl0o3@`?>S=Gxgy5>uMBe5Xbp6k2uSb6PX3==XHGbNFoWN%XjQB( z%HUf+r4g3EvZE8=?5SgNyQ z*K&~3%nIWTi{V7!&%yatQo*tYcvPyy_RpOtsD1zuV8=J&(jb%xq**CWs^!omd zg)5y_Is@u0x24YtT#t@5EgIjhZ5ayvLgH<#CS`nTG+XLGi*a9O|Ns8pHysQycO0nZ zSWh(7e5z6ybWoer*IOR=&BDEuk|6}|E+JU}t4@a?>c14Nrqk)54+ECoIfw<-M9zdU zr1uzEDIS8am+joI#wE6=`iBjIC?_%xNSN!!>Kwd+-B}6gb5iHh&80vxbfd|7xftou_0MI z40wZw?G+l|up`WDh~T&s{QO~3X-Y8?afO@!2J83?K{R-w+xSce^%wrK+=)6=8h*A6 z(h0{v7Mi#Bp?aiLwH55+_WD_0{K@dTw7G2{F2$aCNg*UV>xz<`ghSiHB(%DewC6TJ z6_EX0vSH(?Yn0EETR~+0=2<-&lPXv-oVSDZm6|q1>>6fjWwbad2CRueJQ_+ z+e}D5QJiO-LMapgjV1xUGiYsOA)GfERx;X}Rj2PG58`XjY9_V6b~jk80t|ltrn%i+ z@xLJLibFhh+n1D$rM3=OlRu$s>K+OI=$Y&b0PtlaaUQgNV-oFPk>jxi%nyWQzs>e` zzQY$gRC>L->JM=T_mlZde9zA3=8S72R$SP^r2O1Akm@l48gS}||Nq^2de+NWp`+8G zU9GMkaGcNT!^O<5h+x#prfs$@T4-Db7MvaxY%B``GJMHcrGFXw<8hbhk1eR>69M_@ z7J0(2?=mH?gs-2!N)a}i*}=Lv8G=Al+xG!~1F;;&avcc(_&@dU)k@@yE3Sj@39TPYb?ECidvcXFf*z3%uFn?Jt4vMCD|C~ zYs29_gYqiQk&ZH$ZVBF66(+au@QO9L#J?Uv7<^z4w@ zC`IYK#kUEjYVpUH1MO6Jtrdg?dnXQ%z*H|at6RRW53$2J>b&{c4fymup3?e$SET4A zrU8~mM_pz8nOW{eN;nY0k?zM5C+k zb$#Slk+|gM8?*0RoHRw6wcQq8F@ft>F?FMvu;m;G$mqrH-9NjJFmwR}| zwl|=EwhLuDicza{WL5PW4j-Q=JrXy23vmX{a$Em|GDq{hVpIw=H02 z5^fWlxAea8oy3&06?_%CIf^1u+z*63yr z@bg5d$c)-X#_WfIA;s|5S=N#il3T(J(ee?nKY0+4@r&L2e|B^fnQNSN?mccX%j+># zuUT`OPux#~lUMxGF4!x3>XnwS3Jr+~n>7%XIQuNngZG$8uM8L(xI9(5u)S2*K#Tx~ zh5|CaLAR!j*Fu)4>nL=^reKU22czDx>NJ@;E)Ek$iOv_dTIq_|zC9=hO})bJ*$u+5V8*z_RXm zIr!oI0x#P~Bx-qyG7g%>u0Ij(iJg^zi&j}3pItc36=Cj>dz1*JJPT1D+|LQn4@X@* zNvw*5m3$lSVM`sSAPZ&)XMX+i2rD8vcl_#SBv>Gb+HbA%|Lfg$2^i9`H0M-TNWb&( zs|{M^Jy%U$Sl$uBxb#G#b|=WYHD?4yR0;u^z1XS#vpW+KmDoPwK{!Q66N{bwvK^f862L6eyoHjMo++F_puQ^9UmaGe#4eWQrC58L>8IO)ewuKkl zKt|-d0u*^4P))J+`j{}(<%v`8d(92ksnq)3RhY!Ojl(40SBFi7jYs1!-hQr)_kx$7 zMJs}=iRdlf!wQ-45LNL>!yLJr1d!CbUl8_UE?sjcM&kWfEdW0v8rg>}x_1Mif8R{vvq*W`mp$D)=)%!NvF!9QvNvUBWpIgn>H#5nxQaAI@)<{k0gz^-XGOB5 z0Lz%_FvzEYC}=BdBo;j+<4E;!RE$;mDcqL!4Jsel0yXu6yT2li;E%MeVB}H-x-K5N z(Tsg)Dhx0@@aEE|&;7f{fmSp3U4Kqv+DO7DkP;3ZhgN44#@dwSEngnVMenA5hP6g- zCuHh_UDN@=>BX%{Xt7QB=CKV-#xSO5pv};M!dcDzlvxE{(fxiW#66F4qUx_ZC4c+}R%gKh45dytH6U6c(|*;bWij`y^QH zD1Dx}KU9H$b~lor`0yvG@@x;rTLA%Cyx6J#vqRXA@yZ+h@Z0BEoBjd1kRMHh-CObf zJ$`J#p6kOvuVD6ZR}nmNM^q!bNTR8+K^cndk5!WPQmseiL}tX)cgTRSt!Wf$>x_(9&$)}nf?c%O#~V!UnCv=9m$Ui;jU5>_(EUDPl}$R9 zCltyHB)9F>BS>`d*ZTLsgpgdl3xht5@Qw<$mkvj2Agb}t)X#Yfq%V5K3^(uw(A#q| z$Xxl6`TpLGuJJGvOq#|R0kk-=@r_;eur8YpTXVFB)K6=4I->Do9s1#C}mB1WF0Y>bQJ_-`QoPW&+S{4z_<-FoeL))IqL7DoEGn}g#sh#A@%*B z4U^){)L1lm)(`5sv=ZrQ=EKRI{#tzL%i)&lL}MqzCz)(B(qDnrTY0L+_C%YZT>N1@ z{-|iGx!A2>w;xOuml(MQYR~J(;UCTw-?TVPe^41^N00PUE<+=XX7}AgRB1br)q+xB z06*0K#9CBOXO+^$tz-@D2cO(dYb6<3HHFII|EeMib3v@X8U5O|kE$JyQPwJ4l%yim zTR<0qez0AM81h;jAsPttety?5(o0;>Y9Bse_lc(AD=)l$EkqX|MHcx1}uX(+FnabjITFz_+>#+KS{{4 zI!05$8RSsTy4}xSiBXpfH>=c4EcoexIeUthFShKXcH0-vJ-b@pWL2ZJX%67NsK;*?;Sx0I4umCBrf87jQxP@HP}V%b1Q`2e`+oA|KiZs}i5DY^{7|{yT_z1I7vS?{QCd7+GX_M9VjHunhE; z(qV0~tq64@Gu$dC#WjPXveO68E@}%v(Wrq;X|~s7o_`i-Dn&}Z2~ab#c?#c!*3iZ2 zUew#X8M(&_D%Yz6_-wX=yWmSAt*E*-3SWg~&NT;=R2OnIQO2UIc&mhgWeuU}#m&tA$!9ga7-mjWlW2BgPW@s)hmbNoM?H}^~ zZ2rf}RtJ``lxGp@L=C%ScJB+bXT2l`2`IWUdHiz52Is7=n$F~(kCJ@*8sYMI1V#cy z27Erm(45dxG9&PX3rqY)@Px}@{lcpCj}R$Rxa5YUZ+mur#(S9?(alQBOlLX*2xC_FtOh7kI(QRm7R)2~{uv zoR_J)DyHLea+Yh0z3g)D63?APcGOw!_Eyu|_N^`qp>u_HOe@(q59hixB&UcKrkDYa z#y@clKM{(TLmnU90J=X$(#B^Z8`fn^M@Ef)90rz!Vf9ty)Kip-B9k@woMk2B-91xO zscS7CQb9(knKDT?;!o0kBM6IQAbx6S%EEuFqF=#~;u*qo!q0znKWI&hM$>-|jrfiG zo|weJ;5CeRy~=h(4CeY302y1ML0UBf)V;6YN5&O-&9*@bnAV?bJI|5EQ&YWKP`=df zMTMt9-uT-hrJ%ex^P!<(^R-dtp_h{qq6iKn4EwgMU@nv*T7ceR`VahSPT&pHK^v&J zbr~nD<-^Q6-!#vd-j^)nhp%+S701!bj^sSvJPlhFkN{Kc@}yo~Nu}p_I0(9trQ6`% z(=G;a$a}!9O5^~w)+Gm%H}4v?Wc3)Oc`l*3(e%GK`0!H|4d_2R54)})&9Ki^j%sdW zh7yekyZo_#JEH&NvdV2(_UA{CWpzd5|4YzHjW4^Jx`Tl#A+5EjE)$yHV{{e%F^rUX zPc}_{>m+iTUDoTcphgJD_Qg);pPe0R%kBzx4fn5tOXL1>gf#1$1*dX5s7l;;t3ye&Wx0HCnACb91IVGhinFNcVg{u;HZGwJB5K}Zq_#hehQ*y3+k`Q z5gA_%N9<-0&0yv{_VgD&$*OkU8&Y>EmMUje9`LW>5t40uW`a-!eJgX-HG*0L03V4} zBp#bzPp}k`J*F(x{-q}Rx~k8qk@>7;Eyw&5A2UadDtAZa3_$f?hL_#MyN)jiJU6DrC91NS$=HESmEzmww#D^dM#hrdL7$QGbt8dOm)DI+I;*f_i4t$Vd2^Jl* z6Fp6odGHG_IDjQILqK*fcDn!U0E_ZF3x+!Ee&w8U!T$Zr2dw*XbS7jzKR5E+no0V5 zsybzn6X8?7<>!cy?KTDHj;r7D-&opWcU^j1?~oL|0F6(6_}^;aUeDMZONmCXOtT(a z$Tf;gTq|N;h9Pq_JH9`}_%n7ICuWLn(Kev0?PT-=aqbVtFWCT(H+V+H(2geHYpppd zi;wl?(eE4X??Iop+<&IO>11VJ7eAoR^mS+-k@gLNxP20Dcc$>EWqL=!m-nU?2^ao$Stks>SP-apqdXhbl%GVwey6bQxY^x!@H9 z@B6sb7HBG;jwTfT?=fY20M9zp&)Mcv zSraVxzU4S+Raj0d1kwJbXw}n72dy`*(I{a&&j`HW0g;?o#}jfy2oUn#5?j52*A`}L z7&k-^4|=2b4pZ(oC)j^XE&^;r4GsLXqGVo`Md`J|JoZoX1HRn|UhV2M3O@9&378VkKyP(*P` z67UM8>yy>)I%h)rNg+SueKespgNjYzJCJyRHOpd|{y&GvYJ#jmZVGuB^vszx7 zBYgQa4cY7b_({`%U%GM1ndXN=X|6xVn$1-c@A!!y6Tm8!Yaqx>pR>HrjhOB_aM@tX z2sS(>@Aw=@AaH)+V_rdXF5y{f)C14qwiYQhV7uXTLb``O&BUvpKI(!D4Nn6C;6;B8 zNl^sLJ}_F~WnrLMuW52Ia-gmBYSGe%OC|{WG}@?fEGM(Rj~xw$`*FHmP_Jn7`;2r! zUy+?Q2}>m#pqh421C)!8N1<%P&FH4$WzHv;@UAw+3e+utc-pzgc zG^9)x9CqJf?Hv%1<4eXG{L5I2M!wf@tS##5C)$A?CEvD6*^1$eh`JEbId~CgoNLT_ z&lNp9&jgWYqIf zrXQ&3#>otcKdrj<4@;U<-m^k^6newhl6g0fHYg!;;CJxrWxl4YixTv*8lYEUl)|UU z(}x2q6{CE~MCoj}#`_bMg06D)@pnYLEL&9}_j%VtPkv`pRwrj~6x|~z%cb#i6jPSY zC59-*TMEG8M}8(A9^1Y7Q&S(u!Q=1AU-X-=yx8&OW8s_q3nYj9B(?oeqh^Z4_+qvh zhG@Gs-6CS2sRzzNoohjLf7N0c{Su-FcjR z6RO3hniZPNaczGu4lmC~WXhV9L!5G`=+57lWdo*5NMT>lGwi8($2=Ra`p%rimghb1 zZ#&+yuPmcY0kN+f&9K#yZiw0nh+DA&zkeZ|41OJr+g|C1Oxm2_1Dz-WO!lqW^cA0` z$w;4C19VL7-)(5VR6UP4-J*Q3`z7O5-nJ3ZK2$|uP&q_I-~9}cgZn(l@VO|g%K*-R zFsxkkFHjwQ`_*oX>^fp9Aor$_AxwF>Yh^3*v+T!B1F&7&bnp<3z#F>hc<`HpT5EGtWZ^_C7@(N_Xe8X)H#)U0dShA|CIy^`% zG%V)NIc%v10&;$_Gx}$D`AbiVegw$_-dnc$og5AM^AjSx3q|o{`%=Uf)(|=hiyDDd zjE#{*<(eV+hB*63;MNamwCO*zJUD?Q%@SuIZUQ#)Q~ z1yp;w{M$MAX+8FgSaT&GeV-{~--MCc`!YNgyT%WHcdFUd0)^6{A7%mBOSJZc41?!_ ztzYq)x@}Bh4WvJxfb7V>MOPyTvtr>m<)5P>&2SZ_qAJiX%P;YVgAec?e8G?5xf%*% z+sI3RuvcI8=X~*qan%aR?{(Wh&qAiv^TdN=TG3^0C^wi><-d)x>@B^?SLn##C}E>Z z$pcN;>gFH|1|@$6oocI1{C|jAV;>ljSs9~+-bzDq6kr$UEEfo-#Tbi$tuM2yp2CkdD1y!&iuf^ zk^@p)zv`8Fo-(Mr_^}bFr&b+%KMcnwE~f$VV?n-?qie*9QJT-QVx;vhP26=5ia!bo zL}aq#7vLBlM35%qrMEowNo4BvF`^&nJiYso*JM|Y-ke4E5!ghbp&dr-! zU0g91UU*t_?NcBjR9-dt&NjA|{_xmlX!?fb>WOc2wCjF-1)BK;6rUOn6k-R;G-Z{Z zDf&_lXNUw}{I<9O4L3tUe7?2OHkk50%ZQ(Krn7XM7b-ED)M#PU{XsBf)i)A+xA z0PJlvB^95Riu|WEz}-BT{q|5&+DGQ{w|_*waJ`w1t9dOHdO>STV?aWr%Flpum@;oH zwVlHL&W89z2=u-TN!ai|yV)Ty1T!{ctq#?~k;@U)-I4mex&`%H{FK$O+-_EuCfA5V zUl__T1myN&XZp|1))D%U$GZso(OZ0d`pGkzmTJz;e2Nq%z~dX=|r2D<54cRuEKYBnS+B2=n4C~YViLgE~?22S68fV6ZMG-Tk9)*5{tYL z$Tk4m|9aT?eUlM&Z(s7fAyG52(gWgqW~}1ZAGgGy}iL2+Md|&7FIXAnOh0jN20H56x9^4_!I(I zGi9%!gtHPjh~R4UNiB7L8c1e$xF=~1@R$}byGTB0J?M~I$kr_DCBNF-MVBDtflOZv zbY5N+)$=0JS^xC?@72)O2pF;pQ=Zok6!$89Re-%#1!tHo)x`YAMX5f!m+C;_%QGj8 za1;V^f1xw`N0;UkXWXlGxc<8FEcedf&^s@*OLFy~FC=Pw^5Y zduC{+x18(NPgkPWa)Af5o!(LHJ4L{?Ea$E327>9Zn8a7C!s6DTf>RC4^x~ljljHnU zHpvjP-msHZE7Z~Cc|Sfg)|U~~FMm^gr(Vdp&oax4`3p)d3H-cVjAH3Yq9mc)eFe$ zVJmjpiQ_t5L#)+CcAX0hnRYFTOR#SmDLTsD26&*wjXwo?lukt!5Y5{Nx@<-Is-V(lfLu9{&3 zs+d?Eq7uM-1BhG@mLQD4`@y)APx6kJsf*I=`=cM>$#f=cme$Ii0(Ow{)Pm)?UcXcs zeDyq;hGe@ysck|5axmBNLdYsJNrYr9z%OuxgVJGIcU_)gAkt|f_nf8P{DEfL$_B7yB^YIDy)Xx~qfmlX%JRWx~>a(Vm_?rMO%bzFXyz@v=x|h$u>)j>7 z))Rw=k@>lqk2?+Ta2V)03h~B16n$t?6VBBQUi?NZM<0p8^S)?30ADsF1|BAQgE&1e zGak$aVroAdEckD!!YUp!w}E&s6^fF)vnM86kc@`azaRKX2v zaJ-ZH27MK5eJ=0Fn))F2DcVda1y=ZGCljGKF=wmPZ^(b27JQ;_WUr#?sJw>@JRDI# z*?S@e9Hdlckx>3>dSBvVeE7TaQoRrcH9{zSo45tpHQ`CKm!m_hpgeQUorRiHt&%FA^}KzPy1PaOcH?a|1=AVt);)lfQGR3}r;!RW=T@~TBE-Q}Sc zUqF4q*EZb}|1nrQcu&76C-KXA#@5>wpBYms7fBEt#fkF&hiOpEfMwQYrWqu*K1+OG zMzjxF-Do+W6SR?>IBLM|E*TKsollA!sYd1-pN$Aqcoi9hCXuAom%TgOC}0*6@ELmn zfmGP*h1KdGE2@v@%Aonj?sK}Ml2;)cy^9~cljFtnhFG@x?+J~lx><9(DPc)xBy1yv zazS|5NPX^^i$1vb=~YoG-@q#&s6b4UhDJq~VES4CEq!#n!-4Q!WSkK|^L4uyA~_Nv&D>?b1AJKH95Smr&J z@eaaSyPZ(4D{XW2RDaMBj^W%wF6f)iOlV*XeQ2c*w0Hry`GUkWz4z^JhP4N>@6s(g zowf_`m-9*AR-bU7V-sCYyj*x{L%2U9KOK;BA5jNVv(ae)M=J}zd2A0mJu*JP_$loiNY@*ThX>1a% zhEN2?nZ$thnk~6ms1k z|JBjZb>BPy@1deKO}o$^hFxQgN7MPC?o9j_H5g;P z9P}m9Z7}G+uv7f;@{0VvZD@zsvfX_I$E*0_I`GU0>lv(ZzlJ%zEB4^uRStvxfPj2o z>}>zpfnnb=`SFJRe|lJWMP9SJIWwPx8F`L=`(k3A^|dR=hdTKRHL!?&wxba`L~}7- zcv5$~1l19dY0dFQu>)Tj0^jes3o3b~K1jM(rBOdZ-;GBYIY%eb)7jnk1zd7C5NUSt zeQ0KRwU}lB;#@Qk`pIU6Gw&R>bsv@hxFxZi59<304!Z_$3IU-%H7= zZix-6_H*?UZ-DOx*Z4&@sYDwu%Y3U9rIdpfoba&^{4KKZvq;yJ%v^3Ho-3Ul` zBk-+$zxUsL%{*t%oSAttV3iT}>XJs2ine>h6DTs8XGg=xfo`K4 z?C4mhJQs(EKssH{Zg-65c~gdl^b!OgXMg5F%mX9QO7E6O744XT9oyN@djSt3`0+^W zsPRcIAZ2gLq2K?)&UO`#QakdALoP5%ay{e<8N3>4Z6O7UjG+2v7Qwb&qsVKckoswr z5S?0if};zFojk;U!oO9tuvO#Y#n27j?F zdQlhlqdL)%em5?J^GWE)K!yn&5eWT3JMzK7ZzQMkXSgO4^~a^VCYLJXdGX1Z#*a5g z2OT6?h(fa4baQnF>}D0kQ4Y5C$RBU9!4q1*${E2uVG!~;n)G#UK83qJ z>j6te`DAYOCIQ+{skc*Ui!npDNygwQhk^y#3j?`R$`Lf>I}b4$ne{c5d8Tl=2+F~d_RAGmWlom^dh^BHSd%QhI@P999^z@ zRglW*@a-eQQlqkbJHChpb>Xe@c^S*HBCYI)hYXtm^oc;uB^Q;q^JzhUqP$RN4Tl_Q zqN7tlLx@+>C;#lCHt{G)$d%rg9}Kw`$x7)C`R`hYyl4627k-Re~oreZQrB> z1wri`|JrHE&1;i3YS}32{@DLI>|rzpGa+M3oRs(VZ9AuiR=}p5^(DB}1RU`$-I2Bw zVRP0xax@{BikjM?!W>Czf)fKMlMH!36i?hugSxm>s+ex1u_GnPIniMhlS92hct>0@ z`Cmb3P?E>KEwbuEZpYJ~D+wL*cZvf}kyx_lp}Ao3bYSXJ@gb`%+IY}uPh56)aovV) zm-my6AlcR?{kLI0wi|iU{NOkIXP2>!NBQ;_?whZ^8WM0=m^sC7WQI1aH><0%atV*jP5PtKn8s2^wkbhi zsGZYaJAMXtxrc`8I&<6?_8fT0xO=rvk1F(IcCy6>vvl);^UQKc$F0NLe}o9wy&63mBsq zzJ12gP}G>En8{AFT2h5UI0&41{T=73_(SRgHEru#od@gVApZrGDoani$@taM&1Z%x z(1FkCOX5Gfk{vushQi7~spRk_xh(eg&8VUJ+;c@XVj-{7C^J4M=xEc3sY^SQpkSz- z^ItoA8YX)qTXc&^gK**8|LW0Ku|AKke*JM&SNcnnFS=yzi+4rIrSlbhiTKrXfTGaG zhYq~#JB_n(w=TaH81sh=z|8r<;m+U~ZnBFf;S=EfM`_ff3r=kXK63yr=-u)!T!mdU z6pC}>@{>=Ch5QZYyOo`k<9p~j`4b32IvvnEMo0iBUbk+ZPr;XL6D|ghH7b#w)IprT z^)0(SMt>domoGYr;eM07GAGAMnJ`f(UHJkx#)x9?H9bVNcT5E=DwrJt5L$Us78&%| zE%c0`%hc-V&9o06Y5Gqq?lD9}-pC7UpPMIIsfepZ{5!8NH}ZLbJV9vW z>Gg~Sx;=4MR9_<;G1dS(A8JI117}qPx>MD@X)PK|FGWAg7mR2IcVq>o<#zsJPvA^VfbYt=Hg~6WJy_qpRJw8$-aP1C0m_v~ z-U#914@78#$f!;0aowDguWq3%$V0}bn2h_aL-LPL9l4U%iv2IGBft|0xy++k(OseU zlECo&0I8l>r{#B0l)zK@-JzN1oz5XM@-}w;DC3?;VRueOkK})98!4t=W&7Wgl7bAt z>oTqX?E3bhSH!eqnG$8Fp&o{1@;;BU!PBjt$GT=Ds{6jLX9#oOR!P0vrv!yU?Ogxb z{TDchwniYe%TegHLl-TPJI*5MG|gdtYoKhme8+*%Dui=e->F*)a;{q+CT#1{W;PF$ z80od5Fj==aa!sq42a4C{xmZ`fT!{#>uQp&WaC!B>J)|OK>kk1el5uyn&l43r?wGto z)^#LR(K8>&yS{YvoCpSWQzeTirCD==2kQZRx7+f~(}yk`1rpo_ea}X|H^Da#4hSyR6EUtK%0UQg6%%n{% z?VsJuAs(ga%XG{>zrTO#Zj7}U<~ubuYe z!P~54-KeHrH-wNZiE8L*POF=nHoUMxCdt;D zkFyN;eol=ziZQMqb#ITUuLp{fbiwbI0j{>Zpvw0z(Jbh~>J;18F^!4qt*55Wii^H- z&b9N$orb~IP0q_Rh4j1;`DHpd+JqhgPe666lavXI7Sea;C_rRuxd@5fe#@5fFz!1(@ZZ z-PSQ4W&iR?cB-W-le!a6*w@m%S~oXWPmOYUl48LoeOuk6j8yy+N>Dh|&i$`lfF_)r zB8qW)Cy}IAz85lI-M0(DD|uH+)8vH*hi@bDf&WDZ$=cSzx4Bo7?>^P#>Eki#s^*k=y&_?S9_vHbXHR6v9C-+Iir1=?oybd#X9eDc@3E`(ZKadjr z8f;Mt&n2(0vLX;p6`jIdf;n0=@4?&c;X98x8ZK^v$`?I=3d(FWm`}EYuED!ASM7;D30Wch2&i{)8-ZT3+(Rq z6AgOrXSIRVC(SyD`pP#L4FY(h=IWg+zO*Codh|*;gZrfF+NnJpuV6rfcdey5_G+wHrUrchuAt^Kb1s~}sAkF(?*-E8)oc-|MN8g9* zd2gzdNw@vEnxp*Xjo0|rgn%7??PrlmCL=+R?PrRY$QbhT z(YV5APO`x67Bs^6J(H`uUS41MMYa3D3#9!Kk5FTTh-l?{kY)}CC#c}wbdv2~+`XRT zNhy%egy-a}(H2KICP(Y!IYe}pCzv#>3sLuBUu}n7ivKrN#xT~afuo@Xo1M2Dz0aTg zEi3uUQ^{=bYjx6Evs@&U)$=dw1%o23luuWLp2#>=tx}Q+VclB8%%9Zrk0Tp_OS!#G zi5?p*w&YfQ#=KwEK2_d~cD>I<5euLC-6K+KU%G_93cPDL9QXV|J?Xmzs(Oha`>B!w zw<75)?MJiuN8;1~HU?{YKdvs4QFr))*fI{Y!dSggezN?B=wpCZX%0&G%Bf4(64W~@`6b@xO37Z3S#{kuw&KkLCBH$% zs+dCTBB`un<(x)Bj&Ox=hDq6b=(O9&!i*w+p;8k_@>$#`oxZ52( zMyqhbLxB-3Bk)Y*VwEFr_fHLs9`h&6z_$>&>?eb#07I=zvPFAFVfd5bgdfiJ!F-IslC$q`_{`=%+&ZpG8BqqcDy2?!-`J*^-urfDvR8)* zFmOa$=S(Ij_q-`p5n+_IN7#MX`)v1Q{%uHQ*7~Y+9XRMWdBuseg-tLXO{A}?YdaXV zr};)G8~!WV)ZhdOq>V34yNV<|>ff7EhAq8cn6-FLZWOc%t~VufKzOt~NdEsR$#REB zIetNb!Ni4lCHd`0c0qpKZaF#|(!p^=9q#uq;eQMrT>E%O35tQ*`TVu(9|$}FTxx8l zL>8IxWYq)-KRGx5;`zBXe(&P3tG#3`@0;f~^K*FRA%{QViN{5VVwnRbk+wexNSc0k z&lB4SyyTCJlJl+Wl~zbAA7W=A5|W{qQz!|^@QqRTp~;-`?F@WEDHgbVo*kq`c%JD) zpd^s#Ws~wv_X=e(0WvLSWW@b!y4Mq z#cK~maiHZ86Ot<*$AD;qn&y7zYs)#^Ve`?SBpqOp#x+W$%B%2l32>{5>?PuA$DMSt z5TG^|hH3aJb}|WBC(OB6J?t+MZ@E;)Q6_b)^;qA|p0P|jWkr~y^qPWDsX#x*2|Yl2 z?`39BP@Bl+2Y99l1s0F%SQf})%3PPLkMLVa@FA69sm>3SpjfD#?_WC|s~_{n997{A z{aD}Gv^x_^+m_7dndm;h)JnG^;?}EZ9(>hkOSdXJq9X5Nac)>)(DPzpVZ?>R2P+tAFE$fPbpaTWAy5n@4jns%Og1SX`|=R!k|>FeO9NdPl^nYU5zC^fKO>)^@ggV-;MR9D49PdSylg4i$VS^Me4 zLTy*8gmtfdBf-O;7^V(NY16jM0gsxKW}0vjJ9A+1^bnnMnu`|l|D}hfD^2sSrT@Aj_X}CkoTP+YB*W$aM|8iFT36F9< z$%#zZ@kjU8`4?%D#X-2ZGV;(gtpT@!57p6`x}F26K~I$ManQn5;S)VLCUaFj?vwwr z;U-nml0C8r!Absd`6zP3Et06q%Zc9v5|`uV#LpL+=owQiWnKo^cN$yO#FW9G25k*& zCjXdt1K&LA#13AR4n?OIj7HB;w_*k6-GY@9EEC*%6DQTy8<%ZbrE*cz&?)qtZfTf) zNz$W}s49)%@X$=xQM|1Lbks+f!L&jy zd-A?k!BP75Lx_SgYV>9^dLf^?CPp3gsaOoCo1zMNTa7S!&()4WR)^~CkbiV~&v=yE zRKCt~fW~#GBi9-m6@+!K4c>Bq_oraB$Kn%yW^}(_o6`7Yt$R?M zB<^`&*I@T(ZXRsXbOC1R0$Sv_ObMS)7fx_gT>KIoq^)UtC6A8jV;drAGAu}lw&A~8 z`Q;ui6FUzQE2p;LV)SXN(?p!{w5Qmzk*9uhjRT~IDnrzj=|7`pJ@988y_g}pyGb(z z6KEjOA#7wRjR*Lmv2mJ{R(7ZRUjP^f z+*FK#Ey*#msYwm0(YAlVVH3x5$1FI-OjfrU@L}iWfcqtNwq3mbNp=JW>IoCus!>0V?6VA07 z7;lzYO)E#U9~IZ{3lAWvg%*TN%zlUd{Hdk8L%D79X=7fgN1WRvJz0G1 z1|$uM6{srhjc6WT%aBPT=h&1?B7L%|x6xgLy-OOOkjU?)1%*C-$?N(Xb`Wn^SZGsj zEKCAQg5g142~~vh@(Cpn6)Y?zC=sd`_*d^thbbk^mt2Bt zIp(kx6;@vjPHgh05kf3xB#r=Eek(FINv8YnG=d-@f~Tx*`yMRUU>Kt}%FKeIrKmK` z*CG5sfdW@c6?xTA(2ER8H3<%xdu2jV%Zrg+q}`MD4S|0XQFbxiA_R#Al$s@-_r#c!{S%M=r2mONDyjgDnNBRUPF4IZlZA5<^suik<@n>$BLq}lxl zgI6}yGQRo#k7K`6e6P?FoNCHx-*AM%>Bbbk`QtLpq$xi1Kjr2hnv1{ha%2bq3O#f` zI5Gh^d`XG_T5ws_U*u)tx6HnN-IUq$v?g2_vQ(2ZK@0iw)5WG`2Q2~-P!D;&6VlQDRv8Ljyc!X7MjUlL` zMn)MmH=h`;1Y+!T+~T6%onN@e5#4~gI2J2TiMEedo?$@LGoY4Y+^y7qv6l{l>XGq8 zLBv1UY8eh*dD%1tDywdmpZ4sBn<9Q=|M>o6=p5t+2&$I^)dT<4!>934RRR0-MSRi_ zeLE1v7GC=8zxWZ1Po`pf>mY#PaVTLG`*8{3($wE{ZeEd5_(r7EA_(4p34Xx|tF%6a z2pAHsxXW`8wSe)K7M0t45dLUiFRxz6u{W0Cj#piu@YChO*kw8ZQ8+)3WcatJr>)~< z74kD#sM>Ix%CmAIxZD>QP}9J@li7HW~Nl(u%cb(?m4c6<}_35REbt!TGu^>Kyy8-0g?aoJ|jW(G*`6H z7|Da5$a_W_W2xw57B0Gi?cYJy6G-lQwi|hwLKcyrddX0|;JfOe9910Dg9QTqK9yx3{j6}X;2hkGmLkm1Iuon6qSVD|EcX^tcGr@(CV zeTMqbgjy-j`VH8B1EB4!A&Z73*_!?@-`t41YkB^&HK3up!oT`C^iqX4giQ?#Mc9c# z=0R2vF5q3F7iEO#B1-ZI{@{B@h4&Y|%ql>+^)mb!LaY+QgFY?w+l`y{5gKDSPR1nb zb!XKN-l+q@0n@ua1oQl^Y)W6RMErmA6ZGh{5R4;IFa3u=@mk9CujLBThyvAXYeU@> zRpO>hbJsSk^K7_nrfy~wnRaTNO$x&z?$GUr{6>N5r9kyU{_1VsrKQwS+DESOiWQdX zwIMg^jg2+NOkW${@GuBa$FVSt7=CK~<#?pjpF07bOcZa@BRWMI9463vs;?6m@kj)! zMzQIFw#=LL>QVFvMwBo*3t8dx2DuY4dlKA@${Hi*bKMO}P zs8@)~+j$YNXvxaj5dJ-C&pgwEb>{D%~62FEKU2FCABas`>)WNJzLi@jbnsNP3b=IirZ zA6H~O&0}co7brwv*)ivllosZh&k4kWeLgLm5{e`t^enX9E?@ry9EsJ$RD} zmbZz}S*>kMlyITW@&#kfdWU7xXYX=-^BJ0+0Gr$n0?-g!wyNqsy=io)-o?bYNqC<- zO=Ve2$i<(ZMH%WCWCVXvblsj%{rFb!@HKw zGF|bhdrXmy<>V0NUU|Rs!JSnJEest_BVBtfl&xbf8hb|F2wTSB%koq0!v0YNAc_l{ zuCx5Be2=q?dVoLd>M{yQ!$w)$aK$$&+4T<1e#RBS+H#Wnptf`H5ly=AsLHBB@{C6i z3v2L&q*Vi~CJf{p9}wXj?D1oW{L$9(44iI|IWuXqnfW?Jp#P{bWOAuv1GfLsvCiz5 z1GK|`jo}h-H=OdCp1-9S7`{A6Hy8u5LhCRatRRKvVrOZowhPQHZ@fmU;clyaCjMOg zGB3{8S)@2aW}9YrE9iaD^GGcEJ-FW*q?GkgGZ+AhKP7_;hNxk}7E@|9P+B`H5u2c( ze&0!l8~sg;Ve6$b#1>+>o;8kCm`)49!-C4CL*>H%%5})fhN3vi6iA$N@B(PTZcDmzrGkxU`6+#`=>7nwt{V#>St+Bc%8??gm7he zCfe~Z@(OX^ZoC_b)HRJ3%|;Xk0B#5t{gr3~n(MEt*aKIYKRCmFybkLZR7HP0RUT~2 z3Z)P{+_N|*4B~${o^bKS?mE`P7tPW{4kV{bf|$QHsQ%l)2|2@t#glrRX|~`_-#nGf zyn!Gc6$-s~z3}uiTcJo$vTX)poq& zH#Kbtzl{&pZSJ}{>{rGd7wHbdu7FZKmv0qwPg4eIX*0*aYyfjwx0af>$#9I{k2VUJ zE4AiE<5J30sju&D<=+@&81H?ZQb1*08bzhCO@>dQ1`F%}iG?NA_L*#1dx^i;ojBXG z{>Wl*=#T1`iFw9-<=YFLl8`6dvPLrskjoppW{p_9a||k&xBMlp%EI?E*zb`p6WF>^ z=d?4#E^S+Tc6ygJ+!T;V++%|+E1c0sv%$Zm)ef;7m20)jP-XEL>>ubv!QPoGg85}Q z)HS%s4mw!acpLFApI>mHt}UWvY;b~kaHKwAt&9Y&N$O00 zMo!M}*-gsgZ9Hq2nRk#Z9{}9Jd9hcob?#eUG?l3!k|c>B|Em}iC+Y=T`8G~~@ipRi zhmG8z1x(gxl7`(E!K$=(aH{M~U=3QXm3Eo{_*DHGtL*8m4STr&c?sso{?uT&51fTJ zEW-m{F-~BKCBRf5+6eiXUN1{!IjX2|{(U5ugmv9=%HV0m>K_IGo=C5>=>u{4ps&OD zeTq_^z30B#c|RDPXsMUS$!(n3Bnt>*mLQibN2lHlf5SKAKxv14a1y|Ec60Dvo2}MI zwBO3=on3-m-G_2N!@anTkrPKjb8q_3b|N&X4G*BKO2*@V)dUDS0rZ@-9>fpv^)V~` z?Uokk*v9onQ-bvZe!dCUoj8>(RVUX0B1Qns_DrZ=)L%X4=1?jtM9T%?Bo!1e_J^D? zfh!Z9Tj`H*R>sEl;=1!lusCb@lLdZ)6}O6-@*zDW53ooBO*hS^y;5$DM-v7>-iFS( zXwHV6QH1LLnMVGJ?ig28?aM()J8OxgKFeX;Q_8<(zzHhi0$kN zmu`|j9^wQt5Og-v!KQ`6sAIfgye9AkY@hQD?bSfF><(-HzA{0`h@g5h%C|W$#H_b^ zj_Ncov+l6U`J`5I;EwD!7!OF8kGCL*DiKsK3#u3WSC6L2lyTz}o&P0JpF1XC$s_-p zWk|wG@l<^>X7(_<@;Tv|%2^h*Wam}soh};%Sh!^w88%zJB+ZoF6;SFK+XQk#PLT{n ze!&z*RNxSKKDnOK!jW|`tyec&R?cw7Gd^+`UI-|dhCLN{1^szADr6@b;rvwxuAI^g zfv(Y`0uyEdy;eDLq`g72sH=h7R#cQyp`pqpJ~PBGNZ1j>XKd(bCLvP1uz~1i8(xPb zl4iU!i^JT^H(@owQ%_zq8e(4ufIr1u{LAE8xOb@We|GknO^bzoP@+q~xteM9WO)Q+ zpJRGsOKCwwqfGW&ug#T^efH0Fl^-g}ei!+~HZdwjQ zSy;teqQoeu^Zxv4MwItY`gF8r12G|i>SaUqV*cv!qc*b;EE2(r60QO@&Zq@6`P@R<|$~6z8 zo(S11-5!nUb-=sE8RN}51{eVVFA*=TC^M-g-sp}`c)DEbO$>MYa2Va#``?=x@(*hB z4x^$l{d!whj(ADGUn=w(jb1e@$Gi<19YaAag0H9}|4u|fGN_(2<$?KePI`m;Vy`u$ zgkgh~7(WUfG*S@Eh*%oY6asdBCZ9V6$B5UR8>}XO8U=DM#F2EH@qS0kX{z=p4;NJO?)OzLf;Q(sHkR_qUSs33wAL) zb9JGL2eV-VC~|jSFP~}t+ph6w>wFMV*d(MGJ$U4ObS%M?_pgnPJ7l{)E=^e&cre&?b2=c-_$7c%D6D z(t(_3ect;cA4^c{kul$j)}zD!maM{s`%`Q<4YIMHbzl3ZCr1I*Gl4MFQDq3GjaGf~ zGd_u3{%A-;!Wj1KI?lLQ9B6%#0STml>g7W93Mim@nLjjc2Nm6S0z$r+>^iCRI$jI# zU-#ODes_8)AwcA5P6fh>#a8yHc%9x>7j>1d&+Cn$(^RgaN?vT6FL9#{0a`>&k5LfB zWrl_)0azPctj%NEI~GJYmn8NZWKs+9I}N{qHZM-PL`fF63|%$5kyZZ1 z^AnY58%pS^r);o1GB1(v9UUGZDTW4<=%_KHkhZ~rTy8y>dQM+Nr(n~sfnS`bmQJD* z2giSi3%zoi_q#uygz0XfNBV5YGtmZP-6$%E(u{i9;Gdo@B~*{jcDF%O?nhQ&Ur8Km zjY2@(MN1T@W#=P+d0j-|JOqNoQ$jQM6Et(<|7LD4jiU(OMNQnb@`*^n`J}N!e#+0n zcO-=exX|@3#RjsorbWR`tRCz3Tko;#3HZEgxkw$6x?)_iAFlPz-{~#_E6q!i{@Z%x zL2pcN1O{x_a|NhuAzWuMME5VvxS2>Fi|f z5?TRYG6GlVZ`)eTs5uc=NYS01al$@(mU+g#xRjOJkhUQ!wp~n>>>wiHOU4oC`-NC6 zxVOoCR9EF}=FGWSX1|+@wUGw)_qgomA(=mk8NC6qgf$amE?n{JKVtp?aU6>g5B~l7z%&3t9~= zpYX2wH`OP)ex&yhDV0f@+~`AcsG)j!P`!k|dIf_ls{B7`o#HfRhs&$hPOEU0;j!#V$h?a*=5FN0Uy7Wkvrp$`$;?X~ z?!ceX0jZSlL8k*xhJbHnk}qqJV)^uw*m`Ovzsc{bt;RA&?xqQuV_BxfTRvqBa}x*{ zYk-1|rhxCAU(PRo+}?9&w|_;f7bcq@L(?4^g;KV$GW!-bcdu|y10f6bRk6hta$6bL z!!vk+6O{|Ob|t~EdK*jJZx^!*Q6=gi1C)n<*8KlBJ1<(O9s#OsRRasWIPkoj`8|D= z3k2k@t#6r@+>kmO*`|eyLn>*ZdihYj#D99$3mSTgg&5e6Wwz*P46u!(-;j2qryHP-FItdeL|`WO?%0gVmXav<^UeP}%$yw)Aok)G;hS2Vch z9B@{TEp5u?zWvRI*3pCat*ns7C4;CobQ4p>KR|e}=+sJTUSMs5?x&Z;LtU3h@EIQj z9mjS2)FuCJhUTY)=rNE*Ch98lO=Iedm1mStzeJ@0p`V{8n}OuBdF)F(Gjgf5>cCB3 z6uTGANKEHg7mNrD?OYKX`GA(^lJ7kd%(P(8oE6O4xs3Q9CsVBVCKIt=MM zjBx+Wa0mP*p2b-huMtQqJyfp%s`p}c+;aJ)Z(O)c)B z#R6W@PA02U!-BS_iS{`k)Ybibp?^1zw*#$aBlQ4((H=@ z51F{PPGkXuefR$LQxPEZn}a?@(AxXEJpPecbj5cbmaa=2cW$r7h!$(Yv--WMFd?*# z;Legc*X{;e)QQ?Vez+g5=9|^>I}3vd%szYnKlh-agGb5rpVu~d(9G+7VIgWCV_#7j zgF`5#zizA}2EAm}<<~pNFauPt5UQ8-H}+}=zLhl25bR(RKRmOkh`yYl5Bd#;V4Z$4 zH&1;!(!LbGYcLHg(JI;v>qse{vU^kdJvLNf!*p7#F)Pn{M2-^}lwhomX|9sXQs!7D z{w#fRHmxA?tZs<0@!wiy3!5rO)rlH)aKcJYUiq)`!p%>-JxD!m%wNguB_3qnBCCVp zegbEKy>dZ%U%!_+$~u*SzwX9>aH~$OwqjOim?+MEgFAbVlT?k#lZ*x7&7XO74hs!- zI@%uaIiHa~SIgdY(isC$Mk78?TqE`}r3rtYGBB);SUp>$dchhif##UMeMq{C0UK zh2|0oY}?NwSBS0YYUe`wD+C%tPrv5?=)SCSK_cGV%%3DgEeTFVpImaHA#Z}#L0 z^SXVp5&n6Vyc#EjUzJ8Xpp_Cuhr@SEfwP}Z1dXaGn(hxd#;nNfEVvIdC?FlPg^Q>%IVaMRL zX0MMibJ%7dw0Z%yxC2P&OrkiIZ8M#}Nx^k#!+TXb?0m2BvE+zS_w3Y+p!hKB91~8f ziL3R!pWcd>ezIEnQL;^9MQS(c_#24O@fEfDU*i9YOT%l2-$&T^z`x* zPB(LM#5>?0{73t)%oAo{>tW6TBz_wy{BPU?(!&PT<11F#Kd)E$ycaHM_eXe2@kyWR z#-gy{USEI&;g9TMDCC9>s`nYHm-_Ge@@kfko6Nr;1Zol2^fhgPUvpgJmOJkqjX&)i zx#<+|it=gHez;%iQVEj{c7Ny4y&peJ&{f8!QHY%*^)pr;I-?aEVQPbd;V>=ffP_xTm`*CE)k|zcID{N8#9t|Mo zc1e(O#x<=!hA0Q5#C~euNhD45a4idF&Z}2#BDs zrn6q&J-eyLzDp2A4H4;S`Vxoq1N4-ZOOWgTO$BXcDgWCTp#y{ z=H%fP?O#h63mHQYIH7VSP`R{!a@oj(3k1HoxyJ&mW^r2qWY?yCn>VK7qBb8mzW1za zN_C6R#wVMbYa4PIIi}3=`XstfxD#*&|4e6*fqrmV0SZ(x`z z-qJ8TU;k3vr7*|CcTc+aMT?8vojb+9UD$gZ*XjL^%)((6cvBVQ1`}7kaz~t>VPwy5 zejGNPHjx|(j4f$9-OCJh*=XC$jqX`wtP*MW>yw0Q+`3|8?v8t3FlW+zAdb>JPA^<7 zDEKqeFcr23*?}~D?JHPZMMzL1Klqom8(h%3RY90q#9(S-Q8tJMSdaK7n_Ur7p4Nf% z$q5ialX^q^!93;o>Q_JOC-2wdoEk21OE9!2MOZQAhm){KP>*gC9GMNb9zvYW~?Z?`3Kt#LCOF(!OVvAE^HMgQc9_{2E-f2?lB_ zQMy#ZfbTtN05`|yLVG)^Ai78J%r?OKGnGk{+=4OSse+im?Hko0jVwkhInPske??r?#M3n5TTq!<)uLyzi|%Ia9sL|)E+~8p%#8beKUV(eP5^M1y~e3#BHqjE{^`ybdl0)k^=) z?i=CLY79^d;-{~4sDUA6P}hvVt}*T;mXYr;VK`1*w<_QEV(GEH5uah!&{#HNi2n9a zJ4-6jFR^D7Rwu%PRq&MeHdK0GjTAaVujrTXJdO1Jup9{7_+nciUuCGI@<-7-QGiAS z#p}OQ2BoH&M)0tJR9E-&X|ty;7E_Y+u*S1d-;vdBO>^pQEJ!BTg0D-A5iD~Ebgq>G zQ->yE2GQ)Ei@z&u{qWuiiVPA_g^_)Cv8efV-B+#t-zt|?K{q%&o{5nlaoyF0TnW7a zXVq=47UMX$96-qjTC6{zVCjzJ&>i^1wkrzyo)6MyC4CO@RxXLF^KaF+TzW*SEc|WN z=(7(IL42dE2$$->%F6HK4U%X$KyCQv`pgH5|CVL-tF?8t{4ws9i@eSj1j=`gThsX4bw=t6$8ItmTQdWsShOch z@u|M(Yb6PW0+1F2Ig73@8RsKS{HR79L2F~GVe_hA0H64E9Wy^9Kxp6=2jVv%ZGRwd zj^HF1df6-!q!8wyZ?9s}@>TYs8a;YzLQm4WyONd&T~K9WglS?$e9RN<(+upDby(Sd zI~Ou#o8Cc4%P^@lQ?a#V`SHY6%rgHH6m$T0MLSN}kykjmTbNkkrX1MF)cKXMR8F3i z2F}qHZr}}&0#u`=`eQD<^_ddzAS{ZV4>@n0FWfM^&G!}p^4z-Dss$Lg&ACieT^hzM zEZOS&$n86RxKlG1us(uVto)<@U!;B`0DZ`~qhPJ$u=Cs!QhvYZq-#Oc9kV(=_S|+@ zd&l>+p+sU00ti6$Dxi9qfAts?CE4v+tg{)7rW%O|UBM0*K*`7&KYu~mof8Rp{9lQusUie%h=Gwv5L`Emob*Qf&Y{%G9 z?ntx>T-k9TkBP%Jpr^5rfv>wipcCCP`1Tn@Oiwq@+!68-&9Cxdwu3(v1N}A1*I*zn z*BeDXcbEA;vj#gS09i6yG4xm&`P!D+G-9Qn2O%e1SE3-RdHCA*I&^^E310q~p_3sT zk>Uuc4#-P;BN`YY-xovIKn)iMuhhgpQ=t5{e3|m>~A_z0Zc#do@k?mVieQwyWhjm&jUJ3EqOwo ztsD*S&$A=wXj~mx)+IVpB<84FPMj*9Nfl#yhg$JUT_)r7-kg2}TX+LhN5yk=xelFC zo5+85K15DZQ(wM#zm|jc)GL3N5yi?(RV()Ot*}<2N~glQ4m})!K8N+D4E1dE`M7*3 zu)!Gu#6;!Zx2m%bX=#KyIr!L1zu^t|9pHWS+cJreYmz{dl*U!Z?l%4qctct}|Knl) z(ZLf!NI=IZ<9kUAD$gdF`~TlVCK0IKqTa``D_D86$RB>_Vw)@UjAFQOqqY;Z^2whM z#=cS0LX1VA1+6M*K`TTATF{afS#kOF-UbD`)huPVtSPw;8}Ue8C0%gy_a>Vm6+dHo zR}jja8yWz|bYu}hV;O?2rRB1%!*d~l|DdDh+8B8TIdJA)h4B`5>9_EgHw6mA3v~rH z|8x63KFapqaM;?oKndZRl<(#5{60iL6pDvIB~E4AHZ^zApn9?lTQByL+bP0l^Cglk zwRj&i&f5ra6oukdL-CSCp?JBJnv@fMha_2ROrP|}WM~sq>><$+a>TxCd`5!1Dguz= z6c^aeDx`pEw8i^486$W+xYXsVtrNp!)Z|TtF%7`6jkv9k^m4CF0@JG|j;{Es zp|M1JwCg|4OA0F8gsKoJyx*Tih5T;XdzYDw&(}OE2oQN=tCC^dYKSgC=ebG;wqPChp27Ihx5qu!JKR*#u)G(qB;oZd&r$qeUE9J%VH*SSIJC zV%T1?sF)*0*Mk42mV~*5#Z_3r1cfV|FE~Md1rBhB9sk{PC;YrXo)u+(SRjwhfepQR z?V#psSmt52lo8+bL`0=wWoWwt2U$3^uc?QbE+5#XjDrW+M5YSQ89Z44$XVYojWq%c zs8@^hq$vF-%*t8x*R>U7_)qIG-*|jl<0F$oRS0wxmnyM&NPQ<61h*Wna|K|(Q#Tl2 zn@47M0{NOIPZ?6i@5`Iq$8-GyCnj-yYhCl%NXcfc-{ZF;`^{<)e@Ch5Llk(SFDYB@ zt@9{_FaDBrY!)kZgrL8|692Ck8locs)msaImF#X!8gB!z2n*<|Wt2xgKU#AgcU92< zf&w08;*dBAs9r5p@6%tsgz#GtGM5a_ELPFNhe*6iX|T`QNTQpRDdx>~&MRT-F@>QP zC9=p55i91FvBgV?o@{=eakCugD1V9He}!v54obrnM(VVnUL)T zjLZJLXq7cdq?7yee}2kRpJQrZ=`+>EpKP4SsN|L7D?vRv#GadAdmq3^l^?E;zBT&r zw@S>Sc-9PzRsKhzEtY;H1^usA7DWDENr(ej5XmlT`O+T23D1>keN0Iu!*MR-J}SLa z3bK)awKB*0A8M+5g#C;A)=+}Ob5mZ#v;J=xG`hQ-jp$4Z7~5wDk;cv&XcUIs&*{p& zrnGFKBE_4H?OcT*B}P2o!+#GAD=Dbn8@<}Qw|_2edDg-K_mN`3nZ}I_^;N22@NfNz zrKdJH8OEGaI>zOK29AT8l|Uv65foG4d6Oc)*7TA8$*4{A%v z`*P9po`u5P@q1E_-a0hCp43&LJ2K5BoU^%HLavmwIjWs~9QWXl^FaK{wVU0qYOV^l z;hk;%c;_EKIzp)tv$Xy@5nNf34OsN`{UT0G1=DVfIqf=kzuH9o9(AHPTzU~Bj|$C= zeiQm;@GCn2Hj?}S|Lv6t0&oPl?Q_F$}L0B7NKZ_&?J^wCdkXe&@Q#@@qA=&#v9zm-tV{N zO*rw=5j6u%R4^zlGWGUAAZm%eD~mgp&5fR8|x z0^eeKDFn9H_~Tc_h~UZpo)fe;i>fDD`v^KJXj0ogiy(}@0CR8yDFVE>irM6C3VK)( zX;asgusVH=r#v{W8iY@$&WvGMdmeSG=Z$r|5vRg!_oWcRPjFsNzta;=*^&E@R6Sxb zfLf2RRSKGn=g8COeFdlUtyop9?!_u1^vWTOQL+COc9&6c1Z|+8u?YkS5G=R{cXt{H z!QCymy9R;`8r)@oAi>?;Ex5Y|mtaAI1=%6ry?gHNe)ldvhI4v)rmLQMt7hiy?ke+@ z4vx+OF^2J10MT^xAnHSL&D!NJ_^`St<>rt|kj#fsM$dnGLDEn?TokdI)F{@cX&a$@ z3gI+p$ zb%RomV%~nc4kv39w5=&rNQ&pP1$#fyM{2EZe&5Y@Z#r4PQAn1;^H&}eYm&J6Z|)LEf-F?ek$`Z?H@G8|X=?az zIbsPW=XU{`XiaeqMnZDo6=!E0WIz_GR|D0{e$o3&5b+_%-ps7)aRHu0M^`&BB%OBipB8qL2Wzcz75zVr%kFxkm%;8$(|K9Dr3%D2j$ zNeP9pf0aI`&jxx5GB{elb7QHc`n3&f_E!06q1V|YGx>FUy+8j#_ociOGHEyG@#h9T z8@obqeILL(Y&1!+v(SYepGep*P=nJLeCw zq7a93+2v>No5^31$Q8UhenMUV+F^ioo{>gUrC!jt8!L3Lkhp>Bb?#N9#3NOz12&>I zhrD%x)&^uZ)mg)~Gk77Q<*4tA6Mk+4A`iTvFl*Ksg@3V^BM;RZ=|C!dUlRR3SbRtO zuhc+=LTUc#{9tz<8=_4l(z%-$WL_SsR}0n4dC~K=C!!_|In)dDluNOT_|f^WDU^PO zROGuSR?lKcpaVRY@n`l9u%HgGJkXFl`oJ>5W%%_0tGlk+R(P{`{riA*r~d-m7d$>p zKbY0O7TJiasu5b5OOGgfjqY4GPq7%mvdlZiGL#v&lkF@N6p4Ew$wLV67BMo=%%8d0Lh`tfM7NB`{VJ*6hg^ z-2z1-9;&OiY*LVi(FfreY5)Ut__5~`6WXm;MF<&H8OWG3&f=ls?O92O46Wacepnh# zN25E1?O&_B)`v|^o~GG$+nV!R5!+Svbp~0IrAKuB)2mj5>SdYHq{`9mRpb}-F!rh( zgD&Yt&!uYkJ7op5LCtp|qL5uhs9qgZFZV@n^@j`=JT1#%GMA%(Io?3B_P1oMIBWD7 zqzwuWy~`&Z2T12|eZkoZsg(}F>&d&%9_;v)DzQ)G+2bL;`0V_r&@+KBZY73~#6Fc< z0zo2IPq#DHZ%kMm)ss%hNS(TK&H~f5MJ1FWWSwc_ytbDm>?go8Z2i5k7Ebuv&xx!} zvt)?^wdX_*i+IhZC=-U7wW4WmC4o~X9p6De4$}L z)5HRQj%eWGW|O!)(gD4ba|>18UuvyV8n|7^H1@TU*JFVmAFyqhrPmF!IJ zJnTZaTU*^Fd74ciRZY~NnPK`yF9j;k?-b+z7k3k?(5%(O;`Ry3{J2Yb>qLk+3BBE$ z`{-|kGkaK4+P?Rj6Ipo>%~`CF~sqg;olaGiv%QeWa~z6T$ZB$?q!)aKwa}+ zTxAf>nhBIxS}~uR5Q>SbEX&->lZ{2cdKOe=EOQ7I)Rt@IjeMe5(II1k0V>~3;Z8A@7vCHru))8Qd7 zyQkl3Sd70?1vb6Ox2dU$RC;)-t$i{^I=MD-%5@q17<10sSs2FJeTGy zr4~*$x=zZ*#h;-F@@&55Z<1u10yKYGAZZ^iNF?P9cu?QY4`LE@D|juZ@P=)Rf+)LW zPR9SauBk&^v-`L$c7sF7S7PhNv}>}9=og7mR8mrT%lA>Ej=NIFc~%%G;FaLkl`mxS zr4D#P3?7nx5qA+Ul{kbNGuy#FH$q(tUR+xx(zG!@VSd}^bQzzH@*|unYq|Xvy{qXN zi`!0+f`QFmFPB;>rWH$Pzx%n={e#+Evd7*Tjg;|uy`sn;2MXFhD8zI!i%Y~3m`c}@mJ8e@Hl%r)*f{E#XO2&8Kytb z-_iSrQpJF%BeJ4cg;jvZRvNEh44Dcf*E`FgVpwSEP@poJo~LqkOQrX7hL7KK0w-Ty z-ArR*G#_#o9|#40JN#G!~t93OftQePPw zHOUzBdofxi(_D1l2LA_yTnpOUo1l7yFM6+e_CQ+4ojP!`d*>*-i@TKmzlZ|heZQm$ zmsb%mSFFj?zd~IGHLvvW?ocTc#)s1J;&?YwUND-!qc6FH&K?Q4b?6wO{v4o=@p%~b^=y~V$!E3Mn$}`R9QidlFp2N#zVaTN9WpK14l``P+ zJ-|Q{p`a0F`B}rC`eK_s;s+}%j=>*r{?(fV=Jp%Eh;$<8t)bs9T`Wx&Feh@8g4UKS zlF5JN$juAuD2|MePea!Q2IWjip10VkNot%9iGRcH_f@$Lv-RqiS9rdd!_Hyhu=gsO z#e}tV_*!b+U~{F3_;xPA!{78Sz&4B@lWqT8>&}%R#}z1$?gP^=#xDZ&5-)s z7xwm;-{TRo25q2w-01|jf%rd!<^nQG+9Sd`k3)Xf|`jSF9A1d zl?CYJD>p>!vHR)0!GNYgb8i-WkvHb1mS>LQ)>3d3BJ}zKSg(rM2B+4N^jXTG=m+)l zI+-4xvm4Nx59*Q1RkJ4-*n9F@4vQNB`gcbTVw}P2L zf^7N#Mw+5n#eB z``}nYEgttcva|IdL|vnEE!j=q;*)eab#d`p+4xjR-;gQ751FadSKLXubl9^wfCud)UwhHaF{dk#^53tiBZ?RqrCwF3h)^pi5^$TWPv&Aj7w9Klh- z07vyweV7XA*DPvrU09K{Rh6_o)t>}#1!jmMVY185d8LGRLvCASy-V_E+NqOjZUCy; z-OORr5bFoh>2__|Z-6OPn6eoVL&!k~xu^FjJwu&Hv$d^-eTc`ZB`{m->p;ptBtof} z>AG~_Sz=S&;9LbyY#or^FZf;?fi%mu}@x(&=`EmwjOfq;QuNKFH47rh;K7YY5k0Yps={{iW+k2yEr0ILq1rA*-b{>v+E{ z$QQ(z!!}!E4E_Ej%+5Edx=K8#Z+W#GwZFSYzjqyq|Ez!8{pSiTUSp`%wHCksfR6&DyzG z%l!lA75wkfZtcj8AiUNF7QSe6-q`G-kMH5SX4tkRd|sFQJ^>!FdZi{=Fwi7wj%ZJt z^gRgXlCU}KuGE^5KkvqPrrcE>b@+6p(D=N1?E=nrG-&crraUqrlY$+({hc;84`#;z zVk0!J10V4JaNxzVuSJU;uL7-YG_)*cLy0*F&JI;RV_1>btQ6@ChwC)9V=g62n(7B6 z_Eh@mer}N}-5ESIK#j<4P=V-VtJ%VPm)>lm;Hy@&34G_Ykw=r$?t;Lp9s=ap0En`| zcigvplbUkN%AtM3*9w@ukr$(tJnWxPtp{sXUJEI)Uoub7NhM8ZZiQ|`7=Hj zfvZj{{&`VUc($@ZC&bGXs@DP4D}T}ZRAYK9X7KLQAl0Gv_t+kb?Z&Gl+fv3z>_^ex z3#kgrT8x`YXGeD<9!}mQ%l9omW5h$0=tS4key)g=)mz2U0T}q2e^PT#nAmb>qYx|M z;6}6Fm&!|o!xvm~z0KgB+nvBaiAb0EOd)ScCbL5J;3oxF8E%Evt?irt^VTgL+<6IT zA^QIHZ)zlquy?6KwdD^R3?9uAqiz1=9fXoS8-bA>v%Kqb$li1167$;V>(Q?kHwH&IHk;{ zsYqaj`TWPbF9R~I!XVs(mQQ+2AcxdbarA$B8s<>F#e=2TkvvKd4m67v7*)hNeX2w) zi%(})XUj~3ZgAdBkZ^OTUMEzq;zf^$(vckX&4z+s7HuzpZFYXTSke%wKPg5N5ElA} zqY;B;m>6vNQ3YN^o5_@n<3a%CVa+L#1#R^CyG#JGiZ2WnIqiXy4?< ztu=VXp{I|?m5$Wl^t=O>q%=zW&=HG(7raf{fqkwB1S+1QtIgc=yW&ymCy0$YUlU3r z;M?r7(c2I~xG;kzgcAHt(!~?OaPDzlQ3=K7YH-xpt#SKCbtt*tJtx4(!N9}$Z(gH) zfd0`6hUFs=7Ht3Su}j0xK=we#Q9ePyFU%`%xyt;`Qlwpzjtz0ac$`WgO(3EW*HRos z(Q+;yM-qts9a)em?d5E+T z22RVlBs78`6n=UtvS`p&k9%4CKRs7#s9u!-?P!xPT!NVC%@3AQp|V8{0To<%R2o$_ zmnjxupAJZoHB_$~s#o=*SLhKQ)0z7zZCB6SrX)vsersgra9ngDMIT+baB}X$8_1rg zXUTxdR~J$peVU?HvQ#Y4pHRf!-k1^I5|?jG)xf3>*7kYMS?yJf*MP4L{>O--hq-LV zH@EW1bL16(};qBb$QgAq^-t|wOcjMCr{8gc+z!iYJr|Iw zD?4;Lq#z%4Lu(HhhCjl;mp%lV2XZT9&F20>-uc~kAgTrTv2=Hd#{qjc$<&1r&=1je z?3bz^PtD6a&fkX71_eLX_y6a&aiA?!50RUHHwYk2p_MXwX1@+zur?lPAXQFuw(5*F zdZf__hBVqj^?IOs)h~Lp_K#h<7#tA7N4ooR?EBqHdFB(gnLVmKU+i5ng!l8>Y%B$_ z5&gJNBRge=?u>{Lf96(?j`lcVn+;^`->(M&EJWdZ@EFw%%|NbMeT9`M$<|31NO%+?O0a^8y}>8)_Lg|L76d;k`BR|;_P&Gs})5EeE# zl;dX>rD0Smc|$Qf#iS_*mYDzt>7IShSgQ|qtfP78@O>h)CoietH!Va@|#Tgm8GnMePvaveN-P|`;` z*S)Axk}*CKmM(Nq$Yo&cf4=X<+e7uXPA|hxeH^RJaF46y94e#p1WGsbC<(9kx_SIq z$u*22{q|73UZ`Hpi=MU>se02Q_Xq3|im@s#+tpH)v*k?3nOXg|hl=<0@*zCxDY(Xw zi@Y6*I<1TmBHCu8qRlGvXnLDr^Qlx~V}?Kh`vvm-qd{o~e?e@A4}6J0ouKnz_CPsZ zM#+e+`d4zVSLzLS@F_^2h8K?$x4$jki&{DsC}hf6z<)t>!pU zo^%&xmPMe+6^Jkii@qbELc{Y=d#cn?#n8&WadJP>f&~R{f_I&OAk@1|RVsljH758X zCF_osCQ#j%369UaWr3C~f1RrimecS4#C7w)>b|QrUAC%bK*8i@ong^q!j9Riv@(d( z0!BCTnmp}SUfU`cUr-E_n4^-H=a4ZG4vmU;cfEr+=SvKYI{i2xBeK+!&}iWfjz4@8 z)1%IQD)f912eRdl&zy&lJ45q<^v1PCg`+8}{_eOY#J^fn167b2D>YWM)99x-uNO0R zAv?}cxjv{|-HROI*C}fL{d`km*f5-j5Ie-Uf>b+_%ZpjR5IJchgTF<&MVnu+&qxpp z|1Q32HXXBGsOugl*6S_o&hh_g$m6>Me7&sO$Tj9|58B(coyn>B?u1hEgkBwCP0KTGJ<7eJnA^%?Rd*y(XMeC_J+GVb#_<+l z7GmtTeQxuqkf0s03eCwgH#BJrGLoz8=JY2WZfi(->M-%l`C&PA0%J9Y*{4hOLqX-w zS00EHs>BZv+}`~h>c6<_bcN=vr1m(SDoGpat}LfE`zaC9>WV64ydWmJ8qdV%q8V=Q z#1vdxSaPz%kNHf3a#H6XCxe#`P}?ECap#r!*|$lo{ZQBX7gu`QxHLvhv9D>;Fjc0@ zd$WIuE`ooX5_}IG7f(PE`G}e@`oz6ZX#OUke`aS5xj_01VAojiQiGiil8Jj>Bx(ot zEP^a&r17STY;1nRl&X9kCZTy9t~CCo&#rjWyash3!{=p0G=O~1bDC#%Q=~GZtC}E7gvgo>Ur5CnWMR6?5<;DVOT4q zu}q(J@XX~nt{76eb|@)#+QFaSB%oe(Fu8X8jKNjbGy?@~GUE{ba~*ewy1w&GEvnl5 zT_tP$m&{#+*sWydB1`zI9v>SLI?{<{?83VdlW4)UH#4jaattS|utRZ@YfU(B&#Zo_ zxs`WvJ3S9TT^n9p(T>v_yw8^kY&8;aNS5>uq%fS={jWxuUO#RkXC3M#F79G~R!J_IXzHW)g)b)fiPuX$yH@6|6wt3dPh-}573c*kM0QV}AhSM^D_*5DG0U<~ z>bYxeI(qNx1SgZo;#qEbW8~9bRd7Ou7U_W80UfxC#lsuGoBM#1=kM31C5%=btT3nc z^J5r6a~ur4i_;z=U*A`ml)H{it`UC%?aevbs1rZJ*N|wb_+GJKw(*fG(aYVPjGSNr z7D2m_ua|It)o%ojXDxPQXlN3Z)ltwmoimmO+Gd4E6hsS@2L(8dLekk>OE=ej+A?GeW= zguL~H_Vz)jUgL{i{cj7@Zd&6e0cPGpBhfdD3}^}NM=`#!0)kRogPUjU*XO1?2NGtN zfem-48~cPG;j1>nuCQ2%%Y!1loG(yP0F!%E2g>dugLk+!K@QGcBU2lD~wN=C7Dx3BSG0^f7y zZc)?>fA0K#4@r9);GHKCQ0=l`hkiXf(E7$kk29e-EkNsCZmxlxiA4?bN7xYg)1YH& zK%M(Tl!yPmqDRo3{6U9rpFvH2^ee^OF)x*l6Ty*%l{pcfe)VHtOD@W1#a&B>79VGZ z9D5xO$@NqQP|644*H-`Zj=wS!>i~{T>LU_w<;Qnc-jIYoe%-*udz25YVnNfW~HU=CB ziw{(97^>I&q6aZP`vN1SA=H3eZ}0d3ZpY`~(D(M#y8@^nyzjZvY~5@x($kF z^>_)f%#9Jlo<1i*;q0m)k5NL;Re-iJO7!N$xe8~aa7Skxz6J+Hx?6SNZ)~py-bLt- z?*42K7PimG^U>ZbnVIfLnP#E(9m`$2+bwla@XPEa+N47ZK!xTj~L zzDju84_eI|9{JC8=*VEG9#$~paBF;UruI9*Z*rCVxBCYeWr$u41KbK09J|3y=@4Ns zG@~^F&1e~cp&2c~W_a%2zeWnQLr6;a3P!2=_gFbnB}wySgS0KDq|<()ayWXzB{}Nj zyA|^0kqj}ZJwbEy3TI_cN_=T<8Y3RSwAJ^M3SoM^V%7#!^Q#%K(`R~#s_>Kw!+GgG zy|vBHnc-wIieT@@wi$FB%drnikAnU6@phtwG{t5uo1ejBZ-DbzvxMF6nTbW*_CB;R zT2YNNzmkng+@DwAZu74;4Uyq4ba#}t`U2;^6rlJMbhA551rOT0W(|yckn$Xz$XWu( zwY-7d-Ve;7nYqMa?lRAFJ|a_LdPA7WQ$3<7LMgffmpQh+Ncv@<^_uXcwqW?|B-;U; zt2w*Fxj&%9n{dywf3b(}57lE!`9kU>Rql5pmTD}P(L$$hT^T5L?G?gz#;}iC9YP3^ z_lN3@LiHT|p?X6tdKQ8}t7UFIlo{(y-` zXwt6-y}y9%oKIC344Q}#_-4AAj`0lGe;`dXc`ezKw z825E#c{LWk;98hXi7StW^qw$6a)0O*Z_)EbZ@L8}NTY@L=M?pXG9_t{`L;$K)q(-h z!t43Bj($!>&U))%z0?ZEjyKN@&tQ!9evm{&Kw3lOsC5l5h0HSi^x~ug$gWv5m!h6qS$Z)5{%a)3oA(mzV)+og zKxoe$gZA9Em!8Y1xHo@v_7F<=#T#T1gYeF>%hU>GO(&(>n4NC3{??OL3w}16+LbR` zpIKa#BXvWzHw(-A-Sf_DClwC3$I^G~H&Yt{kpeqMwQ~)J%hAhU&YGS`hC~;go z99CF~13Wjj*AXZ;_&bWF>3alw(iNNi77G2?bU1H-usy+84w8#MN_bn5%0|7G9Rb9oBxsmxxP>-WnoMwaNGoV|M^5=pwj38<4Iurt zvM4!|7NlZ9mX@owj*QNo(|lZRG36m2AHw|}$!|eAn{Jbq*aIX07EeuOFY-^+KEC)x zk7Ing1ro-%8v4%+ZXZLSdZH9oc`fA6g5*?rLd?(O&x=vJ`;MF2J+c<64uDq!0|paLgkh@YYG9)8|Xc`-b+BxW!9f_Q87{bkpAkPwj@v zrgwZeJf+MW2Dn|Z4JHQ{*+?;u0PxfX!e{ptTe?9XbiF`-6tao6D*3EHN1ta zbueG-=UkBJCKOH9nItgLs|TmkjFynmtPs5J(iI0Df&j~oXHL^@r+>OCAb!?t4F$lt>2d1I8C;UbK8S!*i{shMYV$G46ZdpBTDsL|f~DEYlV7Sk=`Yn&WPv6O#&ea`+ZX$sf*MZ^*fR2k@r!D6QTfll-VS3|E zYQj*%#G+l88TO(3j!41zK{le2jOB=^8+7p9N-rn-C}>@p+M>{@y$1eE=Q{9tmBptl zSU2HkezSao+IZVxA85~&2RAILk07oy>@pN>@=aJsVsu{uX0nSSn)SMSkJ^ensr}`- z?kXsqtij{%pPp$1R8MDS_(A;M2$edlt|hEe$UUAp1G3W8uabiP>L(q}VQ%bTUgOr-SkCMV+dpND-3oA zoJiV@-N&7wfS7On7FpP|Uce}Q{_nTOoh7qXLw`%Ga7|{0lYc;0yV!dC1n}0b5~=@Y zEDH%;^F0QY$|;|>!5AD-l_(_k_9kR#bPEUQfRQ5szgYD&rnp3rDEk|(r}Aj7HQ1G3 zcn5WmFyjMH%L~UyR(d2e9#FQS!MNMRIIZyKuC z{h~({i|jb)j*TnP&Ly0|C3cczgF~bvou7Nzg^?zn>X;*8;PXK=^wtNtMrzc7es zmp-@^@tsI3AFW-^c1Cm{Nqz%8MKXl+FtL+X~ov$Qpt}UhG@fn8SgV$c`QAfPRNh4SUQ4}c^q_vXrEU1Bs>>n^on(W3Q0X!{y_XEz_Dmeq z(g8aE&;4-$F;G3Z`4kph8@sIl_q`0CG2PN)ePx~8C7u0#xe7y_&+a~uh8U>c3{buQypx`FT6Rr=)77O?9dF;s*q zAJ2g|wJMR8F`lXBf=N`nLy!ciLtk!;o<6*6X2x|rR*4k*lazlmtwjBh$l ze(X{TX#8lw{kkh5{?30LxYS^S(eWIfa+{$#@Q`x|5mUIiny$8QI#BkUtM}WK0GY0v zjQ!_6|F}4)9^by7)U@uTO@EF zMV3d#7CH{!rAX}eqJIwc`LZo5@JV>JxwVcINT*EK!7rNFu{K^0dsX=%Wm$1K9{6vdrl(M${?E zI0y*X1@7KS)81H~E)6vq3?y#_Il!BkK;wG&7X4=1=I(<{0&^X<_hg&j{F?s|8%6(j zL${)JvY7pnatl=VxG86GvS6D6!CyWaG?vZZ*z-Poeb`>KBnM2#k7D~&W4W*`$i;FwF}fFwe9{2j5MMD43coRY)i2lt-t`p%{CXW+*t#iealWR<~Vow+XvtRRpSRgHmgdL|p#4c0i!6`(!u|^T66-8_nla=O{kYop|>@ zc<0XNw{-rAU%#6Eyw*<7c}g5i8H}L(JKMu6tUaZRtGbvL+<>c{lTz$dwE%VPe{p>j zPCq&=w=EYE2pQYLQGO3=Nd0CgBx>5ND5zlfDN)TX)}p5DR4D6eK*x{H(Zl*T{NyP~ zQkvk_fG>S@woD8_*OmtB^le{|rwl=?KNwAyFK}q;Mk%_Tr}@Y91p8_e2Y%bmS(>QQ z%4C~pvCjGP40pOdb`X`H)w)O!>lpZbAdqWRXtVP@7&Ca%(=66NkklG5Ck!4fTBRgW z{`k5Tf?!9d!z`xTtoftsZ=6Z;+Y9>^h4P7hB37vi(r(SPfy-qlVQ9!PB>dy;{}y!K3M&Zn z&vh&nI!-2bul1*Lsnfud-x{M&uBf-$y<=>!7WvdX(z>->g;5WIO@sFKMX27uiyrhE zC6pPH9w+yYiSDFYd|25s{>}mVGD(^pLQ9BBD(@9a0R4C)Dbz^YEAkC4a5W>iHfU;N zuY8@pXrLaM@CzVcJ((pwz2eX{T5S8{$H7gB294DQR}*mtx98@dM-*BJ4iX%oM89DF{tb=Vu0l{~pODGKf3_u<~HSRTyW2r3mDu`#+Rkak- zt90j99l5&;Y5)5@)NI5v$8bLmk!j~HjNa(>-K5{`vh1zapO;?-%Qp-yKE4jzk_on zf9LG0kWkY2;nqPFsjk{uFIvw((27a+*rPJmL-rNlN-KIpU6;tALp6xzw1)RTv+5sZ zK=m>yq4!I{PrW=n4du>)2*K$6ApFa#V6x61JMNXSJ^(Dd24+|?Fxk$<3`%yw5IaroRSHt7(PZ>ZB2 zPhtz~O2im;T=gvv=$k04fre9cbON<5clfo#&E;(ks3gD41oUX-{%t^_taL!%jU`-)t zr?M9hQ)o62;h=)G$>+-j9ME$qMEA@Cqi{D_ZX9-*A$7)yN(8j5HnT24Jw&J;^|rYhd9@f3gzQzSu9#YczZ@Q@=8?>Y&S5e>@*^+!bs!ts zERj}We#Y%MU=fMfTpY)OwmAt1J6q&@QF=FcmbmhzuZK5L`J}r;{ydQPjDQj>-BiEp zaM#IT8uEh^Y4klW3PRJKU?w3LtON86ZzFa7A@lN29=LT&6%Vv{YAgQ5lu%RqzE_jr z@4hZpT(xA`U(C~`qfwH#6wlvJv{uw-Am`qku?ZFBb~uZG=%iC!ui$&+Npa~DAMOHg z&WTvq{zgm~Set_J2A+^_n9vLu#G|OM#_rIX?7U88h%sP z0l3=SBJyh(0|9R7 zX%jI>+58Q^2`#|PwCAc(DbQN=o5Q?!Xzt8Q?|q6LOoT3aq3vRQQbbS-(UC!#V~H|W@WbZto;lonj|Diyg=RO)pR!Eo1#G%h+U-Ku_cl5;e!hEkV08@$umXxa2{}fk-hYDc{;HnWIyM?eH;nWZy zOhvHo%`p|s9GF$y>|L$w%$OA%T&>JKjjUmM-QktoTtiHyVJvZ9c2IS7a5l0qW0o{? z6?cFxb?f13WUb=$!&;@+TDceIS5 zshNqDosq3eh$#w;o65_xsqpRy_C|JQA*SdsZU`!F#+cJJ^PpqQSVq ztEh{;Y_^4We{F1JYh-U?rf42wTJrx>zJG;Ng%(t`w+r?IcBUyk47!!QyOFJxDVdR} zsk51j%YO>}KLz9*ER5V>phtSCnrg52|FcTa>O%yJVF`5qo0^-oTJK8{8{piLT%C>V zUChm#Lrh0u|IdQ|N~jJkp*pmL&;qhSVv1q$75_>8e+%{EY^?#^TjM`_v%p~g&+5>) zI?()Y>jYUZhQ$HX!Jz%my^ZV~pl$wtsJr@qsk@Q2CiKvnz0itgnKHp(TG_j}nVVag zSee%#RUc)76E=lHnIhbO zM&8|f zNbVq-#A!-ej(kH{#W7ohj=Wel*!m*Fv2$CKCzg~9>G{dy^*gw*P1!FMjXk5<0xZNS4 z9W{&r{g)*_-I11i$EP2MxUY-)%3gMg95k81bqq zSo4><7m3?pX$7#Idu33CGMqNmN&xsL;pfM#ZoKDjv>cVfShWk7C^;7RC86IQ8zC6v z$D-k;Ordkw>C&}`JHz2XSP!aCe+mQt8+nl`U^(m@$VUIpoe}FMbMU&-HnlYCWP0@c zNBlpJ`0)SvFN<9&#kRpuQt3dh#FDK>J%|2LY6iyPxw@g4^zI`#+6G;zBu&u2`yEfv zPk6EP}s95;5b0yk}<`td5ps=Ob1>q%|!ASdV89s#b_2>ago7 zf}fYKg_LU5Iobl|9Xq`#ODn$Dsej<2 z&_0)R@hnt-zz$ycGu{XMDN9eRQSF)kv0`V6zxXvvztWQ+SX)k?u$Q~INKUw%{VIWF zspHYd&o{^H-LTLt?bR)X3oHp)mq7)gw51tJ>o zlx-ud-P$|mb%Zg+6-F4_Tt^KV74gG*| zxa0c`5QvN2$6#D5^p9o}(40+$`EJ~izgaH$5L?;mB1{rrz`Y;7{40JbiN3PYZK+WJslo9gLad9l zQlER1grao)7?T)lwUtT_oxd`Y zzA|pVo?x_F=fv5a-{Fvc+SJKGOBBcQR1dWoo&Eexjg|bM$gZi8`OVo*2RbiVS;{oR zYuXE%*XWN)=&-RE9t)bL7x*5vkLjH-9ZalcD6!U5J-Rh3P z*1ifZ6^(i5DlD=pAxO;Nt*VZ2d(>~BgOTNIR`+r`Wr{c{$p9nneaNdxrhyPh*Y*u3 zCR5e$+7BviuGzoLSJTuA$NoJy38NMH)H5pc(YL5`43Xeh8o=LZ;o|7@w&8qC8W_f2 zbLo?UB*As3qnga^R^BPqG+y_=b;QxsXH(Q20g@aGsgz0tZw8uzCYnxDNvA1nI5>dQ z%z$bftjI-$Hqys%fFCKht^z@{eg8Qd?JsSo&m92p14qTsR1pM c(4lIb`z#Q=oDEOXzqTW7fK?&?|80T)3t76fVE_OC diff --git a/pkg/vm/context.go b/pkg/vm/context.go index 9e4fa63e6..529ddc9f5 100644 --- a/pkg/vm/context.go +++ b/pkg/vm/context.go @@ -74,7 +74,7 @@ func (c *Context) Next() (opcode.Opcode, []byte, error) { var numtoread int switch instr { - case opcode.PUSHDATA1, opcode.SYSCALL: + case opcode.PUSHDATA1: if c.nextip >= len(c.prog) { err = errNoInstParam } else { @@ -101,7 +101,7 @@ func (c *Context) Next() (opcode.Opcode, []byte, error) { } case opcode.JMP, opcode.JMPIF, opcode.JMPIFNOT, opcode.CALL, opcode.CALLED, opcode.CALLEDT: numtoread = 2 - case opcode.CALLI: + case opcode.CALLI, opcode.SYSCALL: numtoread = 4 case opcode.APPCALL, opcode.TAILCALL: numtoread = 20 diff --git a/pkg/vm/emit/emit.go b/pkg/vm/emit/emit.go index 1aed92884..411276787 100644 --- a/pkg/vm/emit/emit.go +++ b/pkg/vm/emit/emit.go @@ -108,9 +108,8 @@ func Syscall(w *io.BinWriter, api string) { w.Err = errors.New("syscall api cannot be of length 0") return } - buf := make([]byte, len(api)+1) - buf[0] = byte(len(api)) - copy(buf[1:], api) + buf := make([]byte, 4) + binary.LittleEndian.PutUint32(buf, InteropNameToID([]byte(api))) Instruction(w, opcode.SYSCALL, buf) } diff --git a/pkg/vm/emit/emit_test.go b/pkg/vm/emit/emit_test.go index cb028cb9e..f122f1abb 100644 --- a/pkg/vm/emit/emit_test.go +++ b/pkg/vm/emit/emit_test.go @@ -165,9 +165,9 @@ func TestEmitSyscall(t *testing.T) { for _, syscall := range syscalls { Syscall(buf.BinWriter, syscall) result := buf.Bytes() + assert.Equal(t, 5, len(result)) assert.Equal(t, opcode.Opcode(result[0]), opcode.SYSCALL) - assert.Equal(t, result[1], uint8(len(syscall))) - assert.Equal(t, result[2:], []byte(syscall)) + assert.Equal(t, binary.LittleEndian.Uint32(result[1:]), InteropNameToID([]byte(syscall))) buf.Reset() } diff --git a/pkg/vm/vm.go b/pkg/vm/vm.go index 43eda9542..e36ef521a 100644 --- a/pkg/vm/vm.go +++ b/pkg/vm/vm.go @@ -14,7 +14,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/crypto/hash" "github.com/nspcc-dev/neo-go/pkg/crypto/keys" "github.com/nspcc-dev/neo-go/pkg/util" - "github.com/nspcc-dev/neo-go/pkg/vm/emit" "github.com/nspcc-dev/neo-go/pkg/vm/opcode" "github.com/pkg/errors" ) @@ -480,11 +479,7 @@ func (v *VM) SetScriptGetter(gs func(util.Uint160) ([]byte, bool)) { // GetInteropID converts instruction parameter to an interop ID. func GetInteropID(parameter []byte) uint32 { - if len(parameter) == 4 { - return binary.LittleEndian.Uint32(parameter) - } - - return emit.InteropNameToID(parameter) + return binary.LittleEndian.Uint32(parameter) } // GetInteropByID returns interop function together with price. diff --git a/pkg/vm/vm_test.go b/pkg/vm/vm_test.go index 56698c2c0..dc847bef5 100644 --- a/pkg/vm/vm_test.go +++ b/pkg/vm/vm_test.go @@ -41,22 +41,6 @@ func TestInteropHook(t *testing.T) { assert.Equal(t, big.NewInt(1), v.estack.Pop().value.Value()) } -func TestInteropHookViaID(t *testing.T) { - v := New() - v.RegisterInteropGetter(fooInteropGetter) - - buf := io.NewBufBinWriter() - fooid := emit.InteropNameToID([]byte("foo")) - var id = make([]byte, 4) - binary.LittleEndian.PutUint32(id, fooid) - emit.Syscall(buf.BinWriter, string(id)) - emit.Opcode(buf.BinWriter, opcode.RET) - v.Load(buf.Bytes()) - runVM(t, v) - assert.Equal(t, 1, v.estack.Len()) - assert.Equal(t, big.NewInt(1), v.estack.Pop().value.Value()) -} - func TestRegisterInteropGetter(t *testing.T) { v := New() currRegistered := len(v.getInterop) @@ -563,11 +547,9 @@ func TestIteratorValues(t *testing.T) { } func getSyscallProg(name string) (prog []byte) { - prog = []byte{byte(opcode.SYSCALL)} - prog = append(prog, byte(len(name))) - prog = append(prog, name...) - - return + buf := io.NewBufBinWriter() + emit.Syscall(buf.BinWriter, name) + return buf.Bytes() } func getSerializeProg() (prog []byte) { @@ -704,15 +686,21 @@ func TestSerializeMap(t *testing.T) { } func TestSerializeMapCompat(t *testing.T) { - // Create a map, push key and value, add KV to map, serialize. - progHex := "c776036b65790576616c7565c468154e656f2e52756e74696d652e53657269616c697a65" resHex := "820100036b6579000576616c7565" - prog, err := hex.DecodeString(progHex) - require.NoError(t, err) res, err := hex.DecodeString(resHex) require.NoError(t, err) - vm := load(prog) + // Create a map, push key and value, add KV to map, serialize. + buf := io.NewBufBinWriter() + emit.Opcode(buf.BinWriter, opcode.NEWMAP) + emit.Opcode(buf.BinWriter, opcode.DUP) + emit.Bytes(buf.BinWriter, []byte("key")) + emit.Bytes(buf.BinWriter, []byte("value")) + emit.Opcode(buf.BinWriter, opcode.SETITEM) + emit.Syscall(buf.BinWriter, "Neo.Runtime.Serialize") + require.NoError(t, buf.Err) + + vm := load(buf.Bytes()) runVM(t, vm) assert.Equal(t, res, vm.estack.Pop().Bytes()) }