From 314f361d070893b7dcf125a4e605d6ec60c5a2d5 Mon Sep 17 00:00:00 2001 From: chriseth Date: Tue, 13 Apr 2021 12:08:11 +0200 Subject: [PATCH] Update commandline tests. --- test/cmdlineTests/name_simplifier/output | 68 ++++++------------- .../output | 32 +++++---- .../output | 32 +++++---- .../output.json | 12 ++-- 4 files changed, 64 insertions(+), 80 deletions(-) diff --git a/test/cmdlineTests/name_simplifier/output b/test/cmdlineTests/name_simplifier/output index 89b171a46..74c654798 100644 --- a/test/cmdlineTests/name_simplifier/output +++ b/test/cmdlineTests/name_simplifier/output @@ -45,7 +45,7 @@ object "C_59" { for { } lt(i, _4) { i := add(i, 1) } { if slt(sub(calldatasize(), src), _2) { revert(_1, _1) } - let value := allocate_memory_1245() + let value := allocate_memory_1238() mstore(value, calldataload(src)) mstore(dst, value) dst := add(dst, _2) @@ -65,18 +65,18 @@ object "C_59" { mstore(add(headStart, _1), 64) let length := mload(value1) mstore(add(headStart, 64), length) - let i := tail + let i := 0 for { } lt(i, length) { i := add(i, _1) } { mstore(add(add(headStart, i), 96), mload(add(add(value1, i), _1))) } if gt(i, length) { - mstore(add(add(headStart, length), 96), tail) + mstore(add(add(headStart, length), 96), 0) } tail := add(add(headStart, and(add(length, 31), not(31))), 96) } - function allocate_memory_1245() -> memPtr + function allocate_memory_1238() -> memPtr { memPtr := mload(64) let newFreePtr := add(memPtr, 32) @@ -90,40 +90,24 @@ object "C_59" { if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() } mstore(64, newFreePtr) } - function copy_literal_to_memory_64902fd228f7ef267f3b474dd6ef84bae434cf5546eee948e7ca26df3eda1927() -> memPtr - { - let memPtr_1 := mload(64) - let newFreePtr := add(memPtr_1, 160) - if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr_1)) { panic_error_0x41() } - mstore(64, newFreePtr) - mstore(memPtr_1, 100) - memPtr := memPtr_1 - mstore(add(memPtr_1, 0x20), "longstringlongstringlongstringlo") - mstore(add(memPtr_1, 64), "ngstringlongstringlongstringlong") - mstore(add(memPtr_1, 96), "stringlongstringlongstringlongst") - mstore(add(memPtr_1, 128), "ring") - } - function extract_from_storage_value_dynamict_uint256(slot_value, offset) -> value - { - value := shr(shl(3, offset), slot_value) - } function fun_sumArray(var_s_mpos) -> var, var_mpos { - if iszero(lt(var_mpos, mload(var_s_mpos))) { panic_error_0x32() } - let _1 := mload(mload(add(add(var_s_mpos, shl(5, var_mpos)), 32))) - let _2, _3 := storage_array_index_access_struct_S_1252() - sstore(_2, _1) - if iszero(lt(0x01, mload(var_s_mpos))) { panic_error_0x32() } - let _4 := mload(mload(add(var_s_mpos, 64))) - if iszero(lt(var_mpos, 0x02)) { panic_error_0x32() } - let slot := add(0x02, var_mpos) - let _5 := sload(slot) - let shiftBits := shl(3, var_mpos) - let mask := shl(shiftBits, not(0)) - sstore(slot, or(and(_5, not(mask)), and(shl(shiftBits, _4), mask))) - let _6, _7 := storage_array_index_access_struct_S() - var := extract_from_storage_value_dynamict_uint256(sload(_6), _7) - var_mpos := copy_literal_to_memory_64902fd228f7ef267f3b474dd6ef84bae434cf5546eee948e7ca26df3eda1927() + if iszero(mload(var_s_mpos)) { panic_error_0x32() } + sstore(0x00, mload(mload(add(var_s_mpos, 32)))) + if iszero(lt(1, mload(var_s_mpos))) { panic_error_0x32() } + let _1 := mload(mload(add(var_s_mpos, 64))) + sstore(0x02, _1) + var := _1 + let memPtr := mload(64) + let newFreePtr := add(memPtr, 160) + if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() } + mstore(64, newFreePtr) + mstore(memPtr, 100) + mstore(add(memPtr, 32), "longstringlongstringlongstringlo") + mstore(add(memPtr, 64), "ngstringlongstringlongstringlong") + mstore(add(memPtr, 96), "stringlongstringlongstringlongst") + mstore(add(memPtr, 128), "ring") + var_mpos := memPtr } function panic_error_0x32() { @@ -137,18 +121,6 @@ object "C_59" { mstore(4, 0x41) revert(0, 0x24) } - function storage_array_index_access_struct_S_1252() -> slot, offset - { - if iszero(lt(offset, 0x02)) { panic_error_0x32() } - slot := add(offset, offset) - offset := offset - } - function storage_array_index_access_struct_S() -> slot, offset - { - if iszero(lt(offset, 0x02)) { panic_error_0x32() } - slot := add(0x02, offset) - offset := offset - } } } } diff --git a/test/cmdlineTests/optimizer_inliner_dynamic_reference/output b/test/cmdlineTests/optimizer_inliner_dynamic_reference/output index d58249350..c5b1ba893 100644 --- a/test/cmdlineTests/optimizer_inliner_dynamic_reference/output +++ b/test/cmdlineTests/optimizer_inliner_dynamic_reference/output @@ -148,7 +148,7 @@ sub_0: assembly { mstore(0x00, shl(0xe0, 0x4e487b71)) mstore(0x04, 0x51) revert(0x00, 0x24) - /* "#utility.yul":196:425 */ + /* "#utility.yul":196:421 */ tag_22: /* "#utility.yul":236:239 */ 0x00 @@ -164,29 +164,35 @@ sub_0: assembly { iszero tag_28 jumpi - shl(0xe0, 0x4e487b71) - /* "#utility.yul":293:326 */ - dup2 + /* "#utility.yul":312:322 */ + 0x4e487b71 + /* "#utility.yul":307:310 */ + 0xe0 + /* "#utility.yul":303:323 */ + shl + /* "#utility.yul":300:301 */ + 0x00 + /* "#utility.yul":293:324 */ mstore - /* "#utility.yul":349:353 */ + /* "#utility.yul":347:351 */ 0x11 - /* "#utility.yul":346:347 */ + /* "#utility.yul":344:345 */ 0x04 - /* "#utility.yul":339:354 */ + /* "#utility.yul":337:352 */ mstore - /* "#utility.yul":379:383 */ + /* "#utility.yul":375:379 */ 0x24 - /* "#utility.yul":300:303 */ - dup2 - /* "#utility.yul":367:384 */ + /* "#utility.yul":372:373 */ + 0x00 + /* "#utility.yul":365:380 */ revert /* "#utility.yul":254:256 */ tag_28: pop - /* "#utility.yul":410:419 */ + /* "#utility.yul":406:415 */ add swap1 - /* "#utility.yul":244:425 */ + /* "#utility.yul":244:421 */ jump // out auxdata: diff --git a/test/cmdlineTests/optimizer_inliner_dynamic_reference_constructor/output b/test/cmdlineTests/optimizer_inliner_dynamic_reference_constructor/output index 321c5070b..21d730f52 100644 --- a/test/cmdlineTests/optimizer_inliner_dynamic_reference_constructor/output +++ b/test/cmdlineTests/optimizer_inliner_dynamic_reference_constructor/output @@ -153,7 +153,7 @@ sub_0: assembly { mstore(0x00, shl(0xe0, 0x4e487b71)) mstore(0x04, 0x51) revert(0x00, 0x24) - /* "#utility.yul":196:425 */ + /* "#utility.yul":196:421 */ tag_19: /* "#utility.yul":236:239 */ 0x00 @@ -169,29 +169,35 @@ sub_0: assembly { iszero tag_24 jumpi - shl(0xe0, 0x4e487b71) - /* "#utility.yul":293:326 */ - dup2 + /* "#utility.yul":312:322 */ + 0x4e487b71 + /* "#utility.yul":307:310 */ + 0xe0 + /* "#utility.yul":303:323 */ + shl + /* "#utility.yul":300:301 */ + 0x00 + /* "#utility.yul":293:324 */ mstore - /* "#utility.yul":349:353 */ + /* "#utility.yul":347:351 */ 0x11 - /* "#utility.yul":346:347 */ + /* "#utility.yul":344:345 */ 0x04 - /* "#utility.yul":339:354 */ + /* "#utility.yul":337:352 */ mstore - /* "#utility.yul":379:383 */ + /* "#utility.yul":375:379 */ 0x24 - /* "#utility.yul":300:303 */ - dup2 - /* "#utility.yul":367:384 */ + /* "#utility.yul":372:373 */ + 0x00 + /* "#utility.yul":365:380 */ revert /* "#utility.yul":254:256 */ tag_24: pop - /* "#utility.yul":410:419 */ + /* "#utility.yul":406:415 */ add swap1 - /* "#utility.yul":244:425 */ + /* "#utility.yul":244:421 */ jump // out auxdata: diff --git a/test/cmdlineTests/standard_optimizer_generatedSources/output.json b/test/cmdlineTests/standard_optimizer_generatedSources/output.json index dd61856f7..9e8c34405 100644 --- a/test/cmdlineTests/standard_optimizer_generatedSources/output.json +++ b/test/cmdlineTests/standard_optimizer_generatedSources/output.json @@ -1,14 +1,14 @@ -{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1501:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"109:1076:1","statements":[{"nodeType":"YulVariableDeclaration","src":"119:12:1","value":{"kind":"number","nodeType":"YulLiteral","src":"129:2:1","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"123:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"176:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"185:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"193:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"178:6:1"},"nodeType":"YulFunctionCall","src":"178:22:1"},"nodeType":"YulExpressionStatement","src":"178:22:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"151:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"160:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"147:3:1"},"nodeType":"YulFunctionCall","src":"147:23:1"},{"name":"_1","nodeType":"YulIdentifier","src":"172:2:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"143:3:1"},"nodeType":"YulFunctionCall","src":"143:32:1"},"nodeType":"YulIf","src":"140:2:1"},{"nodeType":"YulVariableDeclaration","src":"211:37:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"238:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"225:12:1"},"nodeType":"YulFunctionCall","src":"225:23:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"215:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"257:28:1","value":{"kind":"number","nodeType":"YulLiteral","src":"267:18:1","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"261:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"312:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"321:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"329:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"314:6:1"},"nodeType":"YulFunctionCall","src":"314:22:1"},"nodeType":"YulExpressionStatement","src":"314:22:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:1"},{"name":"_2","nodeType":"YulIdentifier","src":"308:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"297:2:1"},"nodeType":"YulFunctionCall","src":"297:14:1"},"nodeType":"YulIf","src":"294:2:1"},{"nodeType":"YulVariableDeclaration","src":"347:32:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"361:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"372:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"357:3:1"},"nodeType":"YulFunctionCall","src":"357:22:1"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"351:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"427:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"436:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"444:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"429:6:1"},"nodeType":"YulFunctionCall","src":"429:22:1"},"nodeType":"YulExpressionStatement","src":"429:22:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"406:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"410:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"402:3:1"},"nodeType":"YulFunctionCall","src":"402:13:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"417:7:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"398:3:1"},"nodeType":"YulFunctionCall","src":"398:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"391:6:1"},"nodeType":"YulFunctionCall","src":"391:35:1"},"nodeType":"YulIf","src":"388:2:1"},{"nodeType":"YulVariableDeclaration","src":"462:26:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"485:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"472:12:1"},"nodeType":"YulFunctionCall","src":"472:16:1"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"466:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"511:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"513:16:1"},"nodeType":"YulFunctionCall","src":"513:18:1"},"nodeType":"YulExpressionStatement","src":"513:18:1"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"503:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"507:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"500:2:1"},"nodeType":"YulFunctionCall","src":"500:10:1"},"nodeType":"YulIf","src":"497:2:1"},{"nodeType":"YulVariableDeclaration","src":"542:20:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"556:1:1","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"559:2:1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"552:3:1"},"nodeType":"YulFunctionCall","src":"552:10:1"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"546:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"571:23:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"591:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"585:5:1"},"nodeType":"YulFunctionCall","src":"585:9:1"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"575:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"603:56:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"625:6:1"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"641:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"645:2:1","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"637:3:1"},"nodeType":"YulFunctionCall","src":"637:11:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"654:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"650:3:1"},"nodeType":"YulFunctionCall","src":"650:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"633:3:1"},"nodeType":"YulFunctionCall","src":"633:25:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"621:3:1"},"nodeType":"YulFunctionCall","src":"621:38:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"607:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"718:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"720:16:1"},"nodeType":"YulFunctionCall","src":"720:18:1"},"nodeType":"YulExpressionStatement","src":"720:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"677:10:1"},{"name":"_2","nodeType":"YulIdentifier","src":"689:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"674:2:1"},"nodeType":"YulFunctionCall","src":"674:18:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"697:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"709:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"694:2:1"},"nodeType":"YulFunctionCall","src":"694:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"671:2:1"},"nodeType":"YulFunctionCall","src":"671:46:1"},"nodeType":"YulIf","src":"668:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"756:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"760:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"749:6:1"},"nodeType":"YulFunctionCall","src":"749:22:1"},"nodeType":"YulExpressionStatement","src":"749:22:1"},{"nodeType":"YulVariableDeclaration","src":"780:17:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"791:6:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"784:3:1","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"813:6:1"},{"name":"_4","nodeType":"YulIdentifier","src":"821:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"806:6:1"},"nodeType":"YulFunctionCall","src":"806:18:1"},"nodeType":"YulExpressionStatement","src":"806:18:1"},{"nodeType":"YulAssignment","src":"833:22:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"844:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"852:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"840:3:1"},"nodeType":"YulFunctionCall","src":"840:15:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"833:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"864:22:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"879:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"883:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"875:3:1"},"nodeType":"YulFunctionCall","src":"875:11:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"868:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"932:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"941:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"949:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"934:6:1"},"nodeType":"YulFunctionCall","src":"934:22:1"},"nodeType":"YulExpressionStatement","src":"934:22:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"909:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"913:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"905:3:1"},"nodeType":"YulFunctionCall","src":"905:11:1"},{"name":"_1","nodeType":"YulIdentifier","src":"918:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"901:3:1"},"nodeType":"YulFunctionCall","src":"901:20:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"923:7:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"898:2:1"},"nodeType":"YulFunctionCall","src":"898:33:1"},"nodeType":"YulIf","src":"895:2:1"},{"nodeType":"YulVariableDeclaration","src":"967:15:1","value":{"name":"value0","nodeType":"YulIdentifier","src":"976:6:1"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"971:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1036:118:1","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1057:3:1"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1075:3:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1062:12:1"},"nodeType":"YulFunctionCall","src":"1062:17:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1050:6:1"},"nodeType":"YulFunctionCall","src":"1050:30:1"},"nodeType":"YulExpressionStatement","src":"1050:30:1"},{"nodeType":"YulAssignment","src":"1093:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1104:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1109:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1100:3:1"},"nodeType":"YulFunctionCall","src":"1100:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1093:3:1"}]},{"nodeType":"YulAssignment","src":"1125:19:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1136:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1141:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1132:3:1"},"nodeType":"YulFunctionCall","src":"1132:12:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1125:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1002:1:1"},{"name":"_4","nodeType":"YulIdentifier","src":"1005:2:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"999:2:1"},"nodeType":"YulFunctionCall","src":"999:9:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1009:18:1","statements":[{"nodeType":"YulAssignment","src":"1011:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1020:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"1023:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1016:3:1"},"nodeType":"YulFunctionCall","src":"1016:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1011:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"995:3:1","statements":[]},"src":"991:163:1"},{"nodeType":"YulAssignment","src":"1163:16:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1173:6:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1163:6:1"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"75:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"86:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"98:6:1","type":""}],"src":"14:1171:1"},{"body":{"nodeType":"YulBlock","src":"1291:76:1","statements":[{"nodeType":"YulAssignment","src":"1301:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1313:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1324:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1309:3:1"},"nodeType":"YulFunctionCall","src":"1309:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1301:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1343:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"1354:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1336:6:1"},"nodeType":"YulFunctionCall","src":"1336:25:1"},"nodeType":"YulExpressionStatement","src":"1336:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1260:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1271:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1282:4:1","type":""}],"src":"1190:177:1"},{"body":{"nodeType":"YulBlock","src":"1404:95:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1421:1:1","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1428:3:1","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1433:10:1","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1424:3:1"},"nodeType":"YulFunctionCall","src":"1424:20:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1414:6:1"},"nodeType":"YulFunctionCall","src":"1414:31:1"},"nodeType":"YulExpressionStatement","src":"1414:31:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1461:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1464:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1454:6:1"},"nodeType":"YulFunctionCall","src":"1454:15:1"},"nodeType":"YulExpressionStatement","src":"1454:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1485:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1488:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1478:6:1"},"nodeType":"YulFunctionCall","src":"1478:15:1"},"nodeType":"YulExpressionStatement","src":"1478:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1372:127:1"}]},"contents":"{ +{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1456:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"109:1031:1","statements":[{"nodeType":"YulVariableDeclaration","src":"119:12:1","value":{"kind":"number","nodeType":"YulLiteral","src":"129:2:1","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"123:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"176:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"185:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"188:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"178:6:1"},"nodeType":"YulFunctionCall","src":"178:12:1"},"nodeType":"YulExpressionStatement","src":"178:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"151:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"160:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"147:3:1"},"nodeType":"YulFunctionCall","src":"147:23:1"},{"name":"_1","nodeType":"YulIdentifier","src":"172:2:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"143:3:1"},"nodeType":"YulFunctionCall","src":"143:32:1"},"nodeType":"YulIf","src":"140:2:1"},{"nodeType":"YulVariableDeclaration","src":"201:37:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"228:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"215:12:1"},"nodeType":"YulFunctionCall","src":"215:23:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"205:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"247:28:1","value":{"kind":"number","nodeType":"YulLiteral","src":"257:18:1","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"251:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"302:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"311:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"314:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"304:6:1"},"nodeType":"YulFunctionCall","src":"304:12:1"},"nodeType":"YulExpressionStatement","src":"304:12:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"290:6:1"},{"name":"_2","nodeType":"YulIdentifier","src":"298:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"287:2:1"},"nodeType":"YulFunctionCall","src":"287:14:1"},"nodeType":"YulIf","src":"284:2:1"},{"nodeType":"YulVariableDeclaration","src":"327:32:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"341:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"352:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"337:3:1"},"nodeType":"YulFunctionCall","src":"337:22:1"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"331:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"407:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"416:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"419:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"409:6:1"},"nodeType":"YulFunctionCall","src":"409:12:1"},"nodeType":"YulExpressionStatement","src":"409:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"386:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"390:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"382:3:1"},"nodeType":"YulFunctionCall","src":"382:13:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"397:7:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"378:3:1"},"nodeType":"YulFunctionCall","src":"378:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"371:6:1"},"nodeType":"YulFunctionCall","src":"371:35:1"},"nodeType":"YulIf","src":"368:2:1"},{"nodeType":"YulVariableDeclaration","src":"432:26:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"455:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"442:12:1"},"nodeType":"YulFunctionCall","src":"442:16:1"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"436:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"481:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"483:16:1"},"nodeType":"YulFunctionCall","src":"483:18:1"},"nodeType":"YulExpressionStatement","src":"483:18:1"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"473:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"477:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"470:2:1"},"nodeType":"YulFunctionCall","src":"470:10:1"},"nodeType":"YulIf","src":"467:2:1"},{"nodeType":"YulVariableDeclaration","src":"512:20:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"526:1:1","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"529:2:1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"522:3:1"},"nodeType":"YulFunctionCall","src":"522:10:1"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"516:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"541:23:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"561:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"555:5:1"},"nodeType":"YulFunctionCall","src":"555:9:1"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"545:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"573:56:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"595:6:1"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"611:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"615:2:1","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"607:3:1"},"nodeType":"YulFunctionCall","src":"607:11:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"620:3:1"},"nodeType":"YulFunctionCall","src":"620:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"603:3:1"},"nodeType":"YulFunctionCall","src":"603:25:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"591:3:1"},"nodeType":"YulFunctionCall","src":"591:38:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"577:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"688:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"690:16:1"},"nodeType":"YulFunctionCall","src":"690:18:1"},"nodeType":"YulExpressionStatement","src":"690:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"647:10:1"},{"name":"_2","nodeType":"YulIdentifier","src":"659:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"644:2:1"},"nodeType":"YulFunctionCall","src":"644:18:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"667:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"679:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"664:2:1"},"nodeType":"YulFunctionCall","src":"664:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"641:2:1"},"nodeType":"YulFunctionCall","src":"641:46:1"},"nodeType":"YulIf","src":"638:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"726:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"730:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"719:6:1"},"nodeType":"YulFunctionCall","src":"719:22:1"},"nodeType":"YulExpressionStatement","src":"719:22:1"},{"nodeType":"YulVariableDeclaration","src":"750:17:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"761:6:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"754:3:1","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"783:6:1"},{"name":"_4","nodeType":"YulIdentifier","src":"791:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"776:6:1"},"nodeType":"YulFunctionCall","src":"776:18:1"},"nodeType":"YulExpressionStatement","src":"776:18:1"},{"nodeType":"YulAssignment","src":"803:22:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"814:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"822:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"810:3:1"},"nodeType":"YulFunctionCall","src":"810:15:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"803:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"834:22:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"849:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"853:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"845:3:1"},"nodeType":"YulFunctionCall","src":"845:11:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"838:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"902:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"911:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"914:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"904:6:1"},"nodeType":"YulFunctionCall","src":"904:12:1"},"nodeType":"YulExpressionStatement","src":"904:12:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"879:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"883:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"875:3:1"},"nodeType":"YulFunctionCall","src":"875:11:1"},{"name":"_1","nodeType":"YulIdentifier","src":"888:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"871:3:1"},"nodeType":"YulFunctionCall","src":"871:20:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"893:7:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"868:2:1"},"nodeType":"YulFunctionCall","src":"868:33:1"},"nodeType":"YulIf","src":"865:2:1"},{"nodeType":"YulVariableDeclaration","src":"927:10:1","value":{"kind":"number","nodeType":"YulLiteral","src":"936:1:1","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"931:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"991:118:1","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1012:3:1"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1030:3:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1017:12:1"},"nodeType":"YulFunctionCall","src":"1017:17:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1005:6:1"},"nodeType":"YulFunctionCall","src":"1005:30:1"},"nodeType":"YulExpressionStatement","src":"1005:30:1"},{"nodeType":"YulAssignment","src":"1048:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1059:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1064:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1055:3:1"},"nodeType":"YulFunctionCall","src":"1055:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1048:3:1"}]},{"nodeType":"YulAssignment","src":"1080:19:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1091:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1096:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1087:3:1"},"nodeType":"YulFunctionCall","src":"1087:12:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1080:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"957:1:1"},{"name":"_4","nodeType":"YulIdentifier","src":"960:2:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"954:2:1"},"nodeType":"YulFunctionCall","src":"954:9:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"964:18:1","statements":[{"nodeType":"YulAssignment","src":"966:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"975:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"978:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"971:3:1"},"nodeType":"YulFunctionCall","src":"971:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"966:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"950:3:1","statements":[]},"src":"946:163:1"},{"nodeType":"YulAssignment","src":"1118:16:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1128:6:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1118:6:1"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"75:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"86:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"98:6:1","type":""}],"src":"14:1126:1"},{"body":{"nodeType":"YulBlock","src":"1246:76:1","statements":[{"nodeType":"YulAssignment","src":"1256:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1268:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1279:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1264:3:1"},"nodeType":"YulFunctionCall","src":"1264:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1256:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1298:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"1309:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1291:6:1"},"nodeType":"YulFunctionCall","src":"1291:25:1"},"nodeType":"YulExpressionStatement","src":"1291:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1215:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1226:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1237:4:1","type":""}],"src":"1145:177:1"},{"body":{"nodeType":"YulBlock","src":"1359:95:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1376:1:1","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1383:3:1","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1388:10:1","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1379:3:1"},"nodeType":"YulFunctionCall","src":"1379:20:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1369:6:1"},"nodeType":"YulFunctionCall","src":"1369:31:1"},"nodeType":"YulExpressionStatement","src":"1369:31:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1416:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1419:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1409:6:1"},"nodeType":"YulFunctionCall","src":"1409:15:1"},"nodeType":"YulExpressionStatement","src":"1409:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1440:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1443:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1433:6:1"},"nodeType":"YulFunctionCall","src":"1433:15:1"},"nodeType":"YulExpressionStatement","src":"1433:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1327:127:1"}]},"contents":"{ { } function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0 { let _1 := 32 - if slt(sub(dataEnd, headStart), _1) { revert(value0, value0) } + if slt(sub(dataEnd, headStart), _1) { revert(0, 0) } let offset := calldataload(headStart) let _2 := 0xffffffffffffffff - if gt(offset, _2) { revert(value0, value0) } + if gt(offset, _2) { revert(0, 0) } let _3 := add(headStart, offset) - if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(value0, value0) } + if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) } let _4 := calldataload(_3) if gt(_4, _2) { panic_error_0x41() } let _5 := shl(5, _4) @@ -20,8 +20,8 @@ mstore(memPtr, _4) dst := add(memPtr, _1) let src := add(_3, _1) - if gt(add(add(_3, _5), _1), dataEnd) { revert(value0, value0) } - let i := value0 + if gt(add(add(_3, _5), _1), dataEnd) { revert(0, 0) } + let i := 0 for { } lt(i, _4) { i := add(i, 1) } { mstore(dst, calldataload(src))