{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1338:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"109:1045: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:13:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"invalid","nodeType":"YulIdentifier","src":"513:7:1"},"nodeType":"YulFunctionCall","src":"513:9:1"},"nodeType":"YulExpressionStatement","src":"513:9: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":"533:21:1","value":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"547:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"551:2:1"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"543:3:1"},"nodeType":"YulFunctionCall","src":"543:11:1"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"537:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"563:23:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"583:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"577:5:1"},"nodeType":"YulFunctionCall","src":"577:9:1"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"567:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"595:42:1","value":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"621:6:1"},{"name":"_5","nodeType":"YulIdentifier","src":"629:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"617:3:1"},"nodeType":"YulFunctionCall","src":"617:15:1"},{"name":"_1","nodeType":"YulIdentifier","src":"634:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"613:3:1"},"nodeType":"YulFunctionCall","src":"613:24:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"599:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"696:13:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"invalid","nodeType":"YulIdentifier","src":"698:7:1"},"nodeType":"YulFunctionCall","src":"698:9:1"},"nodeType":"YulExpressionStatement","src":"698:9:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"655:10:1"},{"name":"_2","nodeType":"YulIdentifier","src":"667:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"652:2:1"},"nodeType":"YulFunctionCall","src":"652:18:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"675:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"687:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"672:2:1"},"nodeType":"YulFunctionCall","src":"672:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"649:2:1"},"nodeType":"YulFunctionCall","src":"649:46:1"},"nodeType":"YulIf","src":"646:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"725:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"729:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"718:6:1"},"nodeType":"YulFunctionCall","src":"718:22:1"},"nodeType":"YulExpressionStatement","src":"718:22:1"},{"nodeType":"YulVariableDeclaration","src":"749:17:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"760:6:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"753:3:1","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"782:6:1"},{"name":"_4","nodeType":"YulIdentifier","src":"790:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"775:6:1"},"nodeType":"YulFunctionCall","src":"775:18:1"},"nodeType":"YulExpressionStatement","src":"775:18:1"},{"nodeType":"YulAssignment","src":"802:22:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"813:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"821:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"809:3:1"},"nodeType":"YulFunctionCall","src":"809:15:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"802:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"833:22:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"848:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"852:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"844:3:1"},"nodeType":"YulFunctionCall","src":"844:11:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"837:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"901:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"910:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"918:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"903:6:1"},"nodeType":"YulFunctionCall","src":"903:22:1"},"nodeType":"YulExpressionStatement","src":"903:22:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"878:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"882:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"874:3:1"},"nodeType":"YulFunctionCall","src":"874:11:1"},{"name":"_1","nodeType":"YulIdentifier","src":"887:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"870:3:1"},"nodeType":"YulFunctionCall","src":"870:20:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"892:7:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"867:2:1"},"nodeType":"YulFunctionCall","src":"867:33:1"},"nodeType":"YulIf","src":"864:2:1"},{"nodeType":"YulVariableDeclaration","src":"936:15:1","value":{"name":"value0","nodeType":"YulIdentifier","src":"945:6:1"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"940:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1005:118:1","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1026:3:1"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1044:3:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1031:12:1"},"nodeType":"YulFunctionCall","src":"1031:17:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1019:6:1"},"nodeType":"YulFunctionCall","src":"1019:30:1"},"nodeType":"YulExpressionStatement","src":"1019:30:1"},{"nodeType":"YulAssignment","src":"1062:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1073:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1078:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1069:3:1"},"nodeType":"YulFunctionCall","src":"1069:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1062:3:1"}]},{"nodeType":"YulAssignment","src":"1094:19:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1105:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1110:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1101:3:1"},"nodeType":"YulFunctionCall","src":"1101:12:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1094:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"971:1:1"},{"name":"_4","nodeType":"YulIdentifier","src":"974:2:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"968:2:1"},"nodeType":"YulFunctionCall","src":"968:9:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"978:18:1","statements":[{"nodeType":"YulAssignment","src":"980:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"989:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"992:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"985:3:1"},"nodeType":"YulFunctionCall","src":"985:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"980:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"964:3:1","statements":[]},"src":"960:163:1"},{"nodeType":"YulAssignment","src":"1132:16:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1142:6:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1132: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:1140:1"},{"body":{"nodeType":"YulBlock","src":"1260:76:1","statements":[{"nodeType":"YulAssignment","src":"1270:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1282:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1293:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1278:3:1"},"nodeType":"YulFunctionCall","src":"1278:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1270:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1312:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"1323:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1305:6:1"},"nodeType":"YulFunctionCall","src":"1305:25:1"},"nodeType":"YulExpressionStatement","src":"1305:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1229:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1240:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1251:4:1","type":""}],"src":"1159:177: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) } let offset := calldataload(headStart) let _2 := 0xffffffffffffffff if gt(offset, _2) { revert(value0, value0) } let _3 := add(headStart, offset) if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(value0, value0) } let _4 := calldataload(_3) if gt(_4, _2) { invalid() } let _5 := mul(_4, _1) let memPtr := mload(64) let newFreePtr := add(add(memPtr, _5), _1) if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { invalid() } mstore(64, newFreePtr) let dst := memPtr 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 for { } lt(i, _4) { i := add(i, 1) } { mstore(dst, calldataload(src)) dst := add(dst, _1) src := add(src, _1) } value0 := memPtr } function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail { tail := add(headStart, 32) mstore(headStart, value0) } }","id":1,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":"56:74:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;69:59;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;116:7:0;;69:59::o;14:1140:1:-;;129:2;172;160:9;151:7;147:23;143:32;140:2;;;193:6;185;178:22;140:2;238:9;225:23;267:18;308:2;300:6;297:14;294:2;;;329:6;321;314:22;294:2;372:6;361:9;357:22;347:32;;417:7;410:4;406:2;402:13;398:27;388:2;;444:6;436;429:22;388:2;485;472:16;507:2;503;500:10;497:2;;;513:9;497:2;551;547;543:11;583:2;577:9;634:2;629;621:6;617:15;613:24;687:6;675:10;672:22;667:2;655:10;652:18;649:46;646:2;;;698:9;646:2;725;718:22;775:18;;;809:15;;;;-1:-1:-1;844:11:1;;;874;;;870:20;;867:33;-1:-1:-1;864:2:1;;;918:6;910;903:22;864:2;945:6;936:15;;960:163;974:2;971:1;968:9;960:163;;;1031:17;;1019:30;;992:1;985:9;;;;;1069:12;;;;1101;;960:163;;;-1:-1:-1;1142:6:1;109:1045;-1:-1:-1;;;;;;;;109:1045:1:o;1159:177::-;1305:25;;;1293:2;1278:18;;1260:76::o"}}}}},"errors":[{"component":"general","errorCode":"3420","formattedMessage":"a.sol: Warning: Source file does not specify required compiler version! ","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":-1,"file":"a.sol","start":-1},"type":"Warning"}],"sources":{"a.sol":{"id":0}}}