Skip to content

Instantly share code, notes, and snippets.

@ikramulkayes
Created July 27, 2023 16:08
Show Gist options
  • Save ikramulkayes/8175627ff06987c6555c94c19a163e98 to your computer and use it in GitHub Desktop.
Save ikramulkayes/8175627ff06987c6555c94c19a163e98 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
{
"id": "93996316736aa2000e05a76e51389918",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.18",
"solcLongVersion": "0.8.18+commit.87f61d96",
"input": {
"language": "Solidity",
"sources": {
"mo.sol": {
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity 0.8.18;\r\n\r\ncontract SimpleStorage{\r\n //Basic\r\n bool dohave = true;\r\n uint256 favnum = 88;\r\n string favoriteNum = \"yo pops\";\r\n int256 favint = -99;\r\n address myAddress = 0x5C997d8073CA92630aBB0E3BE7eC72188c92843f;\r\n bytes32 mybyte = \"5353jkl232\";\r\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"mo.sol": {
"SimpleStorage": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"mo.sol\":60:318 contract SimpleStorage{... */\n mstore(0x40, 0x80)\n /* \"mo.sol\":116:120 true */\n 0x01\n /* \"mo.sol\":102:120 bool dohave = true */\n 0x00\n dup1\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"mo.sol\":144:146 88 */\n 0x58\n /* \"mo.sol\":127:146 uint256 favnum = 88 */\n 0x01\n sstore\n /* \"mo.sol\":153:183 string favoriteNum = \"yo pops\" */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x07\n dup2\n mstore\n 0x20\n add\n 0x796f20706f707300000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n 0x02\n swap1\n dup2\n tag_1\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n /* \"mo.sol\":206:209 -99 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d\n /* \"mo.sol\":190:209 int256 favint = -99 */\n 0x03\n sstore\n /* \"mo.sol\":236:278 0x5C997d8073CA92630aBB0E3BE7eC72188c92843f */\n 0x5c997d8073ca92630abb0e3be7ec72188c92843f\n /* \"mo.sol\":216:278 address myAddress = 0x5C997d8073CA92630aBB0E3BE7eC72188c92843f */\n 0x04\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"mo.sol\":285:314 bytes32 mybyte = \"5353jkl232\" */\n sstore(0x05, 0x353335336a6b6c32333200000000000000000000000000000000000000000000)\n /* \"mo.sol\":60:318 contract SimpleStorage{... */\n callvalue\n dup1\n iszero\n tag_3\n jumpi\n 0x00\n dup1\n revert\ntag_3:\n pop\n jump(tag_4)\n /* \"#utility.yul\":7:106 */\ntag_5:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:292 */\ntag_6:\n /* \"#utility.yul\":160:237 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":157:158 */\n 0x00\n /* \"#utility.yul\":150:238 */\n mstore\n /* \"#utility.yul\":257:261 */\n 0x41\n /* \"#utility.yul\":254:255 */\n 0x04\n /* \"#utility.yul\":247:262 */\n mstore\n /* \"#utility.yul\":281:285 */\n 0x24\n /* \"#utility.yul\":278:279 */\n 0x00\n /* \"#utility.yul\":271:286 */\n revert\n /* \"#utility.yul\":298:478 */\ntag_7:\n /* \"#utility.yul\":346:423 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":343:344 */\n 0x00\n /* \"#utility.yul\":336:424 */\n mstore\n /* \"#utility.yul\":443:447 */\n 0x22\n /* \"#utility.yul\":440:441 */\n 0x04\n /* \"#utility.yul\":433:448 */\n mstore\n /* \"#utility.yul\":467:471 */\n 0x24\n /* \"#utility.yul\":464:465 */\n 0x00\n /* \"#utility.yul\":457:472 */\n revert\n /* \"#utility.yul\":484:804 */\ntag_8:\n /* \"#utility.yul\":528:534 */\n 0x00\n /* \"#utility.yul\":565:566 */\n 0x02\n /* \"#utility.yul\":559:563 */\n dup3\n /* \"#utility.yul\":555:567 */\n div\n /* \"#utility.yul\":545:567 */\n swap1\n pop\n /* \"#utility.yul\":612:613 */\n 0x01\n /* \"#utility.yul\":606:610 */\n dup3\n /* \"#utility.yul\":602:614 */\n and\n /* \"#utility.yul\":633:651 */\n dup1\n /* \"#utility.yul\":623:704 */\n tag_30\n jumpi\n /* \"#utility.yul\":689:693 */\n 0x7f\n /* \"#utility.yul\":681:687 */\n dup3\n /* \"#utility.yul\":677:694 */\n and\n /* \"#utility.yul\":667:694 */\n swap2\n pop\n /* \"#utility.yul\":623:704 */\ntag_30:\n /* \"#utility.yul\":751:753 */\n 0x20\n /* \"#utility.yul\":743:749 */\n dup3\n /* \"#utility.yul\":740:754 */\n lt\n /* \"#utility.yul\":720:738 */\n dup2\n /* \"#utility.yul\":717:755 */\n sub\n /* \"#utility.yul\":714:798 */\n tag_31\n jumpi\n /* \"#utility.yul\":770:788 */\n tag_32\n tag_7\n jump\t// in\ntag_32:\n /* \"#utility.yul\":714:798 */\ntag_31:\n /* \"#utility.yul\":535:804 */\n pop\n /* \"#utility.yul\":484:804 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":810:951 */\ntag_9:\n /* \"#utility.yul\":859:863 */\n 0x00\n /* \"#utility.yul\":882:885 */\n dup2\n /* \"#utility.yul\":874:885 */\n swap1\n pop\n /* \"#utility.yul\":905:908 */\n dup2\n /* \"#utility.yul\":902:903 */\n 0x00\n /* \"#utility.yul\":895:909 */\n mstore\n /* \"#utility.yul\":939:943 */\n 0x20\n /* \"#utility.yul\":936:937 */\n 0x00\n /* \"#utility.yul\":926:944 */\n keccak256\n /* \"#utility.yul\":918:944 */\n swap1\n pop\n /* \"#utility.yul\":810:951 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":957:1050 */\ntag_10:\n /* \"#utility.yul\":994:1000 */\n 0x00\n /* \"#utility.yul\":1041:1043 */\n 0x20\n /* \"#utility.yul\":1036:1038 */\n 0x1f\n /* \"#utility.yul\":1029:1034 */\n dup4\n /* \"#utility.yul\":1025:1039 */\n add\n /* \"#utility.yul\":1021:1044 */\n div\n /* \"#utility.yul\":1011:1044 */\n swap1\n pop\n /* \"#utility.yul\":957:1050 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1056:1163 */\ntag_11:\n /* \"#utility.yul\":1100:1108 */\n 0x00\n /* \"#utility.yul\":1150:1155 */\n dup3\n /* \"#utility.yul\":1144:1148 */\n dup3\n /* \"#utility.yul\":1140:1156 */\n shl\n /* \"#utility.yul\":1119:1156 */\n swap1\n pop\n /* \"#utility.yul\":1056:1163 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1169:1562 */\ntag_12:\n /* \"#utility.yul\":1238:1244 */\n 0x00\n /* \"#utility.yul\":1288:1289 */\n 0x08\n /* \"#utility.yul\":1276:1286 */\n dup4\n /* \"#utility.yul\":1272:1290 */\n mul\n /* \"#utility.yul\":1311:1408 */\n tag_37\n /* \"#utility.yul\":1341:1407 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1330:1339 */\n dup3\n /* \"#utility.yul\":1311:1408 */\n tag_11\n jump\t// in\ntag_37:\n /* \"#utility.yul\":1429:1468 */\n tag_38\n /* \"#utility.yul\":1459:1467 */\n dup7\n /* \"#utility.yul\":1448:1457 */\n dup4\n /* \"#utility.yul\":1429:1468 */\n tag_11\n jump\t// in\ntag_38:\n /* \"#utility.yul\":1417:1468 */\n swap6\n pop\n /* \"#utility.yul\":1501:1505 */\n dup1\n /* \"#utility.yul\":1497:1506 */\n not\n /* \"#utility.yul\":1490:1495 */\n dup5\n /* \"#utility.yul\":1486:1507 */\n and\n /* \"#utility.yul\":1477:1507 */\n swap4\n pop\n /* \"#utility.yul\":1550:1554 */\n dup1\n /* \"#utility.yul\":1540:1548 */\n dup7\n /* \"#utility.yul\":1536:1555 */\n and\n /* \"#utility.yul\":1529:1534 */\n dup5\n /* \"#utility.yul\":1526:1556 */\n or\n /* \"#utility.yul\":1516:1556 */\n swap3\n pop\n /* \"#utility.yul\":1245:1562 */\n pop\n pop\n /* \"#utility.yul\":1169:1562 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1568:1645 */\ntag_13:\n /* \"#utility.yul\":1605:1612 */\n 0x00\n /* \"#utility.yul\":1634:1639 */\n dup2\n /* \"#utility.yul\":1623:1639 */\n swap1\n pop\n /* \"#utility.yul\":1568:1645 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1651:1711 */\ntag_14:\n /* \"#utility.yul\":1679:1682 */\n 0x00\n /* \"#utility.yul\":1700:1705 */\n dup2\n /* \"#utility.yul\":1693:1705 */\n swap1\n pop\n /* \"#utility.yul\":1651:1711 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1717:1859 */\ntag_15:\n /* \"#utility.yul\":1767:1776 */\n 0x00\n /* \"#utility.yul\":1800:1853 */\n tag_42\n /* \"#utility.yul\":1818:1852 */\n tag_43\n /* \"#utility.yul\":1827:1851 */\n tag_44\n /* \"#utility.yul\":1845:1850 */\n dup5\n /* \"#utility.yul\":1827:1851 */\n tag_13\n jump\t// in\ntag_44:\n /* \"#utility.yul\":1818:1852 */\n tag_14\n jump\t// in\ntag_43:\n /* \"#utility.yul\":1800:1853 */\n tag_13\n jump\t// in\ntag_42:\n /* \"#utility.yul\":1787:1853 */\n swap1\n pop\n /* \"#utility.yul\":1717:1859 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1865:1940 */\ntag_16:\n /* \"#utility.yul\":1908:1911 */\n 0x00\n /* \"#utility.yul\":1929:1934 */\n dup2\n /* \"#utility.yul\":1922:1934 */\n swap1\n pop\n /* \"#utility.yul\":1865:1940 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1946:2215 */\ntag_17:\n /* \"#utility.yul\":2056:2095 */\n tag_47\n /* \"#utility.yul\":2087:2094 */\n dup4\n /* \"#utility.yul\":2056:2095 */\n tag_15\n jump\t// in\ntag_47:\n /* \"#utility.yul\":2117:2208 */\n tag_48\n /* \"#utility.yul\":2166:2207 */\n tag_49\n /* \"#utility.yul\":2190:2206 */\n dup3\n /* \"#utility.yul\":2166:2207 */\n tag_16\n jump\t// in\ntag_49:\n /* \"#utility.yul\":2158:2164 */\n dup5\n /* \"#utility.yul\":2151:2155 */\n dup5\n /* \"#utility.yul\":2145:2156 */\n sload\n /* \"#utility.yul\":2117:2208 */\n tag_12\n jump\t// in\ntag_48:\n /* \"#utility.yul\":2111:2115 */\n dup3\n /* \"#utility.yul\":2104:2209 */\n sstore\n /* \"#utility.yul\":2022:2215 */\n pop\n /* \"#utility.yul\":1946:2215 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2221:2294 */\ntag_18:\n /* \"#utility.yul\":2266:2269 */\n 0x00\n /* \"#utility.yul\":2221:2294 */\n swap1\n jump\t// out\n /* \"#utility.yul\":2300:2489 */\ntag_19:\n /* \"#utility.yul\":2377:2409 */\n tag_52\n tag_18\n jump\t// in\ntag_52:\n /* \"#utility.yul\":2418:2483 */\n tag_53\n /* \"#utility.yul\":2476:2482 */\n dup2\n /* \"#utility.yul\":2468:2474 */\n dup5\n /* \"#utility.yul\":2462:2466 */\n dup5\n /* \"#utility.yul\":2418:2483 */\n tag_17\n jump\t// in\ntag_53:\n /* \"#utility.yul\":2353:2489 */\n pop\n /* \"#utility.yul\":2300:2489 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2495:2681 */\ntag_20:\n /* \"#utility.yul\":2555:2675 */\ntag_55:\n /* \"#utility.yul\":2572:2575 */\n dup2\n /* \"#utility.yul\":2565:2570 */\n dup2\n /* \"#utility.yul\":2562:2576 */\n lt\n /* \"#utility.yul\":2555:2675 */\n iszero\n tag_57\n jumpi\n /* \"#utility.yul\":2626:2665 */\n tag_58\n /* \"#utility.yul\":2663:2664 */\n 0x00\n /* \"#utility.yul\":2656:2661 */\n dup3\n /* \"#utility.yul\":2626:2665 */\n tag_19\n jump\t// in\ntag_58:\n /* \"#utility.yul\":2599:2600 */\n 0x01\n /* \"#utility.yul\":2592:2597 */\n dup2\n /* \"#utility.yul\":2588:2601 */\n add\n /* \"#utility.yul\":2579:2601 */\n swap1\n pop\n /* \"#utility.yul\":2555:2675 */\n jump(tag_55)\ntag_57:\n /* \"#utility.yul\":2495:2681 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2687:3230 */\ntag_21:\n /* \"#utility.yul\":2788:2790 */\n 0x1f\n /* \"#utility.yul\":2783:2786 */\n dup3\n /* \"#utility.yul\":2780:2791 */\n gt\n /* \"#utility.yul\":2777:3223 */\n iszero\n tag_60\n jumpi\n /* \"#utility.yul\":2822:2860 */\n tag_61\n /* \"#utility.yul\":2854:2859 */\n dup2\n /* \"#utility.yul\":2822:2860 */\n tag_9\n jump\t// in\ntag_61:\n /* \"#utility.yul\":2906:2935 */\n tag_62\n /* \"#utility.yul\":2924:2934 */\n dup5\n /* \"#utility.yul\":2906:2935 */\n tag_10\n jump\t// in\ntag_62:\n /* \"#utility.yul\":2896:2904 */\n dup2\n /* \"#utility.yul\":2892:2936 */\n add\n /* \"#utility.yul\":3089:3091 */\n 0x20\n /* \"#utility.yul\":3077:3087 */\n dup6\n /* \"#utility.yul\":3074:3092 */\n lt\n /* \"#utility.yul\":3071:3120 */\n iszero\n tag_63\n jumpi\n /* \"#utility.yul\":3110:3118 */\n dup2\n /* \"#utility.yul\":3095:3118 */\n swap1\n pop\n /* \"#utility.yul\":3071:3120 */\ntag_63:\n /* \"#utility.yul\":3133:3213 */\n tag_64\n /* \"#utility.yul\":3189:3211 */\n tag_65\n /* \"#utility.yul\":3207:3210 */\n dup6\n /* \"#utility.yul\":3189:3211 */\n tag_10\n jump\t// in\ntag_65:\n /* \"#utility.yul\":3179:3187 */\n dup4\n /* \"#utility.yul\":3175:3212 */\n add\n /* \"#utility.yul\":3162:3173 */\n dup3\n /* \"#utility.yul\":3133:3213 */\n tag_20\n jump\t// in\ntag_64:\n /* \"#utility.yul\":2792:3223 */\n pop\n pop\n /* \"#utility.yul\":2777:3223 */\ntag_60:\n /* \"#utility.yul\":2687:3230 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3236:3353 */\ntag_22:\n /* \"#utility.yul\":3290:3298 */\n 0x00\n /* \"#utility.yul\":3340:3345 */\n dup3\n /* \"#utility.yul\":3334:3338 */\n dup3\n /* \"#utility.yul\":3330:3346 */\n shr\n /* \"#utility.yul\":3309:3346 */\n swap1\n pop\n /* \"#utility.yul\":3236:3353 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3359:3528 */\ntag_23:\n /* \"#utility.yul\":3403:3409 */\n 0x00\n /* \"#utility.yul\":3436:3487 */\n tag_68\n /* \"#utility.yul\":3484:3485 */\n 0x00\n /* \"#utility.yul\":3480:3486 */\n not\n /* \"#utility.yul\":3472:3477 */\n dup5\n /* \"#utility.yul\":3469:3470 */\n 0x08\n /* \"#utility.yul\":3465:3478 */\n mul\n /* \"#utility.yul\":3436:3487 */\n tag_22\n jump\t// in\ntag_68:\n /* \"#utility.yul\":3432:3488 */\n not\n /* \"#utility.yul\":3517:3521 */\n dup1\n /* \"#utility.yul\":3511:3515 */\n dup4\n /* \"#utility.yul\":3507:3522 */\n and\n /* \"#utility.yul\":3497:3522 */\n swap2\n pop\n /* \"#utility.yul\":3410:3528 */\n pop\n /* \"#utility.yul\":3359:3528 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3533:3828 */\ntag_24:\n /* \"#utility.yul\":3609:3613 */\n 0x00\n /* \"#utility.yul\":3755:3784 */\n tag_70\n /* \"#utility.yul\":3780:3783 */\n dup4\n /* \"#utility.yul\":3774:3778 */\n dup4\n /* \"#utility.yul\":3755:3784 */\n tag_23\n jump\t// in\ntag_70:\n /* \"#utility.yul\":3747:3784 */\n swap2\n pop\n /* \"#utility.yul\":3817:3820 */\n dup3\n /* \"#utility.yul\":3814:3815 */\n 0x02\n /* \"#utility.yul\":3810:3821 */\n mul\n /* \"#utility.yul\":3804:3808 */\n dup3\n /* \"#utility.yul\":3801:3822 */\n or\n /* \"#utility.yul\":3793:3822 */\n swap1\n pop\n /* \"#utility.yul\":3533:3828 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3833:5228 */\ntag_2:\n /* \"#utility.yul\":3950:3987 */\n tag_72\n /* \"#utility.yul\":3983:3986 */\n dup3\n /* \"#utility.yul\":3950:3987 */\n tag_5\n jump\t// in\ntag_72:\n /* \"#utility.yul\":4052:4070 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4044:4050 */\n dup2\n /* \"#utility.yul\":4041:4071 */\n gt\n /* \"#utility.yul\":4038:4094 */\n iszero\n tag_73\n jumpi\n /* \"#utility.yul\":4074:4092 */\n tag_74\n tag_6\n jump\t// in\ntag_74:\n /* \"#utility.yul\":4038:4094 */\ntag_73:\n /* \"#utility.yul\":4118:4156 */\n tag_75\n /* \"#utility.yul\":4150:4154 */\n dup3\n /* \"#utility.yul\":4144:4155 */\n sload\n /* \"#utility.yul\":4118:4156 */\n tag_8\n jump\t// in\ntag_75:\n /* \"#utility.yul\":4203:4270 */\n tag_76\n /* \"#utility.yul\":4263:4269 */\n dup3\n /* \"#utility.yul\":4255:4261 */\n dup3\n /* \"#utility.yul\":4249:4253 */\n dup6\n /* \"#utility.yul\":4203:4270 */\n tag_21\n jump\t// in\ntag_76:\n /* \"#utility.yul\":4297:4298 */\n 0x00\n /* \"#utility.yul\":4321:4325 */\n 0x20\n /* \"#utility.yul\":4308:4325 */\n swap1\n pop\n /* \"#utility.yul\":4353:4355 */\n 0x1f\n /* \"#utility.yul\":4345:4351 */\n dup4\n /* \"#utility.yul\":4342:4356 */\n gt\n /* \"#utility.yul\":4370:4371 */\n 0x01\n /* \"#utility.yul\":4365:4983 */\n dup2\n eq\n tag_78\n jumpi\n /* \"#utility.yul\":5027:5028 */\n 0x00\n /* \"#utility.yul\":5044:5050 */\n dup5\n /* \"#utility.yul\":5041:5118 */\n iszero\n tag_79\n jumpi\n /* \"#utility.yul\":5093:5102 */\n dup3\n /* \"#utility.yul\":5088:5091 */\n dup8\n /* \"#utility.yul\":5084:5103 */\n add\n /* \"#utility.yul\":5078:5104 */\n mload\n /* \"#utility.yul\":5069:5104 */\n swap1\n pop\n /* \"#utility.yul\":5041:5118 */\ntag_79:\n /* \"#utility.yul\":5144:5211 */\n tag_80\n /* \"#utility.yul\":5204:5210 */\n dup6\n /* \"#utility.yul\":5197:5202 */\n dup3\n /* \"#utility.yul\":5144:5211 */\n tag_24\n jump\t// in\ntag_80:\n /* \"#utility.yul\":5138:5142 */\n dup7\n /* \"#utility.yul\":5131:5212 */\n sstore\n /* \"#utility.yul\":5000:5222 */\n pop\n /* \"#utility.yul\":4335:5222 */\n jump(tag_77)\n /* \"#utility.yul\":4365:4983 */\ntag_78:\n /* \"#utility.yul\":4417:4421 */\n 0x1f\n /* \"#utility.yul\":4413:4422 */\n not\n /* \"#utility.yul\":4405:4411 */\n dup5\n /* \"#utility.yul\":4401:4423 */\n and\n /* \"#utility.yul\":4451:4488 */\n tag_81\n /* \"#utility.yul\":4483:4487 */\n dup7\n /* \"#utility.yul\":4451:4488 */\n tag_9\n jump\t// in\ntag_81:\n /* \"#utility.yul\":4510:4511 */\n 0x00\n /* \"#utility.yul\":4524:4732 */\ntag_82:\n /* \"#utility.yul\":4538:4545 */\n dup3\n /* \"#utility.yul\":4535:4536 */\n dup2\n /* \"#utility.yul\":4532:4546 */\n lt\n /* \"#utility.yul\":4524:4732 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":4617:4626 */\n dup5\n /* \"#utility.yul\":4612:4615 */\n dup10\n /* \"#utility.yul\":4608:4627 */\n add\n /* \"#utility.yul\":4602:4628 */\n mload\n /* \"#utility.yul\":4594:4600 */\n dup3\n /* \"#utility.yul\":4587:4629 */\n sstore\n /* \"#utility.yul\":4668:4669 */\n 0x01\n /* \"#utility.yul\":4660:4666 */\n dup3\n /* \"#utility.yul\":4656:4670 */\n add\n /* \"#utility.yul\":4646:4670 */\n swap2\n pop\n /* \"#utility.yul\":4715:4717 */\n 0x20\n /* \"#utility.yul\":4704:4713 */\n dup6\n /* \"#utility.yul\":4700:4718 */\n add\n /* \"#utility.yul\":4687:4718 */\n swap5\n pop\n /* \"#utility.yul\":4561:4565 */\n 0x20\n /* \"#utility.yul\":4558:4559 */\n dup2\n /* \"#utility.yul\":4554:4566 */\n add\n /* \"#utility.yul\":4549:4566 */\n swap1\n pop\n /* \"#utility.yul\":4524:4732 */\n jump(tag_82)\ntag_84:\n /* \"#utility.yul\":4760:4766 */\n dup7\n /* \"#utility.yul\":4751:4758 */\n dup4\n /* \"#utility.yul\":4748:4767 */\n lt\n /* \"#utility.yul\":4745:4924 */\n iszero\n tag_85\n jumpi\n /* \"#utility.yul\":4818:4827 */\n dup5\n /* \"#utility.yul\":4813:4816 */\n dup10\n /* \"#utility.yul\":4809:4828 */\n add\n /* \"#utility.yul\":4803:4829 */\n mload\n /* \"#utility.yul\":4861:4909 */\n tag_86\n /* \"#utility.yul\":4903:4907 */\n 0x1f\n /* \"#utility.yul\":4895:4901 */\n dup10\n /* \"#utility.yul\":4891:4908 */\n and\n /* \"#utility.yul\":4880:4889 */\n dup3\n /* \"#utility.yul\":4861:4909 */\n tag_23\n jump\t// in\ntag_86:\n /* \"#utility.yul\":4853:4859 */\n dup4\n /* \"#utility.yul\":4846:4910 */\n sstore\n /* \"#utility.yul\":4768:4924 */\n pop\n /* \"#utility.yul\":4745:4924 */\ntag_85:\n /* \"#utility.yul\":4970:4971 */\n 0x01\n /* \"#utility.yul\":4966:4967 */\n 0x02\n /* \"#utility.yul\":4958:4964 */\n dup9\n /* \"#utility.yul\":4954:4968 */\n mul\n /* \"#utility.yul\":4950:4972 */\n add\n /* \"#utility.yul\":4944:4948 */\n dup9\n /* \"#utility.yul\":4937:4973 */\n sstore\n /* \"#utility.yul\":4372:4983 */\n pop\n pop\n pop\n /* \"#utility.yul\":4335:5222 */\ntag_77:\n pop\n /* \"#utility.yul\":3925:5228 */\n pop\n pop\n pop\n /* \"#utility.yul\":3833:5228 */\n pop\n pop\n jump\t// out\n /* \"mo.sol\":60:318 contract SimpleStorage{... */\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"mo.sol\":60:318 contract SimpleStorage{... */\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa264697066735822122064780724d929ca8c651a863e2616c76fe6c81e01a91491daac8e302b5480a46364736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {
"array_dataslot_t_string_storage": {
"entryPoint": 433,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 279,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 730,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 565,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 695,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 585,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 871,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 454,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 384,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 843,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 575,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 813,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 337,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 290,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 619,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 470,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 800,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 671,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 483,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 629,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 666,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5231:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405260016000806101000a81548160ff02191690831515021790555060586001556040518060400160405280600781526020017f796f20706f707300000000000000000000000000000000000000000000000000815250600290816100679190610367565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d600355735c997d8073ca92630abb0e3be7ec72188c92843f600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f353335336a6b6c3233320000000000000000000000000000000000000000000060055534801561011157600080fd5b50610439565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061019857607f821691505b6020821081036101ab576101aa610151565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026102137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826101d6565b61021d86836101d6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061026461025f61025a84610235565b61023f565b610235565b9050919050565b6000819050919050565b61027e83610249565b61029261028a8261026b565b8484546101e3565b825550505050565b600090565b6102a761029a565b6102b2818484610275565b505050565b5b818110156102d6576102cb60008261029f565b6001810190506102b8565b5050565b601f82111561031b576102ec816101b1565b6102f5846101c6565b81016020851015610304578190505b610318610310856101c6565b8301826102b7565b50505b505050565b600082821c905092915050565b600061033e60001984600802610320565b1980831691505092915050565b6000610357838361032d565b9150826002028217905092915050565b61037082610117565b67ffffffffffffffff81111561038957610388610122565b5b6103938254610180565b61039e8282856102da565b600060209050601f8311600181146103d157600084156103bf578287015190505b6103c9858261034b565b865550610431565b601f1984166103df866101b1565b60005b82811015610407578489015182556001820191506020850194506020810190506103e2565b868310156104245784890151610420601f89168261032d565b8355505b6001600288020188555050505b505050505050565b603f806104476000396000f3fe6080604052600080fdfea264697066735822122064780724d929ca8c651a863e2616c76fe6c81e01a91491daac8e302b5480a46364736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x58 PUSH1 0x1 SSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x796F20706F707300000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x2 SWAP1 DUP2 PUSH2 0x67 SWAP2 SWAP1 PUSH2 0x367 JUMP JUMPDEST POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D PUSH1 0x3 SSTORE PUSH20 0x5C997D8073CA92630ABB0E3BE7EC72188C92843F PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x353335336A6B6C32333200000000000000000000000000000000000000000000 PUSH1 0x5 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x111 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x439 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x198 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1AB JUMPI PUSH2 0x1AA PUSH2 0x151 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x213 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1D6 JUMP JUMPDEST PUSH2 0x21D DUP7 DUP4 PUSH2 0x1D6 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x264 PUSH2 0x25F PUSH2 0x25A DUP5 PUSH2 0x235 JUMP JUMPDEST PUSH2 0x23F JUMP JUMPDEST PUSH2 0x235 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x27E DUP4 PUSH2 0x249 JUMP JUMPDEST PUSH2 0x292 PUSH2 0x28A DUP3 PUSH2 0x26B JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1E3 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x2A7 PUSH2 0x29A JUMP JUMPDEST PUSH2 0x2B2 DUP2 DUP5 DUP5 PUSH2 0x275 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2D6 JUMPI PUSH2 0x2CB PUSH1 0x0 DUP3 PUSH2 0x29F JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2B8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x31B JUMPI PUSH2 0x2EC DUP2 PUSH2 0x1B1 JUMP JUMPDEST PUSH2 0x2F5 DUP5 PUSH2 0x1C6 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x304 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x318 PUSH2 0x310 DUP6 PUSH2 0x1C6 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x2B7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x320 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x357 DUP4 DUP4 PUSH2 0x32D JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x370 DUP3 PUSH2 0x117 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x389 JUMPI PUSH2 0x388 PUSH2 0x122 JUMP JUMPDEST JUMPDEST PUSH2 0x393 DUP3 SLOAD PUSH2 0x180 JUMP JUMPDEST PUSH2 0x39E DUP3 DUP3 DUP6 PUSH2 0x2DA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x3D1 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x3BF JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x3C9 DUP6 DUP3 PUSH2 0x34B JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x431 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x3DF DUP7 PUSH2 0x1B1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x407 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3E2 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x424 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x420 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x32D JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3F DUP1 PUSH2 0x447 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x780724D929 0xCA DUP13 PUSH6 0x1A863E2616C7 PUSH16 0xE6C81E01A91491DAAC8E302B5480A463 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "60:258:0:-:0;;;116:4;102:18;;;;;;;;;;;;;;;;;;;;144:2;127:19;;153:30;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;206:3;190:19;;236:42;216:62;;;;;;;;;;;;;;;;;;;;285:29;;;60:258;;;;;;;;;;;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;60:258:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea264697066735822122064780724d929ca8c651a863e2616c76fe6c81e01a91491daac8e302b5480a46364736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x780724D929 0xCA DUP13 PUSH6 0x1A863E2616C7 PUSH16 0xE6C81E01A91491DAAC8E302B5480A463 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "60:258:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "infinite",
"totalCost": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 60,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 60,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 60,
"end": 318,
"name": "MSTORE",
"source": 0
},
{
"begin": 116,
"end": 120,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 102,
"end": 120,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 102,
"end": 120,
"name": "DUP1",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 102,
"end": 120,
"name": "EXP",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "DUP2",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "SLOAD",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "DUP2",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "PUSH",
"source": 0,
"value": "FF"
},
{
"begin": 102,
"end": 120,
"name": "MUL",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "NOT",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "AND",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "DUP4",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "ISZERO",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "ISZERO",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "MUL",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "OR",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "SSTORE",
"source": 0
},
{
"begin": 102,
"end": 120,
"name": "POP",
"source": 0
},
{
"begin": 144,
"end": 146,
"name": "PUSH",
"source": 0,
"value": "58"
},
{
"begin": 127,
"end": 146,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 127,
"end": 146,
"name": "SSTORE",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 153,
"end": 183,
"name": "MLOAD",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "DUP1",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 153,
"end": 183,
"name": "ADD",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 153,
"end": 183,
"name": "MSTORE",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "DUP1",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "PUSH",
"source": 0,
"value": "7"
},
{
"begin": 153,
"end": 183,
"name": "DUP2",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "MSTORE",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 153,
"end": 183,
"name": "ADD",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "PUSH",
"source": 0,
"value": "796F20706F707300000000000000000000000000000000000000000000000000"
},
{
"begin": 153,
"end": 183,
"name": "DUP2",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "MSTORE",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "POP",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 153,
"end": 183,
"name": "SWAP1",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "DUP2",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 153,
"end": 183,
"name": "SWAP2",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "SWAP1",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 153,
"end": 183,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 153,
"end": 183,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 153,
"end": 183,
"name": "POP",
"source": 0
},
{
"begin": 206,
"end": 209,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D"
},
{
"begin": 190,
"end": 209,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 190,
"end": 209,
"name": "SSTORE",
"source": 0
},
{
"begin": 236,
"end": 278,
"name": "PUSH",
"source": 0,
"value": "5C997D8073CA92630ABB0E3BE7EC72188C92843F"
},
{
"begin": 216,
"end": 278,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 216,
"end": 278,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 216,
"end": 278,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 216,
"end": 278,
"name": "EXP",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "DUP2",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "SLOAD",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "DUP2",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 216,
"end": 278,
"name": "MUL",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "NOT",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "AND",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "SWAP1",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "DUP4",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 216,
"end": 278,
"name": "AND",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "MUL",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "OR",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "SWAP1",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "SSTORE",
"source": 0
},
{
"begin": 216,
"end": 278,
"name": "POP",
"source": 0
},
{
"begin": 285,
"end": 314,
"name": "PUSH",
"source": 0,
"value": "353335336A6B6C32333200000000000000000000000000000000000000000000"
},
{
"begin": 285,
"end": 314,
"name": "PUSH",
"source": 0,
"value": "5"
},
{
"begin": 285,
"end": 314,
"name": "SSTORE",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "ISZERO",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 60,
"end": 318,
"name": "JUMPI",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 318,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "REVERT",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 60,
"end": 318,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "POP",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 60,
"end": 318,
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 106,
"name": "tag",
"source": 1,
"value": "5"
},
{
"begin": 7,
"end": 106,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 59,
"end": 65,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 93,
"end": 98,
"name": "DUP2",
"source": 1
},
{
"begin": 87,
"end": 99,
"name": "MLOAD",
"source": 1
},
{
"begin": 77,
"end": 99,
"name": "SWAP1",
"source": 1
},
{
"begin": 77,
"end": 99,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 106,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 112,
"end": 292,
"name": "tag",
"source": 1,
"value": "6"
},
{
"begin": 112,
"end": 292,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 160,
"end": 237,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 157,
"end": 158,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 150,
"end": 238,
"name": "MSTORE",
"source": 1
},
{
"begin": 257,
"end": 261,
"name": "PUSH",
"source": 1,
"value": "41"
},
{
"begin": 254,
"end": 255,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 247,
"end": 262,
"name": "MSTORE",
"source": 1
},
{
"begin": 281,
"end": 285,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 278,
"end": 279,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 271,
"end": 286,
"name": "REVERT",
"source": 1
},
{
"begin": 298,
"end": 478,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 298,
"end": 478,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 346,
"end": 423,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 343,
"end": 344,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 336,
"end": 424,
"name": "MSTORE",
"source": 1
},
{
"begin": 443,
"end": 447,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 440,
"end": 441,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 433,
"end": 448,
"name": "MSTORE",
"source": 1
},
{
"begin": 467,
"end": 471,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 464,
"end": 465,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 457,
"end": 472,
"name": "REVERT",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 484,
"end": 804,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 528,
"end": 534,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 565,
"end": 566,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 559,
"end": 563,
"name": "DUP3",
"source": 1
},
{
"begin": 555,
"end": 567,
"name": "DIV",
"source": 1
},
{
"begin": 545,
"end": 567,
"name": "SWAP1",
"source": 1
},
{
"begin": 545,
"end": 567,
"name": "POP",
"source": 1
},
{
"begin": 612,
"end": 613,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 606,
"end": 610,
"name": "DUP3",
"source": 1
},
{
"begin": 602,
"end": 614,
"name": "AND",
"source": 1
},
{
"begin": 633,
"end": 651,
"name": "DUP1",
"source": 1
},
{
"begin": 623,
"end": 704,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 623,
"end": 704,
"name": "JUMPI",
"source": 1
},
{
"begin": 689,
"end": 693,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 681,
"end": 687,
"name": "DUP3",
"source": 1
},
{
"begin": 677,
"end": 694,
"name": "AND",
"source": 1
},
{
"begin": 667,
"end": 694,
"name": "SWAP2",
"source": 1
},
{
"begin": 667,
"end": 694,
"name": "POP",
"source": 1
},
{
"begin": 623,
"end": 704,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 623,
"end": 704,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 751,
"end": 753,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 743,
"end": 749,
"name": "DUP3",
"source": 1
},
{
"begin": 740,
"end": 754,
"name": "LT",
"source": 1
},
{
"begin": 720,
"end": 738,
"name": "DUP2",
"source": 1
},
{
"begin": 717,
"end": 755,
"name": "SUB",
"source": 1
},
{
"begin": 714,
"end": 798,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 714,
"end": 798,
"name": "JUMPI",
"source": 1
},
{
"begin": 770,
"end": 788,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 770,
"end": 788,
"name": "PUSH [tag]",
"source": 1,
"value": "7"
},
{
"begin": 770,
"end": 788,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 770,
"end": 788,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 770,
"end": 788,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 714,
"end": 798,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 714,
"end": 798,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 535,
"end": 804,
"name": "POP",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "SWAP2",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "SWAP1",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "POP",
"source": 1
},
{
"begin": 484,
"end": 804,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 810,
"end": 951,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 859,
"end": 863,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 882,
"end": 885,
"name": "DUP2",
"source": 1
},
{
"begin": 874,
"end": 885,
"name": "SWAP1",
"source": 1
},
{
"begin": 874,
"end": 885,
"name": "POP",
"source": 1
},
{
"begin": 905,
"end": 908,
"name": "DUP2",
"source": 1
},
{
"begin": 902,
"end": 903,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 895,
"end": 909,
"name": "MSTORE",
"source": 1
},
{
"begin": 939,
"end": 943,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 936,
"end": 937,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 926,
"end": 944,
"name": "KECCAK256",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "SWAP1",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "POP",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "SWAP2",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "SWAP1",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "POP",
"source": 1
},
{
"begin": 810,
"end": 951,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 957,
"end": 1050,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 994,
"end": 1000,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1041,
"end": 1043,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1036,
"end": 1038,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1029,
"end": 1034,
"name": "DUP4",
"source": 1
},
{
"begin": 1025,
"end": 1039,
"name": "ADD",
"source": 1
},
{
"begin": 1021,
"end": 1044,
"name": "DIV",
"source": 1
},
{
"begin": 1011,
"end": 1044,
"name": "SWAP1",
"source": 1
},
{
"begin": 1011,
"end": 1044,
"name": "POP",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "SWAP2",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "SWAP1",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "POP",
"source": 1
},
{
"begin": 957,
"end": 1050,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 1056,
"end": 1163,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1100,
"end": 1108,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1150,
"end": 1155,
"name": "DUP3",
"source": 1
},
{
"begin": 1144,
"end": 1148,
"name": "DUP3",
"source": 1
},
{
"begin": 1140,
"end": 1156,
"name": "SHL",
"source": 1
},
{
"begin": 1119,
"end": 1156,
"name": "SWAP1",
"source": 1
},
{
"begin": 1119,
"end": 1156,
"name": "POP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "SWAP3",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "SWAP2",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "POP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "POP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 1169,
"end": 1562,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1238,
"end": 1244,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1288,
"end": 1289,
"name": "PUSH",
"source": 1,
"value": "8"
},
{
"begin": 1276,
"end": 1286,
"name": "DUP4",
"source": 1
},
{
"begin": 1272,
"end": 1290,
"name": "MUL",
"source": 1
},
{
"begin": 1311,
"end": 1408,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 1341,
"end": 1407,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1330,
"end": 1339,
"name": "DUP3",
"source": 1
},
{
"begin": 1311,
"end": 1408,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 1311,
"end": 1408,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1311,
"end": 1408,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 1311,
"end": 1408,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1429,
"end": 1468,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 1459,
"end": 1467,
"name": "DUP7",
"source": 1
},
{
"begin": 1448,
"end": 1457,
"name": "DUP4",
"source": 1
},
{
"begin": 1429,
"end": 1468,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 1429,
"end": 1468,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1429,
"end": 1468,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 1429,
"end": 1468,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1417,
"end": 1468,
"name": "SWAP6",
"source": 1
},
{
"begin": 1417,
"end": 1468,
"name": "POP",
"source": 1
},
{
"begin": 1501,
"end": 1505,
"name": "DUP1",
"source": 1
},
{
"begin": 1497,
"end": 1506,
"name": "NOT",
"source": 1
},
{
"begin": 1490,
"end": 1495,
"name": "DUP5",
"source": 1
},
{
"begin": 1486,
"end": 1507,
"name": "AND",
"source": 1
},
{
"begin": 1477,
"end": 1507,
"name": "SWAP4",
"source": 1
},
{
"begin": 1477,
"end": 1507,
"name": "POP",
"source": 1
},
{
"begin": 1550,
"end": 1554,
"name": "DUP1",
"source": 1
},
{
"begin": 1540,
"end": 1548,
"name": "DUP7",
"source": 1
},
{
"begin": 1536,
"end": 1555,
"name": "AND",
"source": 1
},
{
"begin": 1529,
"end": 1534,
"name": "DUP5",
"source": 1
},
{
"begin": 1526,
"end": 1556,
"name": "OR",
"source": 1
},
{
"begin": 1516,
"end": 1556,
"name": "SWAP3",
"source": 1
},
{
"begin": 1516,
"end": 1556,
"name": "POP",
"source": 1
},
{
"begin": 1245,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1245,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "SWAP4",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "SWAP3",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 1568,
"end": 1645,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1605,
"end": 1612,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1634,
"end": 1639,
"name": "DUP2",
"source": 1
},
{
"begin": 1623,
"end": 1639,
"name": "SWAP1",
"source": 1
},
{
"begin": 1623,
"end": 1639,
"name": "POP",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "SWAP2",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "SWAP1",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "POP",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 1651,
"end": 1711,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1679,
"end": 1682,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1700,
"end": 1705,
"name": "DUP2",
"source": 1
},
{
"begin": 1693,
"end": 1705,
"name": "SWAP1",
"source": 1
},
{
"begin": 1693,
"end": 1705,
"name": "POP",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "SWAP2",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "SWAP1",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "POP",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 1717,
"end": 1859,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1767,
"end": 1776,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1800,
"end": 1853,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 1818,
"end": 1852,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 1827,
"end": 1851,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1845,
"end": 1850,
"name": "DUP5",
"source": 1
},
{
"begin": 1827,
"end": 1851,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 1827,
"end": 1851,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1827,
"end": 1851,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 1827,
"end": 1851,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1818,
"end": 1852,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 1818,
"end": 1852,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1818,
"end": 1852,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 1818,
"end": 1852,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1800,
"end": 1853,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 1800,
"end": 1853,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1800,
"end": 1853,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 1800,
"end": 1853,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1787,
"end": 1853,
"name": "SWAP1",
"source": 1
},
{
"begin": 1787,
"end": 1853,
"name": "POP",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "SWAP2",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "SWAP1",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "POP",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 1865,
"end": 1940,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1908,
"end": 1911,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1929,
"end": 1934,
"name": "DUP2",
"source": 1
},
{
"begin": 1922,
"end": 1934,
"name": "SWAP1",
"source": 1
},
{
"begin": 1922,
"end": 1934,
"name": "POP",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "SWAP2",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "SWAP1",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "POP",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 1946,
"end": 2215,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2056,
"end": 2095,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 2087,
"end": 2094,
"name": "DUP4",
"source": 1
},
{
"begin": 2056,
"end": 2095,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 2056,
"end": 2095,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2056,
"end": 2095,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 2056,
"end": 2095,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2117,
"end": 2208,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 2166,
"end": 2207,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 2190,
"end": 2206,
"name": "DUP3",
"source": 1
},
{
"begin": 2166,
"end": 2207,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 2166,
"end": 2207,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2166,
"end": 2207,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 2166,
"end": 2207,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2158,
"end": 2164,
"name": "DUP5",
"source": 1
},
{
"begin": 2151,
"end": 2155,
"name": "DUP5",
"source": 1
},
{
"begin": 2145,
"end": 2156,
"name": "SLOAD",
"source": 1
},
{
"begin": 2117,
"end": 2208,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 2117,
"end": 2208,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2117,
"end": 2208,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 2117,
"end": 2208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2111,
"end": 2115,
"name": "DUP3",
"source": 1
},
{
"begin": 2104,
"end": 2209,
"name": "SSTORE",
"source": 1
},
{
"begin": 2022,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2221,
"end": 2294,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 2221,
"end": 2294,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2266,
"end": 2269,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2221,
"end": 2294,
"name": "SWAP1",
"source": 1
},
{
"begin": 2221,
"end": 2294,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 2300,
"end": 2489,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2377,
"end": 2409,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 2377,
"end": 2409,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 2377,
"end": 2409,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2377,
"end": 2409,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 2377,
"end": 2409,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2418,
"end": 2483,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 2476,
"end": 2482,
"name": "DUP2",
"source": 1
},
{
"begin": 2468,
"end": 2474,
"name": "DUP5",
"source": 1
},
{
"begin": 2462,
"end": 2466,
"name": "DUP5",
"source": 1
},
{
"begin": 2418,
"end": 2483,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 2418,
"end": 2483,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2418,
"end": 2483,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 2418,
"end": 2483,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2353,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 2495,
"end": 2681,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2572,
"end": 2575,
"name": "DUP2",
"source": 1
},
{
"begin": 2565,
"end": 2570,
"name": "DUP2",
"source": 1
},
{
"begin": 2562,
"end": 2576,
"name": "LT",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "ISZERO",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMPI",
"source": 1
},
{
"begin": 2626,
"end": 2665,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 2663,
"end": 2664,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2656,
"end": 2661,
"name": "DUP3",
"source": 1
},
{
"begin": 2626,
"end": 2665,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 2626,
"end": 2665,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2626,
"end": 2665,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 2626,
"end": 2665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2599,
"end": 2600,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 2592,
"end": 2597,
"name": "DUP2",
"source": 1
},
{
"begin": 2588,
"end": 2601,
"name": "ADD",
"source": 1
},
{
"begin": 2579,
"end": 2601,
"name": "SWAP1",
"source": 1
},
{
"begin": 2579,
"end": 2601,
"name": "POP",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMP",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"name": "POP",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"name": "POP",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 2687,
"end": 3230,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2788,
"end": 2790,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 2783,
"end": 2786,
"name": "DUP3",
"source": 1
},
{
"begin": 2780,
"end": 2791,
"name": "GT",
"source": 1
},
{
"begin": 2777,
"end": 3223,
"name": "ISZERO",
"source": 1
},
{
"begin": 2777,
"end": 3223,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 2777,
"end": 3223,
"name": "JUMPI",
"source": 1
},
{
"begin": 2822,
"end": 2860,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 2854,
"end": 2859,
"name": "DUP2",
"source": 1
},
{
"begin": 2822,
"end": 2860,
"name": "PUSH [tag]",
"source": 1,
"value": "9"
},
{
"begin": 2822,
"end": 2860,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2822,
"end": 2860,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 2822,
"end": 2860,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2906,
"end": 2935,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 2924,
"end": 2934,
"name": "DUP5",
"source": 1
},
{
"begin": 2906,
"end": 2935,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 2906,
"end": 2935,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2906,
"end": 2935,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 2906,
"end": 2935,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2896,
"end": 2904,
"name": "DUP2",
"source": 1
},
{
"begin": 2892,
"end": 2936,
"name": "ADD",
"source": 1
},
{
"begin": 3089,
"end": 3091,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3077,
"end": 3087,
"name": "DUP6",
"source": 1
},
{
"begin": 3074,
"end": 3092,
"name": "LT",
"source": 1
},
{
"begin": 3071,
"end": 3120,
"name": "ISZERO",
"source": 1
},
{
"begin": 3071,
"end": 3120,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 3071,
"end": 3120,
"name": "JUMPI",
"source": 1
},
{
"begin": 3110,
"end": 3118,
"name": "DUP2",
"source": 1
},
{
"begin": 3095,
"end": 3118,
"name": "SWAP1",
"source": 1
},
{
"begin": 3095,
"end": 3118,
"name": "POP",
"source": 1
},
{
"begin": 3071,
"end": 3120,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 3071,
"end": 3120,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3133,
"end": 3213,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 3189,
"end": 3211,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 3207,
"end": 3210,
"name": "DUP6",
"source": 1
},
{
"begin": 3189,
"end": 3211,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 3189,
"end": 3211,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3189,
"end": 3211,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 3189,
"end": 3211,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3179,
"end": 3187,
"name": "DUP4",
"source": 1
},
{
"begin": 3175,
"end": 3212,
"name": "ADD",
"source": 1
},
{
"begin": 3162,
"end": 3173,
"name": "DUP3",
"source": 1
},
{
"begin": 3133,
"end": 3213,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 3133,
"end": 3213,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3133,
"end": 3213,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 3133,
"end": 3213,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2792,
"end": 3223,
"name": "POP",
"source": 1
},
{
"begin": 2792,
"end": 3223,
"name": "POP",
"source": 1
},
{
"begin": 2777,
"end": 3223,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 2777,
"end": 3223,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "POP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "POP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "POP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 3236,
"end": 3353,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3290,
"end": 3298,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3340,
"end": 3345,
"name": "DUP3",
"source": 1
},
{
"begin": 3334,
"end": 3338,
"name": "DUP3",
"source": 1
},
{
"begin": 3330,
"end": 3346,
"name": "SHR",
"source": 1
},
{
"begin": 3309,
"end": 3346,
"name": "SWAP1",
"source": 1
},
{
"begin": 3309,
"end": 3346,
"name": "POP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "SWAP3",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "SWAP2",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "POP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "POP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 3359,
"end": 3528,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3403,
"end": 3409,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3436,
"end": 3487,
"name": "PUSH [tag]",
"source": 1,
"value": "68"
},
{
"begin": 3484,
"end": 3485,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3480,
"end": 3486,
"name": "NOT",
"source": 1
},
{
"begin": 3472,
"end": 3477,
"name": "DUP5",
"source": 1
},
{
"begin": 3469,
"end": 3470,
"name": "PUSH",
"source": 1,
"value": "8"
},
{
"begin": 3465,
"end": 3478,
"name": "MUL",
"source": 1
},
{
"begin": 3436,
"end": 3487,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 3436,
"end": 3487,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3436,
"end": 3487,
"name": "tag",
"source": 1,
"value": "68"
},
{
"begin": 3436,
"end": 3487,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3432,
"end": 3488,
"name": "NOT",
"source": 1
},
{
"begin": 3517,
"end": 3521,
"name": "DUP1",
"source": 1
},
{
"begin": 3511,
"end": 3515,
"name": "DUP4",
"source": 1
},
{
"begin": 3507,
"end": 3522,
"name": "AND",
"source": 1
},
{
"begin": 3497,
"end": 3522,
"name": "SWAP2",
"source": 1
},
{
"begin": 3497,
"end": 3522,
"name": "POP",
"source": 1
},
{
"begin": 3410,
"end": 3528,
"name": "POP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "SWAP3",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "SWAP2",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "POP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "POP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 3533,
"end": 3828,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3609,
"end": 3613,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3755,
"end": 3784,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 3780,
"end": 3783,
"name": "DUP4",
"source": 1
},
{
"begin": 3774,
"end": 3778,
"name": "DUP4",
"source": 1
},
{
"begin": 3755,
"end": 3784,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 3755,
"end": 3784,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3755,
"end": 3784,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 3755,
"end": 3784,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3747,
"end": 3784,
"name": "SWAP2",
"source": 1
},
{
"begin": 3747,
"end": 3784,
"name": "POP",
"source": 1
},
{
"begin": 3817,
"end": 3820,
"name": "DUP3",
"source": 1
},
{
"begin": 3814,
"end": 3815,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 3810,
"end": 3821,
"name": "MUL",
"source": 1
},
{
"begin": 3804,
"end": 3808,
"name": "DUP3",
"source": 1
},
{
"begin": 3801,
"end": 3822,
"name": "OR",
"source": 1
},
{
"begin": 3793,
"end": 3822,
"name": "SWAP1",
"source": 1
},
{
"begin": 3793,
"end": 3822,
"name": "POP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "SWAP3",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "SWAP2",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "POP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "POP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"name": "tag",
"source": 1,
"value": "2"
},
{
"begin": 3833,
"end": 5228,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3950,
"end": 3987,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 3983,
"end": 3986,
"name": "DUP3",
"source": 1
},
{
"begin": 3950,
"end": 3987,
"name": "PUSH [tag]",
"source": 1,
"value": "5"
},
{
"begin": 3950,
"end": 3987,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3950,
"end": 3987,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 3950,
"end": 3987,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4052,
"end": 4070,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 4044,
"end": 4050,
"name": "DUP2",
"source": 1
},
{
"begin": 4041,
"end": 4071,
"name": "GT",
"source": 1
},
{
"begin": 4038,
"end": 4094,
"name": "ISZERO",
"source": 1
},
{
"begin": 4038,
"end": 4094,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 4038,
"end": 4094,
"name": "JUMPI",
"source": 1
},
{
"begin": 4074,
"end": 4092,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 4074,
"end": 4092,
"name": "PUSH [tag]",
"source": 1,
"value": "6"
},
{
"begin": 4074,
"end": 4092,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4074,
"end": 4092,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 4074,
"end": 4092,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4038,
"end": 4094,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 4038,
"end": 4094,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4118,
"end": 4156,
"name": "PUSH [tag]",
"source": 1,
"value": "75"
},
{
"begin": 4150,
"end": 4154,
"name": "DUP3",
"source": 1
},
{
"begin": 4144,
"end": 4155,
"name": "SLOAD",
"source": 1
},
{
"begin": 4118,
"end": 4156,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 4118,
"end": 4156,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4118,
"end": 4156,
"name": "tag",
"source": 1,
"value": "75"
},
{
"begin": 4118,
"end": 4156,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4203,
"end": 4270,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 4263,
"end": 4269,
"name": "DUP3",
"source": 1
},
{
"begin": 4255,
"end": 4261,
"name": "DUP3",
"source": 1
},
{
"begin": 4249,
"end": 4253,
"name": "DUP6",
"source": 1
},
{
"begin": 4203,
"end": 4270,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 4203,
"end": 4270,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4203,
"end": 4270,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 4203,
"end": 4270,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4297,
"end": 4298,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4321,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4308,
"end": 4325,
"name": "SWAP1",
"source": 1
},
{
"begin": 4308,
"end": 4325,
"name": "POP",
"source": 1
},
{
"begin": 4353,
"end": 4355,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4345,
"end": 4351,
"name": "DUP4",
"source": 1
},
{
"begin": 4342,
"end": 4356,
"name": "GT",
"source": 1
},
{
"begin": 4370,
"end": 4371,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4365,
"end": 4983,
"name": "DUP2",
"source": 1
},
{
"begin": 4365,
"end": 4983,
"name": "EQ",
"source": 1
},
{
"begin": 4365,
"end": 4983,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 4365,
"end": 4983,
"name": "JUMPI",
"source": 1
},
{
"begin": 5027,
"end": 5028,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5044,
"end": 5050,
"name": "DUP5",
"source": 1
},
{
"begin": 5041,
"end": 5118,
"name": "ISZERO",
"source": 1
},
{
"begin": 5041,
"end": 5118,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 5041,
"end": 5118,
"name": "JUMPI",
"source": 1
},
{
"begin": 5093,
"end": 5102,
"name": "DUP3",
"source": 1
},
{
"begin": 5088,
"end": 5091,
"name": "DUP8",
"source": 1
},
{
"begin": 5084,
"end": 5103,
"name": "ADD",
"source": 1
},
{
"begin": 5078,
"end": 5104,
"name": "MLOAD",
"source": 1
},
{
"begin": 5069,
"end": 5104,
"name": "SWAP1",
"source": 1
},
{
"begin": 5069,
"end": 5104,
"name": "POP",
"source": 1
},
{
"begin": 5041,
"end": 5118,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 5041,
"end": 5118,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5144,
"end": 5211,
"name": "PUSH [tag]",
"source": 1,
"value": "80"
},
{
"begin": 5204,
"end": 5210,
"name": "DUP6",
"source": 1
},
{
"begin": 5197,
"end": 5202,
"name": "DUP3",
"source": 1
},
{
"begin": 5144,
"end": 5211,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 5144,
"end": 5211,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5144,
"end": 5211,
"name": "tag",
"source": 1,
"value": "80"
},
{
"begin": 5144,
"end": 5211,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5138,
"end": 5142,
"name": "DUP7",
"source": 1
},
{
"begin": 5131,
"end": 5212,
"name": "SSTORE",
"source": 1
},
{
"begin": 5000,
"end": 5222,
"name": "POP",
"source": 1
},
{
"begin": 4335,
"end": 5222,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 4335,
"end": 5222,
"name": "JUMP",
"source": 1
},
{
"begin": 4365,
"end": 4983,
"name": "tag",
"source": 1,
"value": "78"
},
{
"begin": 4365,
"end": 4983,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4417,
"end": 4421,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4413,
"end": 4422,
"name": "NOT",
"source": 1
},
{
"begin": 4405,
"end": 4411,
"name": "DUP5",
"source": 1
},
{
"begin": 4401,
"end": 4423,
"name": "AND",
"source": 1
},
{
"begin": 4451,
"end": 4488,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 4483,
"end": 4487,
"name": "DUP7",
"source": 1
},
{
"begin": 4451,
"end": 4488,
"name": "PUSH [tag]",
"source": 1,
"value": "9"
},
{
"begin": 4451,
"end": 4488,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4451,
"end": 4488,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 4451,
"end": 4488,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4510,
"end": 4511,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4524,
"end": 4732,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4538,
"end": 4545,
"name": "DUP3",
"source": 1
},
{
"begin": 4535,
"end": 4536,
"name": "DUP2",
"source": 1
},
{
"begin": 4532,
"end": 4546,
"name": "LT",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "ISZERO",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMPI",
"source": 1
},
{
"begin": 4617,
"end": 4626,
"name": "DUP5",
"source": 1
},
{
"begin": 4612,
"end": 4615,
"name": "DUP10",
"source": 1
},
{
"begin": 4608,
"end": 4627,
"name": "ADD",
"source": 1
},
{
"begin": 4602,
"end": 4628,
"name": "MLOAD",
"source": 1
},
{
"begin": 4594,
"end": 4600,
"name": "DUP3",
"source": 1
},
{
"begin": 4587,
"end": 4629,
"name": "SSTORE",
"source": 1
},
{
"begin": 4668,
"end": 4669,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4660,
"end": 4666,
"name": "DUP3",
"source": 1
},
{
"begin": 4656,
"end": 4670,
"name": "ADD",
"source": 1
},
{
"begin": 4646,
"end": 4670,
"name": "SWAP2",
"source": 1
},
{
"begin": 4646,
"end": 4670,
"name": "POP",
"source": 1
},
{
"begin": 4715,
"end": 4717,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4704,
"end": 4713,
"name": "DUP6",
"source": 1
},
{
"begin": 4700,
"end": 4718,
"name": "ADD",
"source": 1
},
{
"begin": 4687,
"end": 4718,
"name": "SWAP5",
"source": 1
},
{
"begin": 4687,
"end": 4718,
"name": "POP",
"source": 1
},
{
"begin": 4561,
"end": 4565,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4558,
"end": 4559,
"name": "DUP2",
"source": 1
},
{
"begin": 4554,
"end": 4566,
"name": "ADD",
"source": 1
},
{
"begin": 4549,
"end": 4566,
"name": "SWAP1",
"source": 1
},
{
"begin": 4549,
"end": 4566,
"name": "POP",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMP",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4760,
"end": 4766,
"name": "DUP7",
"source": 1
},
{
"begin": 4751,
"end": 4758,
"name": "DUP4",
"source": 1
},
{
"begin": 4748,
"end": 4767,
"name": "LT",
"source": 1
},
{
"begin": 4745,
"end": 4924,
"name": "ISZERO",
"source": 1
},
{
"begin": 4745,
"end": 4924,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 4745,
"end": 4924,
"name": "JUMPI",
"source": 1
},
{
"begin": 4818,
"end": 4827,
"name": "DUP5",
"source": 1
},
{
"begin": 4813,
"end": 4816,
"name": "DUP10",
"source": 1
},
{
"begin": 4809,
"end": 4828,
"name": "ADD",
"source": 1
},
{
"begin": 4803,
"end": 4829,
"name": "MLOAD",
"source": 1
},
{
"begin": 4861,
"end": 4909,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 4903,
"end": 4907,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4895,
"end": 4901,
"name": "DUP10",
"source": 1
},
{
"begin": 4891,
"end": 4908,
"name": "AND",
"source": 1
},
{
"begin": 4880,
"end": 4889,
"name": "DUP3",
"source": 1
},
{
"begin": 4861,
"end": 4909,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 4861,
"end": 4909,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4861,
"end": 4909,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 4861,
"end": 4909,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4853,
"end": 4859,
"name": "DUP4",
"source": 1
},
{
"begin": 4846,
"end": 4910,
"name": "SSTORE",
"source": 1
},
{
"begin": 4768,
"end": 4924,
"name": "POP",
"source": 1
},
{
"begin": 4745,
"end": 4924,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 4745,
"end": 4924,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4970,
"end": 4971,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4966,
"end": 4967,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 4958,
"end": 4964,
"name": "DUP9",
"source": 1
},
{
"begin": 4954,
"end": 4968,
"name": "MUL",
"source": 1
},
{
"begin": 4950,
"end": 4972,
"name": "ADD",
"source": 1
},
{
"begin": 4944,
"end": 4948,
"name": "DUP9",
"source": 1
},
{
"begin": 4937,
"end": 4973,
"name": "SSTORE",
"source": 1
},
{
"begin": 4372,
"end": 4983,
"name": "POP",
"source": 1
},
{
"begin": 4372,
"end": 4983,
"name": "POP",
"source": 1
},
{
"begin": 4372,
"end": 4983,
"name": "POP",
"source": 1
},
{
"begin": 4335,
"end": 5222,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 4335,
"end": 5222,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4335,
"end": 5222,
"name": "POP",
"source": 1
},
{
"begin": 3925,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3925,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3925,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 60,
"end": 318,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 60,
"end": 318,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 60,
"end": 318,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 60,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 318,
"name": "CODECOPY",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 318,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122064780724d929ca8c651a863e2616c76fe6c81e01a91491daac8e302b5480a46364736f6c63430008120033",
".code": [
{
"begin": 60,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 60,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 60,
"end": 318,
"name": "MSTORE",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 60,
"end": 318,
"name": "DUP1",
"source": 0
},
{
"begin": 60,
"end": 318,
"name": "REVERT",
"source": 0
}
]
}
},
"sourceList": [
"mo.sol",
"#utility.yul"
]
},
"methodIdentifiers": {}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"mo.sol\":\"SimpleStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"mo.sol\":{\"keccak256\":\"0x74e5dfe164804dd1bd30e7f6057d39e10fcd889aaccf37342c9fd4645096c261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82109825f7984e89c929d2039a715bc719aebb7539a3a9c1e5f169d13e35dca7\",\"dweb:/ipfs/Qmb1SFxVMm68d3UjKGE4LGgzRf9gGAMS4F6k9tATZqM3iF\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 4,
"contract": "mo.sol:SimpleStorage",
"label": "dohave",
"offset": 0,
"slot": "0",
"type": "t_bool"
},
{
"astId": 7,
"contract": "mo.sol:SimpleStorage",
"label": "favnum",
"offset": 0,
"slot": "1",
"type": "t_uint256"
},
{
"astId": 10,
"contract": "mo.sol:SimpleStorage",
"label": "favoriteNum",
"offset": 0,
"slot": "2",
"type": "t_string_storage"
},
{
"astId": 14,
"contract": "mo.sol:SimpleStorage",
"label": "favint",
"offset": 0,
"slot": "3",
"type": "t_int256"
},
{
"astId": 17,
"contract": "mo.sol:SimpleStorage",
"label": "myAddress",
"offset": 0,
"slot": "4",
"type": "t_address"
},
{
"astId": 20,
"contract": "mo.sol:SimpleStorage",
"label": "mybyte",
"offset": 0,
"slot": "5",
"type": "t_bytes32"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_bool": {
"encoding": "inplace",
"label": "bool",
"numberOfBytes": "1"
},
"t_bytes32": {
"encoding": "inplace",
"label": "bytes32",
"numberOfBytes": "32"
},
"t_int256": {
"encoding": "inplace",
"label": "int256",
"numberOfBytes": "32"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"mo.sol": {
"ast": {
"absolutePath": "mo.sol",
"exportedSymbols": {
"SimpleStorage": [
21
]
},
"id": 22,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".18"
],
"nodeType": "PragmaDirective",
"src": "33:23:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "SimpleStorage",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 21,
"linearizedBaseContracts": [
21
],
"name": "SimpleStorage",
"nameLocation": "69:13:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 4,
"mutability": "mutable",
"name": "dohave",
"nameLocation": "107:6:0",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "102:18:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "102:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": {
"hexValue": "74727565",
"id": 3,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "116:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"visibility": "internal"
},
{
"constant": false,
"id": 7,
"mutability": "mutable",
"name": "favnum",
"nameLocation": "135:6:0",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "127:19:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 5,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "127:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"hexValue": "3838",
"id": 6,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "144:2:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_88_by_1",
"typeString": "int_const 88"
},
"value": "88"
},
"visibility": "internal"
},
{
"constant": false,
"id": 10,
"mutability": "mutable",
"name": "favoriteNum",
"nameLocation": "160:11:0",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "153:30:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 8,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "153:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"hexValue": "796f20706f7073",
"id": 9,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "174:9:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e885bdbf04c5a12825bab335eb3c7d17e2026fdf14d5116a9a77e49124d3a9a2",
"typeString": "literal_string \"yo pops\""
},
"value": "yo pops"
},
"visibility": "internal"
},
{
"constant": false,
"id": 14,
"mutability": "mutable",
"name": "favint",
"nameLocation": "197:6:0",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "190:19:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 11,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "190:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"value": {
"id": 13,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "-",
"prefix": true,
"src": "206:3:0",
"subExpression": {
"hexValue": "3939",
"id": 12,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "207:2:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_99_by_1",
"typeString": "int_const 99"
},
"value": "99"
},
"typeDescriptions": {
"typeIdentifier": "t_rational_minus_99_by_1",
"typeString": "int_const -99"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 17,
"mutability": "mutable",
"name": "myAddress",
"nameLocation": "224:9:0",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "216:62:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "216:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": {
"hexValue": "307835433939376438303733434139323633306142423045334245376543373231383863393238343366",
"id": 16,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "236:42:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"value": "0x5C997d8073CA92630aBB0E3BE7eC72188c92843f"
},
"visibility": "internal"
},
{
"constant": false,
"id": 20,
"mutability": "mutable",
"name": "mybyte",
"nameLocation": "293:6:0",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "285:29:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 18,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "285:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"hexValue": "353335336a6b6c323332",
"id": 19,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "302:12:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_0253cce788b00f3d2e3f8d193a03b03b8de500c121eb36497ff8fee63fbf7256",
"typeString": "literal_string \"5353jkl232\""
},
"value": "5353jkl232"
},
"visibility": "internal"
}
],
"scope": 22,
"src": "60:258:0",
"usedErrors": []
}
],
"src": "33:285:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"array_dataslot_t_string_storage": {
"entryPoint": 433,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 279,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 730,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 565,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 695,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 585,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 871,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 454,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 384,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 843,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 575,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 813,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 337,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 290,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 619,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 470,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 800,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 671,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 483,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 629,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 666,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5231:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405260016000806101000a81548160ff02191690831515021790555060586001556040518060400160405280600781526020017f796f20706f707300000000000000000000000000000000000000000000000000815250600290816100679190610367565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d600355735c997d8073ca92630abb0e3be7ec72188c92843f600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f353335336a6b6c3233320000000000000000000000000000000000000000000060055534801561011157600080fd5b50610439565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061019857607f821691505b6020821081036101ab576101aa610151565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026102137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826101d6565b61021d86836101d6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061026461025f61025a84610235565b61023f565b610235565b9050919050565b6000819050919050565b61027e83610249565b61029261028a8261026b565b8484546101e3565b825550505050565b600090565b6102a761029a565b6102b2818484610275565b505050565b5b818110156102d6576102cb60008261029f565b6001810190506102b8565b5050565b601f82111561031b576102ec816101b1565b6102f5846101c6565b81016020851015610304578190505b610318610310856101c6565b8301826102b7565b50505b505050565b600082821c905092915050565b600061033e60001984600802610320565b1980831691505092915050565b6000610357838361032d565b9150826002028217905092915050565b61037082610117565b67ffffffffffffffff81111561038957610388610122565b5b6103938254610180565b61039e8282856102da565b600060209050601f8311600181146103d157600084156103bf578287015190505b6103c9858261034b565b865550610431565b601f1984166103df866101b1565b60005b82811015610407578489015182556001820191506020850194506020810190506103e2565b868310156104245784890151610420601f89168261032d565b8355505b6001600288020188555050505b505050505050565b603f806104476000396000f3fe6080604052600080fdfea264697066735822122064780724d929ca8c651a863e2616c76fe6c81e01a91491daac8e302b5480a46364736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x58 PUSH1 0x1 SSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x796F20706F707300000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x2 SWAP1 DUP2 PUSH2 0x67 SWAP2 SWAP1 PUSH2 0x367 JUMP JUMPDEST POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D PUSH1 0x3 SSTORE PUSH20 0x5C997D8073CA92630ABB0E3BE7EC72188C92843F PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x353335336A6B6C32333200000000000000000000000000000000000000000000 PUSH1 0x5 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x111 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x439 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x198 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1AB JUMPI PUSH2 0x1AA PUSH2 0x151 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x213 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1D6 JUMP JUMPDEST PUSH2 0x21D DUP7 DUP4 PUSH2 0x1D6 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x264 PUSH2 0x25F PUSH2 0x25A DUP5 PUSH2 0x235 JUMP JUMPDEST PUSH2 0x23F JUMP JUMPDEST PUSH2 0x235 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x27E DUP4 PUSH2 0x249 JUMP JUMPDEST PUSH2 0x292 PUSH2 0x28A DUP3 PUSH2 0x26B JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1E3 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x2A7 PUSH2 0x29A JUMP JUMPDEST PUSH2 0x2B2 DUP2 DUP5 DUP5 PUSH2 0x275 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2D6 JUMPI PUSH2 0x2CB PUSH1 0x0 DUP3 PUSH2 0x29F JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2B8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x31B JUMPI PUSH2 0x2EC DUP2 PUSH2 0x1B1 JUMP JUMPDEST PUSH2 0x2F5 DUP5 PUSH2 0x1C6 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x304 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x318 PUSH2 0x310 DUP6 PUSH2 0x1C6 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x2B7 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x320 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x357 DUP4 DUP4 PUSH2 0x32D JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x370 DUP3 PUSH2 0x117 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x389 JUMPI PUSH2 0x388 PUSH2 0x122 JUMP JUMPDEST JUMPDEST PUSH2 0x393 DUP3 SLOAD PUSH2 0x180 JUMP JUMPDEST PUSH2 0x39E DUP3 DUP3 DUP6 PUSH2 0x2DA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x3D1 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x3BF JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x3C9 DUP6 DUP3 PUSH2 0x34B JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x431 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x3DF DUP7 PUSH2 0x1B1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x407 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3E2 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x424 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x420 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x32D JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x3F DUP1 PUSH2 0x447 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x780724D929 0xCA DUP13 PUSH6 0x1A863E2616C7 PUSH16 0xE6C81E01A91491DAAC8E302B5480A463 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "60:258:0:-:0;;;116:4;102:18;;;;;;;;;;;;;;;;;;;;144:2;127:19;;153:30;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;206:3;190:19;;236:42;216:62;;;;;;;;;;;;;;;;;;;;285:29;;;60:258;;;;;;;;;;;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;60:258:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea264697066735822122064780724d929ca8c651a863e2616c76fe6c81e01a91491daac8e302b5480a46364736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x780724D929 0xCA DUP13 PUSH6 0x1A863E2616C7 PUSH16 0xE6C81E01A91491DAAC8E302B5480A463 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "60:258:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "infinite",
"totalCost": "infinite"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"mo.sol": "SimpleStorage"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"mo.sol": {
"keccak256": "0x74e5dfe164804dd1bd30e7f6057d39e10fcd889aaccf37342c9fd4645096c261",
"license": "MIT",
"urls": [
"bzz-raw://82109825f7984e89c929d2039a715bc719aebb7539a3a9c1e5f169d13e35dca7",
"dweb:/ipfs/Qmb1SFxVMm68d3UjKGE4LGgzRf9gGAMS4F6k9tATZqM3iF"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;
contract SimpleStorage{
//Basic
bool dohave = true;
uint256 favnum = 88;
string favoriteNum = "yo pops";
int256 favint = -99;
address myAddress = 0x5C997d8073CA92630aBB0E3BE7eC72188c92843f;
bytes32 mybyte = "5353jkl232";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment