Skip to content

Instantly share code, notes, and snippets.

@kuzdogan
Created September 27, 2023 11:05
Show Gist options
  • Save kuzdogan/e760a037fdb382f312a0b09f159acb8a to your computer and use it in GitHub Desktop.
Save kuzdogan/e760a037fdb382f312a0b09f159acb8a to your computer and use it in GitHub Desktop.
Solc JSON output Optimism Mainnet (10) - 0xA84EA94Aa705F7d009CDDF2a60f65c0d446b748E
This file has been truncated, but you can view the full file.
{
contracts: {
"contracts/ExternalBribe.sol": {
ExternalBribe: {
abi: [
{
inputs: [
{
internalType: "address",
name: "_voter",
type: "address",
},
{
internalType: "address[]",
name: "_allowedRewardTokens",
type: "address[]",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "reward",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "ClaimRewards",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "Deposit",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "reward",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "epoch",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "NotifyReward",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "from",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "Withdraw",
type: "event",
},
{
inputs: [
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
],
name: "_deposit",
outputs: [
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
],
name: "_ve",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
],
name: "_withdraw",
outputs: [
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "balanceOf",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "checkpoints",
outputs: [
{
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
{
internalType: "uint256",
name: "balanceOf",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
{
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
],
name: "earned",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
],
name: "getEpochStart",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
{
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
],
name: "getPriorBalanceIndex",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
],
name: "getPriorSupplyIndex",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
{
internalType: "address[]",
name: "tokens",
type: "address[]",
},
],
name: "getReward",
outputs: [
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
{
internalType: "address[]",
name: "tokens",
type: "address[]",
},
],
name: "getRewardForOwner",
outputs: [
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "isReward",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "lastEarn",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
],
name: "lastTimeRewardApplicable",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
],
name: "left",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "notifyRewardAmount",
outputs: [
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "numCheckpoints",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "periodFinish",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "rewards",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
],
name: "rewardsListLength",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "supplyCheckpoints",
outputs: [
{
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
{
internalType: "uint256",
name: "supply",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
],
name: "supplyNumCheckpoints",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "i",
type: "uint256",
},
{
internalType: "address",
name: "oldToken",
type: "address",
},
{
internalType: "address",
name: "newToken",
type: "address",
},
],
name: "swapOutRewardToken",
outputs: [
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "tokenRewardsPerEpoch",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
],
name: "totalSupply",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
],
name: "voter",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
],
devdoc: {
kind: "dev",
methods: {
"getPriorBalanceIndex(uint256,uint256)": {
details: "Block number must be a finalized block or else this function will revert to prevent misinformation.",
params: {
timestamp: "The timestamp to get the balance at",
tokenId: "The token of the NFT to check",
},
returns: {
_0: "The balance the account had as of the given block",
},
},
},
version: 1,
},
evm: {
assembly: " /* \"contracts/ExternalBribe.sol\":447:12667 contract ExternalBribe is IBribe {... */\n mstore(0x40, 0xc0)\n /* \"contracts/ExternalBribe.sol\":2683:2684 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":2657:2684 uint internal _unlocked = 1 */\n 0x0b\n sstore\n /* \"contracts/ExternalBribe.sol\":2229:2619 constructor(address _voter, address[] memory _allowedRewardTokens) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n add\n 0x40\n dup2\n swap1\n mstore\n tag_2\n swap2\n tag_3\n jump\t// in\ntag_2:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":2306:2320 voter = _voter */\n dup3\n and\n 0x80\n dup2\n swap1\n mstore\n /* \"contracts/ExternalBribe.sol\":2336:2356 IVoter(_voter)._ve() */\n 0x40\n dup1\n mload\n shl(0xe0, 0x8dd598fb)\n dup2\n mstore\n swap1\n mload\n /* \"contracts/ExternalBribe.sol\":2336:2354 IVoter(_voter)._ve */\n 0x8dd598fb\n swap2\n /* \"contracts/ExternalBribe.sol\":2336:2356 IVoter(_voter)._ve() */\n 0x04\n dup1\n dup3\n add\n swap3\n 0x20\n swap3\n swap1\n swap2\n swap1\n dup3\n swap1\n sub\n add\n dup2\n /* \"contracts/ExternalBribe.sol\":2306:2320 voter = _voter */\n dup7\n /* \"contracts/ExternalBribe.sol\":2336:2356 IVoter(_voter)._ve() */\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_7\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\ntag_7:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\ntag_8:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":2330:2356 _ve = IVoter(_voter)._ve() */\n and\n 0xa0\n mstore\n /* \"contracts/ExternalBribe.sol\":2372:2378 uint i */\n 0x00\n /* \"contracts/ExternalBribe.sol\":2367:2613 for (uint i; i < _allowedRewardTokens.length; i++) {... */\ntag_10:\n /* \"contracts/ExternalBribe.sol\":2384:2404 _allowedRewardTokens */\n dup2\n /* \"contracts/ExternalBribe.sol\":2384:2411 _allowedRewardTokens.length */\n mload\n /* \"contracts/ExternalBribe.sol\":2380:2381 i */\n dup2\n /* \"contracts/ExternalBribe.sol\":2380:2411 i < _allowedRewardTokens.length */\n lt\n /* \"contracts/ExternalBribe.sol\":2367:2613 for (uint i; i < _allowedRewardTokens.length; i++) {... */\n iszero\n tag_11\n jumpi\n /* \"contracts/ExternalBribe.sol\":2471:2472 0 */\n 0x00\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":2436:2473 _allowedRewardTokens[i] != address(0) */\n and\n /* \"contracts/ExternalBribe.sol\":2436:2456 _allowedRewardTokens */\n dup3\n /* \"contracts/ExternalBribe.sol\":2457:2458 i */\n dup3\n /* \"contracts/ExternalBribe.sol\":2436:2459 _allowedRewardTokens[i] */\n dup2\n mload\n dup2\n lt\n tag_14\n jumpi\n tag_14\n tag_15\n jump\t// in\ntag_14:\n 0x20\n mul\n 0x20\n add\n add\n mload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":2436:2473 _allowedRewardTokens[i] != address(0) */\n and\n eq\n /* \"contracts/ExternalBribe.sol\":2432:2603 if (_allowedRewardTokens[i] != address(0)) {... */\n tag_16\n jumpi\n /* \"contracts/ExternalBribe.sol\":2529:2533 true */\n 0x01\n /* \"contracts/ExternalBribe.sol\":2493:2501 isReward */\n 0x06\n /* \"contracts/ExternalBribe.sol\":2493:2526 isReward[_allowedRewardTokens[i]] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":2502:2522 _allowedRewardTokens */\n dup5\n /* \"contracts/ExternalBribe.sol\":2523:2524 i */\n dup5\n /* \"contracts/ExternalBribe.sol\":2502:2525 _allowedRewardTokens[i] */\n dup2\n mload\n dup2\n lt\n tag_18\n jumpi\n tag_18\n tag_15\n jump\t// in\ntag_18:\n 0x20\n mul\n 0x20\n add\n add\n mload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":2493:2526 isReward[_allowedRewardTokens[i]] */\n and\n sub(shl(0xa0, 0x01), 0x01)\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n 0x00\n /* \"contracts/ExternalBribe.sol\":2493:2533 isReward[_allowedRewardTokens[i]] = true */\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 /* \"contracts/ExternalBribe.sol\":2551:2558 rewards */\n 0x05\n /* \"contracts/ExternalBribe.sol\":2564:2584 _allowedRewardTokens */\n dup3\n /* \"contracts/ExternalBribe.sol\":2585:2586 i */\n dup3\n /* \"contracts/ExternalBribe.sol\":2564:2587 _allowedRewardTokens[i] */\n dup2\n mload\n dup2\n lt\n tag_20\n jumpi\n tag_20\n tag_15\n jump\t// in\ntag_20:\n 0x20\n swap1\n dup2\n mul\n swap2\n swap1\n swap2\n add\n dup2\n add\n mload\n /* \"contracts/ExternalBribe.sol\":2551:2588 rewards.push(_allowedRewardTokens[i]) */\n dup3\n sload\n 0x01\n dup2\n add\n dup5\n sstore\n 0x00\n swap4\n dup5\n mstore\n swap2\n swap1\n swap3\n keccak256\n add\n dup1\n sload\n not(sub(shl(0xa0, 0x01), 0x01))\n and\n sub(shl(0xa0, 0x01), 0x01)\n swap1\n swap3\n and\n swap2\n swap1\n swap2\n or\n swap1\n sstore\n /* \"contracts/ExternalBribe.sol\":2432:2603 if (_allowedRewardTokens[i] != address(0)) {... */\ntag_16:\n /* \"contracts/ExternalBribe.sol\":2413:2416 i++ */\n dup1\n tag_22\n dup2\n tag_23\n jump\t// in\ntag_22:\n swap2\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":2367:2613 for (uint i; i < _allowedRewardTokens.length; i++) {... */\n jump(tag_10)\ntag_11:\n pop\n /* \"contracts/ExternalBribe.sol\":2229:2619 constructor(address _voter, address[] memory _allowedRewardTokens) {... */\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":447:12667 contract ExternalBribe is IBribe {... */\n jump(tag_27)\n /* \"#utility.yul\":14:191 */\ntag_25:\n /* \"#utility.yul\":93:106 */\n dup1\n mload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":135:166 */\n dup2\n and\n /* \"#utility.yul\":125:167 */\n dup2\n eq\n /* \"#utility.yul\":115:185 */\n tag_29\n jumpi\n /* \"#utility.yul\":181:182 */\n 0x00\n /* \"#utility.yul\":178:179 */\n dup1\n /* \"#utility.yul\":171:183 */\n revert\n /* \"#utility.yul\":115:185 */\ntag_29:\n /* \"#utility.yul\":14:191 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":196:323 */\ntag_26:\n /* \"#utility.yul\":257:267 */\n 0x4e487b71\n /* \"#utility.yul\":252:255 */\n 0xe0\n /* \"#utility.yul\":248:268 */\n shl\n /* \"#utility.yul\":245:246 */\n 0x00\n /* \"#utility.yul\":238:269 */\n mstore\n /* \"#utility.yul\":288:292 */\n 0x41\n /* \"#utility.yul\":285:286 */\n 0x04\n /* \"#utility.yul\":278:293 */\n mstore\n /* \"#utility.yul\":312:316 */\n 0x24\n /* \"#utility.yul\":309:310 */\n 0x00\n /* \"#utility.yul\":302:317 */\n revert\n /* \"#utility.yul\":328:1542 */\ntag_3:\n /* \"#utility.yul\":432:438 */\n 0x00\n /* \"#utility.yul\":440:446 */\n dup1\n /* \"#utility.yul\":493:495 */\n 0x40\n /* \"#utility.yul\":481:490 */\n dup4\n /* \"#utility.yul\":472:479 */\n dup6\n /* \"#utility.yul\":468:491 */\n sub\n /* \"#utility.yul\":464:496 */\n slt\n /* \"#utility.yul\":461:513 */\n iszero\n tag_32\n jumpi\n /* \"#utility.yul\":509:510 */\n 0x00\n /* \"#utility.yul\":506:507 */\n dup1\n /* \"#utility.yul\":499:511 */\n revert\n /* \"#utility.yul\":461:513 */\ntag_32:\n /* \"#utility.yul\":532:572 */\n tag_33\n /* \"#utility.yul\":562:571 */\n dup4\n /* \"#utility.yul\":532:572 */\n tag_25\n jump\t// in\ntag_33:\n /* \"#utility.yul\":591:593 */\n 0x20\n /* \"#utility.yul\":622:640 */\n dup5\n dup2\n add\n /* \"#utility.yul\":616:641 */\n mload\n /* \"#utility.yul\":522:572 */\n swap2\n swap4\n pop\n /* \"#utility.yul\":591:593 */\n swap1\n sub(shl(0x40, 0x01), 0x01)\n /* \"#utility.yul\":690:704 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":687:721 */\n iszero\n tag_34\n jumpi\n /* \"#utility.yul\":717:718 */\n 0x00\n /* \"#utility.yul\":714:715 */\n dup1\n /* \"#utility.yul\":707:719 */\n revert\n /* \"#utility.yul\":687:721 */\ntag_34:\n /* \"#utility.yul\":755:761 */\n dup2\n /* \"#utility.yul\":744:753 */\n dup7\n /* \"#utility.yul\":740:762 */\n add\n /* \"#utility.yul\":730:762 */\n swap2\n pop\n /* \"#utility.yul\":800:807 */\n dup7\n /* \"#utility.yul\":793:797 */\n 0x1f\n /* \"#utility.yul\":789:791 */\n dup4\n /* \"#utility.yul\":785:798 */\n add\n /* \"#utility.yul\":781:808 */\n slt\n /* \"#utility.yul\":771:826 */\n tag_35\n jumpi\n /* \"#utility.yul\":822:823 */\n 0x00\n /* \"#utility.yul\":819:820 */\n dup1\n /* \"#utility.yul\":812:824 */\n revert\n /* \"#utility.yul\":771:826 */\ntag_35:\n /* \"#utility.yul\":851:853 */\n dup2\n /* \"#utility.yul\":845:854 */\n mload\n /* \"#utility.yul\":873:875 */\n dup2\n /* \"#utility.yul\":869:871 */\n dup2\n /* \"#utility.yul\":866:876 */\n gt\n /* \"#utility.yul\":863:899 */\n iszero\n tag_37\n jumpi\n /* \"#utility.yul\":879:897 */\n tag_37\n tag_26\n jump\t// in\ntag_37:\n /* \"#utility.yul\":925:927 */\n dup1\n /* \"#utility.yul\":922:923 */\n 0x05\n /* \"#utility.yul\":918:928 */\n shl\n /* \"#utility.yul\":957:959 */\n 0x40\n /* \"#utility.yul\":951:960 */\n mload\n /* \"#utility.yul\":1020:1022 */\n 0x1f\n /* \"#utility.yul\":1016:1023 */\n not\n /* \"#utility.yul\":1011:1013 */\n 0x3f\n /* \"#utility.yul\":1007:1009 */\n dup4\n /* \"#utility.yul\":1003:1014 */\n add\n /* \"#utility.yul\":999:1024 */\n and\n /* \"#utility.yul\":991:997 */\n dup2\n /* \"#utility.yul\":987:1025 */\n add\n /* \"#utility.yul\":1075:1081 */\n dup2\n /* \"#utility.yul\":1063:1073 */\n dup2\n /* \"#utility.yul\":1060:1082 */\n lt\n /* \"#utility.yul\":1055:1057 */\n dup6\n /* \"#utility.yul\":1043:1053 */\n dup3\n /* \"#utility.yul\":1040:1058 */\n gt\n /* \"#utility.yul\":1037:1083 */\n or\n /* \"#utility.yul\":1034:1106 */\n iszero\n tag_39\n jumpi\n /* \"#utility.yul\":1086:1104 */\n tag_39\n tag_26\n jump\t// in\ntag_39:\n /* \"#utility.yul\":1122:1124 */\n 0x40\n /* \"#utility.yul\":1115:1137 */\n mstore\n /* \"#utility.yul\":1172:1190 */\n swap2\n dup3\n mstore\n /* \"#utility.yul\":1206:1221 */\n dup5\n dup3\n add\n swap3\n pop\n /* \"#utility.yul\":1248:1259 */\n dup4\n dup2\n add\n /* \"#utility.yul\":1244:1264 */\n dup6\n add\n swap2\n /* \"#utility.yul\":1276:1295 */\n dup10\n dup4\n gt\n /* \"#utility.yul\":1273:1312 */\n iszero\n tag_40\n jumpi\n /* \"#utility.yul\":1308:1309 */\n 0x00\n /* \"#utility.yul\":1305:1306 */\n dup1\n /* \"#utility.yul\":1298:1310 */\n revert\n /* \"#utility.yul\":1273:1312 */\ntag_40:\n /* \"#utility.yul\":1332:1343 */\n swap4\n dup6\n add\n swap4\n /* \"#utility.yul\":1352:1511 */\ntag_41:\n /* \"#utility.yul\":1368:1374 */\n dup3\n /* \"#utility.yul\":1363:1366 */\n dup6\n /* \"#utility.yul\":1360:1375 */\n lt\n /* \"#utility.yul\":1352:1511 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":1434:1468 */\n tag_44\n /* \"#utility.yul\":1464:1467 */\n dup6\n /* \"#utility.yul\":1434:1468 */\n tag_25\n jump\t// in\ntag_44:\n /* \"#utility.yul\":1422:1469 */\n dup5\n mstore\n /* \"#utility.yul\":1385:1397 */\n swap4\n dup6\n add\n swap4\n /* \"#utility.yul\":1489:1501 */\n swap3\n dup6\n add\n swap3\n /* \"#utility.yul\":1352:1511 */\n jump(tag_41)\ntag_43:\n /* \"#utility.yul\":1530:1536 */\n dup1\n /* \"#utility.yul\":1520:1536 */\n swap7\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n /* \"#utility.yul\":328:1542 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1547:1755 */\ntag_9:\n /* \"#utility.yul\":1617:1623 */\n 0x00\n /* \"#utility.yul\":1670:1672 */\n 0x20\n /* \"#utility.yul\":1658:1667 */\n dup3\n /* \"#utility.yul\":1649:1656 */\n dup5\n /* \"#utility.yul\":1645:1668 */\n sub\n /* \"#utility.yul\":1641:1673 */\n slt\n /* \"#utility.yul\":1638:1690 */\n iszero\n tag_46\n jumpi\n /* \"#utility.yul\":1686:1687 */\n 0x00\n /* \"#utility.yul\":1683:1684 */\n dup1\n /* \"#utility.yul\":1676:1688 */\n revert\n /* \"#utility.yul\":1638:1690 */\ntag_46:\n /* \"#utility.yul\":1709:1749 */\n tag_47\n /* \"#utility.yul\":1739:1748 */\n dup3\n /* \"#utility.yul\":1709:1749 */\n tag_25\n jump\t// in\ntag_47:\n /* \"#utility.yul\":1699:1749 */\n swap4\n /* \"#utility.yul\":1547:1755 */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1760:1887 */\ntag_15:\n /* \"#utility.yul\":1821:1831 */\n 0x4e487b71\n /* \"#utility.yul\":1816:1819 */\n 0xe0\n /* \"#utility.yul\":1812:1832 */\n shl\n /* \"#utility.yul\":1809:1810 */\n 0x00\n /* \"#utility.yul\":1802:1833 */\n mstore\n /* \"#utility.yul\":1852:1856 */\n 0x32\n /* \"#utility.yul\":1849:1850 */\n 0x04\n /* \"#utility.yul\":1842:1857 */\n mstore\n /* \"#utility.yul\":1876:1880 */\n 0x24\n /* \"#utility.yul\":1873:1874 */\n 0x00\n /* \"#utility.yul\":1866:1881 */\n revert\n /* \"#utility.yul\":1892:2124 */\ntag_23:\n /* \"#utility.yul\":1931:1934 */\n 0x00\n /* \"#utility.yul\":1952:1969 */\n 0x01\n dup3\n add\n /* \"#utility.yul\":1949:2089 */\n tag_50\n jumpi\n /* \"#utility.yul\":2011:2021 */\n 0x4e487b71\n /* \"#utility.yul\":2006:2009 */\n 0xe0\n /* \"#utility.yul\":2002:2022 */\n shl\n /* \"#utility.yul\":1999:2000 */\n 0x00\n /* \"#utility.yul\":1992:2023 */\n mstore\n /* \"#utility.yul\":2046:2050 */\n 0x11\n /* \"#utility.yul\":2043:2044 */\n 0x04\n /* \"#utility.yul\":2036:2051 */\n mstore\n /* \"#utility.yul\":2074:2078 */\n 0x24\n /* \"#utility.yul\":2071:2072 */\n 0x00\n /* \"#utility.yul\":2064:2079 */\n revert\n /* \"#utility.yul\":1949:2089 */\ntag_50:\n pop\n /* \"#utility.yul\":2116:2117 */\n 0x01\n /* \"#utility.yul\":2105:2118 */\n add\n swap1\n /* \"#utility.yul\":1892:2124 */\n jump\t// out\ntag_27:\n /* \"contracts/ExternalBribe.sol\":447:12667 contract ExternalBribe is IBribe {... */\n mload(0x80)\n mload(0xa0)\n codecopy(0x00, dataOffset(sub_0), dataSize(sub_0))\n 0x00\n assignImmutable(\"0x789bcdf275fa270780a52ae3b79bb1ce0fda7e0aaad87b57b74bb99ac290714a\")\n 0x00\n assignImmutable(\"0x7880aec93413f117ef14bd4e6d130875ab2c7d7d55a064fac3c2f7bd51516380\")\n return(0x00, dataSize(sub_0))\nstop\n\nsub_0: assembly {\n /* \"contracts/ExternalBribe.sol\":447:12667 contract ExternalBribe is IBribe {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x9cc7f708\n gt\n tag_29\n jumpi\n dup1\n 0xe6886396\n gt\n tag_30\n jumpi\n dup1\n 0xf301af42\n gt\n tag_31\n jumpi\n dup1\n 0xf301af42\n eq\n tag_25\n jumpi\n dup1\n 0xf3207723\n eq\n tag_26\n jumpi\n dup1\n 0xf5f8d365\n eq\n tag_27\n jumpi\n dup1\n 0xf7412baf\n eq\n tag_28\n jumpi\n 0x00\n dup1\n revert\n tag_31:\n dup1\n 0xe6886396\n eq\n tag_22\n jumpi\n dup1\n 0xe8111a12\n eq\n tag_23\n jumpi\n dup1\n 0xf25e55a5\n eq\n tag_24\n jumpi\n 0x00\n dup1\n revert\n tag_30:\n dup1\n 0x9cc7f708\n eq\n tag_16\n jumpi\n dup1\n 0x9e2bf22c\n eq\n tag_17\n jumpi\n dup1\n 0xa28d4c9c\n eq\n tag_18\n jumpi\n dup1\n 0xa7852afa\n eq\n tag_19\n jumpi\n dup1\n 0xb66503cf\n eq\n tag_20\n jumpi\n dup1\n 0xda09d19d\n eq\n tag_21\n jumpi\n 0x00\n dup1\n revert\n tag_29:\n dup1\n 0x50589793\n gt\n tag_32\n jumpi\n dup1\n 0x8dd598fb\n gt\n tag_33\n jumpi\n dup1\n 0x8dd598fb\n eq\n tag_12\n jumpi\n dup1\n 0x92777b29\n eq\n tag_13\n jumpi\n dup1\n 0x9418f939\n eq\n tag_14\n jumpi\n dup1\n 0x99bcc052\n eq\n tag_15\n jumpi\n 0x00\n dup1\n revert\n tag_33:\n dup1\n 0x50589793\n eq\n tag_9\n jumpi\n dup1\n 0x638634ee\n eq\n tag_10\n jumpi\n dup1\n 0x76f4be36\n eq\n tag_11\n jumpi\n 0x00\n dup1\n revert\n tag_32:\n dup1\n 0x0175e23b\n eq\n tag_3\n jumpi\n dup1\n 0x18160ddd\n eq\n tag_4\n jumpi\n dup1\n 0x3e491d47\n eq\n tag_5\n jumpi\n dup1\n 0x46c96aac\n eq\n tag_6\n jumpi\n dup1\n 0x49dcc204\n eq\n tag_7\n jumpi\n dup1\n 0x4d5ce038\n eq\n tag_8\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/ExternalBribe.sol\":2939:3181 function getEpochStart(uint timestamp) public pure returns (uint) {... */\n tag_3:\n tag_34\n tag_35\n calldatasize\n 0x04\n tag_36\n jump\t// in\n tag_35:\n tag_37\n jump\t// in\n tag_34:\n mload(0x40)\n /* \"#utility.yul\":345:370 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":333:335 */\n 0x20\n /* \"#utility.yul\":318:336 */\n add\n /* \"contracts/ExternalBribe.sol\":2939:3181 function getEpochStart(uint timestamp) public pure returns (uint) {... */\n tag_38:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/ExternalBribe.sol\":842:865 uint public totalSupply */\n tag_4:\n tag_34\n sload(0x00)\n dup2\n jump\n /* \"contracts/ExternalBribe.sol\":8042:9814 function earned(address token, uint tokenId) public view returns (uint) {... */\n tag_5:\n tag_34\n tag_44\n calldatasize\n 0x04\n tag_45\n jump\t// in\n tag_44:\n tag_46\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":486:516 address public immutable voter */\n tag_6:\n tag_48\n immutable(\"0x7880aec93413f117ef14bd4e6d130875ab2c7d7d55a064fac3c2f7bd51516380\")\n dup2\n jump\n tag_48:\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":1140:1172 */\n swap1\n swap2\n and\n /* \"#utility.yul\":1122:1173 */\n dup2\n mstore\n /* \"#utility.yul\":1110:1112 */\n 0x20\n /* \"#utility.yul\":1095:1113 */\n add\n /* \"contracts/ExternalBribe.sol\":486:516 address public immutable voter */\n tag_38\n /* \"#utility.yul\":976:1179 */\n jump\n /* \"contracts/ExternalBribe.sol\":1514:1579 mapping (uint => mapping (uint => Checkpoint)) public checkpoints */\n tag_7:\n tag_52\n tag_53\n calldatasize\n 0x04\n tag_54\n jump\t// in\n tag_53:\n 0x07\n 0x20\n swap1\n dup2\n mstore\n 0x00\n swap3\n dup4\n mstore\n 0x40\n dup1\n dup5\n keccak256\n swap1\n swap2\n mstore\n swap1\n dup3\n mstore\n swap1\n keccak256\n dup1\n sload\n 0x01\n swap1\n swap2\n add\n sload\n dup3\n jump\n tag_52:\n 0x40\n dup1\n mload\n /* \"#utility.yul\":1611:1636 */\n swap3\n dup4\n mstore\n /* \"#utility.yul\":1667:1669 */\n 0x20\n /* \"#utility.yul\":1652:1670 */\n dup4\n add\n /* \"#utility.yul\":1645:1679 */\n swap2\n swap1\n swap2\n mstore\n /* \"#utility.yul\":1584:1602 */\n add\n /* \"contracts/ExternalBribe.sol\":1514:1579 mapping (uint => mapping (uint => Checkpoint)) public checkpoints */\n tag_38\n /* \"#utility.yul\":1437:1685 */\n jump\n /* \"contracts/ExternalBribe.sol\":1134:1174 mapping(address => bool) public isReward */\n tag_8:\n tag_58\n tag_59\n calldatasize\n 0x04\n tag_60\n jump\t// in\n tag_59:\n mstore(0x20, 0x06)\n 0x00\n swap1\n dup2\n mstore\n 0x40\n swap1\n keccak256\n sload\n 0xff\n and\n dup2\n jump\n tag_58:\n mload(0x40)\n /* \"#utility.yul\":2107:2121 */\n swap1\n iszero\n /* \"#utility.yul\":2100:2122 */\n iszero\n /* \"#utility.yul\":2082:2123 */\n dup2\n mstore\n /* \"#utility.yul\":2070:2072 */\n 0x20\n /* \"#utility.yul\":2055:2073 */\n add\n /* \"contracts/ExternalBribe.sol\":1134:1174 mapping(address => bool) public isReward */\n tag_38\n /* \"#utility.yul\":1942:2129 */\n jump\n /* \"contracts/ExternalBribe.sol\":1644:1688 mapping (uint => uint) public numCheckpoints */\n tag_9:\n tag_34\n tag_65\n calldatasize\n 0x04\n tag_36\n jump\t// in\n tag_65:\n mstore(0x20, 0x08)\n 0x00\n swap1\n dup2\n mstore\n 0x40\n swap1\n keccak256\n sload\n dup2\n jump\n /* \"contracts/ExternalBribe.sol\":6802:6948 function lastTimeRewardApplicable(address token) public view returns (uint) {... */\n tag_10:\n tag_34\n tag_69\n calldatasize\n 0x04\n tag_60\n jump\t// in\n tag_69:\n tag_70\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":4594:5598 function getPriorSupplyIndex(uint timestamp) public view returns (uint) {... */\n tag_11:\n tag_34\n tag_73\n calldatasize\n 0x04\n tag_36\n jump\t// in\n tag_73:\n tag_74\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":590:618 address public immutable _ve */\n tag_12:\n tag_48\n immutable(\"0x789bcdf275fa270780a52ae3b79bb1ce0fda7e0aaad87b57b74bb99ac290714a\")\n dup2\n jump\n /* \"contracts/ExternalBribe.sol\":915:984 mapping(address => mapping(uint => uint)) public tokenRewardsPerEpoch */\n tag_13:\n tag_34\n tag_80\n calldatasize\n 0x04\n tag_45\n jump\t// in\n tag_80:\n 0x02\n 0x20\n swap1\n dup2\n mstore\n 0x00\n swap3\n dup4\n mstore\n 0x40\n dup1\n dup5\n keccak256\n swap1\n swap2\n mstore\n swap1\n dup3\n mstore\n swap1\n keccak256\n sload\n dup2\n jump\n /* \"contracts/ExternalBribe.sol\":11679:11981 function swapOutRewardToken(uint i, address oldToken, address newToken) external {... */\n tag_14:\n tag_83\n tag_84\n calldatasize\n 0x04\n tag_85\n jump\t// in\n tag_84:\n tag_86\n jump\t// in\n tag_83:\n stop\n /* \"contracts/ExternalBribe.sol\":10576:10763 function left(address token) external view returns (uint) {... */\n tag_15:\n tag_34\n tag_88\n calldatasize\n 0x04\n tag_60\n jump\t// in\n tag_88:\n tag_89\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":871:909 mapping(uint => uint) public balanceOf */\n tag_16:\n tag_34\n tag_92\n calldatasize\n 0x04\n tag_36\n jump\t// in\n tag_92:\n mstore(0x20, 0x01)\n 0x00\n swap1\n dup2\n mstore\n 0x40\n swap1\n keccak256\n sload\n dup2\n jump\n /* \"contracts/ExternalBribe.sol\":10257:10570 function _withdraw(uint amount, uint tokenId) external {... */\n tag_17:\n tag_83\n tag_96\n calldatasize\n 0x04\n tag_54\n jump\t// in\n tag_96:\n tag_97\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":3565:4588 function getPriorBalanceIndex(uint tokenId, uint timestamp) public view returns (uint) {... */\n tag_18:\n tag_34\n tag_99\n calldatasize\n 0x04\n tag_54\n jump\t// in\n tag_99:\n tag_100\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":7540:8036 function getRewardForOwner(uint tokenId, address[] memory tokens) external lock {... */\n tag_19:\n tag_83\n tag_103\n calldatasize\n 0x04\n tag_104\n jump\t// in\n tag_103:\n tag_105\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":10769:11673 function notifyRewardAmount(address token, uint amount) external lock {... */\n tag_20:\n tag_83\n tag_107\n calldatasize\n 0x04\n tag_45\n jump\t// in\n tag_107:\n tag_108\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":990:1034 mapping(address => uint) public periodFinish */\n tag_21:\n tag_34\n tag_110\n calldatasize\n 0x04\n tag_60\n jump\t// in\n tag_110:\n mstore(0x20, 0x03)\n 0x00\n swap1\n dup2\n mstore\n 0x40\n swap1\n keccak256\n sload\n dup2\n jump\n /* \"contracts/ExternalBribe.sol\":6607:6703 function rewardsListLength() external view returns (uint) {... */\n tag_22:\n /* \"contracts/ExternalBribe.sol\":6682:6689 rewards */\n 0x05\n /* \"contracts/ExternalBribe.sol\":6682:6696 rewards.length */\n sload\n /* \"contracts/ExternalBribe.sol\":6607:6703 function rewardsListLength() external view returns (uint) {... */\n jump(tag_34)\n /* \"contracts/ExternalBribe.sol\":1874:1906 uint public supplyNumCheckpoints */\n tag_23:\n tag_34\n sload(0x0a)\n dup2\n jump\n /* \"contracts/ExternalBribe.sol\":1040:1097 mapping(address => mapping(uint => uint)) public lastEarn */\n tag_24:\n tag_34\n tag_120\n calldatasize\n 0x04\n tag_45\n jump\t// in\n tag_120:\n 0x04\n 0x20\n swap1\n dup2\n mstore\n 0x00\n swap3\n dup4\n mstore\n 0x40\n dup1\n dup5\n keccak256\n swap1\n swap2\n mstore\n swap1\n dup3\n mstore\n swap1\n keccak256\n sload\n dup2\n jump\n /* \"contracts/ExternalBribe.sol\":1104:1128 address[] public rewards */\n tag_25:\n tag_48\n tag_124\n calldatasize\n 0x04\n tag_36\n jump\t// in\n tag_124:\n tag_125\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":9940:10251 function _deposit(uint amount, uint tokenId) external {... */\n tag_26:\n tag_83\n tag_128\n calldatasize\n 0x04\n tag_54\n jump\t// in\n tag_128:\n tag_129\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":7010:7482 function getReward(uint tokenId, address[] memory tokens) external lock {... */\n tag_27:\n tag_83\n tag_131\n calldatasize\n 0x04\n tag_104\n jump\t// in\n tag_131:\n tag_132\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":1767:1826 mapping (uint => SupplyCheckpoint) public supplyCheckpoints */\n tag_28:\n tag_52\n tag_134\n calldatasize\n 0x04\n tag_36\n jump\t// in\n tag_134:\n mstore(0x20, 0x09)\n 0x00\n swap1\n dup2\n mstore\n 0x40\n swap1\n keccak256\n dup1\n sload\n 0x01\n swap1\n swap2\n add\n sload\n dup3\n jump\n /* \"contracts/ExternalBribe.sol\":2939:3181 function getEpochStart(uint timestamp) public pure returns (uint) {... */\n tag_37:\n /* \"contracts/ExternalBribe.sol\":2999:3003 uint */\n 0x00\n /* \"contracts/ExternalBribe.sol\":3015:3030 uint bribeStart */\n dup1\n /* \"contracts/ExternalBribe.sol\":3033:3055 _bribeStart(timestamp) */\n tag_138\n /* \"contracts/ExternalBribe.sol\":3045:3054 timestamp */\n dup4\n /* \"contracts/ExternalBribe.sol\":3033:3044 _bribeStart */\n tag_139\n /* \"contracts/ExternalBribe.sol\":3033:3055 _bribeStart(timestamp) */\n jump\t// in\n tag_138:\n /* \"contracts/ExternalBribe.sol\":3015:3055 uint bribeStart = _bribeStart(timestamp) */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":3065:3078 uint bribeEnd */\n 0x00\n /* \"contracts/ExternalBribe.sol\":3081:3102 bribeStart + DURATION */\n tag_140\n /* \"contracts/ExternalBribe.sol\":681:687 7 days */\n 0x093a80\n /* \"contracts/ExternalBribe.sol\":3015:3055 uint bribeStart = _bribeStart(timestamp) */\n dup4\n /* \"contracts/ExternalBribe.sol\":3081:3102 bribeStart + DURATION */\n tag_141\n jump\t// in\n tag_140:\n /* \"contracts/ExternalBribe.sol\":3065:3102 uint bribeEnd = bribeStart + DURATION */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":3131:3139 bribeEnd */\n dup1\n /* \"contracts/ExternalBribe.sol\":3119:3128 timestamp */\n dup5\n /* \"contracts/ExternalBribe.sol\":3119:3139 timestamp < bribeEnd */\n lt\n /* \"contracts/ExternalBribe.sol\":3119:3174 timestamp < bribeEnd ? bribeStart : bribeStart + 7 days */\n tag_142\n jumpi\n /* \"contracts/ExternalBribe.sol\":3155:3174 bribeStart + 7 days */\n tag_143\n /* \"contracts/ExternalBribe.sol\":3155:3165 bribeStart */\n dup3\n /* \"contracts/ExternalBribe.sol\":3168:3174 7 days */\n 0x093a80\n /* \"contracts/ExternalBribe.sol\":3155:3174 bribeStart + 7 days */\n tag_141\n jump\t// in\n tag_143:\n /* \"contracts/ExternalBribe.sol\":3119:3174 timestamp < bribeEnd ? bribeStart : bribeStart + 7 days */\n jump(tag_144)\n tag_142:\n /* \"contracts/ExternalBribe.sol\":3142:3152 bribeStart */\n dup2\n /* \"contracts/ExternalBribe.sol\":3119:3174 timestamp < bribeEnd ? bribeStart : bribeStart + 7 days */\n tag_144:\n /* \"contracts/ExternalBribe.sol\":3112:3174 return timestamp < bribeEnd ? bribeStart : bribeStart + 7 days */\n swap5\n /* \"contracts/ExternalBribe.sol\":2939:3181 function getEpochStart(uint timestamp) public pure returns (uint) {... */\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":8042:9814 function earned(address token, uint tokenId) public view returns (uint) {... */\n tag_46:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":8147:8162 lastEarn[token] */\n dup3\n and\n /* \"contracts/ExternalBribe.sol\":8108:8112 uint */\n 0x00\n /* \"contracts/ExternalBribe.sol\":8147:8162 lastEarn[token] */\n swap1\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":8147:8155 lastEarn */\n 0x04\n /* \"contracts/ExternalBribe.sol\":8147:8162 lastEarn[token] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":8147:8171 lastEarn[token][tokenId] */\n dup5\n dup5\n mstore\n dup3\n mstore\n dup1\n dup4\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":8185:8199 numCheckpoints */\n 0x08\n /* \"contracts/ExternalBribe.sol\":8185:8208 numCheckpoints[tokenId] */\n swap1\n swap3\n mstore\n dup3\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":8185:8213 numCheckpoints[tokenId] == 0 */\n dup3\n sub\n /* \"contracts/ExternalBribe.sol\":8181:8248 if (numCheckpoints[tokenId] == 0) {... */\n tag_146\n jumpi\n /* \"contracts/ExternalBribe.sol\":8236:8237 0 */\n 0x00\n /* \"contracts/ExternalBribe.sol\":8229:8237 return 0 */\n swap2\n pop\n pop\n jump(tag_145)\n /* \"contracts/ExternalBribe.sol\":8181:8248 if (numCheckpoints[tokenId] == 0) {... */\n tag_146:\n /* \"contracts/ExternalBribe.sol\":8258:8274 uint _startIndex */\n 0x00\n /* \"contracts/ExternalBribe.sol\":8277:8323 getPriorBalanceIndex(tokenId, _startTimestamp) */\n tag_147\n /* \"contracts/ExternalBribe.sol\":8298:8305 tokenId */\n dup5\n /* \"contracts/ExternalBribe.sol\":8307:8322 _startTimestamp */\n dup4\n /* \"contracts/ExternalBribe.sol\":8277:8297 getPriorBalanceIndex */\n tag_100\n /* \"contracts/ExternalBribe.sol\":8277:8323 getPriorBalanceIndex(tokenId, _startTimestamp) */\n jump\t// in\n tag_147:\n /* \"contracts/ExternalBribe.sol\":8333:8347 uint _endIndex */\n 0x00\n /* \"contracts/ExternalBribe.sol\":8350:8373 numCheckpoints[tokenId] */\n dup6\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":8350:8364 numCheckpoints */\n 0x08\n /* \"contracts/ExternalBribe.sol\":8350:8373 numCheckpoints[tokenId] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":8258:8323 uint _startIndex = getPriorBalanceIndex(tokenId, _startTimestamp) */\n swap2\n swap3\n pop\n /* \"contracts/ExternalBribe.sol\":8333:8347 uint _endIndex */\n swap1\n /* \"contracts/ExternalBribe.sol\":8350:8375 numCheckpoints[tokenId]-1 */\n tag_148\n swap1\n /* \"contracts/ExternalBribe.sol\":8374:8375 1 */\n 0x01\n swap1\n /* \"contracts/ExternalBribe.sol\":8350:8375 numCheckpoints[tokenId]-1 */\n tag_149\n jump\t// in\n tag_148:\n /* \"contracts/ExternalBribe.sol\":8333:8375 uint _endIndex = numCheckpoints[tokenId]-1 */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":8386:8397 uint reward */\n 0x00\n /* \"contracts/ExternalBribe.sol\":8469:8498 Checkpoint memory prevRewards */\n tag_150\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x00\n dup2\n mstore\n 0x20\n add\n 0x00\n dup2\n mstore\n pop\n swap1\n jump\n tag_150:\n /* \"contracts/ExternalBribe.sol\":8572:8600 _bribeStart(_startTimestamp) */\n tag_152\n /* \"contracts/ExternalBribe.sol\":8584:8599 _startTimestamp */\n dup6\n /* \"contracts/ExternalBribe.sol\":8572:8583 _bribeStart */\n tag_139\n /* \"contracts/ExternalBribe.sol\":8572:8600 _bribeStart(_startTimestamp) */\n jump\t// in\n tag_152:\n /* \"contracts/ExternalBribe.sol\":8548:8600 prevRewards.timestamp = _bribeStart(_startTimestamp) */\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":8629:8630 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":8645:8658 _endIndex > 0 */\n dup4\n iszero\n /* \"contracts/ExternalBribe.sol\":8641:9402 if (_endIndex > 0) {... */\n tag_153\n jumpi\n /* \"contracts/ExternalBribe.sol\":8688:8699 _startIndex */\n dup5\n /* \"contracts/ExternalBribe.sol\":8674:9392 for (uint i = _startIndex; i <= _endIndex - 1; i++) {... */\n tag_154:\n /* \"contracts/ExternalBribe.sol\":8706:8719 _endIndex - 1 */\n tag_157\n /* \"contracts/ExternalBribe.sol\":8718:8719 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":8706:8715 _endIndex */\n dup7\n /* \"contracts/ExternalBribe.sol\":8706:8719 _endIndex - 1 */\n tag_149\n jump\t// in\n tag_157:\n /* \"contracts/ExternalBribe.sol\":8701:8702 i */\n dup2\n /* \"contracts/ExternalBribe.sol\":8701:8719 i <= _endIndex - 1 */\n gt\n /* \"contracts/ExternalBribe.sol\":8674:9392 for (uint i = _startIndex; i <= _endIndex - 1; i++) {... */\n tag_155\n jumpi\n /* \"contracts/ExternalBribe.sol\":8744:8765 Checkpoint memory cp0 */\n 0x00\n /* \"contracts/ExternalBribe.sol\":8768:8788 checkpoints[tokenId] */\n dup10\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":8768:8779 checkpoints */\n 0x07\n /* \"contracts/ExternalBribe.sol\":8768:8788 checkpoints[tokenId] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":8768:8791 checkpoints[tokenId][i] */\n dup5\n dup5\n mstore\n dup3\n mstore\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":8744:8791 Checkpoint memory cp0 = checkpoints[tokenId][i] */\n dup2\n mload\n dup1\n dup4\n add\n swap1\n swap3\n mstore\n dup1\n sload\n dup1\n dup4\n mstore\n 0x01\n swap1\n swap2\n add\n sload\n swap3\n dup3\n add\n swap3\n swap1\n swap3\n mstore\n swap2\n /* \"contracts/ExternalBribe.sol\":8744:8765 Checkpoint memory cp0 */\n swap1\n /* \"contracts/ExternalBribe.sol\":8832:8858 _bribeStart(cp0.timestamp) */\n tag_158\n swap1\n /* \"contracts/ExternalBribe.sol\":8832:8843 _bribeStart */\n tag_139\n /* \"contracts/ExternalBribe.sol\":8832:8858 _bribeStart(cp0.timestamp) */\n jump\t// in\n tag_158:\n /* \"contracts/ExternalBribe.sol\":9006:9027 prevRewards.timestamp */\n dup6\n mload\n /* \"contracts/ExternalBribe.sol\":8809:8858 uint _nextEpochStart = _bribeStart(cp0.timestamp) */\n swap1\n swap2\n pop\n /* \"contracts/ExternalBribe.sol\":8988:9027 _nextEpochStart > prevRewards.timestamp */\n dup2\n gt\n /* \"contracts/ExternalBribe.sol\":8984:9099 if (_nextEpochStart > prevRewards.timestamp) {... */\n iszero\n tag_159\n jumpi\n /* \"contracts/ExternalBribe.sol\":9059:9080 prevRewards.balanceOf */\n 0x20\n dup6\n add\n mload\n /* \"contracts/ExternalBribe.sol\":9049:9080 reward += prevRewards.balanceOf */\n tag_160\n swap1\n dup8\n tag_141\n jump\t// in\n tag_160:\n swap6\n pop\n /* \"contracts/ExternalBribe.sol\":8984:9099 if (_nextEpochStart > prevRewards.timestamp) {... */\n tag_159:\n /* \"contracts/ExternalBribe.sol\":9117:9156 prevRewards.timestamp = _nextEpochStart */\n dup1\n dup6\n mstore\n /* \"contracts/ExternalBribe.sol\":9188:9205 supplyCheckpoints */\n 0x09\n /* \"contracts/ExternalBribe.sol\":9117:9138 prevRewards.timestamp */\n 0x00\n /* \"contracts/ExternalBribe.sol\":9206:9253 getPriorSupplyIndex(_nextEpochStart + DURATION) */\n tag_161\n /* \"contracts/ExternalBribe.sol\":9226:9252 _nextEpochStart + DURATION */\n tag_73\n /* \"contracts/ExternalBribe.sol\":681:687 7 days */\n 0x093a80\n /* \"contracts/ExternalBribe.sol\":9141:9156 _nextEpochStart */\n dup6\n /* \"contracts/ExternalBribe.sol\":9226:9252 _nextEpochStart + DURATION */\n tag_141\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":9206:9253 getPriorSupplyIndex(_nextEpochStart + DURATION) */\n tag_161:\n /* \"contracts/ExternalBribe.sol\":9188:9254 supplyCheckpoints[getPriorSupplyIndex(_nextEpochStart + DURATION)] */\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":9188:9261 supplyCheckpoints[getPriorSupplyIndex(_nextEpochStart + DURATION)].supply */\n 0x01\n add\n sload\n /* \"contracts/ExternalBribe.sol\":9174:9261 _prevSupply = supplyCheckpoints[getPriorSupplyIndex(_nextEpochStart + DURATION)].supply */\n swap4\n pop\n /* \"contracts/ExternalBribe.sol\":9366:9377 _prevSupply */\n dup4\n /* \"contracts/ExternalBribe.sol\":9319:9339 tokenRewardsPerEpoch */\n 0x02\n /* \"contracts/ExternalBribe.sol\":9319:9346 tokenRewardsPerEpoch[token] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":9340:9345 token */\n dup15\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":9319:9346 tokenRewardsPerEpoch[token] */\n and\n sub(shl(0xa0, 0x01), 0x01)\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":9319:9363 tokenRewardsPerEpoch[token][_nextEpochStart] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":9347:9362 _nextEpochStart */\n dup4\n /* \"contracts/ExternalBribe.sol\":9319:9363 tokenRewardsPerEpoch[token][_nextEpochStart] */\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":9303:9306 cp0 */\n dup4\n /* \"contracts/ExternalBribe.sol\":9303:9316 cp0.balanceOf */\n 0x20\n add\n mload\n /* \"contracts/ExternalBribe.sol\":9303:9363 cp0.balanceOf * tokenRewardsPerEpoch[token][_nextEpochStart] */\n tag_163\n swap2\n swap1\n tag_164\n jump\t// in\n tag_163:\n /* \"contracts/ExternalBribe.sol\":9303:9377 cp0.balanceOf * tokenRewardsPerEpoch[token][_nextEpochStart] / _prevSupply */\n tag_165\n swap2\n swap1\n tag_166\n jump\t// in\n tag_165:\n /* \"contracts/ExternalBribe.sol\":9279:9300 prevRewards.balanceOf */\n 0x20\n dup7\n add\n /* \"contracts/ExternalBribe.sol\":9279:9377 prevRewards.balanceOf = cp0.balanceOf * tokenRewardsPerEpoch[token][_nextEpochStart] / _prevSupply */\n mstore\n pop\n /* \"contracts/ExternalBribe.sol\":8721:8724 i++ */\n dup2\n swap1\n pop\n tag_167\n dup2\n tag_168\n jump\t// in\n tag_167:\n swap2\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":8674:9392 for (uint i = _startIndex; i <= _endIndex - 1; i++) {... */\n jump(tag_154)\n tag_155:\n pop\n /* \"contracts/ExternalBribe.sol\":8641:9402 if (_endIndex > 0) {... */\n tag_153:\n /* \"contracts/ExternalBribe.sol\":9412:9432 Checkpoint memory cp */\n 0x00\n /* \"contracts/ExternalBribe.sol\":9435:9455 checkpoints[tokenId] */\n dup9\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":9435:9446 checkpoints */\n 0x07\n /* \"contracts/ExternalBribe.sol\":9435:9455 checkpoints[tokenId] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":9435:9466 checkpoints[tokenId][_endIndex] */\n dup8\n dup5\n mstore\n dup3\n mstore\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":9412:9466 Checkpoint memory cp = checkpoints[tokenId][_endIndex] */\n dup2\n mload\n dup1\n dup4\n add\n swap1\n swap3\n mstore\n dup1\n sload\n dup1\n dup4\n mstore\n 0x01\n swap1\n swap2\n add\n sload\n swap3\n dup3\n add\n swap3\n swap1\n swap3\n mstore\n swap2\n /* \"contracts/ExternalBribe.sol\":9412:9432 Checkpoint memory cp */\n swap1\n /* \"contracts/ExternalBribe.sol\":9499:9524 _bribeStart(cp.timestamp) */\n tag_169\n swap1\n /* \"contracts/ExternalBribe.sol\":9499:9510 _bribeStart */\n tag_139\n /* \"contracts/ExternalBribe.sol\":9499:9524 _bribeStart(cp.timestamp) */\n jump\t// in\n tag_169:\n /* \"contracts/ExternalBribe.sol\":9476:9524 uint _lastEpochStart = _bribeStart(cp.timestamp) */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":9534:9552 uint _lastEpochEnd */\n 0x00\n /* \"contracts/ExternalBribe.sol\":9555:9581 _lastEpochStart + DURATION */\n tag_170\n /* \"contracts/ExternalBribe.sol\":681:687 7 days */\n 0x093a80\n /* \"contracts/ExternalBribe.sol\":9476:9524 uint _lastEpochStart = _bribeStart(cp.timestamp) */\n dup4\n /* \"contracts/ExternalBribe.sol\":9555:9581 _lastEpochStart + DURATION */\n tag_141\n jump\t// in\n tag_170:\n /* \"contracts/ExternalBribe.sol\":9534:9581 uint _lastEpochEnd = _lastEpochStart + DURATION */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":9614:9627 _lastEpochEnd */\n dup1\n /* \"contracts/ExternalBribe.sol\":9596:9611 block.timestamp */\n timestamp\n /* \"contracts/ExternalBribe.sol\":9596:9627 block.timestamp > _lastEpochEnd */\n gt\n /* \"contracts/ExternalBribe.sol\":9592:9784 if (block.timestamp > _lastEpochEnd) {... */\n iszero\n tag_171\n jumpi\n /* \"contracts/ExternalBribe.sol\":9713:9730 supplyCheckpoints */\n 0x09\n /* \"contracts/ExternalBribe.sol\":9713:9766 supplyCheckpoints[getPriorSupplyIndex(_lastEpochEnd)] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":9731:9765 getPriorSupplyIndex(_lastEpochEnd) */\n tag_172\n /* \"contracts/ExternalBribe.sol\":9751:9764 _lastEpochEnd */\n dup4\n /* \"contracts/ExternalBribe.sol\":9731:9750 getPriorSupplyIndex */\n tag_74\n /* \"contracts/ExternalBribe.sol\":9731:9765 getPriorSupplyIndex(_lastEpochEnd) */\n jump\t// in\n tag_172:\n /* \"contracts/ExternalBribe.sol\":9713:9766 supplyCheckpoints[getPriorSupplyIndex(_lastEpochEnd)] */\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":9713:9773 supplyCheckpoints[getPriorSupplyIndex(_lastEpochEnd)].supply */\n 0x01\n add\n sload\n /* \"contracts/ExternalBribe.sol\":9666:9686 tokenRewardsPerEpoch */\n 0x02\n /* \"contracts/ExternalBribe.sol\":9666:9693 tokenRewardsPerEpoch[token] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":9687:9692 token */\n dup15\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":9666:9693 tokenRewardsPerEpoch[token] */\n and\n sub(shl(0xa0, 0x01), 0x01)\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":9666:9710 tokenRewardsPerEpoch[token][_lastEpochStart] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":9694:9709 _lastEpochStart */\n dup5\n /* \"contracts/ExternalBribe.sol\":9666:9710 tokenRewardsPerEpoch[token][_lastEpochStart] */\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":9651:9653 cp */\n dup5\n /* \"contracts/ExternalBribe.sol\":9651:9663 cp.balanceOf */\n 0x20\n add\n mload\n /* \"contracts/ExternalBribe.sol\":9651:9710 cp.balanceOf * tokenRewardsPerEpoch[token][_lastEpochStart] */\n tag_173\n swap2\n swap1\n tag_164\n jump\t// in\n tag_173:\n /* \"contracts/ExternalBribe.sol\":9651:9773 cp.balanceOf * tokenRewardsPerEpoch[token][_lastEpochStart] / supplyCheckpoints[getPriorSupplyIndex(_lastEpochEnd)].supply */\n tag_174\n swap2\n swap1\n tag_166\n jump\t// in\n tag_174:\n /* \"contracts/ExternalBribe.sol\":9641:9773 reward += cp.balanceOf * tokenRewardsPerEpoch[token][_lastEpochStart] / supplyCheckpoints[getPriorSupplyIndex(_lastEpochEnd)].supply */\n tag_175\n swap1\n dup8\n tag_141\n jump\t// in\n tag_175:\n swap6\n pop\n /* \"contracts/ExternalBribe.sol\":9592:9784 if (block.timestamp > _lastEpochEnd) {... */\n tag_171:\n pop\n /* \"contracts/ExternalBribe.sol\":9801:9807 reward */\n swap4\n swap8\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":8042:9814 function earned(address token, uint tokenId) public view returns (uint) {... */\n tag_145:\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":6802:6948 function lastTimeRewardApplicable(address token) public view returns (uint) {... */\n tag_70:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":6921:6940 periodFinish[token] */\n dup2\n and\n /* \"contracts/ExternalBribe.sol\":6872:6876 uint */\n 0x00\n /* \"contracts/ExternalBribe.sol\":6921:6940 periodFinish[token] */\n swap1\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":6921:6933 periodFinish */\n 0x03\n /* \"contracts/ExternalBribe.sol\":6921:6940 periodFinish[token] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":6895:6941 Math.min(block.timestamp, periodFinish[token]) */\n tag_145\n swap1\n /* \"contracts/ExternalBribe.sol\":6904:6919 block.timestamp */\n timestamp\n swap1\n /* \"contracts/ExternalBribe.sol\":6895:6903 Math.min */\n tag_178\n /* \"contracts/ExternalBribe.sol\":6895:6941 Math.min(block.timestamp, periodFinish[token]) */\n jump\t// in\n /* \"contracts/ExternalBribe.sol\":4594:5598 function getPriorSupplyIndex(uint timestamp) public view returns (uint) {... */\n tag_74:\n /* \"contracts/ExternalBribe.sol\":4696:4716 supplyNumCheckpoints */\n sload(0x0a)\n /* \"contracts/ExternalBribe.sol\":4660:4664 uint */\n 0x00\n swap1\n /* \"contracts/ExternalBribe.sol\":4730:4747 nCheckpoints == 0 */\n dup1\n dup3\n sub\n /* \"contracts/ExternalBribe.sol\":4726:4782 if (nCheckpoints == 0) {... */\n tag_180\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":4770:4771 0 */\n 0x00\n swap3\n /* \"contracts/ExternalBribe.sol\":4594:5598 function getPriorSupplyIndex(uint timestamp) public view returns (uint) {... */\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":4726:4782 if (nCheckpoints == 0) {... */\n tag_180:\n /* \"contracts/ExternalBribe.sol\":4888:4897 timestamp */\n dup3\n /* \"contracts/ExternalBribe.sol\":4839:4856 supplyCheckpoints */\n 0x09\n /* \"contracts/ExternalBribe.sol\":4839:4874 supplyCheckpoints[nCheckpoints - 1] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":4857:4873 nCheckpoints - 1 */\n tag_181\n /* \"contracts/ExternalBribe.sol\":4872:4873 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":4857:4869 nCheckpoints */\n dup6\n /* \"contracts/ExternalBribe.sol\":4857:4873 nCheckpoints - 1 */\n tag_149\n jump\t// in\n tag_181:\n /* \"contracts/ExternalBribe.sol\":4839:4874 supplyCheckpoints[nCheckpoints - 1] */\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":4839:4884 supplyCheckpoints[nCheckpoints - 1].timestamp */\n 0x00\n add\n sload\n /* \"contracts/ExternalBribe.sol\":4839:4897 supplyCheckpoints[nCheckpoints - 1].timestamp <= timestamp */\n gt\n /* \"contracts/ExternalBribe.sol\":4835:4949 if (supplyCheckpoints[nCheckpoints - 1].timestamp <= timestamp) {... */\n tag_182\n jumpi\n /* \"contracts/ExternalBribe.sol\":4921:4937 nCheckpoints - 1 */\n tag_183\n /* \"contracts/ExternalBribe.sol\":4936:4937 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":4921:4933 nCheckpoints */\n dup3\n /* \"contracts/ExternalBribe.sol\":4921:4937 nCheckpoints - 1 */\n tag_149\n jump\t// in\n tag_183:\n /* \"contracts/ExternalBribe.sol\":4913:4938 return (nCheckpoints - 1) */\n swap4\n /* \"contracts/ExternalBribe.sol\":4594:5598 function getPriorSupplyIndex(uint timestamp) public view returns (uint) {... */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":4835:4949 if (supplyCheckpoints[nCheckpoints - 1].timestamp <= timestamp) {... */\n tag_182:\n /* \"contracts/ExternalBribe.sol\":5007:5027 supplyCheckpoints[0] */\n 0x00\n dup1\n mstore\n /* \"contracts/ExternalBribe.sol\":5007:5024 supplyCheckpoints */\n 0x09\n /* \"contracts/ExternalBribe.sol\":5007:5027 supplyCheckpoints[0] */\n 0x20\n mstore\n 0xec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b\n /* \"contracts/ExternalBribe.sol\":5007:5037 supplyCheckpoints[0].timestamp */\n sload\n /* \"contracts/ExternalBribe.sol\":5007:5049 supplyCheckpoints[0].timestamp > timestamp */\n dup4\n lt\n /* \"contracts/ExternalBribe.sol\":5003:5084 if (supplyCheckpoints[0].timestamp > timestamp) {... */\n iszero\n tag_184\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":5072:5073 0 */\n 0x00\n swap3\n /* \"contracts/ExternalBribe.sol\":4594:5598 function getPriorSupplyIndex(uint timestamp) public view returns (uint) {... */\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":5003:5084 if (supplyCheckpoints[0].timestamp > timestamp) {... */\n tag_184:\n /* \"contracts/ExternalBribe.sol\":5094:5104 uint lower */\n 0x00\n dup1\n /* \"contracts/ExternalBribe.sol\":5131:5147 nCheckpoints - 1 */\n tag_185\n /* \"contracts/ExternalBribe.sol\":5146:5147 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":5131:5143 nCheckpoints */\n dup5\n /* \"contracts/ExternalBribe.sol\":5131:5147 nCheckpoints - 1 */\n tag_149\n jump\t// in\n tag_185:\n /* \"contracts/ExternalBribe.sol\":5118:5147 uint upper = nCheckpoints - 1 */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":5157:5570 while (upper > lower) {... */\n tag_186:\n /* \"contracts/ExternalBribe.sol\":5172:5177 lower */\n dup2\n /* \"contracts/ExternalBribe.sol\":5164:5169 upper */\n dup2\n /* \"contracts/ExternalBribe.sol\":5164:5177 upper > lower */\n gt\n /* \"contracts/ExternalBribe.sol\":5157:5570 while (upper > lower) {... */\n iszero\n tag_187\n jumpi\n /* \"contracts/ExternalBribe.sol\":5193:5204 uint center */\n 0x00\n /* \"contracts/ExternalBribe.sol\":5233:5234 2 */\n 0x02\n /* \"contracts/ExternalBribe.sol\":5216:5229 upper - lower */\n tag_188\n /* \"contracts/ExternalBribe.sol\":5224:5229 lower */\n dup5\n /* \"contracts/ExternalBribe.sol\":5216:5221 upper */\n dup5\n /* \"contracts/ExternalBribe.sol\":5216:5229 upper - lower */\n tag_149\n jump\t// in\n tag_188:\n /* \"contracts/ExternalBribe.sol\":5215:5234 (upper - lower) / 2 */\n tag_189\n swap2\n swap1\n tag_166\n jump\t// in\n tag_189:\n /* \"contracts/ExternalBribe.sol\":5207:5234 upper - (upper - lower) / 2 */\n tag_190\n swap1\n /* \"contracts/ExternalBribe.sol\":5207:5212 upper */\n dup4\n /* \"contracts/ExternalBribe.sol\":5207:5234 upper - (upper - lower) / 2 */\n tag_149\n jump\t// in\n tag_190:\n /* \"contracts/ExternalBribe.sol\":5275:5301 SupplyCheckpoint memory cp */\n 0x00\n /* \"contracts/ExternalBribe.sol\":5304:5329 supplyCheckpoints[center] */\n dup2\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":5304:5321 supplyCheckpoints */\n 0x09\n /* \"contracts/ExternalBribe.sol\":5304:5329 supplyCheckpoints[center] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n swap2\n dup3\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":5275:5329 SupplyCheckpoint memory cp = supplyCheckpoints[center] */\n dup3\n mload\n dup1\n dup5\n add\n swap1\n swap4\n mstore\n dup1\n sload\n dup1\n dup5\n mstore\n 0x01\n swap1\n swap2\n add\n sload\n swap2\n dup4\n add\n swap2\n swap1\n swap2\n mstore\n /* \"contracts/ExternalBribe.sol\":5193:5234 uint center = upper - (upper - lower) / 2 */\n swap2\n swap3\n pop\n /* \"contracts/ExternalBribe.sol\":5275:5329 SupplyCheckpoint memory cp = supplyCheckpoints[center] */\n swap1\n /* \"contracts/ExternalBribe.sol\":5347:5372 cp.timestamp == timestamp */\n dup8\n swap1\n sub\n /* \"contracts/ExternalBribe.sol\":5343:5560 if (cp.timestamp == timestamp) {... */\n tag_191\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":5399:5405 center */\n swap6\n /* \"contracts/ExternalBribe.sol\":4594:5598 function getPriorSupplyIndex(uint timestamp) public view returns (uint) {... */\n swap5\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":5343:5560 if (cp.timestamp == timestamp) {... */\n tag_191:\n /* \"contracts/ExternalBribe.sol\":5430:5442 cp.timestamp */\n dup1\n mload\n /* \"contracts/ExternalBribe.sol\":5430:5454 cp.timestamp < timestamp */\n dup8\n gt\n /* \"contracts/ExternalBribe.sol\":5426:5560 if (cp.timestamp < timestamp) {... */\n iszero\n tag_193\n jumpi\n /* \"contracts/ExternalBribe.sol\":5482:5488 center */\n dup2\n /* \"contracts/ExternalBribe.sol\":5474:5488 lower = center */\n swap4\n pop\n /* \"contracts/ExternalBribe.sol\":5426:5560 if (cp.timestamp < timestamp) {... */\n jump(tag_194)\n tag_193:\n /* \"contracts/ExternalBribe.sol\":5535:5545 center - 1 */\n tag_195\n /* \"contracts/ExternalBribe.sol\":5544:5545 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":5535:5541 center */\n dup4\n /* \"contracts/ExternalBribe.sol\":5535:5545 center - 1 */\n tag_149\n jump\t// in\n tag_195:\n /* \"contracts/ExternalBribe.sol\":5527:5545 upper = center - 1 */\n swap3\n pop\n /* \"contracts/ExternalBribe.sol\":5426:5560 if (cp.timestamp < timestamp) {... */\n tag_194:\n /* \"contracts/ExternalBribe.sol\":5179:5570 {... */\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":5157:5570 while (upper > lower) {... */\n jump(tag_186)\n tag_187:\n pop\n /* \"contracts/ExternalBribe.sol\":5586:5591 lower */\n swap4\n /* \"contracts/ExternalBribe.sol\":4594:5598 function getPriorSupplyIndex(uint timestamp) public view returns (uint) {... */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":11679:11981 function swapOutRewardToken(uint i, address oldToken, address newToken) external {... */\n tag_86:\n /* \"contracts/ExternalBribe.sol\":11806:11809 _ve */\n immutable(\"0x789bcdf275fa270780a52ae3b79bb1ce0fda7e0aaad87b57b74bb99ac290714a\")\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11792:11815 IVotingEscrow(_ve).team */\n and\n 0x85f2aef2\n /* \"contracts/ExternalBribe.sol\":11792:11817 IVotingEscrow(_ve).team() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n gas\n call\n iszero\n dup1\n iszero\n tag_198\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_198:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_199\n swap2\n swap1\n tag_200\n jump\t// in\n tag_199:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11778:11817 msg.sender == IVotingEscrow(_ve).team() */\n and\n /* \"contracts/ExternalBribe.sol\":11778:11788 msg.sender */\n caller\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11778:11817 msg.sender == IVotingEscrow(_ve).team() */\n and\n eq\n /* \"contracts/ExternalBribe.sol\":11770:11831 require(msg.sender == IVotingEscrow(_ve).team(), 'only team') */\n tag_201\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":5344:5346 */\n 0x20\n /* \"contracts/ExternalBribe.sol\":11770:11831 require(msg.sender == IVotingEscrow(_ve).team(), 'only team') */\n 0x04\n dup3\n add\n /* \"#utility.yul\":5326:5347 */\n mstore\n /* \"#utility.yul\":5383:5384 */\n 0x09\n /* \"#utility.yul\":5363:5381 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":5356:5385 */\n mstore\n shl(0xb8, 0x6f6e6c79207465616d)\n /* \"#utility.yul\":5401:5419 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":5394:5433 */\n mstore\n /* \"#utility.yul\":5450:5468 */\n 0x64\n add\n /* \"contracts/ExternalBribe.sol\":11770:11831 require(msg.sender == IVotingEscrow(_ve).team(), 'only team') */\n tag_202:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_201:\n /* \"contracts/ExternalBribe.sol\":11863:11871 oldToken */\n dup2\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11849:11871 rewards[i] == oldToken */\n and\n /* \"contracts/ExternalBribe.sol\":11849:11856 rewards */\n 0x05\n /* \"contracts/ExternalBribe.sol\":11857:11858 i */\n dup5\n /* \"contracts/ExternalBribe.sol\":11849:11859 rewards[i] */\n dup2\n sload\n dup2\n lt\n tag_205\n jumpi\n tag_205\n tag_206\n jump\t// in\n tag_205:\n 0x00\n swap2\n dup3\n mstore\n 0x20\n swap1\n swap2\n keccak256\n add\n sload\n sub(shl(0xa0, 0x01), 0x01)\n and\n /* \"contracts/ExternalBribe.sol\":11849:11871 rewards[i] == oldToken */\n eq\n /* \"contracts/ExternalBribe.sol\":11841:11872 require(rewards[i] == oldToken) */\n tag_208\n jumpi\n 0x00\n dup1\n revert\n tag_208:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11882:11900 isReward[oldToken] */\n dup1\n dup4\n and\n /* \"contracts/ExternalBribe.sol\":11903:11908 false */\n 0x00\n /* \"contracts/ExternalBribe.sol\":11882:11900 isReward[oldToken] */\n swap1\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":11882:11890 isReward */\n 0x06\n /* \"contracts/ExternalBribe.sol\":11882:11900 isReward[oldToken] */\n 0x20\n mstore\n 0x40\n dup1\n dup3\n keccak256\n /* \"contracts/ExternalBribe.sol\":11882:11908 isReward[oldToken] = false */\n dup1\n sload\n not(0xff)\n swap1\n dup2\n and\n swap1\n swap2\n sstore\n /* \"contracts/ExternalBribe.sol\":11918:11936 isReward[newToken] */\n swap3\n dup5\n and\n dup3\n mstore\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":11918:11943 isReward[newToken] = true */\n dup1\n sload\n swap1\n swap2\n and\n /* \"contracts/ExternalBribe.sol\":11882:11908 isReward[oldToken] = false */\n 0x01\n /* \"contracts/ExternalBribe.sol\":11918:11943 isReward[newToken] = true */\n or\n swap1\n sstore\n /* \"contracts/ExternalBribe.sol\":11953:11960 rewards */\n 0x05\n /* \"contracts/ExternalBribe.sol\":11953:11963 rewards[i] */\n dup1\n sload\n /* \"contracts/ExternalBribe.sol\":11927:11935 newToken */\n dup3\n swap2\n /* \"contracts/ExternalBribe.sol\":11953:11960 rewards */\n swap1\n /* \"contracts/ExternalBribe.sol\":11961:11962 i */\n dup6\n swap1\n /* \"contracts/ExternalBribe.sol\":11953:11963 rewards[i] */\n dup2\n lt\n tag_210\n jumpi\n tag_210\n tag_206\n jump\t// in\n tag_210:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n add\n 0x00\n /* \"contracts/ExternalBribe.sol\":11953:11974 rewards[i] = newToken */\n 0x0100\n exp\n dup2\n sload\n dup2\n sub(shl(0xa0, 0x01), 0x01)\n mul\n not\n and\n swap1\n dup4\n sub(shl(0xa0, 0x01), 0x01)\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/ExternalBribe.sol\":11679:11981 function swapOutRewardToken(uint i, address oldToken, address newToken) external {... */\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":10576:10763 function left(address token) external view returns (uint) {... */\n tag_89:\n /* \"contracts/ExternalBribe.sol\":10628:10632 uint */\n 0x00\n /* \"contracts/ExternalBribe.sol\":10644:10663 uint adjustedTstamp */\n dup1\n /* \"contracts/ExternalBribe.sol\":10666:10696 getEpochStart(block.timestamp) */\n tag_213\n /* \"contracts/ExternalBribe.sol\":10680:10695 block.timestamp */\n timestamp\n /* \"contracts/ExternalBribe.sol\":10666:10679 getEpochStart */\n tag_37\n /* \"contracts/ExternalBribe.sol\":10666:10696 getEpochStart(block.timestamp) */\n jump\t// in\n tag_213:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":10713:10740 tokenRewardsPerEpoch[token] */\n swap1\n swap4\n and\n 0x00\n swap1\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":10713:10733 tokenRewardsPerEpoch */\n 0x02\n /* \"contracts/ExternalBribe.sol\":10713:10740 tokenRewardsPerEpoch[token] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":10713:10756 tokenRewardsPerEpoch[token][adjustedTstamp] */\n swap6\n dup4\n mstore\n swap5\n swap1\n mstore\n swap3\n swap1\n swap3\n keccak256\n sload\n swap3\n /* \"contracts/ExternalBribe.sol\":10576:10763 function left(address token) external view returns (uint) {... */\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":10257:10570 function _withdraw(uint amount, uint tokenId) external {... */\n tag_97:\n /* \"contracts/ExternalBribe.sol\":10330:10340 msg.sender */\n caller\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":10344:10349 voter */\n immutable(\"0x7880aec93413f117ef14bd4e6d130875ab2c7d7d55a064fac3c2f7bd51516380\")\n /* \"contracts/ExternalBribe.sol\":10330:10349 msg.sender == voter */\n and\n eq\n /* \"contracts/ExternalBribe.sol\":10322:10350 require(msg.sender == voter) */\n tag_215\n jumpi\n 0x00\n dup1\n revert\n tag_215:\n /* \"contracts/ExternalBribe.sol\":10376:10382 amount */\n dup2\n /* \"contracts/ExternalBribe.sol\":10361:10372 totalSupply */\n 0x00\n dup1\n /* \"contracts/ExternalBribe.sol\":10361:10382 totalSupply -= amount */\n dup3\n dup3\n sload\n tag_216\n swap2\n swap1\n tag_149\n jump\t// in\n tag_216:\n swap1\n swap2\n sstore\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":10392:10410 balanceOf[tokenId] */\n 0x00\n dup2\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":10392:10401 balanceOf */\n 0x01\n /* \"contracts/ExternalBribe.sol\":10392:10410 balanceOf[tokenId] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n /* \"contracts/ExternalBribe.sol\":10392:10420 balanceOf[tokenId] -= amount */\n dup1\n sload\n /* \"contracts/ExternalBribe.sol\":10414:10420 amount */\n dup5\n swap3\n /* \"contracts/ExternalBribe.sol\":10392:10410 balanceOf[tokenId] */\n swap1\n /* \"contracts/ExternalBribe.sol\":10392:10420 balanceOf[tokenId] -= amount */\n tag_217\n swap1\n /* \"contracts/ExternalBribe.sol\":10414:10420 amount */\n dup5\n swap1\n /* \"contracts/ExternalBribe.sol\":10392:10420 balanceOf[tokenId] -= amount */\n tag_149\n jump\t// in\n tag_217:\n swap1\n swap2\n sstore\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":10457:10475 balanceOf[tokenId] */\n 0x00\n dup2\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":10457:10466 balanceOf */\n 0x01\n /* \"contracts/ExternalBribe.sol\":10457:10475 balanceOf[tokenId] */\n 0x20\n mstore\n 0x40\n swap1\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":10431:10476 _writeCheckpoint(tokenId, balanceOf[tokenId]) */\n tag_218\n swap1\n /* \"contracts/ExternalBribe.sol\":10448:10455 tokenId */\n dup3\n swap1\n /* \"contracts/ExternalBribe.sol\":10431:10447 _writeCheckpoint */\n tag_219\n /* \"contracts/ExternalBribe.sol\":10431:10476 _writeCheckpoint(tokenId, balanceOf[tokenId]) */\n jump\t// in\n tag_218:\n /* \"contracts/ExternalBribe.sol\":10486:10510 _writeSupplyCheckpoint() */\n tag_220\n /* \"contracts/ExternalBribe.sol\":10486:10508 _writeSupplyCheckpoint */\n tag_221\n /* \"contracts/ExternalBribe.sol\":10486:10510 _writeSupplyCheckpoint() */\n jump\t// in\n tag_220:\n /* \"contracts/ExternalBribe.sol\":10526:10563 Withdraw(msg.sender, tokenId, amount) */\n 0x40\n dup1\n mload\n /* \"#utility.yul\":1611:1636 */\n dup3\n dup2\n mstore\n /* \"#utility.yul\":1667:1669 */\n 0x20\n /* \"#utility.yul\":1652:1670 */\n dup2\n add\n /* \"#utility.yul\":1645:1679 */\n dup5\n swap1\n mstore\n /* \"contracts/ExternalBribe.sol\":10535:10545 msg.sender */\n caller\n swap2\n /* \"contracts/ExternalBribe.sol\":10526:10563 Withdraw(msg.sender, tokenId, amount) */\n 0xf279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568\n swap2\n /* \"#utility.yul\":1584:1602 */\n add\n /* \"contracts/ExternalBribe.sol\":10526:10563 Withdraw(msg.sender, tokenId, amount) */\n tag_222:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log2\n /* \"contracts/ExternalBribe.sol\":10257:10570 function _withdraw(uint amount, uint tokenId) external {... */\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":3565:4588 function getPriorBalanceIndex(uint tokenId, uint timestamp) public view returns (uint) {... */\n tag_100:\n /* \"contracts/ExternalBribe.sol\":3646:3650 uint */\n 0x00\n /* \"contracts/ExternalBribe.sol\":3682:3705 numCheckpoints[tokenId] */\n dup3\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":3682:3696 numCheckpoints */\n 0x08\n /* \"contracts/ExternalBribe.sol\":3682:3705 numCheckpoints[tokenId] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":3719:3736 nCheckpoints == 0 */\n dup1\n dup3\n sub\n /* \"contracts/ExternalBribe.sol\":3715:3771 if (nCheckpoints == 0) {... */\n tag_224\n jumpi\n /* \"contracts/ExternalBribe.sol\":3759:3760 0 */\n 0x00\n /* \"contracts/ExternalBribe.sol\":3752:3760 return 0 */\n swap2\n pop\n pop\n jump(tag_145)\n /* \"contracts/ExternalBribe.sol\":3715:3771 if (nCheckpoints == 0) {... */\n tag_224:\n /* \"contracts/ExternalBribe.sol\":3827:3847 checkpoints[tokenId] */\n 0x00\n dup5\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":3827:3838 checkpoints */\n 0x07\n /* \"contracts/ExternalBribe.sol\":3827:3847 checkpoints[tokenId] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n /* \"contracts/ExternalBribe.sol\":3879:3888 timestamp */\n dup5\n swap2\n /* \"contracts/ExternalBribe.sol\":3848:3864 nCheckpoints - 1 */\n tag_225\n /* \"contracts/ExternalBribe.sol\":3863:3864 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":3848:3860 nCheckpoints */\n dup6\n /* \"contracts/ExternalBribe.sol\":3848:3864 nCheckpoints - 1 */\n tag_149\n jump\t// in\n tag_225:\n /* \"contracts/ExternalBribe.sol\":3827:3865 checkpoints[tokenId][nCheckpoints - 1] */\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":3827:3875 checkpoints[tokenId][nCheckpoints - 1].timestamp */\n 0x00\n add\n sload\n /* \"contracts/ExternalBribe.sol\":3827:3888 checkpoints[tokenId][nCheckpoints - 1].timestamp <= timestamp */\n gt\n /* \"contracts/ExternalBribe.sol\":3823:3940 if (checkpoints[tokenId][nCheckpoints - 1].timestamp <= timestamp) {... */\n tag_226\n jumpi\n /* \"contracts/ExternalBribe.sol\":3912:3928 nCheckpoints - 1 */\n tag_227\n /* \"contracts/ExternalBribe.sol\":3927:3928 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":3912:3924 nCheckpoints */\n dup3\n /* \"contracts/ExternalBribe.sol\":3912:3928 nCheckpoints - 1 */\n tag_149\n jump\t// in\n tag_227:\n /* \"contracts/ExternalBribe.sol\":3904:3929 return (nCheckpoints - 1) */\n swap2\n pop\n pop\n jump(tag_145)\n /* \"contracts/ExternalBribe.sol\":3823:3940 if (checkpoints[tokenId][nCheckpoints - 1].timestamp <= timestamp) {... */\n tag_226:\n /* \"contracts/ExternalBribe.sol\":3997:4017 checkpoints[tokenId] */\n 0x00\n dup5\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":3997:4008 checkpoints */\n 0x07\n /* \"contracts/ExternalBribe.sol\":3997:4017 checkpoints[tokenId] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":3997:4020 checkpoints[tokenId][0] */\n dup4\n dup1\n mstore\n swap1\n swap2\n mstore\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":3997:4030 checkpoints[tokenId][0].timestamp */\n sload\n /* \"contracts/ExternalBribe.sol\":3997:4042 checkpoints[tokenId][0].timestamp > timestamp */\n dup4\n lt\n /* \"contracts/ExternalBribe.sol\":3993:4077 if (checkpoints[tokenId][0].timestamp > timestamp) {... */\n iszero\n tag_228\n jumpi\n /* \"contracts/ExternalBribe.sol\":4065:4066 0 */\n 0x00\n /* \"contracts/ExternalBribe.sol\":4058:4066 return 0 */\n swap2\n pop\n pop\n jump(tag_145)\n /* \"contracts/ExternalBribe.sol\":3993:4077 if (checkpoints[tokenId][0].timestamp > timestamp) {... */\n tag_228:\n /* \"contracts/ExternalBribe.sol\":4087:4097 uint lower */\n 0x00\n dup1\n /* \"contracts/ExternalBribe.sol\":4124:4140 nCheckpoints - 1 */\n tag_229\n /* \"contracts/ExternalBribe.sol\":4139:4140 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":4124:4136 nCheckpoints */\n dup5\n /* \"contracts/ExternalBribe.sol\":4124:4140 nCheckpoints - 1 */\n tag_149\n jump\t// in\n tag_229:\n /* \"contracts/ExternalBribe.sol\":4111:4140 uint upper = nCheckpoints - 1 */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":4150:4560 while (upper > lower) {... */\n tag_230:\n /* \"contracts/ExternalBribe.sol\":4165:4170 lower */\n dup2\n /* \"contracts/ExternalBribe.sol\":4157:4162 upper */\n dup2\n /* \"contracts/ExternalBribe.sol\":4157:4170 upper > lower */\n gt\n /* \"contracts/ExternalBribe.sol\":4150:4560 while (upper > lower) {... */\n iszero\n tag_231\n jumpi\n /* \"contracts/ExternalBribe.sol\":4186:4197 uint center */\n 0x00\n /* \"contracts/ExternalBribe.sol\":4226:4227 2 */\n 0x02\n /* \"contracts/ExternalBribe.sol\":4209:4222 upper - lower */\n tag_232\n /* \"contracts/ExternalBribe.sol\":4217:4222 lower */\n dup5\n /* \"contracts/ExternalBribe.sol\":4209:4214 upper */\n dup5\n /* \"contracts/ExternalBribe.sol\":4209:4222 upper - lower */\n tag_149\n jump\t// in\n tag_232:\n /* \"contracts/ExternalBribe.sol\":4208:4227 (upper - lower) / 2 */\n tag_233\n swap2\n swap1\n tag_166\n jump\t// in\n tag_233:\n /* \"contracts/ExternalBribe.sol\":4200:4227 upper - (upper - lower) / 2 */\n tag_234\n swap1\n /* \"contracts/ExternalBribe.sol\":4200:4205 upper */\n dup4\n /* \"contracts/ExternalBribe.sol\":4200:4227 upper - (upper - lower) / 2 */\n tag_149\n jump\t// in\n tag_234:\n /* \"contracts/ExternalBribe.sol\":4268:4288 Checkpoint memory cp */\n 0x00\n /* \"contracts/ExternalBribe.sol\":4291:4311 checkpoints[tokenId] */\n dup9\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":4291:4302 checkpoints */\n 0x07\n /* \"contracts/ExternalBribe.sol\":4291:4311 checkpoints[tokenId] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":4291:4319 checkpoints[tokenId][center] */\n dup5\n dup5\n mstore\n dup3\n mstore\n swap2\n dup3\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":4268:4319 Checkpoint memory cp = checkpoints[tokenId][center] */\n dup3\n mload\n dup1\n dup5\n add\n swap1\n swap4\n mstore\n dup1\n sload\n dup1\n dup5\n mstore\n 0x01\n swap1\n swap2\n add\n sload\n swap2\n dup4\n add\n swap2\n swap1\n swap2\n mstore\n /* \"contracts/ExternalBribe.sol\":4186:4227 uint center = upper - (upper - lower) / 2 */\n swap2\n swap3\n pop\n /* \"contracts/ExternalBribe.sol\":4268:4319 Checkpoint memory cp = checkpoints[tokenId][center] */\n swap1\n /* \"contracts/ExternalBribe.sol\":4337:4362 cp.timestamp == timestamp */\n dup8\n swap1\n sub\n /* \"contracts/ExternalBribe.sol\":4333:4550 if (cp.timestamp == timestamp) {... */\n tag_235\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":4389:4395 center */\n swap4\n pop\n /* \"contracts/ExternalBribe.sol\":4382:4395 return center */\n tag_145\n swap3\n pop\n pop\n pop\n jump\n /* \"contracts/ExternalBribe.sol\":4333:4550 if (cp.timestamp == timestamp) {... */\n tag_235:\n /* \"contracts/ExternalBribe.sol\":4420:4432 cp.timestamp */\n dup1\n mload\n /* \"contracts/ExternalBribe.sol\":4420:4444 cp.timestamp < timestamp */\n dup8\n gt\n /* \"contracts/ExternalBribe.sol\":4416:4550 if (cp.timestamp < timestamp) {... */\n iszero\n tag_237\n jumpi\n /* \"contracts/ExternalBribe.sol\":4472:4478 center */\n dup2\n /* \"contracts/ExternalBribe.sol\":4464:4478 lower = center */\n swap4\n pop\n /* \"contracts/ExternalBribe.sol\":4416:4550 if (cp.timestamp < timestamp) {... */\n jump(tag_238)\n tag_237:\n /* \"contracts/ExternalBribe.sol\":4525:4535 center - 1 */\n tag_239\n /* \"contracts/ExternalBribe.sol\":4534:4535 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":4525:4531 center */\n dup4\n /* \"contracts/ExternalBribe.sol\":4525:4535 center - 1 */\n tag_149\n jump\t// in\n tag_239:\n /* \"contracts/ExternalBribe.sol\":4517:4535 upper = center - 1 */\n swap3\n pop\n /* \"contracts/ExternalBribe.sol\":4416:4550 if (cp.timestamp < timestamp) {... */\n tag_238:\n /* \"contracts/ExternalBribe.sol\":4172:4560 {... */\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":4150:4560 while (upper > lower) {... */\n jump(tag_230)\n tag_231:\n pop\n /* \"contracts/ExternalBribe.sol\":4576:4581 lower */\n swap5\n /* \"contracts/ExternalBribe.sol\":3565:4588 function getPriorBalanceIndex(uint tokenId, uint timestamp) public view returns (uint) {... */\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":7540:8036 function getRewardForOwner(uint tokenId, address[] memory tokens) external lock {... */\n tag_105:\n /* \"contracts/ExternalBribe.sol\":2724:2733 _unlocked */\n sload(0x0b)\n /* \"contracts/ExternalBribe.sol\":2737:2738 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":2724:2738 _unlocked == 1 */\n eq\n /* \"contracts/ExternalBribe.sol\":2716:2739 require(_unlocked == 1) */\n tag_241\n jumpi\n 0x00\n dup1\n revert\n tag_241:\n /* \"contracts/ExternalBribe.sol\":2761:2762 2 */\n 0x02\n /* \"contracts/ExternalBribe.sol\":2749:2758 _unlocked */\n 0x0b\n /* \"contracts/ExternalBribe.sol\":2749:2762 _unlocked = 2 */\n sstore\n /* \"contracts/ExternalBribe.sol\":7639:7649 msg.sender */\n caller\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":7653:7658 voter */\n immutable(\"0x7880aec93413f117ef14bd4e6d130875ab2c7d7d55a064fac3c2f7bd51516380\")\n /* \"contracts/ExternalBribe.sol\":7639:7658 msg.sender == voter */\n and\n eq\n /* \"contracts/ExternalBribe.sol\":7631:7659 require(msg.sender == voter) */\n tag_243\n jumpi\n 0x00\n dup1\n revert\n tag_243:\n /* \"contracts/ExternalBribe.sol\":7686:7721 IVotingEscrow(_ve).ownerOf(tokenId) */\n mload(0x40)\n shl(0xe1, 0x31a9108f)\n dup2\n mstore\n 0x04\n dup2\n add\n /* \"#utility.yul\":345:370 */\n dup4\n swap1\n mstore\n /* \"contracts/ExternalBribe.sol\":7669:7683 address _owner */\n 0x00\n swap1\n /* \"contracts/ExternalBribe.sol\":7700:7703 _ve */\n immutable(\"0x789bcdf275fa270780a52ae3b79bb1ce0fda7e0aaad87b57b74bb99ac290714a\")\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":7686:7712 IVotingEscrow(_ve).ownerOf */\n and\n swap1\n 0x6352211e\n swap1\n /* \"#utility.yul\":318:336 */\n 0x24\n add\n /* \"contracts/ExternalBribe.sol\":7686:7721 IVotingEscrow(_ve).ownerOf(tokenId) */\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_246\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_246:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_247\n swap2\n swap1\n tag_200\n jump\t// in\n tag_247:\n /* \"contracts/ExternalBribe.sol\":7669:7721 address _owner = IVotingEscrow(_ve).ownerOf(tokenId) */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":7736:7742 uint i */\n 0x00\n /* \"contracts/ExternalBribe.sol\":7731:8030 for (uint i = 0; i < tokens.length; i++) {... */\n tag_248:\n /* \"contracts/ExternalBribe.sol\":7752:7758 tokens */\n dup3\n /* \"contracts/ExternalBribe.sol\":7752:7765 tokens.length */\n mload\n /* \"contracts/ExternalBribe.sol\":7748:7749 i */\n dup2\n /* \"contracts/ExternalBribe.sol\":7748:7765 i < tokens.length */\n lt\n /* \"contracts/ExternalBribe.sol\":7731:8030 for (uint i = 0; i < tokens.length; i++) {... */\n iszero\n tag_249\n jumpi\n /* \"contracts/ExternalBribe.sol\":7786:7798 uint _reward */\n 0x00\n /* \"contracts/ExternalBribe.sol\":7801:7827 earned(tokens[i], tokenId) */\n tag_251\n /* \"contracts/ExternalBribe.sol\":7808:7814 tokens */\n dup5\n /* \"contracts/ExternalBribe.sol\":7815:7816 i */\n dup4\n /* \"contracts/ExternalBribe.sol\":7808:7817 tokens[i] */\n dup2\n mload\n dup2\n lt\n tag_253\n jumpi\n tag_253\n tag_206\n jump\t// in\n tag_253:\n 0x20\n mul\n 0x20\n add\n add\n mload\n /* \"contracts/ExternalBribe.sol\":7819:7826 tokenId */\n dup7\n /* \"contracts/ExternalBribe.sol\":7801:7807 earned */\n tag_46\n /* \"contracts/ExternalBribe.sol\":7801:7827 earned(tokens[i], tokenId) */\n jump\t// in\n tag_251:\n /* \"contracts/ExternalBribe.sol\":7786:7827 uint _reward = earned(tokens[i], tokenId) */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":7872:7887 block.timestamp */\n timestamp\n /* \"contracts/ExternalBribe.sol\":7841:7849 lastEarn */\n 0x04\n /* \"contracts/ExternalBribe.sol\":7841:7860 lastEarn[tokens[i]] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":7850:7856 tokens */\n dup7\n /* \"contracts/ExternalBribe.sol\":7857:7858 i */\n dup6\n /* \"contracts/ExternalBribe.sol\":7850:7859 tokens[i] */\n dup2\n mload\n dup2\n lt\n tag_255\n jumpi\n tag_255\n tag_206\n jump\t// in\n tag_255:\n 0x20\n swap1\n dup2\n mul\n swap2\n swap1\n swap2\n add\n dup2\n add\n mload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":7841:7860 lastEarn[tokens[i]] */\n and\n dup3\n mstore\n dup2\n dup2\n add\n swap3\n swap1\n swap3\n mstore\n 0x40\n swap1\n dup2\n add\n 0x00\n swap1\n dup2\n keccak256\n /* \"contracts/ExternalBribe.sol\":7841:7869 lastEarn[tokens[i]][tokenId] */\n dup10\n dup3\n mstore\n swap1\n swap3\n mstore\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":7841:7887 lastEarn[tokens[i]][tokenId] = block.timestamp */\n sstore\n /* \"contracts/ExternalBribe.sol\":7905:7916 _reward > 0 */\n dup1\n iszero\n /* \"contracts/ExternalBribe.sol\":7901:7959 if (_reward > 0) _safeTransfer(tokens[i], _owner, _reward) */\n tag_257\n jumpi\n /* \"contracts/ExternalBribe.sol\":7918:7959 _safeTransfer(tokens[i], _owner, _reward) */\n tag_257\n /* \"contracts/ExternalBribe.sol\":7932:7938 tokens */\n dup5\n /* \"contracts/ExternalBribe.sol\":7939:7940 i */\n dup4\n /* \"contracts/ExternalBribe.sol\":7932:7941 tokens[i] */\n dup2\n mload\n dup2\n lt\n tag_259\n jumpi\n tag_259\n tag_206\n jump\t// in\n tag_259:\n 0x20\n mul\n 0x20\n add\n add\n mload\n /* \"contracts/ExternalBribe.sol\":7943:7949 _owner */\n dup5\n /* \"contracts/ExternalBribe.sol\":7951:7958 _reward */\n dup4\n /* \"contracts/ExternalBribe.sol\":7918:7931 _safeTransfer */\n tag_260\n /* \"contracts/ExternalBribe.sol\":7918:7959 _safeTransfer(tokens[i], _owner, _reward) */\n jump\t// in\n tag_257:\n /* \"contracts/ExternalBribe.sol\":8000:8006 tokens */\n dup4\n /* \"contracts/ExternalBribe.sol\":8007:8008 i */\n dup3\n /* \"contracts/ExternalBribe.sol\":8000:8009 tokens[i] */\n dup2\n mload\n dup2\n lt\n tag_262\n jumpi\n tag_262\n tag_206\n jump\t// in\n tag_262:\n 0x20\n mul\n 0x20\n add\n add\n mload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":7979:8019 ClaimRewards(_owner, tokens[i], _reward) */\n and\n /* \"contracts/ExternalBribe.sol\":7992:7998 _owner */\n dup4\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":7979:8019 ClaimRewards(_owner, tokens[i], _reward) */\n and\n 0x9aa05b3d70a9e3e2f004f039648839560576334fb45c81f91b6db03ad9e2efc9\n /* \"contracts/ExternalBribe.sol\":8011:8018 _reward */\n dup4\n /* \"contracts/ExternalBribe.sol\":7979:8019 ClaimRewards(_owner, tokens[i], _reward) */\n mload(0x40)\n tag_263\n swap2\n /* \"#utility.yul\":345:370 */\n dup2\n mstore\n /* \"#utility.yul\":333:335 */\n 0x20\n /* \"#utility.yul\":318:336 */\n add\n swap1\n /* \"#utility.yul\":199:376 */\n jump\n /* \"contracts/ExternalBribe.sol\":7979:8019 ClaimRewards(_owner, tokens[i], _reward) */\n tag_263:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n pop\n /* \"contracts/ExternalBribe.sol\":7767:7770 i++ */\n dup1\n tag_264\n dup2\n tag_168\n jump\t// in\n tag_264:\n swap2\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":7731:8030 for (uint i = 0; i < tokens.length; i++) {... */\n jump(tag_248)\n tag_249:\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":2795:2796 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":2783:2792 _unlocked */\n 0x0b\n /* \"contracts/ExternalBribe.sol\":2783:2796 _unlocked = 1 */\n sstore\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":7540:8036 function getRewardForOwner(uint tokenId, address[] memory tokens) external lock {... */\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":10769:11673 function notifyRewardAmount(address token, uint amount) external lock {... */\n tag_108:\n /* \"contracts/ExternalBribe.sol\":2724:2733 _unlocked */\n sload(0x0b)\n /* \"contracts/ExternalBribe.sol\":2737:2738 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":2724:2738 _unlocked == 1 */\n eq\n /* \"contracts/ExternalBribe.sol\":2716:2739 require(_unlocked == 1) */\n tag_266\n jumpi\n 0x00\n dup1\n revert\n tag_266:\n /* \"contracts/ExternalBribe.sol\":2761:2762 2 */\n 0x02\n /* \"contracts/ExternalBribe.sol\":2749:2758 _unlocked */\n 0x0b\n /* \"contracts/ExternalBribe.sol\":2749:2762 _unlocked = 2 */\n sstore\n /* \"contracts/ExternalBribe.sol\":10857:10867 amount > 0 */\n dup1\n /* \"contracts/ExternalBribe.sol\":10849:10868 require(amount > 0) */\n tag_268\n jumpi\n 0x00\n dup1\n revert\n tag_268:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":10883:10898 isReward[token] */\n dup3\n and\n 0x00\n swap1\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":10883:10891 isReward */\n 0x06\n /* \"contracts/ExternalBribe.sol\":10883:10898 isReward[token] */\n 0x20\n mstore\n 0x40\n swap1\n keccak256\n sload\n 0xff\n and\n /* \"contracts/ExternalBribe.sol\":10878:11084 if (!isReward[token]) {... */\n tag_278\n jumpi\n /* \"contracts/ExternalBribe.sol\":10920:10954 IVoter(voter).isWhitelisted(token) */\n mload(0x40)\n shl(0xe0, 0x3af32abf)\n dup2\n mstore\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":1140:1172 */\n dup4\n dup2\n and\n /* \"contracts/ExternalBribe.sol\":10920:10954 IVoter(voter).isWhitelisted(token) */\n 0x04\n dup4\n add\n /* \"#utility.yul\":1122:1173 */\n mstore\n /* \"contracts/ExternalBribe.sol\":10927:10932 voter */\n immutable(\"0x7880aec93413f117ef14bd4e6d130875ab2c7d7d55a064fac3c2f7bd51516380\")\n /* \"contracts/ExternalBribe.sol\":10920:10947 IVoter(voter).isWhitelisted */\n and\n swap1\n 0x3af32abf\n swap1\n /* \"#utility.yul\":1095:1113 */\n 0x24\n add\n /* \"contracts/ExternalBribe.sol\":10920:10954 IVoter(voter).isWhitelisted(token) */\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_272\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_272:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_273\n swap2\n swap1\n tag_274\n jump\t// in\n tag_273:\n /* \"contracts/ExternalBribe.sol\":10912:10991 require(IVoter(voter).isWhitelisted(token), \"bribe tokens must be whitelisted\") */\n tag_275\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":6095:6097 */\n 0x20\n /* \"contracts/ExternalBribe.sol\":10912:10991 require(IVoter(voter).isWhitelisted(token), \"bribe tokens must be whitelisted\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":6077:6098 */\n dup2\n swap1\n mstore\n /* \"#utility.yul\":6114:6132 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":6107:6137 */\n mstore\n /* \"#utility.yul\":6173:6207 */\n 0x627269626520746f6b656e73206d7573742062652077686974656c6973746564\n /* \"#utility.yul\":6153:6171 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":6146:6208 */\n mstore\n /* \"#utility.yul\":6225:6243 */\n 0x64\n add\n /* \"contracts/ExternalBribe.sol\":10912:10991 require(IVoter(voter).isWhitelisted(token), \"bribe tokens must be whitelisted\") */\n tag_202\n /* \"#utility.yul\":5893:6249 */\n jump\n /* \"contracts/ExternalBribe.sol\":10912:10991 require(IVoter(voter).isWhitelisted(token), \"bribe tokens must be whitelisted\") */\n tag_275:\n /* \"contracts/ExternalBribe.sol\":11011:11018 rewards */\n 0x05\n /* \"contracts/ExternalBribe.sol\":11011:11025 rewards.length */\n sload\n /* \"contracts/ExternalBribe.sol\":783:785 16 */\n 0x10\n gt\n /* \"contracts/ExternalBribe.sol\":11003:11073 require(rewards.length < MAX_REWARD_TOKENS, \"too many rewards tokens\") */\n tag_278\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":6456:6458 */\n 0x20\n /* \"contracts/ExternalBribe.sol\":11003:11073 require(rewards.length < MAX_REWARD_TOKENS, \"too many rewards tokens\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":6438:6459 */\n mstore\n /* \"#utility.yul\":6495:6497 */\n 0x17\n /* \"#utility.yul\":6475:6493 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":6468:6498 */\n mstore\n /* \"#utility.yul\":6534:6559 */\n 0x746f6f206d616e79207265776172647320746f6b656e73000000000000000000\n /* \"#utility.yul\":6514:6532 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":6507:6560 */\n mstore\n /* \"#utility.yul\":6577:6595 */\n 0x64\n add\n /* \"contracts/ExternalBribe.sol\":11003:11073 require(rewards.length < MAX_REWARD_TOKENS, \"too many rewards tokens\") */\n tag_202\n /* \"#utility.yul\":6254:6601 */\n jump\n /* \"contracts/ExternalBribe.sol\":11003:11073 require(rewards.length < MAX_REWARD_TOKENS, \"too many rewards tokens\") */\n tag_278:\n /* \"contracts/ExternalBribe.sol\":11153:11172 uint adjustedTstamp */\n 0x00\n /* \"contracts/ExternalBribe.sol\":11175:11205 getEpochStart(block.timestamp) */\n tag_281\n /* \"contracts/ExternalBribe.sol\":11189:11204 block.timestamp */\n timestamp\n /* \"contracts/ExternalBribe.sol\":11175:11188 getEpochStart */\n tag_37\n /* \"contracts/ExternalBribe.sol\":11175:11205 getEpochStart(block.timestamp) */\n jump\t// in\n tag_281:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11235:11262 tokenRewardsPerEpoch[token] */\n dup5\n and\n /* \"contracts/ExternalBribe.sol\":11215:11232 uint epochRewards */\n 0x00\n /* \"contracts/ExternalBribe.sol\":11235:11262 tokenRewardsPerEpoch[token] */\n swap1\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":11235:11255 tokenRewardsPerEpoch */\n 0x02\n /* \"contracts/ExternalBribe.sol\":11235:11262 tokenRewardsPerEpoch[token] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":11235:11278 tokenRewardsPerEpoch[token][adjustedTstamp] */\n dup5\n dup5\n mstore\n swap1\n swap2\n mstore\n swap1\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":11153:11205 uint adjustedTstamp = getEpochStart(block.timestamp) */\n swap1\n swap2\n pop\n /* \"contracts/ExternalBribe.sol\":11289:11348 _safeTransferFrom(token, msg.sender, address(this), amount) */\n tag_282\n /* \"contracts/ExternalBribe.sol\":11256:11261 token */\n dup5\n /* \"contracts/ExternalBribe.sol\":11314:11324 msg.sender */\n caller\n /* \"contracts/ExternalBribe.sol\":11334:11338 this */\n address\n /* \"contracts/ExternalBribe.sol\":11341:11347 amount */\n dup7\n /* \"contracts/ExternalBribe.sol\":11289:11306 _safeTransferFrom */\n tag_283\n /* \"contracts/ExternalBribe.sol\":11289:11348 _safeTransferFrom(token, msg.sender, address(this), amount) */\n jump\t// in\n tag_282:\n /* \"contracts/ExternalBribe.sol\":11404:11425 epochRewards + amount */\n tag_284\n /* \"contracts/ExternalBribe.sol\":11419:11425 amount */\n dup4\n /* \"contracts/ExternalBribe.sol\":11404:11416 epochRewards */\n dup3\n /* \"contracts/ExternalBribe.sol\":11404:11425 epochRewards + amount */\n tag_141\n jump\t// in\n tag_284:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11358:11385 tokenRewardsPerEpoch[token] */\n dup6\n and\n 0x00\n swap1\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":11358:11378 tokenRewardsPerEpoch */\n 0x02\n /* \"contracts/ExternalBribe.sol\":11358:11385 tokenRewardsPerEpoch[token] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":11358:11401 tokenRewardsPerEpoch[token][adjustedTstamp] */\n dup7\n dup5\n mstore\n swap1\n swap2\n mstore\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":11358:11425 tokenRewardsPerEpoch[token][adjustedTstamp] = epochRewards + amount */\n sstore\n /* \"contracts/ExternalBribe.sol\":11458:11483 adjustedTstamp + DURATION */\n tag_285\n /* \"contracts/ExternalBribe.sol\":681:687 7 days */\n 0x093a80\n /* \"contracts/ExternalBribe.sol\":11386:11400 adjustedTstamp */\n dup4\n /* \"contracts/ExternalBribe.sol\":11458:11483 adjustedTstamp + DURATION */\n tag_141\n jump\t// in\n tag_285:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11436:11455 periodFinish[token] */\n dup6\n and\n 0x00\n swap1\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":11436:11448 periodFinish */\n 0x03\n /* \"contracts/ExternalBribe.sol\":11436:11455 periodFinish[token] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"contracts/ExternalBribe.sol\":11436:11483 periodFinish[token] = adjustedTstamp + DURATION */\n swap4\n swap1\n swap4\n sstore\n /* \"contracts/ExternalBribe.sol\":11499:11507 isReward */\n 0x06\n /* \"contracts/ExternalBribe.sol\":11499:11514 isReward[token] */\n swap1\n mstore\n keccak256\n sload\n 0xff\n and\n /* \"contracts/ExternalBribe.sol\":11494:11596 if (!isReward[token]) {... */\n tag_286\n jumpi\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11530:11545 isReward[token] */\n dup5\n and\n 0x00\n dup2\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":11530:11538 isReward */\n 0x06\n /* \"contracts/ExternalBribe.sol\":11530:11545 isReward[token] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n /* \"contracts/ExternalBribe.sol\":11530:11552 isReward[token] = true */\n dup1\n sload\n not(0xff)\n and\n /* \"contracts/ExternalBribe.sol\":11548:11552 true */\n 0x01\n /* \"contracts/ExternalBribe.sol\":11530:11552 isReward[token] = true */\n swap1\n dup2\n or\n swap1\n swap2\n sstore\n /* \"contracts/ExternalBribe.sol\":11566:11573 rewards */\n 0x05\n /* \"contracts/ExternalBribe.sol\":11566:11585 rewards.push(token) */\n dup1\n sload\n swap2\n dup3\n add\n dup2\n sstore\n swap1\n swap2\n mstore\n 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0\n add\n dup1\n sload\n not(sub(shl(0xa0, 0x01), 0x01))\n and\n swap1\n swap2\n or\n swap1\n sstore\n /* \"contracts/ExternalBribe.sol\":11494:11596 if (!isReward[token]) {... */\n tag_286:\n /* \"contracts/ExternalBribe.sol\":11611:11666 NotifyReward(msg.sender, token, adjustedTstamp, amount) */\n 0x40\n dup1\n mload\n /* \"#utility.yul\":1611:1636 */\n dup4\n dup2\n mstore\n /* \"#utility.yul\":1667:1669 */\n 0x20\n /* \"#utility.yul\":1652:1670 */\n dup2\n add\n /* \"#utility.yul\":1645:1679 */\n dup6\n swap1\n mstore\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":11611:11666 NotifyReward(msg.sender, token, adjustedTstamp, amount) */\n dup7\n and\n swap2\n /* \"contracts/ExternalBribe.sol\":11624:11634 msg.sender */\n caller\n swap2\n /* \"contracts/ExternalBribe.sol\":11611:11666 NotifyReward(msg.sender, token, adjustedTstamp, amount) */\n 0x52977ea98a2220a03ee9ba5cb003ada08d394ea10155483c95dc2dc77a7eb24b\n swap2\n /* \"#utility.yul\":1584:1602 */\n add\n /* \"contracts/ExternalBribe.sol\":11611:11666 NotifyReward(msg.sender, token, adjustedTstamp, amount) */\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":2795:2796 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":2783:2792 _unlocked */\n 0x0b\n /* \"contracts/ExternalBribe.sol\":2783:2796 _unlocked = 1 */\n sstore\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":10769:11673 function notifyRewardAmount(address token, uint amount) external lock {... */\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":1104:1128 address[] public rewards */\n tag_125:\n 0x05\n dup2\n dup2\n sload\n dup2\n lt\n tag_290\n jumpi\n 0x00\n dup1\n revert\n tag_290:\n 0x00\n swap2\n dup3\n mstore\n 0x20\n swap1\n swap2\n keccak256\n add\n sload\n sub(shl(0xa0, 0x01), 0x01)\n and\n swap1\n pop\n dup2\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":9940:10251 function _deposit(uint amount, uint tokenId) external {... */\n tag_129:\n /* \"contracts/ExternalBribe.sol\":10012:10022 msg.sender */\n caller\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":10026:10031 voter */\n immutable(\"0x7880aec93413f117ef14bd4e6d130875ab2c7d7d55a064fac3c2f7bd51516380\")\n /* \"contracts/ExternalBribe.sol\":10012:10031 msg.sender == voter */\n and\n eq\n /* \"contracts/ExternalBribe.sol\":10004:10032 require(msg.sender == voter) */\n tag_293\n jumpi\n 0x00\n dup1\n revert\n tag_293:\n /* \"contracts/ExternalBribe.sol\":10058:10064 amount */\n dup2\n /* \"contracts/ExternalBribe.sol\":10043:10054 totalSupply */\n 0x00\n dup1\n /* \"contracts/ExternalBribe.sol\":10043:10064 totalSupply += amount */\n dup3\n dup3\n sload\n tag_294\n swap2\n swap1\n tag_141\n jump\t// in\n tag_294:\n swap1\n swap2\n sstore\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":10074:10092 balanceOf[tokenId] */\n 0x00\n dup2\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":10074:10083 balanceOf */\n 0x01\n /* \"contracts/ExternalBribe.sol\":10074:10092 balanceOf[tokenId] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n /* \"contracts/ExternalBribe.sol\":10074:10102 balanceOf[tokenId] += amount */\n dup1\n sload\n /* \"contracts/ExternalBribe.sol\":10096:10102 amount */\n dup5\n swap3\n /* \"contracts/ExternalBribe.sol\":10074:10092 balanceOf[tokenId] */\n swap1\n /* \"contracts/ExternalBribe.sol\":10074:10102 balanceOf[tokenId] += amount */\n tag_295\n swap1\n /* \"contracts/ExternalBribe.sol\":10096:10102 amount */\n dup5\n swap1\n /* \"contracts/ExternalBribe.sol\":10074:10102 balanceOf[tokenId] += amount */\n tag_141\n jump\t// in\n tag_295:\n swap1\n swap2\n sstore\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":10139:10157 balanceOf[tokenId] */\n 0x00\n dup2\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":10139:10148 balanceOf */\n 0x01\n /* \"contracts/ExternalBribe.sol\":10139:10157 balanceOf[tokenId] */\n 0x20\n mstore\n 0x40\n swap1\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":10113:10158 _writeCheckpoint(tokenId, balanceOf[tokenId]) */\n tag_296\n swap1\n /* \"contracts/ExternalBribe.sol\":10130:10137 tokenId */\n dup3\n swap1\n /* \"contracts/ExternalBribe.sol\":10113:10129 _writeCheckpoint */\n tag_219\n /* \"contracts/ExternalBribe.sol\":10113:10158 _writeCheckpoint(tokenId, balanceOf[tokenId]) */\n jump\t// in\n tag_296:\n /* \"contracts/ExternalBribe.sol\":10168:10192 _writeSupplyCheckpoint() */\n tag_297\n /* \"contracts/ExternalBribe.sol\":10168:10190 _writeSupplyCheckpoint */\n tag_221\n /* \"contracts/ExternalBribe.sol\":10168:10192 _writeSupplyCheckpoint() */\n jump\t// in\n tag_297:\n /* \"contracts/ExternalBribe.sol\":10208:10244 Deposit(msg.sender, tokenId, amount) */\n 0x40\n dup1\n mload\n /* \"#utility.yul\":1611:1636 */\n dup3\n dup2\n mstore\n /* \"#utility.yul\":1667:1669 */\n 0x20\n /* \"#utility.yul\":1652:1670 */\n dup2\n add\n /* \"#utility.yul\":1645:1679 */\n dup5\n swap1\n mstore\n /* \"contracts/ExternalBribe.sol\":10216:10226 msg.sender */\n caller\n swap2\n /* \"contracts/ExternalBribe.sol\":10208:10244 Deposit(msg.sender, tokenId, amount) */\n 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15\n swap2\n /* \"#utility.yul\":1584:1602 */\n add\n /* \"contracts/ExternalBribe.sol\":10208:10244 Deposit(msg.sender, tokenId, amount) */\n tag_222\n /* \"#utility.yul\":1437:1685 */\n jump\n /* \"contracts/ExternalBribe.sol\":7010:7482 function getReward(uint tokenId, address[] memory tokens) external lock {... */\n tag_132:\n /* \"contracts/ExternalBribe.sol\":2724:2733 _unlocked */\n sload(0x0b)\n /* \"contracts/ExternalBribe.sol\":2737:2738 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":2724:2738 _unlocked == 1 */\n eq\n /* \"contracts/ExternalBribe.sol\":2716:2739 require(_unlocked == 1) */\n tag_300\n jumpi\n 0x00\n dup1\n revert\n tag_300:\n /* \"contracts/ExternalBribe.sol\":2761:2762 2 */\n 0x02\n /* \"contracts/ExternalBribe.sol\":2749:2758 _unlocked */\n 0x0b\n /* \"contracts/ExternalBribe.sol\":2749:2762 _unlocked = 2 */\n sstore\n /* \"contracts/ExternalBribe.sol\":7101:7158 IVotingEscrow(_ve).isApprovedOrOwner(msg.sender, tokenId) */\n mload(0x40)\n shl(0xe0, 0x430c2081)\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":7138:7148 msg.sender */\n caller\n /* \"contracts/ExternalBribe.sol\":7101:7158 IVotingEscrow(_ve).isApprovedOrOwner(msg.sender, tokenId) */\n 0x04\n dup3\n add\n /* \"#utility.yul\":6780:6831 */\n mstore\n /* \"#utility.yul\":6847:6865 */\n 0x24\n dup2\n add\n /* \"#utility.yul\":6840:6874 */\n dup4\n swap1\n mstore\n /* \"contracts/ExternalBribe.sol\":7115:7118 _ve */\n immutable(\"0x789bcdf275fa270780a52ae3b79bb1ce0fda7e0aaad87b57b74bb99ac290714a\")\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":7101:7137 IVotingEscrow(_ve).isApprovedOrOwner */\n and\n swap1\n 0x430c2081\n swap1\n /* \"#utility.yul\":6753:6771 */\n 0x44\n add\n /* \"contracts/ExternalBribe.sol\":7101:7158 IVotingEscrow(_ve).isApprovedOrOwner(msg.sender, tokenId) */\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_305\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_305:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_306\n swap2\n swap1\n tag_274\n jump\t// in\n tag_306:\n /* \"contracts/ExternalBribe.sol\":7093:7159 require(IVotingEscrow(_ve).isApprovedOrOwner(msg.sender, tokenId)) */\n tag_307\n jumpi\n 0x00\n dup1\n revert\n tag_307:\n /* \"contracts/ExternalBribe.sol\":7174:7180 uint i */\n 0x00\n /* \"contracts/ExternalBribe.sol\":7169:7476 for (uint i = 0; i < tokens.length; i++) {... */\n tag_308:\n /* \"contracts/ExternalBribe.sol\":7190:7196 tokens */\n dup2\n /* \"contracts/ExternalBribe.sol\":7190:7203 tokens.length */\n mload\n /* \"contracts/ExternalBribe.sol\":7186:7187 i */\n dup2\n /* \"contracts/ExternalBribe.sol\":7186:7203 i < tokens.length */\n lt\n /* \"contracts/ExternalBribe.sol\":7169:7476 for (uint i = 0; i < tokens.length; i++) {... */\n iszero\n tag_309\n jumpi\n /* \"contracts/ExternalBribe.sol\":7224:7236 uint _reward */\n 0x00\n /* \"contracts/ExternalBribe.sol\":7239:7265 earned(tokens[i], tokenId) */\n tag_311\n /* \"contracts/ExternalBribe.sol\":7246:7252 tokens */\n dup4\n /* \"contracts/ExternalBribe.sol\":7253:7254 i */\n dup4\n /* \"contracts/ExternalBribe.sol\":7246:7255 tokens[i] */\n dup2\n mload\n dup2\n lt\n tag_313\n jumpi\n tag_313\n tag_206\n jump\t// in\n tag_313:\n 0x20\n mul\n 0x20\n add\n add\n mload\n /* \"contracts/ExternalBribe.sol\":7257:7264 tokenId */\n dup6\n /* \"contracts/ExternalBribe.sol\":7239:7245 earned */\n tag_46\n /* \"contracts/ExternalBribe.sol\":7239:7265 earned(tokens[i], tokenId) */\n jump\t// in\n tag_311:\n /* \"contracts/ExternalBribe.sol\":7224:7265 uint _reward = earned(tokens[i], tokenId) */\n swap1\n pop\n /* \"contracts/ExternalBribe.sol\":7310:7325 block.timestamp */\n timestamp\n /* \"contracts/ExternalBribe.sol\":7279:7287 lastEarn */\n 0x04\n /* \"contracts/ExternalBribe.sol\":7279:7298 lastEarn[tokens[i]] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":7288:7294 tokens */\n dup6\n /* \"contracts/ExternalBribe.sol\":7295:7296 i */\n dup6\n /* \"contracts/ExternalBribe.sol\":7288:7297 tokens[i] */\n dup2\n mload\n dup2\n lt\n tag_315\n jumpi\n tag_315\n tag_206\n jump\t// in\n tag_315:\n 0x20\n swap1\n dup2\n mul\n swap2\n swap1\n swap2\n add\n dup2\n add\n mload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":7279:7298 lastEarn[tokens[i]] */\n and\n dup3\n mstore\n dup2\n dup2\n add\n swap3\n swap1\n swap3\n mstore\n 0x40\n swap1\n dup2\n add\n 0x00\n swap1\n dup2\n keccak256\n /* \"contracts/ExternalBribe.sol\":7279:7307 lastEarn[tokens[i]][tokenId] */\n dup9\n dup3\n mstore\n swap1\n swap3\n mstore\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":7279:7325 lastEarn[tokens[i]][tokenId] = block.timestamp */\n sstore\n /* \"contracts/ExternalBribe.sol\":7343:7354 _reward > 0 */\n dup1\n iszero\n /* \"contracts/ExternalBribe.sol\":7339:7401 if (_reward > 0) _safeTransfer(tokens[i], msg.sender, _reward) */\n tag_317\n jumpi\n /* \"contracts/ExternalBribe.sol\":7356:7401 _safeTransfer(tokens[i], msg.sender, _reward) */\n tag_317\n /* \"contracts/ExternalBribe.sol\":7370:7376 tokens */\n dup4\n /* \"contracts/ExternalBribe.sol\":7377:7378 i */\n dup4\n /* \"contracts/ExternalBribe.sol\":7370:7379 tokens[i] */\n dup2\n mload\n dup2\n lt\n tag_319\n jumpi\n tag_319\n tag_206\n jump\t// in\n tag_319:\n 0x20\n mul\n 0x20\n add\n add\n mload\n /* \"contracts/ExternalBribe.sol\":7381:7391 msg.sender */\n caller\n /* \"contracts/ExternalBribe.sol\":7393:7400 _reward */\n dup4\n /* \"contracts/ExternalBribe.sol\":7356:7369 _safeTransfer */\n tag_260\n /* \"contracts/ExternalBribe.sol\":7356:7401 _safeTransfer(tokens[i], msg.sender, _reward) */\n jump\t// in\n tag_317:\n /* \"contracts/ExternalBribe.sol\":7446:7452 tokens */\n dup3\n /* \"contracts/ExternalBribe.sol\":7453:7454 i */\n dup3\n /* \"contracts/ExternalBribe.sol\":7446:7455 tokens[i] */\n dup2\n mload\n dup2\n lt\n tag_321\n jumpi\n tag_321\n tag_206\n jump\t// in\n tag_321:\n 0x20\n mul\n 0x20\n add\n add\n mload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":7421:7465 ClaimRewards(msg.sender, tokens[i], _reward) */\n and\n /* \"contracts/ExternalBribe.sol\":7434:7444 msg.sender */\n caller\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":7421:7465 ClaimRewards(msg.sender, tokens[i], _reward) */\n and\n 0x9aa05b3d70a9e3e2f004f039648839560576334fb45c81f91b6db03ad9e2efc9\n /* \"contracts/ExternalBribe.sol\":7457:7464 _reward */\n dup4\n /* \"contracts/ExternalBribe.sol\":7421:7465 ClaimRewards(msg.sender, tokens[i], _reward) */\n mload(0x40)\n tag_322\n swap2\n /* \"#utility.yul\":345:370 */\n dup2\n mstore\n /* \"#utility.yul\":333:335 */\n 0x20\n /* \"#utility.yul\":318:336 */\n add\n swap1\n /* \"#utility.yul\":199:376 */\n jump\n /* \"contracts/ExternalBribe.sol\":7421:7465 ClaimRewards(msg.sender, tokens[i], _reward) */\n tag_322:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n pop\n /* \"contracts/ExternalBribe.sol\":7205:7208 i++ */\n dup1\n tag_323\n dup2\n tag_168\n jump\t// in\n tag_323:\n swap2\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":7169:7476 for (uint i = 0; i < tokens.length; i++) {... */\n jump(tag_308)\n tag_309:\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":2795:2796 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":2783:2792 _unlocked */\n 0x0b\n /* \"contracts/ExternalBribe.sol\":2783:2796 _unlocked = 1 */\n sstore\n pop\n /* \"contracts/ExternalBribe.sol\":7010:7482 function getReward(uint tokenId, address[] memory tokens) external lock {... */\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":2809:2933 function _bribeStart(uint timestamp) internal pure returns (uint) {... */\n tag_139:\n /* \"contracts/ExternalBribe.sol\":2869:2873 uint */\n 0x00\n /* \"contracts/ExternalBribe.sol\":2905:2925 timestamp % (7 days) */\n tag_325\n /* \"contracts/ExternalBribe.sol\":2918:2924 7 days */\n 0x093a80\n /* \"contracts/ExternalBribe.sol\":2905:2914 timestamp */\n dup4\n /* \"contracts/ExternalBribe.sol\":2905:2925 timestamp % (7 days) */\n tag_326\n jump\t// in\n tag_325:\n /* \"contracts/ExternalBribe.sol\":2892:2926 timestamp - (timestamp % (7 days)) */\n tag_145\n swap1\n /* \"contracts/ExternalBribe.sol\":2892:2901 timestamp */\n dup4\n /* \"contracts/ExternalBribe.sol\":2892:2926 timestamp - (timestamp % (7 days)) */\n tag_149\n jump\t// in\n /* \"contracts/libraries/Math.sol\":145:240 function min(uint a, uint b) internal pure returns (uint) {... */\n tag_178:\n /* \"contracts/libraries/Math.sol\":197:201 uint */\n 0x00\n /* \"contracts/libraries/Math.sol\":224:225 b */\n dup2\n /* \"contracts/libraries/Math.sol\":220:221 a */\n dup4\n /* \"contracts/libraries/Math.sol\":220:225 a < b */\n lt\n /* \"contracts/libraries/Math.sol\":220:233 a < b ? a : b */\n tag_329\n jumpi\n /* \"contracts/libraries/Math.sol\":232:233 b */\n dup2\n /* \"contracts/libraries/Math.sol\":220:233 a < b ? a : b */\n jump(tag_183)\n tag_329:\n pop\n /* \"contracts/libraries/Math.sol\":228:229 a */\n swap1\n swap2\n /* \"contracts/libraries/Math.sol\":213:233 return a < b ? a : b */\n swap1\n pop\n /* \"contracts/libraries/Math.sol\":145:240 function min(uint a, uint b) internal pure returns (uint) {... */\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":5604:6111 function _writeCheckpoint(uint tokenId, uint balance) internal {... */\n tag_219:\n /* \"contracts/ExternalBribe.sol\":5677:5692 uint _timestamp */\n 0x00\n /* \"contracts/ExternalBribe.sol\":5741:5764 numCheckpoints[tokenId] */\n dup3\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":5741:5755 numCheckpoints */\n 0x08\n /* \"contracts/ExternalBribe.sol\":5741:5764 numCheckpoints[tokenId] */\n 0x20\n mstore\n 0x40\n swap1\n keccak256\n sload\n /* \"contracts/ExternalBribe.sol\":5695:5710 block.timestamp */\n timestamp\n swap1\n /* \"contracts/ExternalBribe.sol\":5778:5795 _nCheckPoints > 0 */\n dup1\n iszero\n dup1\n iszero\n swap1\n /* \"contracts/ExternalBribe.sol\":5778:5862 _nCheckPoints > 0 && checkpoints[tokenId][_nCheckPoints - 1].timestamp == _timestamp */\n tag_332\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":5799:5819 checkpoints[tokenId] */\n 0x00\n dup5\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":5799:5810 checkpoints */\n 0x07\n /* \"contracts/ExternalBribe.sol\":5799:5819 checkpoints[tokenId] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n /* \"contracts/ExternalBribe.sol\":5852:5862 _timestamp */\n dup4\n swap2\n /* \"contracts/ExternalBribe.sol\":5820:5837 _nCheckPoints - 1 */\n tag_333\n /* \"contracts/ExternalBribe.sol\":5836:5837 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":5820:5833 _nCheckPoints */\n dup6\n /* \"contracts/ExternalBribe.sol\":5820:5837 _nCheckPoints - 1 */\n tag_149\n jump\t// in\n tag_333:\n /* \"contracts/ExternalBribe.sol\":5799:5838 checkpoints[tokenId][_nCheckPoints - 1] */\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":5799:5848 checkpoints[tokenId][_nCheckPoints - 1].timestamp */\n 0x00\n add\n sload\n /* \"contracts/ExternalBribe.sol\":5799:5862 checkpoints[tokenId][_nCheckPoints - 1].timestamp == _timestamp */\n eq\n /* \"contracts/ExternalBribe.sol\":5778:5862 _nCheckPoints > 0 && checkpoints[tokenId][_nCheckPoints - 1].timestamp == _timestamp */\n tag_332:\n /* \"contracts/ExternalBribe.sol\":5774:6105 if (_nCheckPoints > 0 && checkpoints[tokenId][_nCheckPoints - 1].timestamp == _timestamp) {... */\n iszero\n tag_334\n jumpi\n /* \"contracts/ExternalBribe.sol\":5878:5898 checkpoints[tokenId] */\n 0x00\n dup5\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":5878:5889 checkpoints */\n 0x07\n /* \"contracts/ExternalBribe.sol\":5878:5898 checkpoints[tokenId] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n /* \"contracts/ExternalBribe.sol\":5930:5937 balance */\n dup5\n swap2\n /* \"contracts/ExternalBribe.sol\":5899:5916 _nCheckPoints - 1 */\n tag_335\n /* \"contracts/ExternalBribe.sol\":5915:5916 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":5899:5912 _nCheckPoints */\n dup6\n /* \"contracts/ExternalBribe.sol\":5899:5916 _nCheckPoints - 1 */\n tag_149\n jump\t// in\n tag_335:\n /* \"contracts/ExternalBribe.sol\":5878:5917 checkpoints[tokenId][_nCheckPoints - 1] */\n dup2\n mstore\n 0x20\n dup2\n add\n swap2\n swap1\n swap2\n mstore\n 0x40\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":5878:5927 checkpoints[tokenId][_nCheckPoints - 1].balanceOf */\n 0x01\n add\n /* \"contracts/ExternalBribe.sol\":5878:5937 checkpoints[tokenId][_nCheckPoints - 1].balanceOf = balance */\n sstore\n /* \"contracts/ExternalBribe.sol\":5774:6105 if (_nCheckPoints > 0 && checkpoints[tokenId][_nCheckPoints - 1].timestamp == _timestamp) {... */\n jump(tag_336)\n tag_334:\n /* \"contracts/ExternalBribe.sol\":6006:6037 Checkpoint(_timestamp, balance) */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n dup3\n mstore\n dup4\n dup2\n mstore\n 0x20\n dup1\n dup3\n add\n dup7\n dup2\n mstore\n 0x00\n /* \"contracts/ExternalBribe.sol\":5968:5988 checkpoints[tokenId] */\n dup9\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":5968:5979 checkpoints */\n 0x07\n /* \"contracts/ExternalBribe.sol\":5968:5988 checkpoints[tokenId] */\n dup4\n mstore\n dup5\n dup2\n keccak256\n /* \"contracts/ExternalBribe.sol\":5968:6003 checkpoints[tokenId][_nCheckPoints] */\n dup7\n dup3\n mstore\n swap1\n swap3\n mstore\n swap3\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":5968:6037 checkpoints[tokenId][_nCheckPoints] = Checkpoint(_timestamp, balance) */\n swap1\n mload\n dup2\n sstore\n swap1\n mload\n 0x01\n swap2\n dup3\n add\n sstore\n /* \"contracts/ExternalBribe.sol\":6077:6094 _nCheckPoints + 1 */\n tag_337\n swap1\n /* \"contracts/ExternalBribe.sol\":5989:6002 _nCheckPoints */\n dup3\n swap1\n /* \"contracts/ExternalBribe.sol\":6077:6094 _nCheckPoints + 1 */\n tag_141\n jump\t// in\n tag_337:\n /* \"contracts/ExternalBribe.sol\":6051:6074 numCheckpoints[tokenId] */\n 0x00\n dup6\n dup2\n mstore\n /* \"contracts/ExternalBribe.sol\":6051:6065 numCheckpoints */\n 0x08\n /* \"contracts/ExternalBribe.sol\":6051:6074 numCheckpoints[tokenId] */\n 0x20\n mstore\n 0x40\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":6051:6094 numCheckpoints[tokenId] = _nCheckPoints + 1 */\n sstore\n /* \"contracts/ExternalBribe.sol\":5774:6105 if (_nCheckPoints > 0 && checkpoints[tokenId][_nCheckPoints - 1].timestamp == _timestamp) {... */\n tag_336:\n /* \"contracts/ExternalBribe.sol\":5667:6111 {... */\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":5604:6111 function _writeCheckpoint(uint tokenId, uint balance) internal {... */\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":6117:6601 function _writeSupplyCheckpoint() internal {... */\n tag_221:\n /* \"contracts/ExternalBribe.sol\":6191:6211 supplyNumCheckpoints */\n sload(0x0a)\n /* \"contracts/ExternalBribe.sol\":6239:6254 block.timestamp */\n timestamp\n /* \"contracts/ExternalBribe.sol\":6269:6286 _nCheckPoints > 0 */\n dup2\n iszero\n dup1\n iszero\n swap1\n /* \"contracts/ExternalBribe.sol\":6269:6350 _nCheckPoints > 0 && supplyCheckpoints[_nCheckPoints - 1].timestamp == _timestamp */\n tag_339\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":6340:6350 _timestamp */\n dup1\n /* \"contracts/ExternalBribe.sol\":6290:6307 supplyCheckpoints */\n 0x09\n /* \"contracts/ExternalBribe.sol\":6290:6326 supplyCheckpoints[_nCheckPoints - 1] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":6308:6325 _nCheckPoints - 1 */\n tag_340\n /* \"contracts/ExternalBribe.sol\":6324:6325 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":6308:6321 _nCheckPoints */\n dup7\n /* \"contracts/ExternalBribe.sol\":6308:6325 _nCheckPoints - 1 */\n tag_149\n jump\t// in\n tag_340:\n /* \"contracts/ExternalBribe.sol\":6290:6326 supplyCheckpoints[_nCheckPoints - 1] */\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":6290:6336 supplyCheckpoints[_nCheckPoints - 1].timestamp */\n 0x00\n add\n sload\n /* \"contracts/ExternalBribe.sol\":6290:6350 supplyCheckpoints[_nCheckPoints - 1].timestamp == _timestamp */\n eq\n /* \"contracts/ExternalBribe.sol\":6269:6350 _nCheckPoints > 0 && supplyCheckpoints[_nCheckPoints - 1].timestamp == _timestamp */\n tag_339:\n /* \"contracts/ExternalBribe.sol\":6265:6595 if (_nCheckPoints > 0 && supplyCheckpoints[_nCheckPoints - 1].timestamp == _timestamp) {... */\n iszero\n tag_341\n jumpi\n /* \"contracts/ExternalBribe.sol\":6412:6423 totalSupply */\n sload(0x00)\n /* \"contracts/ExternalBribe.sol\":6366:6383 supplyCheckpoints */\n 0x09\n /* \"contracts/ExternalBribe.sol\":6366:6402 supplyCheckpoints[_nCheckPoints - 1] */\n 0x00\n /* \"contracts/ExternalBribe.sol\":6400:6401 1 */\n 0x01\n /* \"contracts/ExternalBribe.sol\":6384:6397 _nCheckPoints */\n dup6\n /* \"contracts/ExternalBribe.sol\":6384:6401 _nCheckPoints - 1 */\n tag_342\n swap2\n swap1\n tag_149\n jump\t// in\n tag_342:\n /* \"contracts/ExternalBribe.sol\":6366:6402 supplyCheckpoints[_nCheckPoints - 1] */\n dup2\n mstore\n 0x20\n dup2\n add\n swap2\n swap1\n swap2\n mstore\n 0x40\n add\n 0x00\n keccak256\n /* \"contracts/ExternalBribe.sol\":6366:6409 supplyCheckpoints[_nCheckPoints - 1].supply */\n 0x01\n add\n /* \"contracts/ExternalBribe.sol\":6366:6423 supplyCheckpoints[_nCheckPoints - 1].supply = totalSupply */\n sstore\n /* \"contracts/ExternalBribe.sol\":6160:6601 {... */\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":6117:6601 function _writeSupplyCheckpoint() internal {... */\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":6265:6595 if (_nCheckPoints > 0 && supplyCheckpoints[_nCheckPoints - 1].timestamp == _timestamp) {... */\n tag_341:\n /* \"contracts/ExternalBribe.sol\":6489:6530 SupplyCheckpoint(_timestamp, totalSupply) */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n dup3\n mstore\n dup3\n dup2\n mstore\n 0x00\n /* \"contracts/ExternalBribe.sol\":6518:6529 totalSupply */\n dup1\n sload\n /* \"contracts/ExternalBribe.sol\":6489:6530 SupplyCheckpoint(_timestamp, totalSupply) */\n 0x20\n dup1\n dup5\n add\n swap2\n dup3\n mstore\n /* \"contracts/ExternalBribe.sol\":6454:6486 supplyCheckpoints[_nCheckPoints] */\n dup7\n dup4\n mstore\n /* \"contracts/ExternalBribe.sol\":6454:6471 supplyCheckpoints */\n 0x09\n /* \"contracts/ExternalBribe.sol\":6454:6486 supplyCheckpoints[_nCheckPoints] */\n swap1\n mstore\n swap3\n swap1\n keccak256\n /* \"contracts/ExternalBribe.sol\":6454:6530 supplyCheckpoints[_nCheckPoints] = SupplyCheckpoint(_timestamp, totalSupply) */\n swap1\n mload\n dup2\n sstore\n swap1\n mload\n 0x01\n swap2\n dup3\n add\n sstore\n /* \"contracts/ExternalBribe.sol\":6567:6584 _nCheckPoints + 1 */\n tag_344\n swap1\n /* \"contracts/ExternalBribe.sol\":6472:6485 _nCheckPoints */\n dup4\n swap1\n /* \"contracts/ExternalBribe.sol\":6567:6584 _nCheckPoints + 1 */\n tag_141\n jump\t// in\n tag_344:\n /* \"contracts/ExternalBribe.sol\":6544:6564 supplyNumCheckpoints */\n 0x0a\n /* \"contracts/ExternalBribe.sol\":6544:6584 supplyNumCheckpoints = _nCheckPoints + 1 */\n sstore\n /* \"contracts/ExternalBribe.sol\":6160:6601 {... */\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":6117:6601 function _writeSupplyCheckpoint() internal {... */\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":11987:12309 function _safeTransfer(address token, address to, uint256 value) internal {... */\n tag_260:\n /* \"contracts/ExternalBribe.sol\":12099:12100 0 */\n 0x00\n /* \"contracts/ExternalBribe.sol\":12079:12084 token */\n dup4\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":12079:12096 token.code.length */\n and\n extcodesize\n /* \"contracts/ExternalBribe.sol\":12079:12100 token.code.length > 0 */\n gt\n /* \"contracts/ExternalBribe.sol\":12071:12101 require(token.code.length > 0) */\n tag_346\n jumpi\n 0x00\n dup1\n revert\n tag_346:\n /* \"contracts/ExternalBribe.sol\":12166:12225 abi.encodeWithSelector(IERC20.transfer.selector, to, value) */\n 0x40\n dup1\n mload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":6798:6830 */\n dup5\n dup2\n and\n /* \"contracts/ExternalBribe.sol\":12166:12225 abi.encodeWithSelector(IERC20.transfer.selector, to, value) */\n 0x24\n dup4\n add\n /* \"#utility.yul\":6780:6831 */\n mstore\n /* \"#utility.yul\":6847:6865 */\n 0x44\n dup1\n dup4\n add\n /* \"#utility.yul\":6840:6874 */\n dup6\n swap1\n mstore\n /* \"contracts/ExternalBribe.sol\":12166:12225 abi.encodeWithSelector(IERC20.transfer.selector, to, value) */\n dup4\n mload\n dup1\n dup5\n sub\n swap1\n swap2\n add\n dup2\n mstore\n /* \"#utility.yul\":6753:6771 */\n 0x64\n swap1\n swap3\n add\n /* \"contracts/ExternalBribe.sol\":12166:12225 abi.encodeWithSelector(IERC20.transfer.selector, to, value) */\n dup4\n mstore\n 0x20\n dup3\n add\n dup1\n mload\n sub(shl(0xe0, 0x01), 0x01)\n and\n shl(0xe0, 0xa9059cbb)\n or\n swap1\n mstore\n /* \"contracts/ExternalBribe.sol\":12155:12226 token.call(abi.encodeWithSelector(IERC20.transfer.selector, to, value)) */\n swap2\n mload\n 0x00\n swap3\n dup4\n swap3\n /* \"contracts/ExternalBribe.sol\":12155:12165 token.call */\n swap1\n dup8\n and\n swap2\n /* \"contracts/ExternalBribe.sol\":12155:12226 token.call(abi.encodeWithSelector(IERC20.transfer.selector, to, value)) */\n tag_348\n swap2\n /* \"contracts/ExternalBribe.sol\":12166:12225 abi.encodeWithSelector(IERC20.transfer.selector, to, value) */\n swap1\n /* \"contracts/ExternalBribe.sol\":12155:12226 token.call(abi.encodeWithSelector(IERC20.transfer.selector, to, value)) */\n tag_349\n jump\t// in\n tag_348:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup7\n gas\n call\n swap2\n pop\n pop\n returndatasize\n dup1\n 0x00\n dup2\n eq\n tag_352\n jumpi\n mload(0x40)\n swap2\n pop\n and(add(returndatasize, 0x3f), not(0x1f))\n dup3\n add\n 0x40\n mstore\n returndatasize\n dup3\n mstore\n returndatasize\n 0x00\n 0x20\n dup5\n add\n returndatacopy\n jump(tag_351)\n tag_352:\n 0x60\n swap2\n pop\n tag_351:\n pop\n /* \"contracts/ExternalBribe.sol\":12111:12226 (bool success, bytes memory data) =... */\n swap2\n pop\n swap2\n pop\n /* \"contracts/ExternalBribe.sol\":12244:12251 success */\n dup2\n /* \"contracts/ExternalBribe.sol\":12244:12301 success && (data.length == 0 || abi.decode(data, (bool))) */\n dup1\n iszero\n tag_355\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":12256:12267 data.length */\n dup1\n mload\n /* \"contracts/ExternalBribe.sol\":12256:12272 data.length == 0 */\n iszero\n dup1\n /* \"contracts/ExternalBribe.sol\":12256:12300 data.length == 0 || abi.decode(data, (bool)) */\n tag_355\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":12287:12291 data */\n dup1\n /* \"contracts/ExternalBribe.sol\":12276:12300 abi.decode(data, (bool)) */\n dup1\n 0x20\n add\n swap1\n mload\n dup2\n add\n swap1\n tag_355\n swap2\n swap1\n tag_274\n jump\t// in\n tag_355:\n /* \"contracts/ExternalBribe.sol\":12236:12302 require(success && (data.length == 0 || abi.decode(data, (bool)))) */\n tag_356\n jumpi\n 0x00\n dup1\n revert\n tag_356:\n /* \"contracts/ExternalBribe.sol\":12061:12309 {... */\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":11987:12309 function _safeTransfer(address token, address to, uint256 value) internal {... */\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/ExternalBribe.sol\":12315:12665 function _safeTransferFrom(address token, address from, address to, uint256 value) internal {... */\n tag_283:\n /* \"contracts/ExternalBribe.sol\":12445:12446 0 */\n 0x00\n /* \"contracts/ExternalBribe.sol\":12425:12430 token */\n dup5\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/ExternalBribe.sol\":12425:12442 token.code.length */\n and\n extcodesize\n /* \"contracts/ExternalBribe.sol\":12425:12446 token.code.length > 0 */\n gt\n /* \"contracts/ExternalBribe.sol\":12417:12447 require(token.code.length > 0) */\n tag_358\n jumpi\n 0x00\n dup1\n revert\n tag_358:\n /* \"contracts/ExternalBribe.sol\":12512:12581 abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value) */\n 0x40\n dup1\n mload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":7691:7706 */\n dup6\n dup2\n and\n /* \"contracts/ExternalBribe.sol\":12512:12581 abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value) */\n 0x24\n dup4\n add\n /* \"#utility.yul\":7673:7707 */\n mstore\n /* \"#utility.yul\":7743:7758 */\n dup5\n dup2\n and\n /* \"#utility.yul\":7723:7741 */\n 0x44\n dup4\n add\n /* \"#utility.yul\":7716:7759 */\n mstore\n /* \"#utility.yul\":7775:7793 */\n 0x64\n dup1\n dup4\n add\n /* \"#utility.yul\":7768:7802 */\n dup6\n swap1\n mstore\n /* \"contracts/ExternalBribe.sol\":12512:12581 abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value) */\n dup4\n mload\n dup1\n dup5\n sub\n swap1\n swap2\n add\n dup2\n mstore\n /* \"#utility.yul\":7608:7626 */\n 0x84\n swap1\n swap3\n add\n /* \"contracts/ExternalBribe.sol\":12512:12581 abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value) */\n dup4\n mstore\n 0x20\n dup3\n add\n dup1\n mload\n sub(shl(0xe0, 0x01), 0x01)\n and\n shl(0xe0, 0x23b872dd)\n or\n swap1\n mstore\n /* \"contracts/ExternalBribe.sol\":12501:12582 token.call(abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value)) */\n swap2\n mload\n 0x00\n swap3\n dup4\n swap3\n /* \"contracts/ExternalBribe.sol\":12501:12511 token.call */\n swap1\n dup9\n and\n swap2\n /* \"contracts/ExternalBribe.sol\":12501:12582 token.call(abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value)) */\n tag_361\n swap2\n /* \"contracts/ExternalBribe.sol\":12512:12581 abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value) */\n swap1\n /* \"contracts/ExternalBribe.sol\":12501:12582 token.call(abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value)) */\n tag_349\n jump\t// in\n tag_361:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup7\n gas\n call\n swap2\n pop\n pop\n returndatasize\n dup1\n 0x00\n dup2\n eq\n tag_364\n jumpi\n mload(0x40)\n swap2\n pop\n and(add(returndatasize, 0x3f), not(0x1f))\n dup3\n add\n 0x40\n mstore\n returndatasize\n dup3\n mstore\n returndatasize\n 0x00\n 0x20\n dup5\n add\n returndatacopy\n jump(tag_363)\n tag_364:\n 0x60\n swap2\n pop\n tag_363:\n pop\n /* \"contracts/ExternalBribe.sol\":12457:12582 (bool success, bytes memory data) =... */\n swap2\n pop\n swap2\n pop\n /* \"contracts/ExternalBribe.sol\":12600:12607 success */\n dup2\n /* \"contracts/ExternalBribe.sol\":12600:12657 success && (data.length == 0 || abi.decode(data, (bool))) */\n dup1\n iszero\n tag_367\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":12612:12623 data.length */\n dup1\n mload\n /* \"contracts/ExternalBribe.sol\":12612:12628 data.length == 0 */\n iszero\n dup1\n /* \"contracts/ExternalBribe.sol\":12612:12656 data.length == 0 || abi.decode(data, (bool)) */\n tag_367\n jumpi\n pop\n /* \"contracts/ExternalBribe.sol\":12643:12647 data */\n dup1\n /* \"contracts/ExternalBribe.sol\":12632:12656 abi.decode(data, (bool)) */\n dup1\n 0x20\n add\n swap1\n mload\n dup2\n add\n swap1\n tag_367\n swap2\n swap1\n tag_274\n jump\t// in\n tag_367:\n /* \"contracts/ExternalBribe.sol\":12592:12658 require(success && (data.length == 0 || abi.decode(data, (bool)))) */\n tag_368\n jumpi\n 0x00\n dup1\n revert\n tag_368:\n /* \"contracts/ExternalBribe.sol\":12407:12665 {... */\n pop\n pop\n /* \"contracts/ExternalBribe.sol\":12315:12665 function _safeTransferFrom(address token, address from, address to, uint256 value) internal {... */\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":14:194 */\n tag_36:\n /* \"#utility.yul\":73:79 */\n 0x00\n /* \"#utility.yul\":126:128 */\n 0x20\n /* \"#utility.yul\":114:123 */\n dup3\n /* \"#utility.yul\":105:112 */\n dup5\n /* \"#utility.yul\":101:124 */\n sub\n /* \"#utility.yul\":97:129 */\n slt\n /* \"#utility.yul\":94:146 */\n iszero\n tag_376\n jumpi\n /* \"#utility.yul\":142:143 */\n 0x00\n /* \"#utility.yul\":139:140 */\n dup1\n /* \"#utility.yul\":132:144 */\n revert\n /* \"#utility.yul\":94:146 */\n tag_376:\n pop\n /* \"#utility.yul\":165:188 */\n calldataload\n swap2\n /* \"#utility.yul\":14:194 */\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":381:512 */\n tag_369:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":456:487 */\n dup2\n and\n /* \"#utility.yul\":446:488 */\n dup2\n eq\n /* \"#utility.yul\":436:506 */\n tag_379\n jumpi\n /* \"#utility.yul\":502:503 */\n 0x00\n /* \"#utility.yul\":499:500 */\n dup1\n /* \"#utility.yul\":492:504 */\n revert\n /* \"#utility.yul\":436:506 */\n tag_379:\n /* \"#utility.yul\":381:512 */\n pop\n jump\t// out\n /* \"#utility.yul\":517:651 */\n tag_370:\n /* \"#utility.yul\":585:605 */\n dup1\n calldataload\n /* \"#utility.yul\":614:645 */\n tag_381\n /* \"#utility.yul\":585:605 */\n dup2\n /* \"#utility.yul\":614:645 */\n tag_369\n jump\t// in\n tag_381:\n /* \"#utility.yul\":517:651 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":656:971 */\n tag_45:\n /* \"#utility.yul\":724:730 */\n 0x00\n /* \"#utility.yul\":732:738 */\n dup1\n /* \"#utility.yul\":785:787 */\n 0x40\n /* \"#utility.yul\":773:782 */\n dup4\n /* \"#utility.yul\":764:771 */\n dup6\n /* \"#utility.yul\":760:783 */\n sub\n /* \"#utility.yul\":756:788 */\n slt\n /* \"#utility.yul\":753:805 */\n iszero\n tag_383\n jumpi\n /* \"#utility.yul\":801:802 */\n 0x00\n /* \"#utility.yul\":798:799 */\n dup1\n /* \"#utility.yul\":791:803 */\n revert\n /* \"#utility.yul\":753:805 */\n tag_383:\n /* \"#utility.yul\":840:849 */\n dup3\n /* \"#utility.yul\":827:850 */\n calldataload\n /* \"#utility.yul\":859:890 */\n tag_384\n /* \"#utility.yul\":884:889 */\n dup2\n /* \"#utility.yul\":859:890 */\n tag_369\n jump\t// in\n tag_384:\n /* \"#utility.yul\":909:914 */\n swap5\n /* \"#utility.yul\":961:963 */\n 0x20\n /* \"#utility.yul\":946:964 */\n swap4\n swap1\n swap4\n add\n /* \"#utility.yul\":933:965 */\n calldataload\n swap4\n pop\n pop\n pop\n /* \"#utility.yul\":656:971 */\n jump\t// out\n /* \"#utility.yul\":1184:1432 */\n tag_54:\n /* \"#utility.yul\":1252:1258 */\n 0x00\n /* \"#utility.yul\":1260:1266 */\n dup1\n /* \"#utility.yul\":1313:1315 */\n 0x40\n /* \"#utility.yul\":1301:1310 */\n dup4\n /* \"#utility.yul\":1292:1299 */\n dup6\n /* \"#utility.yul\":1288:1311 */\n sub\n /* \"#utility.yul\":1284:1316 */\n slt\n /* \"#utility.yul\":1281:1333 */\n iszero\n tag_387\n jumpi\n /* \"#utility.yul\":1329:1330 */\n 0x00\n /* \"#utility.yul\":1326:1327 */\n dup1\n /* \"#utility.yul\":1319:1331 */\n revert\n /* \"#utility.yul\":1281:1333 */\n tag_387:\n pop\n pop\n /* \"#utility.yul\":1352:1375 */\n dup1\n calldataload\n swap3\n /* \"#utility.yul\":1422:1424 */\n 0x20\n /* \"#utility.yul\":1407:1425 */\n swap1\n swap2\n add\n /* \"#utility.yul\":1394:1426 */\n calldataload\n swap2\n pop\n /* \"#utility.yul\":1184:1432 */\n jump\t// out\n /* \"#utility.yul\":1690:1937 */\n tag_60:\n /* \"#utility.yul\":1749:1755 */\n 0x00\n /* \"#utility.yul\":1802:1804 */\n 0x20\n /* \"#utility.yul\":1790:1799 */\n dup3\n /* \"#utility.yul\":1781:1788 */\n dup5\n /* \"#utility.yul\":1777:1800 */\n sub\n /* \"#utility.yul\":1773:1805 */\n slt\n /* \"#utility.yul\":1770:1822 */\n iszero\n tag_390\n jumpi\n /* \"#utility.yul\":1818:1819 */\n 0x00\n /* \"#utility.yul\":1815:1816 */\n dup1\n /* \"#utility.yul\":1808:1820 */\n revert\n /* \"#utility.yul\":1770:1822 */\n tag_390:\n /* \"#utility.yul\":1857:1866 */\n dup2\n /* \"#utility.yul\":1844:1867 */\n calldataload\n /* \"#utility.yul\":1876:1907 */\n tag_183\n /* \"#utility.yul\":1901:1906 */\n dup2\n /* \"#utility.yul\":1876:1907 */\n tag_369\n jump\t// in\n /* \"#utility.yul\":2134:2590 */\n tag_85:\n /* \"#utility.yul\":2211:2217 */\n 0x00\n /* \"#utility.yul\":2219:2225 */\n dup1\n /* \"#utility.yul\":2227:2233 */\n 0x00\n /* \"#utility.yul\":2280:2282 */\n 0x60\n /* \"#utility.yul\":2268:2277 */\n dup5\n /* \"#utility.yul\":2259:2266 */\n dup7\n /* \"#utility.yul\":2255:2278 */\n sub\n /* \"#utility.yul\":2251:2283 */\n slt\n /* \"#utility.yul\":2248:2300 */\n iszero\n tag_394\n jumpi\n /* \"#utility.yul\":2296:2297 */\n 0x00\n /* \"#utility.yul\":2293:2294 */\n dup1\n /* \"#utility.yul\":2286:2298 */\n revert\n /* \"#utility.yul\":2248:2300 */\n tag_394:\n /* \"#utility.yul\":2332:2341 */\n dup4\n /* \"#utility.yul\":2319:2342 */\n calldataload\n /* \"#utility.yul\":2309:2342 */\n swap3\n pop\n /* \"#utility.yul\":2392:2394 */\n 0x20\n /* \"#utility.yul\":2381:2390 */\n dup5\n /* \"#utility.yul\":2377:2395 */\n add\n /* \"#utility.yul\":2364:2396 */\n calldataload\n /* \"#utility.yul\":2405:2436 */\n tag_395\n /* \"#utility.yul\":2430:2435 */\n dup2\n /* \"#utility.yul\":2405:2436 */\n tag_369\n jump\t// in\n tag_395:\n /* \"#utility.yul\":2455:2460 */\n swap2\n pop\n /* \"#utility.yul\":2512:2514 */\n 0x40\n /* \"#utility.yul\":2497:2515 */\n dup5\n add\n /* \"#utility.yul\":2484:2516 */\n calldataload\n /* \"#utility.yul\":2525:2558 */\n tag_396\n /* \"#utility.yul\":2484:2516 */\n dup2\n /* \"#utility.yul\":2525:2558 */\n tag_369\n jump\t// in\n tag_396:\n /* \"#utility.yul\":2577:2584 */\n dup1\n /* \"#utility.yul\":2567:2584 */\n swap2\n pop\n pop\n /* \"#utility.yul\":2134:2590 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":2595:2722 */\n tag_371:\n /* \"#utility.yul\":2656:2666 */\n 0x4e487b71\n /* \"#utility.yul\":2651:2654 */\n 0xe0\n /* \"#utility.yul\":2647:2667 */\n shl\n /* \"#utility.yul\":2644:2645 */\n 0x00\n /* \"#utility.yul\":2637:2668 */\n mstore\n /* \"#utility.yul\":2687:2691 */\n 0x41\n /* \"#utility.yul\":2684:2685 */\n 0x04\n /* \"#utility.yul\":2677:2692 */\n mstore\n /* \"#utility.yul\":2711:2715 */\n 0x24\n /* \"#utility.yul\":2708:2709 */\n 0x00\n /* \"#utility.yul\":2701:2716 */\n revert\n /* \"#utility.yul\":2727:3916 */\n tag_104:\n /* \"#utility.yul\":2820:2826 */\n 0x00\n /* \"#utility.yul\":2828:2834 */\n dup1\n /* \"#utility.yul\":2881:2883 */\n 0x40\n /* \"#utility.yul\":2869:2878 */\n dup4\n /* \"#utility.yul\":2860:2867 */\n dup6\n /* \"#utility.yul\":2856:2879 */\n sub\n /* \"#utility.yul\":2852:2884 */\n slt\n /* \"#utility.yul\":2849:2901 */\n iszero\n tag_399\n jumpi\n /* \"#utility.yul\":2897:2898 */\n 0x00\n /* \"#utility.yul\":2894:2895 */\n dup1\n /* \"#utility.yul\":2887:2899 */\n revert\n /* \"#utility.yul\":2849:2901 */\n tag_399:\n /* \"#utility.yul\":2933:2942 */\n dup3\n /* \"#utility.yul\":2920:2943 */\n calldataload\n /* \"#utility.yul\":2910:2943 */\n swap2\n pop\n /* \"#utility.yul\":2962:2964 */\n 0x20\n /* \"#utility.yul\":3015:3017 */\n dup1\n /* \"#utility.yul\":3004:3013 */\n dup5\n /* \"#utility.yul\":3000:3018 */\n add\n /* \"#utility.yul\":2987:3019 */\n calldataload\n /* \"#utility.yul\":3038:3056 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3079:3081 */\n dup1\n /* \"#utility.yul\":3071:3077 */\n dup3\n /* \"#utility.yul\":3068:3082 */\n gt\n /* \"#utility.yul\":3065:3099 */\n iszero\n tag_400\n jumpi\n /* \"#utility.yul\":3095:3096 */\n 0x00\n /* \"#utility.yul\":3092:3093 */\n dup1\n /* \"#utility.yul\":3085:3097 */\n revert\n /* \"#utility.yul\":3065:3099 */\n tag_400:\n /* \"#utility.yul\":3133:3139 */\n dup2\n /* \"#utility.yul\":3122:3131 */\n dup7\n /* \"#utility.yul\":3118:3140 */\n add\n /* \"#utility.yul\":3108:3140 */\n swap2\n pop\n /* \"#utility.yul\":3178:3185 */\n dup7\n /* \"#utility.yul\":3171:3175 */\n 0x1f\n /* \"#utility.yul\":3167:3169 */\n dup4\n /* \"#utility.yul\":3163:3176 */\n add\n /* \"#utility.yul\":3159:3186 */\n slt\n /* \"#utility.yul\":3149:3204 */\n tag_401\n jumpi\n /* \"#utility.yul\":3200:3201 */\n 0x00\n /* \"#utility.yul\":3197:3198 */\n dup1\n /* \"#utility.yul\":3190:3202 */\n revert\n /* \"#utility.yul\":3149:3204 */\n tag_401:\n /* \"#utility.yul\":3236:3238 */\n dup2\n /* \"#utility.yul\":3223:3239 */\n calldataload\n /* \"#utility.yul\":3258:3260 */\n dup2\n /* \"#utility.yul\":3254:3256 */\n dup2\n /* \"#utility.yul\":3251:3261 */\n gt\n /* \"#utility.yul\":3248:3284 */\n iszero\n tag_403\n jumpi\n /* \"#utility.yul\":3264:3282 */\n tag_403\n tag_371\n jump\t// in\n tag_403:\n /* \"#utility.yul\":3310:3312 */\n dup1\n /* \"#utility.yul\":3307:3308 */\n 0x05\n /* \"#utility.yul\":3303:3313 */\n shl\n /* \"#utility.yul\":3342:3344 */\n 0x40\n /* \"#utility.yul\":3336:3345 */\n mload\n /* \"#utility.yul\":3405:3407 */\n 0x1f\n /* \"#utility.yul\":3401:3408 */\n not\n /* \"#utility.yul\":3396:3398 */\n 0x3f\n /* \"#utility.yul\":3392:3394 */\n dup4\n /* \"#utility.yul\":3388:3399 */\n add\n /* \"#utility.yul\":3384:3409 */\n and\n /* \"#utility.yul\":3376:3382 */\n dup2\n /* \"#utility.yul\":3372:3410 */\n add\n /* \"#utility.yul\":3460:3466 */\n dup2\n /* \"#utility.yul\":3448:3458 */\n dup2\n /* \"#utility.yul\":3445:3467 */\n lt\n /* \"#utility.yul\":3440:3442 */\n dup6\n /* \"#utility.yul\":3428:3438 */\n dup3\n /* \"#utility.yul\":3425:3443 */\n gt\n /* \"#utility.yul\":3422:3468 */\n or\n /* \"#utility.yul\":3419:3491 */\n iszero\n tag_405\n jumpi\n /* \"#utility.yul\":3471:3489 */\n tag_405\n tag_371\n jump\t// in\n tag_405:\n /* \"#utility.yul\":3507:3509 */\n 0x40\n /* \"#utility.yul\":3500:3522 */\n mstore\n /* \"#utility.yul\":3557:3575 */\n swap2\n dup3\n mstore\n /* \"#utility.yul\":3591:3606 */\n dup5\n dup3\n add\n swap3\n pop\n /* \"#utility.yul\":3633:3644 */\n dup4\n dup2\n add\n /* \"#utility.yul\":3629:3649 */\n dup6\n add\n swap2\n /* \"#utility.yul\":3661:3680 */\n dup10\n dup4\n gt\n /* \"#utility.yul\":3658:3697 */\n iszero\n tag_406\n jumpi\n /* \"#utility.yul\":3693:3694 */\n 0x00\n /* \"#utility.yul\":3690:3691 */\n dup1\n /* \"#utility.yul\":3683:3695 */\n revert\n /* \"#utility.yul\":3658:3697 */\n tag_406:\n /* \"#utility.yul\":3717:3728 */\n swap4\n dup6\n add\n swap4\n /* \"#utility.yul\":3737:3885 */\n tag_407:\n /* \"#utility.yul\":3753:3759 */\n dup3\n /* \"#utility.yul\":3748:3751 */\n dup6\n /* \"#utility.yul\":3745:3760 */\n lt\n /* \"#utility.yul\":3737:3885 */\n iszero\n tag_409\n jumpi\n /* \"#utility.yul\":3819:3842 */\n tag_410\n /* \"#utility.yul\":3838:3841 */\n dup6\n /* \"#utility.yul\":3819:3842 */\n tag_370\n jump\t// in\n tag_410:\n /* \"#utility.yul\":3807:3843 */\n dup5\n mstore\n /* \"#utility.yul\":3770:3782 */\n swap4\n dup6\n add\n swap4\n /* \"#utility.yul\":3863:3875 */\n swap3\n dup6\n add\n swap3\n /* \"#utility.yul\":3737:3885 */\n jump(tag_407)\n tag_409:\n /* \"#utility.yul\":3904:3910 */\n dup1\n /* \"#utility.yul\":3894:3910 */\n swap7\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n /* \"#utility.yul\":2727:3916 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3921:4048 */\n tag_372:\n /* \"#utility.yul\":3982:3992 */\n 0x4e487b71\n /* \"#utility.yul\":3977:3980 */\n 0xe0\n /* \"#utility.yul\":3973:3993 */\n shl\n /* \"#utility.yul\":3970:3971 */\n 0x00\n /* \"#utility.yul\":3963:3994 */\n mstore\n /* \"#utility.yul\":4013:4017 */\n 0x11\n /* \"#utility.yul\":4010:4011 */\n 0x04\n /* \"#utility.yul\":4003:4018 */\n mstore\n /* \"#utility.yul\":4037:4041 */\n 0x24\n /* \"#utility.yul\":4034:4035 */\n 0x00\n /* \"#utility.yul\":4027:4042 */\n revert\n /* \"#utility.yul\":4053:4181 */\n tag_141:\n /* \"#utility.yul\":4093:4096 */\n 0x00\n /* \"#utility.yul\":4124:4125 */\n dup3\n /* \"#utility.yul\":4120:4126 */\n not\n /* \"#utility.yul\":4117:4118 */\n dup3\n /* \"#utility.yul\":4114:4127 */\n gt\n /* \"#utility.yul\":4111:4150 */\n iszero\n tag_414\n jumpi\n /* \"#utility.yul\":4130:4148 */\n tag_414\n tag_372\n jump\t// in\n tag_414:\n pop\n /* \"#utility.yul\":4166:4175 */\n add\n swap1\n /* \"#utility.yul\":4053:4181 */\n jump\t// out\n /* \"#utility.yul\":4186:4311 */\n tag_149:\n /* \"#utility.yul\":4226:4230 */\n 0x00\n /* \"#utility.yul\":4254:4255 */\n dup3\n /* \"#utility.yul\":4251:4252 */\n dup3\n /* \"#utility.yul\":4248:4256 */\n lt\n /* \"#utility.yul\":4245:4279 */\n iszero\n tag_417\n jumpi\n /* \"#utility.yul\":4259:4277 */\n tag_417\n tag_372\n jump\t// in\n tag_417:\n pop\n /* \"#utility.yul\":4296:4305 */\n sub\n swap1\n /* \"#utility.yul\":4186:4311 */\n jump\t// out\n /* \"#utility.yul\":4316:4484 */\n tag_164:\n /* \"#utility.yul\":4356:4363 */\n 0x00\n /* \"#utility.yul\":4422:4423 */\n dup2\n /* \"#utility.yul\":4418:4419 */\n 0x00\n /* \"#utility.yul\":4414:4420 */\n not\n /* \"#utility.yul\":4410:4424 */\n div\n /* \"#utility.yul\":4407:4408 */\n dup4\n /* \"#utility.yul\":4404:4425 */\n gt\n /* \"#utility.yul\":4399:4400 */\n dup3\n /* \"#utility.yul\":4392:4401 */\n iszero\n /* \"#utility.yul\":4385:4402 */\n iszero\n /* \"#utility.yul\":4381:4426 */\n and\n /* \"#utility.yul\":4378:4449 */\n iszero\n tag_420\n jumpi\n /* \"#utility.yul\":4429:4447 */\n tag_420\n tag_372\n jump\t// in\n tag_420:\n pop\n /* \"#utility.yul\":4469:4478 */\n mul\n swap1\n /* \"#utility.yul\":4316:4484 */\n jump\t// out\n /* \"#utility.yul\":4489:4616 */\n tag_373:\n /* \"#utility.yul\":4550:4560 */\n 0x4e487b71\n /* \"#utility.yul\":4545:4548 */\n 0xe0\n /* \"#utility.yul\":4541:4561 */\n shl\n /* \"#utility.yul\":4538:4539 */\n 0x00\n /* \"#utility.yul\":4531:4562 */\n mstore\n /* \"#utility.yul\":4581:4585 */\n 0x12\n /* \"#utility.yul\":4578:4579 */\n 0x04\n /* \"#utility.yul\":4571:4586 */\n mstore\n /* \"#utility.yul\":4605:4609 */\n 0x24\n /* \"#utility.yul\":4602:4603 */\n 0x00\n /* \"#utility.yul\":4595:4610 */\n revert\n /* \"#utility.yul\":4621:4741 */\n tag_166:\n /* \"#utility.yul\":4661:4662 */\n 0x00\n /* \"#utility.yul\":4687:4688 */\n dup3\n /* \"#utility.yul\":4677:4712 */\n tag_424\n jumpi\n /* \"#utility.yul\":4692:4710 */\n tag_424\n tag_373\n jump\t// in\n tag_424:\n pop\n /* \"#utility.yul\":4726:4735 */\n div\n swap1\n /* \"#utility.yul\":4621:4741 */\n jump\t// out\n /* \"#utility.yul\":4746:4881 */\n tag_168:\n /* \"#utility.yul\":4785:4788 */\n 0x00\n /* \"#utility.yul\":4806:4823 */\n 0x01\n dup3\n add\n /* \"#utility.yul\":4803:4846 */\n tag_427\n jumpi\n /* \"#utility.yul\":4826:4844 */\n tag_427\n tag_372\n jump\t// in\n tag_427:\n pop\n /* \"#utility.yul\":4873:4874 */\n 0x01\n /* \"#utility.yul\":4862:4875 */\n add\n swap1\n /* \"#utility.yul\":4746:4881 */\n jump\t// out\n /* \"#utility.yul\":4886:5137 */\n tag_200:\n /* \"#utility.yul\":4956:4962 */\n 0x00\n /* \"#utility.yul\":5009:5011 */\n 0x20\n /* \"#utility.yul\":4997:5006 */\n dup3\n /* \"#utility.yul\":4988:4995 */\n dup5\n /* \"#utility.yul\":4984:5007 */\n sub\n /* \"#utility.yul\":4980:5012 */\n slt\n /* \"#utility.yul\":4977:5029 */\n iszero\n tag_429\n jumpi\n /* \"#utility.yul\":5025:5026 */\n 0x00\n /* \"#utility.yul\":5022:5023 */\n dup1\n /* \"#utility.yul\":5015:5027 */\n revert\n /* \"#utility.yul\":4977:5029 */\n tag_429:\n /* \"#utility.yul\":5057:5066 */\n dup2\n /* \"#utility.yul\":5051:5067 */\n mload\n /* \"#utility.yul\":5076:5107 */\n tag_183\n /* \"#utility.yul\":5101:5106 */\n dup2\n /* \"#utility.yul\":5076:5107 */\n tag_369\n jump\t// in\n /* \"#utility.yul\":5479:5606 */\n tag_206:\n /* \"#utility.yul\":5540:5550 */\n 0x4e487b71\n /* \"#utility.yul\":5535:5538 */\n 0xe0\n /* \"#utility.yul\":5531:5551 */\n shl\n /* \"#utility.yul\":5528:5529 */\n 0x00\n /* \"#utility.yul\":5521:5552 */\n mstore\n /* \"#utility.yul\":5571:5575 */\n 0x32\n /* \"#utility.yul\":5568:5569 */\n 0x04\n /* \"#utility.yul\":5561:5576 */\n mstore\n /* \"#utility.yul\":5595:5599 */\n 0x24\n /* \"#utility.yul\":5592:5593 */\n 0x00\n /* \"#utility.yul\":5585:5600 */\n revert\n /* \"#utility.yul\":5611:5888 */\n tag_274:\n /* \"#utility.yul\":5678:5684 */\n 0x00\n /* \"#utility.yul\":5731:5733 */\n 0x20\n /* \"#utility.yul\":5719:5728 */\n dup3\n /* \"#utility.yul\":5710:5717 */\n dup5\n /* \"#utility.yul\":5706:5729 */\n sub\n /* \"#utility.yul\":5702:5734 */\n slt\n /* \"#utility.yul\":5699:5751 */\n iszero\n tag_434\n jumpi\n /* \"#utility.yul\":5747:5748 */\n 0x00\n /* \"#utility.yul\":5744:5745 */\n dup1\n /* \"#utility.yul\":5737:5749 */\n revert\n /* \"#utility.yul\":5699:5751 */\n tag_434:\n /* \"#utility.yul\":5779:5788 */\n dup2\n /* \"#utility.yul\":5773:5789 */\n mload\n /* \"#utility.yul\":5832:5837 */\n dup1\n /* \"#utility.yul\":5825:5838 */\n iszero\n /* \"#utility.yul\":5818:5839 */\n iszero\n /* \"#utility.yul\":5811:5816 */\n dup2\n /* \"#utility.yul\":5808:5840 */\n eq\n /* \"#utility.yul\":5798:5858 */\n tag_183\n jumpi\n /* \"#utility.yul\":5854:5855 */\n 0x00\n /* \"#utility.yul\":5851:5852 */\n dup1\n /* \"#utility.yul\":5844:5856 */\n revert\n /* \"#utility.yul\":6885:6997 */\n tag_326:\n /* \"#utility.yul\":6917:6918 */\n 0x00\n /* \"#utility.yul\":6943:6944 */\n dup3\n /* \"#utility.yul\":6933:6968 */\n tag_441\n jumpi\n /* \"#utility.yul\":6948:6966 */\n tag_441\n tag_373\n jump\t// in\n tag_441:\n pop\n /* \"#utility.yul\":6982:6991 */\n mod\n swap1\n /* \"#utility.yul\":6885:6997 */\n jump\t// out\n /* \"#utility.yul\":7002:7428 */\n tag_349:\n /* \"#utility.yul\":7131:7134 */\n 0x00\n /* \"#utility.yul\":7169:7175 */\n dup3\n /* \"#utility.yul\":7163:7176 */\n mload\n /* \"#utility.yul\":7194:7195 */\n 0x00\n /* \"#utility.yul\":7204:7333 */\n tag_443:\n /* \"#utility.yul\":7218:7224 */\n dup2\n /* \"#utility.yul\":7215:7216 */\n dup2\n /* \"#utility.yul\":7212:7225 */\n lt\n /* \"#utility.yul\":7204:7333 */\n iszero\n tag_445\n jumpi\n /* \"#utility.yul\":7316:7320 */\n 0x20\n /* \"#utility.yul\":7300:7314 */\n dup2\n dup7\n add\n /* \"#utility.yul\":7296:7321 */\n dup2\n add\n /* \"#utility.yul\":7290:7322 */\n mload\n /* \"#utility.yul\":7277:7288 */\n dup6\n dup4\n add\n /* \"#utility.yul\":7270:7323 */\n mstore\n /* \"#utility.yul\":7233:7245 */\n add\n /* \"#utility.yul\":7204:7333 */\n jump(tag_443)\n tag_445:\n /* \"#utility.yul\":7351:7357 */\n dup2\n /* \"#utility.yul\":7348:7349 */\n dup2\n /* \"#utility.yul\":7345:7358 */\n gt\n /* \"#utility.yul\":7342:7390 */\n iszero\n tag_446\n jumpi\n /* \"#utility.yul\":7386:7387 */\n 0x00\n /* \"#utility.yul\":7377:7383 */\n dup3\n /* \"#utility.yul\":7372:7375 */\n dup6\n /* \"#utility.yul\":7368:7384 */\n add\n /* \"#utility.yul\":7361:7388 */\n mstore\n /* \"#utility.yul\":7342:7390 */\n tag_446:\n pop\n /* \"#utility.yul\":7406:7422 */\n swap2\n swap1\n swap2\n add\n swap3\n /* \"#utility.yul\":7002:7428 */\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122059607273b815a71b809cf36a52c23302955008467736f0fffdb83feacb2e0c6964736f6c634300080d0033\n}\n",
bytecode: {
functionDebugData: {
"@_178": {
entryPoint: null,
id: 178,
parameterSlots: 2,
returnSlots: 0,
},
abi_decode_address_fromMemory: {
entryPoint: 453,
id: null,
parameterSlots: 1,
returnSlots: 1,
},
abi_decode_tuple_t_address_fromMemory: {
entryPoint: 737,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptr_fromMemory: {
entryPoint: 504,
id: null,
parameterSlots: 2,
returnSlots: 2,
},
increment_t_uint256: {
entryPoint: 796,
id: null,
parameterSlots: 1,
returnSlots: 1,
},
panic_error_0x32: {
entryPoint: 774,
id: null,
parameterSlots: 0,
returnSlots: 0,
},
panic_error_0x41: {
entryPoint: 482,
id: null,
parameterSlots: 0,
returnSlots: 0,
},
},
generatedSources: [
{
ast: {
nodeType: "YulBlock",
src: "0:2126:10",
statements: [
{
nodeType: "YulBlock",
src: "6:3:10",
statements: [
],
},
{
body: {
nodeType: "YulBlock",
src: "74:117:10",
statements: [
{
nodeType: "YulAssignment",
src: "84:22:10",
value: {
arguments: [
{
name: "offset",
nodeType: "YulIdentifier",
src: "99:6:10",
},
],
functionName: {
name: "mload",
nodeType: "YulIdentifier",
src: "93:5:10",
},
nodeType: "YulFunctionCall",
src: "93:13:10",
},
variableNames: [
{
name: "value",
nodeType: "YulIdentifier",
src: "84:5:10",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "169:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "178:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "181:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "171:6:10",
},
nodeType: "YulFunctionCall",
src: "171:12:10",
},
nodeType: "YulExpressionStatement",
src: "171:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "128:5:10",
},
{
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "139:5:10",
},
{
arguments: [
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "154:3:10",
type: "",
value: "160",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "159:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "150:3:10",
},
nodeType: "YulFunctionCall",
src: "150:11:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "163:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "146:3:10",
},
nodeType: "YulFunctionCall",
src: "146:19:10",
},
],
functionName: {
name: "and",
nodeType: "YulIdentifier",
src: "135:3:10",
},
nodeType: "YulFunctionCall",
src: "135:31:10",
},
],
functionName: {
name: "eq",
nodeType: "YulIdentifier",
src: "125:2:10",
},
nodeType: "YulFunctionCall",
src: "125:42:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "118:6:10",
},
nodeType: "YulFunctionCall",
src: "118:50:10",
},
nodeType: "YulIf",
src: "115:70:10",
},
],
},
name: "abi_decode_address_fromMemory",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "offset",
nodeType: "YulTypedName",
src: "53:6:10",
type: "",
},
],
returnVariables: [
{
name: "value",
nodeType: "YulTypedName",
src: "64:5:10",
type: "",
},
],
src: "14:177:10",
},
{
body: {
nodeType: "YulBlock",
src: "228:95:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "245:1:10",
type: "",
value: "0",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "252:3:10",
type: "",
value: "224",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "257:10:10",
type: "",
value: "0x4e487b71",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "248:3:10",
},
nodeType: "YulFunctionCall",
src: "248:20:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "238:6:10",
},
nodeType: "YulFunctionCall",
src: "238:31:10",
},
nodeType: "YulExpressionStatement",
src: "238:31:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "285:1:10",
type: "",
value: "4",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "288:4:10",
type: "",
value: "0x41",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "278:6:10",
},
nodeType: "YulFunctionCall",
src: "278:15:10",
},
nodeType: "YulExpressionStatement",
src: "278:15:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "309:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "312:4:10",
type: "",
value: "0x24",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "302:6:10",
},
nodeType: "YulFunctionCall",
src: "302:15:10",
},
nodeType: "YulExpressionStatement",
src: "302:15:10",
},
],
},
name: "panic_error_0x41",
nodeType: "YulFunctionDefinition",
src: "196:127:10",
},
{
body: {
nodeType: "YulBlock",
src: "451:1091:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "497:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "506:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "509:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "499:6:10",
},
nodeType: "YulFunctionCall",
src: "499:12:10",
},
nodeType: "YulExpressionStatement",
src: "499:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "472:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "481:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "468:3:10",
},
nodeType: "YulFunctionCall",
src: "468:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "493:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "464:3:10",
},
nodeType: "YulFunctionCall",
src: "464:32:10",
},
nodeType: "YulIf",
src: "461:52:10",
},
{
nodeType: "YulAssignment",
src: "522:50:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "562:9:10",
},
],
functionName: {
name: "abi_decode_address_fromMemory",
nodeType: "YulIdentifier",
src: "532:29:10",
},
nodeType: "YulFunctionCall",
src: "532:40:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "522:6:10",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "581:12:10",
value: {
kind: "number",
nodeType: "YulLiteral",
src: "591:2:10",
type: "",
value: "32",
},
variables: [
{
name: "_1",
nodeType: "YulTypedName",
src: "585:2:10",
type: "",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "602:39:10",
value: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "626:9:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "637:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "622:3:10",
},
nodeType: "YulFunctionCall",
src: "622:18:10",
},
],
functionName: {
name: "mload",
nodeType: "YulIdentifier",
src: "616:5:10",
},
nodeType: "YulFunctionCall",
src: "616:25:10",
},
variables: [
{
name: "offset",
nodeType: "YulTypedName",
src: "606:6:10",
type: "",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "650:28:10",
value: {
arguments: [
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "668:2:10",
type: "",
value: "64",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "672:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "664:3:10",
},
nodeType: "YulFunctionCall",
src: "664:10:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "676:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "660:3:10",
},
nodeType: "YulFunctionCall",
src: "660:18:10",
},
variables: [
{
name: "_2",
nodeType: "YulTypedName",
src: "654:2:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "705:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "714:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "717:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "707:6:10",
},
nodeType: "YulFunctionCall",
src: "707:12:10",
},
nodeType: "YulExpressionStatement",
src: "707:12:10",
},
],
},
condition: {
arguments: [
{
name: "offset",
nodeType: "YulIdentifier",
src: "693:6:10",
},
{
name: "_2",
nodeType: "YulIdentifier",
src: "701:2:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "690:2:10",
},
nodeType: "YulFunctionCall",
src: "690:14:10",
},
nodeType: "YulIf",
src: "687:34:10",
},
{
nodeType: "YulVariableDeclaration",
src: "730:32:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "744:9:10",
},
{
name: "offset",
nodeType: "YulIdentifier",
src: "755:6:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "740:3:10",
},
nodeType: "YulFunctionCall",
src: "740:22:10",
},
variables: [
{
name: "_3",
nodeType: "YulTypedName",
src: "734:2:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "810:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "819:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "822:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "812:6:10",
},
nodeType: "YulFunctionCall",
src: "812:12:10",
},
nodeType: "YulExpressionStatement",
src: "812:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
arguments: [
{
name: "_3",
nodeType: "YulIdentifier",
src: "789:2:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "793:4:10",
type: "",
value: "0x1f",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "785:3:10",
},
nodeType: "YulFunctionCall",
src: "785:13:10",
},
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "800:7:10",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "781:3:10",
},
nodeType: "YulFunctionCall",
src: "781:27:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "774:6:10",
},
nodeType: "YulFunctionCall",
src: "774:35:10",
},
nodeType: "YulIf",
src: "771:55:10",
},
{
nodeType: "YulVariableDeclaration",
src: "835:19:10",
value: {
arguments: [
{
name: "_3",
nodeType: "YulIdentifier",
src: "851:2:10",
},
],
functionName: {
name: "mload",
nodeType: "YulIdentifier",
src: "845:5:10",
},
nodeType: "YulFunctionCall",
src: "845:9:10",
},
variables: [
{
name: "_4",
nodeType: "YulTypedName",
src: "839:2:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "877:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x41",
nodeType: "YulIdentifier",
src: "879:16:10",
},
nodeType: "YulFunctionCall",
src: "879:18:10",
},
nodeType: "YulExpressionStatement",
src: "879:18:10",
},
],
},
condition: {
arguments: [
{
name: "_4",
nodeType: "YulIdentifier",
src: "869:2:10",
},
{
name: "_2",
nodeType: "YulIdentifier",
src: "873:2:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "866:2:10",
},
nodeType: "YulFunctionCall",
src: "866:10:10",
},
nodeType: "YulIf",
src: "863:36:10",
},
{
nodeType: "YulVariableDeclaration",
src: "908:20:10",
value: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "922:1:10",
type: "",
value: "5",
},
{
name: "_4",
nodeType: "YulIdentifier",
src: "925:2:10",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "918:3:10",
},
nodeType: "YulFunctionCall",
src: "918:10:10",
},
variables: [
{
name: "_5",
nodeType: "YulTypedName",
src: "912:2:10",
type: "",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "937:23:10",
value: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "957:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "mload",
nodeType: "YulIdentifier",
src: "951:5:10",
},
nodeType: "YulFunctionCall",
src: "951:9:10",
},
variables: [
{
name: "memPtr",
nodeType: "YulTypedName",
src: "941:6:10",
type: "",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "969:56:10",
value: {
arguments: [
{
name: "memPtr",
nodeType: "YulIdentifier",
src: "991:6:10",
},
{
arguments: [
{
arguments: [
{
name: "_5",
nodeType: "YulIdentifier",
src: "1007:2:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1011:2:10",
type: "",
value: "63",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1003:3:10",
},
nodeType: "YulFunctionCall",
src: "1003:11:10",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1020:2:10",
type: "",
value: "31",
},
],
functionName: {
name: "not",
nodeType: "YulIdentifier",
src: "1016:3:10",
},
nodeType: "YulFunctionCall",
src: "1016:7:10",
},
],
functionName: {
name: "and",
nodeType: "YulIdentifier",
src: "999:3:10",
},
nodeType: "YulFunctionCall",
src: "999:25:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "987:3:10",
},
nodeType: "YulFunctionCall",
src: "987:38:10",
},
variables: [
{
name: "newFreePtr",
nodeType: "YulTypedName",
src: "973:10:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "1084:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x41",
nodeType: "YulIdentifier",
src: "1086:16:10",
},
nodeType: "YulFunctionCall",
src: "1086:18:10",
},
nodeType: "YulExpressionStatement",
src: "1086:18:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "newFreePtr",
nodeType: "YulIdentifier",
src: "1043:10:10",
},
{
name: "_2",
nodeType: "YulIdentifier",
src: "1055:2:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "1040:2:10",
},
nodeType: "YulFunctionCall",
src: "1040:18:10",
},
{
arguments: [
{
name: "newFreePtr",
nodeType: "YulIdentifier",
src: "1063:10:10",
},
{
name: "memPtr",
nodeType: "YulIdentifier",
src: "1075:6:10",
},
],
functionName: {
name: "lt",
nodeType: "YulIdentifier",
src: "1060:2:10",
},
nodeType: "YulFunctionCall",
src: "1060:22:10",
},
],
functionName: {
name: "or",
nodeType: "YulIdentifier",
src: "1037:2:10",
},
nodeType: "YulFunctionCall",
src: "1037:46:10",
},
nodeType: "YulIf",
src: "1034:72:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1122:2:10",
type: "",
value: "64",
},
{
name: "newFreePtr",
nodeType: "YulIdentifier",
src: "1126:10:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "1115:6:10",
},
nodeType: "YulFunctionCall",
src: "1115:22:10",
},
nodeType: "YulExpressionStatement",
src: "1115:22:10",
},
{
nodeType: "YulVariableDeclaration",
src: "1146:17:10",
value: {
name: "memPtr",
nodeType: "YulIdentifier",
src: "1157:6:10",
},
variables: [
{
name: "dst",
nodeType: "YulTypedName",
src: "1150:3:10",
type: "",
},
],
},
{
expression: {
arguments: [
{
name: "memPtr",
nodeType: "YulIdentifier",
src: "1179:6:10",
},
{
name: "_4",
nodeType: "YulIdentifier",
src: "1187:2:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "1172:6:10",
},
nodeType: "YulFunctionCall",
src: "1172:18:10",
},
nodeType: "YulExpressionStatement",
src: "1172:18:10",
},
{
nodeType: "YulAssignment",
src: "1199:22:10",
value: {
arguments: [
{
name: "memPtr",
nodeType: "YulIdentifier",
src: "1210:6:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "1218:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1206:3:10",
},
nodeType: "YulFunctionCall",
src: "1206:15:10",
},
variableNames: [
{
name: "dst",
nodeType: "YulIdentifier",
src: "1199:3:10",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "1230:34:10",
value: {
arguments: [
{
arguments: [
{
name: "_3",
nodeType: "YulIdentifier",
src: "1252:2:10",
},
{
name: "_5",
nodeType: "YulIdentifier",
src: "1256:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1248:3:10",
},
nodeType: "YulFunctionCall",
src: "1248:11:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "1261:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1244:3:10",
},
nodeType: "YulFunctionCall",
src: "1244:20:10",
},
variables: [
{
name: "srcEnd",
nodeType: "YulTypedName",
src: "1234:6:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "1296:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1305:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1308:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "1298:6:10",
},
nodeType: "YulFunctionCall",
src: "1298:12:10",
},
nodeType: "YulExpressionStatement",
src: "1298:12:10",
},
],
},
condition: {
arguments: [
{
name: "srcEnd",
nodeType: "YulIdentifier",
src: "1279:6:10",
},
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "1287:7:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "1276:2:10",
},
nodeType: "YulFunctionCall",
src: "1276:19:10",
},
nodeType: "YulIf",
src: "1273:39:10",
},
{
nodeType: "YulVariableDeclaration",
src: "1321:22:10",
value: {
arguments: [
{
name: "_3",
nodeType: "YulIdentifier",
src: "1336:2:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "1340:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1332:3:10",
},
nodeType: "YulFunctionCall",
src: "1332:11:10",
},
variables: [
{
name: "src",
nodeType: "YulTypedName",
src: "1325:3:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "1408:103:10",
statements: [
{
expression: {
arguments: [
{
name: "dst",
nodeType: "YulIdentifier",
src: "1429:3:10",
},
{
arguments: [
{
name: "src",
nodeType: "YulIdentifier",
src: "1464:3:10",
},
],
functionName: {
name: "abi_decode_address_fromMemory",
nodeType: "YulIdentifier",
src: "1434:29:10",
},
nodeType: "YulFunctionCall",
src: "1434:34:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "1422:6:10",
},
nodeType: "YulFunctionCall",
src: "1422:47:10",
},
nodeType: "YulExpressionStatement",
src: "1422:47:10",
},
{
nodeType: "YulAssignment",
src: "1482:19:10",
value: {
arguments: [
{
name: "dst",
nodeType: "YulIdentifier",
src: "1493:3:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "1498:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1489:3:10",
},
nodeType: "YulFunctionCall",
src: "1489:12:10",
},
variableNames: [
{
name: "dst",
nodeType: "YulIdentifier",
src: "1482:3:10",
},
],
},
],
},
condition: {
arguments: [
{
name: "src",
nodeType: "YulIdentifier",
src: "1363:3:10",
},
{
name: "srcEnd",
nodeType: "YulIdentifier",
src: "1368:6:10",
},
],
functionName: {
name: "lt",
nodeType: "YulIdentifier",
src: "1360:2:10",
},
nodeType: "YulFunctionCall",
src: "1360:15:10",
},
nodeType: "YulForLoop",
post: {
nodeType: "YulBlock",
src: "1376:23:10",
statements: [
{
nodeType: "YulAssignment",
src: "1378:19:10",
value: {
arguments: [
{
name: "src",
nodeType: "YulIdentifier",
src: "1389:3:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "1394:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1385:3:10",
},
nodeType: "YulFunctionCall",
src: "1385:12:10",
},
variableNames: [
{
name: "src",
nodeType: "YulIdentifier",
src: "1378:3:10",
},
],
},
],
},
pre: {
nodeType: "YulBlock",
src: "1356:3:10",
statements: [
],
},
src: "1352:159:10",
},
{
nodeType: "YulAssignment",
src: "1520:16:10",
value: {
name: "memPtr",
nodeType: "YulIdentifier",
src: "1530:6:10",
},
variableNames: [
{
name: "value1",
nodeType: "YulIdentifier",
src: "1520:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptr_fromMemory",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "409:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "420:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "432:6:10",
type: "",
},
{
name: "value1",
nodeType: "YulTypedName",
src: "440:6:10",
type: "",
},
],
src: "328:1214:10",
},
{
body: {
nodeType: "YulBlock",
src: "1628:127:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "1674:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1683:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1686:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "1676:6:10",
},
nodeType: "YulFunctionCall",
src: "1676:12:10",
},
nodeType: "YulExpressionStatement",
src: "1676:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "1649:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1658:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "1645:3:10",
},
nodeType: "YulFunctionCall",
src: "1645:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1670:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "1641:3:10",
},
nodeType: "YulFunctionCall",
src: "1641:32:10",
},
nodeType: "YulIf",
src: "1638:52:10",
},
{
nodeType: "YulAssignment",
src: "1699:50:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1739:9:10",
},
],
functionName: {
name: "abi_decode_address_fromMemory",
nodeType: "YulIdentifier",
src: "1709:29:10",
},
nodeType: "YulFunctionCall",
src: "1709:40:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "1699:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_address_fromMemory",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "1594:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "1605:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "1617:6:10",
type: "",
},
],
src: "1547:208:10",
},
{
body: {
nodeType: "YulBlock",
src: "1792:95:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1809:1:10",
type: "",
value: "0",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1816:3:10",
type: "",
value: "224",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1821:10:10",
type: "",
value: "0x4e487b71",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "1812:3:10",
},
nodeType: "YulFunctionCall",
src: "1812:20:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "1802:6:10",
},
nodeType: "YulFunctionCall",
src: "1802:31:10",
},
nodeType: "YulExpressionStatement",
src: "1802:31:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1849:1:10",
type: "",
value: "4",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1852:4:10",
type: "",
value: "0x32",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "1842:6:10",
},
nodeType: "YulFunctionCall",
src: "1842:15:10",
},
nodeType: "YulExpressionStatement",
src: "1842:15:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1873:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1876:4:10",
type: "",
value: "0x24",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "1866:6:10",
},
nodeType: "YulFunctionCall",
src: "1866:15:10",
},
nodeType: "YulExpressionStatement",
src: "1866:15:10",
},
],
},
name: "panic_error_0x32",
nodeType: "YulFunctionDefinition",
src: "1760:127:10",
},
{
body: {
nodeType: "YulBlock",
src: "1939:185:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "1978:111:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1999:1:10",
type: "",
value: "0",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "2006:3:10",
type: "",
value: "224",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2011:10:10",
type: "",
value: "0x4e487b71",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "2002:3:10",
},
nodeType: "YulFunctionCall",
src: "2002:20:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "1992:6:10",
},
nodeType: "YulFunctionCall",
src: "1992:31:10",
},
nodeType: "YulExpressionStatement",
src: "1992:31:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "2043:1:10",
type: "",
value: "4",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2046:4:10",
type: "",
value: "0x11",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "2036:6:10",
},
nodeType: "YulFunctionCall",
src: "2036:15:10",
},
nodeType: "YulExpressionStatement",
src: "2036:15:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "2071:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2074:4:10",
type: "",
value: "0x24",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "2064:6:10",
},
nodeType: "YulFunctionCall",
src: "2064:15:10",
},
nodeType: "YulExpressionStatement",
src: "2064:15:10",
},
],
},
condition: {
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "1955:5:10",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1966:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "not",
nodeType: "YulIdentifier",
src: "1962:3:10",
},
nodeType: "YulFunctionCall",
src: "1962:6:10",
},
],
functionName: {
name: "eq",
nodeType: "YulIdentifier",
src: "1952:2:10",
},
nodeType: "YulFunctionCall",
src: "1952:17:10",
},
nodeType: "YulIf",
src: "1949:140:10",
},
{
nodeType: "YulAssignment",
src: "2098:20:10",
value: {
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "2109:5:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2116:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "2105:3:10",
},
nodeType: "YulFunctionCall",
src: "2105:13:10",
},
variableNames: [
{
name: "ret",
nodeType: "YulIdentifier",
src: "2098:3:10",
},
],
},
],
},
name: "increment_t_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "value",
nodeType: "YulTypedName",
src: "1921:5:10",
type: "",
},
],
returnVariables: [
{
name: "ret",
nodeType: "YulTypedName",
src: "1931:3:10",
type: "",
},
],
src: "1892:232:10",
},
],
},
contents: "{\n { }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_addresst_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n let _1 := 32\n let offset := mload(add(headStart, _1))\n let _2 := sub(shl(64, 1), 1)\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := mload(_3)\n if gt(_4, _2) { panic_error_0x41() }\n let _5 := shl(5, _4)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(_5, 63), not(31)))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n let dst := memPtr\n mstore(memPtr, _4)\n dst := add(memPtr, _1)\n let srcEnd := add(add(_3, _5), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_3, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, abi_decode_address_fromMemory(src))\n dst := add(dst, _1)\n }\n value1 := memPtr\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\n }\n}",
id: 10,
language: "Yul",
name: "#utility.yul",
},
],
linkReferences: {
},
object: "60c06040526001600b553480156200001657600080fd5b5060405162001e8338038062001e838339810160408190526200003991620001f8565b6001600160a01b038216608081905260408051638dd598fb60e01b81529051638dd598fb916004808201926020929091908290030181865afa15801562000084573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000aa9190620002e1565b6001600160a01b031660a05260005b8151811015620001bc5760006001600160a01b0316828281518110620000e357620000e362000306565b60200260200101516001600160a01b031614620001a75760016006600084848151811062000115576200011562000306565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555060058282815181106200016b576200016b62000306565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b80620001b3816200031c565b915050620000b9565b50505062000344565b80516001600160a01b0381168114620001dd57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156200020c57600080fd5b6200021783620001c5565b602084810151919350906001600160401b03808211156200023757600080fd5b818601915086601f8301126200024c57600080fd5b815181811115620002615762000261620001e2565b8060051b604051601f19603f83011681018181108582111715620002895762000289620001e2565b604052918252848201925083810185019189831115620002a857600080fd5b938501935b82851015620002d157620002c185620001c5565b84529385019392850192620002ad565b8096505050505050509250929050565b600060208284031215620002f457600080fd5b620002ff82620001c5565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200033d57634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611ae86200039b600039600081816102d90152818161089b01528181610cda015261125c0152600081816101da01528181610a6e01528181610c9701528181610ed5015261116f0152611ae86000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80639cc7f708116100de578063e688639611610097578063f301af4211610071578063f301af4214610416578063f320772314610429578063f5f8d3651461043c578063f7412baf1461044f57600080fd5b8063e6886396146103da578063e8111a12146103e2578063f25e55a5146103eb57600080fd5b80639cc7f7081461034e5780639e2bf22c1461036e578063a28d4c9c14610381578063a7852afa14610394578063b66503cf146103a7578063da09d19d146103ba57600080fd5b8063505897931161014b5780638dd598fb116101255780638dd598fb146102d457806392777b29146102fb5780639418f9391461032657806399bcc0521461033b57600080fd5b8063505897931461028e578063638634ee146102ae57806376f4be36146102c157600080fd5b80630175e23b1461019357806318160ddd146101b95780633e491d47146101c257806346c96aac146101d557806349dcc204146102145780634d5ce0381461025b575b600080fd5b6101a66101a1366004611792565b610476565b6040519081526020015b60405180910390f35b6101a660005481565b6101a66101d03660046117d3565b6104b8565b6101fc7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b0565b6102466102223660046117ff565b60076020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016101b0565b61027e610269366004611821565b60066020526000908152604090205460ff1681565b60405190151581526020016101b0565b6101a661029c366004611792565b60086020526000908152604090205481565b6101a66102bc366004611821565b610741565b6101a66102cf366004611792565b610765565b6101fc7f000000000000000000000000000000000000000000000000000000000000000081565b6101a66103093660046117d3565b600260209081526000928352604080842090915290825290205481565b61033961033436600461183e565b610899565b005b6101a6610349366004611821565b610a2a565b6101a661035c366004611792565b60016020526000908152604090205481565b61033961037c3660046117ff565b610a63565b6101a661038f3660046117ff565b610b33565b6103396103a2366004611896565b610c78565b6103396103b53660046117d3565b610e78565b6101a66103c8366004611821565b60036020526000908152604090205481565b6005546101a6565b6101a6600a5481565b6101a66103f93660046117d3565b600460209081526000928352604080842090915290825290205481565b6101fc610424366004611792565b61113a565b6103396104373660046117ff565b611164565b61033961044a366004611896565b61122c565b61024661045d366004611792565b6009602052600090815260409020805460019091015482565b60008061048283611400565b9050600061049362093a808361197d565b90508084106104ae576104a98262093a8061197d565b6104b0565b815b949350505050565b6001600160a01b0382166000908152600460209081526040808320848452825280832054600890925282205482036104f457600091505061073b565b60006105008483610b33565b6000858152600860205260408120549192509061051f90600190611995565b90506000610540604051806040016040528060008152602001600081525090565b61054985611400565b81526001831561065a57845b610560600186611995565b81116106585760008981526007602090815260408083208484528252808320815180830190925280548083526001909101549282019290925291906105a490611400565b85519091508111156105c25760208501516105bf908761197d565b95505b808552600960006105d96102cf62093a808561197d565b815260200190815260200160002060010154935083600260008e6001600160a01b03166001600160a01b03168152602001908152602001600020600083815260200190815260200160002054836020015161063491906119ac565b61063e91906119e1565b602086015250819050610650816119f5565b915050610555565b505b600088815260076020908152604080832087845282528083208151808301909252805480835260019091015492820192909252919061069890611400565b905060006106a962093a808361197d565b90508042111561072f57600960006106c083610765565b815260200190815260200160002060010154600260008e6001600160a01b03166001600160a01b03168152602001908152602001600020600084815260200190815260200160002054846020015161071891906119ac565b61072291906119e1565b61072c908761197d565b95505b50939750505050505050505b92915050565b6001600160a01b03811660009081526003602052604081205461073b904290611419565b600a5460009080820361077b5750600092915050565b826009600061078b600185611995565b815260200190815260200160002060000154116107b4576107ad600182611995565b9392505050565b6000805260096020527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b548310156107ef5750600092915050565b6000806107fd600184611995565b90505b8181111561089157600060026108168484611995565b61082091906119e1565b61082a9083611995565b60008181526009602090815260409182902082518084019093528054808452600190910154918301919091529192509087900361086b575095945050505050565b805187111561087c5781935061088a565b610887600183611995565b92505b5050610800565b509392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166385f2aef26040518163ffffffff1660e01b81526004016020604051808303816000875af11580156108f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091d9190611a0e565b6001600160a01b0316336001600160a01b03161461096e5760405162461bcd60e51b81526020600482015260096024820152686f6e6c79207465616d60b81b60448201526064015b60405180910390fd5b816001600160a01b03166005848154811061098b5761098b611a2b565b6000918252602090912001546001600160a01b0316146109aa57600080fd5b6001600160a01b03808316600090815260066020526040808220805460ff19908116909155928416825290208054909116600117905560058054829190859081106109f7576109f7611a2b565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505050565b600080610a3642610476565b6001600160a01b039093166000908152600260209081526040808320958352949052929092205492915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a9857600080fd5b81600080828254610aa99190611995565b909155505060008181526001602052604081208054849290610acc908490611995565b9091555050600081815260016020526040902054610aeb90829061142f565b610af3611508565b604080518281526020810184905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891015b60405180910390a25050565b600082815260086020526040812054808203610b5357600091505061073b565b60008481526007602052604081208491610b6e600185611995565b81526020019081526020016000206000015411610b9857610b90600182611995565b91505061073b565b6000848152600760209081526040808320838052909152902054831015610bc357600091505061073b565b600080610bd1600184611995565b90505b81811115610c6f5760006002610bea8484611995565b610bf491906119e1565b610bfe9083611995565b6000888152600760209081526040808320848452825291829020825180840190935280548084526001909101549183019190915291925090879003610c495750935061073b92505050565b8051871115610c5a57819350610c68565b610c65600183611995565b92505b5050610bd4565b50949350505050565b600b54600114610c8757600080fd5b6002600b55336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cc157600080fd5b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d9190611a0e565b905060005b8251811015610e6d576000610d80848381518110610d7257610d72611a2b565b6020026020010151866104b8565b90504260046000868581518110610d9957610d99611a2b565b6020908102919091018101516001600160a01b0316825281810192909252604090810160009081208982529092529020558015610df457610df4848381518110610de557610de5611a2b565b602002602001015184836115ab565b838281518110610e0657610e06611a2b565b60200260200101516001600160a01b0316836001600160a01b03167f9aa05b3d70a9e3e2f004f039648839560576334fb45c81f91b6db03ad9e2efc983604051610e5291815260200190565b60405180910390a35080610e65816119f5565b915050610d52565b50506001600b555050565b600b54600114610e8757600080fd5b6002600b5580610e9657600080fd5b6001600160a01b03821660009081526006602052604090205460ff16610fde57604051633af32abf60e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633af32abf90602401602060405180830381865afa158015610f1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f409190611a41565b610f8c5760405162461bcd60e51b815260206004820181905260248201527f627269626520746f6b656e73206d7573742062652077686974656c69737465646044820152606401610965565b600554601011610fde5760405162461bcd60e51b815260206004820152601760248201527f746f6f206d616e79207265776172647320746f6b656e730000000000000000006044820152606401610965565b6000610fe942610476565b6001600160a01b038416600090815260026020908152604080832084845290915290205490915061101c8433308661169a565b611026838261197d565b6001600160a01b038516600090815260026020908152604080832086845290915290205561105762093a808361197d565b6001600160a01b03851660009081526003602090815260408083209390935560069052205460ff166110e9576001600160a01b0384166000818152600660205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b03191690911790555b60408051838152602081018590526001600160a01b0386169133917f52977ea98a2220a03ee9ba5cb003ada08d394ea10155483c95dc2dc77a7eb24b910160405180910390a350506001600b555050565b6005818154811061114a57600080fd5b6000918252602090912001546001600160a01b0316905081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461119957600080fd5b816000808282546111aa919061197d565b9091555050600081815260016020526040812080548492906111cd90849061197d565b90915550506000818152600160205260409020546111ec90829061142f565b6111f4611508565b604080518281526020810184905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159101610b27565b600b5460011461123b57600080fd5b6002600b5560405163430c208160e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063430c208190604401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190611a41565b6112d857600080fd5b60005b81518110156113f65760006113098383815181106112fb576112fb611a2b565b6020026020010151856104b8565b9050426004600085858151811061132257611322611a2b565b6020908102919091018101516001600160a01b031682528181019290925260409081016000908120888252909252902055801561137d5761137d83838151811061136e5761136e611a2b565b602002602001015133836115ab565b82828151811061138f5761138f611a2b565b60200260200101516001600160a01b0316336001600160a01b03167f9aa05b3d70a9e3e2f004f039648839560576334fb45c81f91b6db03ad9e2efc9836040516113db91815260200190565b60405180910390a350806113ee816119f5565b9150506112db565b50506001600b5550565b600061140f62093a8083611a63565b61073b9083611995565b600081831061142857816107ad565b5090919050565b60008281526008602052604090205442908015801590611479575060008481526007602052604081208391611465600185611995565b815260200190815260200160002060000154145b156114b25760008481526007602052604081208491611499600185611995565b8152602081019190915260400160002060010155611502565b60408051808201825283815260208082018681526000888152600783528481208682529092529290209051815590516001918201556114f290829061197d565b6000858152600860205260409020555b50505050565b600a5442811580159061153a57508060096000611526600186611995565b815260200190815260200160002060000154145b1561156b57600054600960006001856115539190611995565b81526020810191909152604001600020600101555050565b604080518082018252828152600080546020808401918252868352600990529290209051815590516001918201556115a490839061197d565b600a555050565b6000836001600160a01b03163b116115c257600080fd5b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161161e9190611a77565b6000604051808303816000865af19150503d806000811461165b576040519150601f19603f3d011682016040523d82523d6000602084013e611660565b606091505b509150915081801561168a57508051158061168a57508080602001905181019061168a9190611a41565b61169357600080fd5b5050505050565b6000846001600160a01b03163b116116b157600080fd5b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916117159190611a77565b6000604051808303816000865af19150503d8060008114611752576040519150601f19603f3d011682016040523d82523d6000602084013e611757565b606091505b50915091508180156117815750805115806117815750808060200190518101906117819190611a41565b61178a57600080fd5b505050505050565b6000602082840312156117a457600080fd5b5035919050565b6001600160a01b03811681146117c057600080fd5b50565b80356117ce816117ab565b919050565b600080604083850312156117e657600080fd5b82356117f1816117ab565b946020939093013593505050565b6000806040838503121561181257600080fd5b50508035926020909101359150565b60006020828403121561183357600080fd5b81356107ad816117ab565b60008060006060848603121561185357600080fd5b833592506020840135611865816117ab565b91506040840135611875816117ab565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156118a957600080fd5b8235915060208084013567ffffffffffffffff808211156118c957600080fd5b818601915086601f8301126118dd57600080fd5b8135818111156118ef576118ef611880565b8060051b604051601f19603f8301168101818110858211171561191457611914611880565b60405291825284820192508381018501918983111561193257600080fd5b938501935b8285101561195757611948856117c3565b84529385019392850192611937565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561199057611990611967565b500190565b6000828210156119a7576119a7611967565b500390565b60008160001904831182151516156119c6576119c6611967565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826119f0576119f06119cb565b500490565b600060018201611a0757611a07611967565b5060010190565b600060208284031215611a2057600080fd5b81516107ad816117ab565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a5357600080fd5b815180151581146107ad57600080fd5b600082611a7257611a726119cb565b500690565b6000825160005b81811015611a985760208186018101518583015201611a7e565b81811115611aa7576000828501525b50919091019291505056fea264697066735822122059607273b815a71b809cf36a52c23302955008467736f0fffdb83feacb2e0c6964736f6c634300080d0033",
opcodes: "PUSH1 0xC0 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0xB SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1E83 CODESIZE SUB DUP1 PUSH3 0x1E83 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x39 SWAP2 PUSH3 0x1F8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x80 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH4 0x8DD598FB PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH4 0x8DD598FB SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x84 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH3 0xAA SWAP2 SWAP1 PUSH3 0x2E1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0xA0 MSTORE PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0x1BC JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH3 0xE3 JUMPI PUSH3 0xE3 PUSH3 0x306 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH3 0x1A7 JUMPI PUSH1 0x1 PUSH1 0x6 PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH3 0x115 JUMPI PUSH3 0x115 PUSH3 0x306 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x5 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH3 0x16B JUMPI PUSH3 0x16B PUSH3 0x306 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD DUP3 SLOAD PUSH1 0x1 DUP2 ADD DUP5 SSTORE PUSH1 0x0 SWAP4 DUP5 MSTORE SWAP2 SWAP1 SWAP3 KECCAK256 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMPDEST DUP1 PUSH3 0x1B3 DUP2 PUSH3 0x31C JUMP JUMPDEST SWAP2 POP POP PUSH3 0xB9 JUMP JUMPDEST POP POP POP PUSH3 0x344 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x1DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x20C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x217 DUP4 PUSH3 0x1C5 JUMP JUMPDEST PUSH1 0x20 DUP5 DUP2 ADD MLOAD SWAP2 SWAP4 POP SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x261 JUMPI PUSH3 0x261 PUSH3 0x1E2 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH3 0x289 JUMPI PUSH3 0x289 PUSH3 0x1E2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP5 DUP3 ADD SWAP3 POP DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP10 DUP4 GT ISZERO PUSH3 0x2A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH3 0x2D1 JUMPI PUSH3 0x2C1 DUP6 PUSH3 0x1C5 JUMP JUMPDEST DUP5 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP3 DUP6 ADD SWAP3 PUSH3 0x2AD JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x2F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x2FF DUP3 PUSH3 0x1C5 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH3 0x33D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH2 0x1AE8 PUSH3 0x39B PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x2D9 ADD MSTORE DUP2 DUP2 PUSH2 0x89B ADD MSTORE DUP2 DUP2 PUSH2 0xCDA ADD MSTORE PUSH2 0x125C ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x1DA ADD MSTORE DUP2 DUP2 PUSH2 0xA6E ADD MSTORE DUP2 DUP2 PUSH2 0xC97 ADD MSTORE DUP2 DUP2 PUSH2 0xED5 ADD MSTORE PUSH2 0x116F ADD MSTORE PUSH2 0x1AE8 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x18E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9CC7F708 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xE6886396 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xF301AF42 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xF301AF42 EQ PUSH2 0x416 JUMPI DUP1 PUSH4 0xF3207723 EQ PUSH2 0x429 JUMPI DUP1 PUSH4 0xF5F8D365 EQ PUSH2 0x43C JUMPI DUP1 PUSH4 0xF7412BAF EQ PUSH2 0x44F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xE6886396 EQ PUSH2 0x3DA JUMPI DUP1 PUSH4 0xE8111A12 EQ PUSH2 0x3E2 JUMPI DUP1 PUSH4 0xF25E55A5 EQ PUSH2 0x3EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9CC7F708 EQ PUSH2 0x34E JUMPI DUP1 PUSH4 0x9E2BF22C EQ PUSH2 0x36E JUMPI DUP1 PUSH4 0xA28D4C9C EQ PUSH2 0x381 JUMPI DUP1 PUSH4 0xA7852AFA EQ PUSH2 0x394 JUMPI DUP1 PUSH4 0xB66503CF EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xDA09D19D EQ PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x50589793 GT PUSH2 0x14B JUMPI DUP1 PUSH4 0x8DD598FB GT PUSH2 0x125 JUMPI DUP1 PUSH4 0x8DD598FB EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x92777B29 EQ PUSH2 0x2FB JUMPI DUP1 PUSH4 0x9418F939 EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0x99BCC052 EQ PUSH2 0x33B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x50589793 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0x638634EE EQ PUSH2 0x2AE JUMPI DUP1 PUSH4 0x76F4BE36 EQ PUSH2 0x2C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x175E23B EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1B9 JUMPI DUP1 PUSH4 0x3E491D47 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x46C96AAC EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0x49DCC204 EQ PUSH2 0x214 JUMPI DUP1 PUSH4 0x4D5CE038 EQ PUSH2 0x25B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH2 0x476 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A6 PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x1D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x17D3 JUMP JUMPDEST PUSH2 0x4B8 JUMP JUMPDEST PUSH2 0x1FC PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B0 JUMP JUMPDEST PUSH2 0x246 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x17FF JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH2 0x1B0 JUMP JUMPDEST PUSH2 0x27E PUSH2 0x269 CALLDATASIZE PUSH1 0x4 PUSH2 0x1821 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B0 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x29C CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x2BC CALLDATASIZE PUSH1 0x4 PUSH2 0x1821 JUMP JUMPDEST PUSH2 0x741 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x2CF CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH2 0x765 JUMP JUMPDEST PUSH2 0x1FC PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x309 CALLDATASIZE PUSH1 0x4 PUSH2 0x17D3 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x334 CALLDATASIZE PUSH1 0x4 PUSH2 0x183E JUMP JUMPDEST PUSH2 0x899 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1A6 PUSH2 0x349 CALLDATASIZE PUSH1 0x4 PUSH2 0x1821 JUMP JUMPDEST PUSH2 0xA2A JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x17FF JUMP JUMPDEST PUSH2 0xA63 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x38F CALLDATASIZE PUSH1 0x4 PUSH2 0x17FF JUMP JUMPDEST PUSH2 0xB33 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x3A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1896 JUMP JUMPDEST PUSH2 0xC78 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x17D3 JUMP JUMPDEST PUSH2 0xE78 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1821 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x1A6 JUMP JUMPDEST PUSH2 0x1A6 PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x3F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x17D3 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1FC PUSH2 0x424 CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH2 0x113A JUMP JUMPDEST PUSH2 0x339 PUSH2 0x437 CALLDATASIZE PUSH1 0x4 PUSH2 0x17FF JUMP JUMPDEST PUSH2 0x1164 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x44A CALLDATASIZE PUSH1 0x4 PUSH2 0x1896 JUMP JUMPDEST PUSH2 0x122C JUMP JUMPDEST PUSH2 0x246 PUSH2 0x45D CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x482 DUP4 PUSH2 0x1400 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x493 PUSH3 0x93A80 DUP4 PUSH2 0x197D JUMP JUMPDEST SWAP1 POP DUP1 DUP5 LT PUSH2 0x4AE JUMPI PUSH2 0x4A9 DUP3 PUSH3 0x93A80 PUSH2 0x197D JUMP JUMPDEST PUSH2 0x4B0 JUMP JUMPDEST DUP2 JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x8 SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SLOAD DUP3 SUB PUSH2 0x4F4 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x73B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x500 DUP5 DUP4 PUSH2 0xB33 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x51F SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x1995 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x540 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH2 0x549 DUP6 PUSH2 0x1400 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x1 DUP4 ISZERO PUSH2 0x65A JUMPI DUP5 JUMPDEST PUSH2 0x560 PUSH1 0x1 DUP7 PUSH2 0x1995 JUMP JUMPDEST DUP2 GT PUSH2 0x658 JUMPI PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP2 MLOAD DUP1 DUP4 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD DUP1 DUP4 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP2 SWAP1 PUSH2 0x5A4 SWAP1 PUSH2 0x1400 JUMP JUMPDEST DUP6 MLOAD SWAP1 SWAP2 POP DUP2 GT ISZERO PUSH2 0x5C2 JUMPI PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x5BF SWAP1 DUP8 PUSH2 0x197D JUMP JUMPDEST SWAP6 POP JUMPDEST DUP1 DUP6 MSTORE PUSH1 0x9 PUSH1 0x0 PUSH2 0x5D9 PUSH2 0x2CF PUSH3 0x93A80 DUP6 PUSH2 0x197D JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP4 POP DUP4 PUSH1 0x2 PUSH1 0x0 DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP4 PUSH1 0x20 ADD MLOAD PUSH2 0x634 SWAP2 SWAP1 PUSH2 0x19AC JUMP JUMPDEST PUSH2 0x63E SWAP2 SWAP1 PUSH2 0x19E1 JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MSTORE POP DUP2 SWAP1 POP PUSH2 0x650 DUP2 PUSH2 0x19F5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x555 JUMP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP2 MLOAD DUP1 DUP4 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD DUP1 DUP4 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP2 SWAP1 PUSH2 0x698 SWAP1 PUSH2 0x1400 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x6A9 PUSH3 0x93A80 DUP4 PUSH2 0x197D JUMP JUMPDEST SWAP1 POP DUP1 TIMESTAMP GT ISZERO PUSH2 0x72F JUMPI PUSH1 0x9 PUSH1 0x0 PUSH2 0x6C0 DUP4 PUSH2 0x765 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH1 0x2 PUSH1 0x0 DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x20 ADD MLOAD PUSH2 0x718 SWAP2 SWAP1 PUSH2 0x19AC JUMP JUMPDEST PUSH2 0x722 SWAP2 SWAP1 PUSH2 0x19E1 JUMP JUMPDEST PUSH2 0x72C SWAP1 DUP8 PUSH2 0x197D JUMP JUMPDEST SWAP6 POP JUMPDEST POP SWAP4 SWAP8 POP POP POP POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x73B SWAP1 TIMESTAMP SWAP1 PUSH2 0x1419 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x0 SWAP1 DUP1 DUP3 SUB PUSH2 0x77B JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 PUSH1 0x9 PUSH1 0x0 PUSH2 0x78B PUSH1 0x1 DUP6 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD GT PUSH2 0x7B4 JUMPI PUSH2 0x7AD PUSH1 0x1 DUP3 PUSH2 0x1995 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH32 0xEC8156718A8372B1DB44BB411437D0870F3E3790D4A08526D024CE1B0B668F6B SLOAD DUP4 LT ISZERO PUSH2 0x7EF JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7FD PUSH1 0x1 DUP5 PUSH2 0x1995 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x891 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH2 0x816 DUP5 DUP5 PUSH2 0x1995 JUMP JUMPDEST PUSH2 0x820 SWAP2 SWAP1 PUSH2 0x19E1 JUMP JUMPDEST PUSH2 0x82A SWAP1 DUP4 PUSH2 0x1995 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD DUP1 DUP5 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP1 DUP5 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 SWAP1 SUB PUSH2 0x86B JUMPI POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP8 GT ISZERO PUSH2 0x87C JUMPI DUP2 SWAP4 POP PUSH2 0x88A JUMP JUMPDEST PUSH2 0x887 PUSH1 0x1 DUP4 PUSH2 0x1995 JUMP JUMPDEST SWAP3 POP JUMPDEST POP POP PUSH2 0x800 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x85F2AEF2 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x8F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x91D SWAP2 SWAP1 PUSH2 0x1A0E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x96E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x6F6E6C79207465616D PUSH1 0xB8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x98B JUMPI PUSH2 0x98B PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x9AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE SWAP3 DUP5 AND DUP3 MSTORE SWAP1 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x5 DUP1 SLOAD DUP3 SWAP2 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x9F7 JUMPI PUSH2 0x9F7 PUSH2 0x1A2B JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA36 TIMESTAMP PUSH2 0x476 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 DUP4 MSTORE SWAP5 SWAP1 MSTORE SWAP3 SWAP1 SWAP3 KECCAK256 SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xA98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xAA9 SWAP2 SWAP1 PUSH2 0x1995 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0xACC SWAP1 DUP5 SWAP1 PUSH2 0x1995 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xAEB SWAP1 DUP3 SWAP1 PUSH2 0x142F JUMP JUMPDEST PUSH2 0xAF3 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE CALLER SWAP2 PUSH32 0xF279E6A1F5E320CCA91135676D9CB6E44CA8A08C0B88342BCDB1144F6511B568 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 DUP3 SUB PUSH2 0xB53 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x73B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP5 SWAP2 PUSH2 0xB6E PUSH1 0x1 DUP6 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD GT PUSH2 0xB98 JUMPI PUSH2 0xB90 PUSH1 0x1 DUP3 PUSH2 0x1995 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x73B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 DUP1 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP4 LT ISZERO PUSH2 0xBC3 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x73B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBD1 PUSH1 0x1 DUP5 PUSH2 0x1995 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xC6F JUMPI PUSH1 0x0 PUSH1 0x2 PUSH2 0xBEA DUP5 DUP5 PUSH2 0x1995 JUMP JUMPDEST PUSH2 0xBF4 SWAP2 SWAP1 PUSH2 0x19E1 JUMP JUMPDEST PUSH2 0xBFE SWAP1 DUP4 PUSH2 0x1995 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD DUP1 DUP5 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP1 DUP5 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 SWAP1 SUB PUSH2 0xC49 JUMPI POP SWAP4 POP PUSH2 0x73B SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP8 GT ISZERO PUSH2 0xC5A JUMPI DUP2 SWAP4 POP PUSH2 0xC68 JUMP JUMPDEST PUSH2 0xC65 PUSH1 0x1 DUP4 PUSH2 0x1995 JUMP JUMPDEST SWAP3 POP JUMPDEST POP POP PUSH2 0xBD4 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 EQ PUSH2 0xC87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0xB SSTORE CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xCC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x31A9108F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6352211E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD29 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD4D SWAP2 SWAP1 PUSH2 0x1A0E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0xE6D JUMPI PUSH1 0x0 PUSH2 0xD80 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xD72 JUMPI PUSH2 0xD72 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP TIMESTAMP PUSH1 0x4 PUSH1 0x0 DUP7 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0xD99 JUMPI PUSH2 0xD99 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP10 DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SSTORE DUP1 ISZERO PUSH2 0xDF4 JUMPI PUSH2 0xDF4 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xDE5 JUMPI PUSH2 0xDE5 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 DUP4 PUSH2 0x15AB JUMP JUMPDEST DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE06 JUMPI PUSH2 0xE06 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x9AA05B3D70A9E3E2F004F039648839560576334FB45C81F91B6DB03AD9E2EFC9 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE52 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP DUP1 PUSH2 0xE65 DUP2 PUSH2 0x19F5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xD52 JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0xB SSTORE POP POP JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 EQ PUSH2 0xE87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0xB SSTORE DUP1 PUSH2 0xE96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xFDE JUMPI PUSH1 0x40 MLOAD PUSH4 0x3AF32ABF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH32 0x0 AND SWAP1 PUSH4 0x3AF32ABF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF1C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF40 SWAP2 SWAP1 PUSH2 0x1A41 JUMP JUMPDEST PUSH2 0xF8C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x627269626520746F6B656E73206D7573742062652077686974656C6973746564 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x965 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x10 GT PUSH2 0xFDE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6F206D616E79207265776172647320746F6B656E73000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x965 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFE9 TIMESTAMP PUSH2 0x476 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x101C DUP5 CALLER ADDRESS DUP7 PUSH2 0x169A JUMP JUMPDEST PUSH2 0x1026 DUP4 DUP3 PUSH2 0x197D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x1057 PUSH3 0x93A80 DUP4 PUSH2 0x197D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE PUSH1 0x6 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x10E9 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x5 DUP1 SLOAD SWAP2 DUP3 ADD DUP2 SSTORE SWAP1 SWAP2 MSTORE PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB0 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP2 CALLER SWAP2 PUSH32 0x52977EA98A2220A03EE9BA5CB003ADA08D394EA10155483C95DC2DC77A7EB24B SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH1 0x1 PUSH1 0xB SSTORE POP POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x114A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP2 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x1199 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x11AA SWAP2 SWAP1 PUSH2 0x197D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x11CD SWAP1 DUP5 SWAP1 PUSH2 0x197D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x11EC SWAP1 DUP3 SWAP1 PUSH2 0x142F JUMP JUMPDEST PUSH2 0x11F4 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE CALLER SWAP2 PUSH32 0x90890809C654F11D6E72A28FA60149770A0D11EC6C92319D6CEB2BB0A4EA1A15 SWAP2 ADD PUSH2 0xB27 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 EQ PUSH2 0x123B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0xB SSTORE PUSH1 0x40 MLOAD PUSH4 0x430C2081 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x430C2081 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12CF SWAP2 SWAP1 PUSH2 0x1A41 JUMP JUMPDEST PUSH2 0x12D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x13F6 JUMPI PUSH1 0x0 PUSH2 0x1309 DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x12FB JUMPI PUSH2 0x12FB PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP TIMESTAMP PUSH1 0x4 PUSH1 0x0 DUP6 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x1322 JUMPI PUSH2 0x1322 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP9 DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SSTORE DUP1 ISZERO PUSH2 0x137D JUMPI PUSH2 0x137D DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x136E JUMPI PUSH2 0x136E PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD CALLER DUP4 PUSH2 0x15AB JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x138F JUMPI PUSH2 0x138F PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x9AA05B3D70A9E3E2F004F039648839560576334FB45C81F91B6DB03AD9E2EFC9 DUP4 PUSH1 0x40 MLOAD PUSH2 0x13DB SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP DUP1 PUSH2 0x13EE DUP2 PUSH2 0x19F5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x12DB JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0xB SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140F PUSH3 0x93A80 DUP4 PUSH2 0x1A63 JUMP JUMPDEST PUSH2 0x73B SWAP1 DUP4 PUSH2 0x1995 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1428 JUMPI DUP2 PUSH2 0x7AD JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP SWAP1 DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x1479 JUMPI POP PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP4 SWAP2 PUSH2 0x1465 PUSH1 0x1 DUP6 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ JUMPDEST ISZERO PUSH2 0x14B2 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP5 SWAP2 PUSH2 0x1499 PUSH1 0x1 DUP6 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SSTORE PUSH2 0x1502 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP7 DUP2 MSTORE PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x7 DUP4 MSTORE DUP5 DUP2 KECCAK256 DUP7 DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP3 SWAP1 KECCAK256 SWAP1 MLOAD DUP2 SSTORE SWAP1 MLOAD PUSH1 0x1 SWAP2 DUP3 ADD SSTORE PUSH2 0x14F2 SWAP1 DUP3 SWAP1 PUSH2 0x197D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0xA SLOAD TIMESTAMP DUP2 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x153A JUMPI POP DUP1 PUSH1 0x9 PUSH1 0x0 PUSH2 0x1526 PUSH1 0x1 DUP7 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ JUMPDEST ISZERO PUSH2 0x156B JUMPI PUSH1 0x0 SLOAD PUSH1 0x9 PUSH1 0x0 PUSH1 0x1 DUP6 PUSH2 0x1553 SWAP2 SWAP1 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x0 DUP1 SLOAD PUSH1 0x20 DUP1 DUP5 ADD SWAP2 DUP3 MSTORE DUP7 DUP4 MSTORE PUSH1 0x9 SWAP1 MSTORE SWAP3 SWAP1 KECCAK256 SWAP1 MLOAD DUP2 SSTORE SWAP1 MLOAD PUSH1 0x1 SWAP2 DUP3 ADD SSTORE PUSH2 0x15A4 SWAP1 DUP4 SWAP1 PUSH2 0x197D JUMP JUMPDEST PUSH1 0xA SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE GT PUSH2 0x15C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x161E SWAP2 SWAP1 PUSH2 0x1A77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x165B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1660 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x168A JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x168A JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x168A SWAP2 SWAP1 PUSH2 0x1A41 JUMP JUMPDEST PUSH2 0x1693 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE GT PUSH2 0x16B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x1715 SWAP2 SWAP1 PUSH2 0x1A77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1752 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1757 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1781 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1781 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1781 SWAP2 SWAP1 PUSH2 0x1A41 JUMP JUMPDEST PUSH2 0x178A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x17C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x17CE DUP2 PUSH2 0x17AB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x17E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x17F1 DUP2 PUSH2 0x17AB JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1812 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x7AD DUP2 PUSH2 0x17AB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x1865 DUP2 PUSH2 0x17AB JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x1875 DUP2 PUSH2 0x17AB JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x18A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP1 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x18C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x18DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x18EF JUMPI PUSH2 0x18EF PUSH2 0x1880 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x1914 JUMPI PUSH2 0x1914 PUSH2 0x1880 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP5 DUP3 ADD SWAP3 POP DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP10 DUP4 GT ISZERO PUSH2 0x1932 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x1957 JUMPI PUSH2 0x1948 DUP6 PUSH2 0x17C3 JUMP JUMPDEST DUP5 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP3 DUP6 ADD SWAP3 PUSH2 0x1937 JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1990 JUMPI PUSH2 0x1990 PUSH2 0x1967 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x19A7 JUMPI PUSH2 0x19A7 PUSH2 0x1967 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x19C6 JUMPI PUSH2 0x19C6 PUSH2 0x1967 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x19F0 JUMPI PUSH2 0x19F0 PUSH2 0x19CB JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1A07 JUMPI PUSH2 0x1A07 PUSH2 0x1967 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x7AD DUP2 PUSH2 0x17AB JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x7AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1A72 JUMPI PUSH2 0x1A72 PUSH2 0x19CB JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x20 DUP2 DUP7 ADD DUP2 ADD MLOAD DUP6 DUP4 ADD MSTORE ADD PUSH2 0x1A7E JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x1AA7 JUMPI PUSH1 0x0 DUP3 DUP6 ADD MSTORE JUMPDEST POP SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSIZE PUSH1 0x72 PUSH20 0xB815A71B809CF36A52C23302955008467736F0FF REVERT 0xB8 EXTCODEHASH 0xEA 0xCB 0x2E 0xC PUSH10 0x64736F6C634300080D00 CALLER ",
sourceMap: "447:12220:0:-:0;;;2683:1;2657:27;;2229:390;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2306:14:0;;;;;;2336:20;;;-1:-1:-1;;;2336:20:0;;;;:18;;:20;;;;;;;;;;;;;;;2306:14;2336:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2330:26:0;;;2372:6;2367:246;2384:20;:27;2380:1;:31;2367:246;;;2471:1;-1:-1:-1;;;;;2436:37:0;:20;2457:1;2436:23;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;2436:37:0;;2432:171;;2529:4;2493:8;:33;2502:20;2523:1;2502:23;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;2493:33:0;-1:-1:-1;;;;;2493:33:0;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;2551:7;2564:20;2585:1;2564:23;;;;;;;;:::i;:::-;;;;;;;;;;;;2551:37;;;;;;;-1:-1:-1;2551:37:0;;;;;;;;;;-1:-1:-1;;;;;;2551:37:0;-1:-1:-1;;;;;2551:37:0;;;;;;;;;2432:171;2413:3;;;;:::i;:::-;;;;2367:246;;;;2229:390;;447:12220;;14:177:10;93:13;;-1:-1:-1;;;;;135:31:10;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:1214;432:6;440;493:2;481:9;472:7;468:23;464:32;461:52;;;509:1;506;499:12;461:52;532:40;562:9;532:40;:::i;:::-;591:2;622:18;;;616:25;522:50;;-1:-1:-1;591:2:10;-1:-1:-1;;;;;690:14:10;;;687:34;;;717:1;714;707:12;687:34;755:6;744:9;740:22;730:32;;800:7;793:4;789:2;785:13;781:27;771:55;;822:1;819;812:12;771:55;851:2;845:9;873:2;869;866:10;863:36;;;879:18;;:::i;:::-;925:2;922:1;918:10;957:2;951:9;1020:2;1016:7;1011:2;1007;1003:11;999:25;991:6;987:38;1075:6;1063:10;1060:22;1055:2;1043:10;1040:18;1037:46;1034:72;;;1086:18;;:::i;:::-;1122:2;1115:22;1172:18;;;1206:15;;;;-1:-1:-1;1248:11:10;;;1244:20;;;1276:19;;;1273:39;;;1308:1;1305;1298:12;1273:39;1332:11;;;;1352:159;1368:6;1363:3;1360:15;1352:159;;;1434:34;1464:3;1434:34;:::i;:::-;1422:47;;1385:12;;;;1489;;;;1352:159;;;1530:6;1520:16;;;;;;;;328:1214;;;;;:::o;1547:208::-;1617:6;1670:2;1658:9;1649:7;1645:23;1641:32;1638:52;;;1686:1;1683;1676:12;1638:52;1709:40;1739:9;1709:40;:::i;:::-;1699:50;1547:208;-1:-1:-1;;;1547:208:10:o;1760:127::-;1821:10;1816:3;1812:20;1809:1;1802:31;1852:4;1849:1;1842:15;1876:4;1873:1;1866:15;1892:232;1931:3;1952:17;;;1949:140;;2011:10;2006:3;2002:20;1999:1;1992:31;2046:4;2043:1;2036:15;2074:4;2071:1;2064:15;1949:140;-1:-1:-1;2116:1:10;2105:13;;1892:232::o;:::-;447:12220:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
},
deployedBytecode: {
functionDebugData: {
"@_bribeStart_215": {
entryPoint: 5120,
id: 215,
parameterSlots: 1,
returnSlots: 1,
},
"@_deposit_994": {
entryPoint: 4452,
id: 994,
parameterSlots: 2,
returnSlots: 0,
},
"@_safeTransferFrom_1322": {
entryPoint: 5786,
id: 1322,
parameterSlots: 4,
returnSlots: 0,
},
"@_safeTransfer_1267": {
entryPoint: 5547,
id: 1267,
parameterSlots: 3,
returnSlots: 0,
},
"@_ve_13": {
entryPoint: null,
id: 13,
parameterSlots: 0,
returnSlots: 0,
},
"@_withdraw_1036": {
entryPoint: 2659,
id: 1036,
parameterSlots: 2,
returnSlots: 0,
},
"@_writeCheckpoint_529": {
entryPoint: 5167,
id: 529,
parameterSlots: 2,
returnSlots: 0,
},
"@_writeSupplyCheckpoint_581": {
entryPoint: 5384,
id: 581,
parameterSlots: 0,
returnSlots: 0,
},
"@balanceOf_30": {
entryPoint: null,
id: 30,
parameterSlots: 0,
returnSlots: 0,
},
"@checkpoints_71": {
entryPoint: null,
id: 71,
parameterSlots: 0,
returnSlots: 0,
},
"@earned_952": {
entryPoint: 1208,
id: 952,
parameterSlots: 2,
returnSlots: 1,
},
"@getEpochStart_244": {
entryPoint: 1142,
id: 244,
parameterSlots: 1,
returnSlots: 1,
},
"@getPriorBalanceIndex_359": {
entryPoint: 2867,
id: 359,
parameterSlots: 2,
returnSlots: 1,
},
"@getPriorSupplyIndex_463": {
entryPoint: 1893,
id: 463,
parameterSlots: 1,
returnSlots: 1,
},
"@getRewardForOwner_764": {
entryPoint: 3192,
id: 764,
parameterSlots: 2,
returnSlots: 0,
},
"@getReward_684": {
entryPoint: 4652,
id: 684,
parameterSlots: 2,
returnSlots: 0,
},
"@isReward_53": {
entryPoint: null,
id: 53,
parameterSlots: 0,
returnSlots: 0,
},
"@lastEarn_46": {
entryPoint: null,
id: 46,
parameterSlots: 0,
returnSlots: 0,
},
"@lastTimeRewardApplicable_607": {
entryPoint: 1857,
id: 607,
parameterSlots: 1,
returnSlots: 1,
},
"@left_1057": {
entryPoint: 2602,
id: 1057,
parameterSlots: 1,
returnSlots: 1,
},
"@min_3945": {
entryPoint: 5145,
id: 3945,
parameterSlots: 2,
returnSlots: 1,
},
"@notifyRewardAmount_1167": {
entryPoint: 3704,
id: 1167,
parameterSlots: 2,
returnSlots: 0,
},
"@numCheckpoints_76": {
entryPoint: null,
id: 76,
parameterSlots: 0,
returnSlots: 0,
},
"@periodFinish_40": {
entryPoint: null,
id: 40,
parameterSlots: 0,
returnSlots: 0,
},
"@rewardsListLength_590": {
entryPoint: null,
id: 590,
parameterSlots: 0,
returnSlots: 1,
},
"@rewards_49": {
entryPoint: 4410,
id: 49,
parameterSlots: 0,
returnSlots: 0,
},
"@supplyCheckpoints_82": {
entryPoint: null,
id: 82,
parameterSlots: 0,
returnSlots: 0,
},
"@supplyNumCheckpoints_85": {
entryPoint: null,
id: 85,
parameterSlots: 0,
returnSlots: 0,
},
"@swapOutRewardToken_1215": {
entryPoint: 2201,
id: 1215,
parameterSlots: 3,
returnSlots: 0,
},
"@tokenRewardsPerEpoch_36": {
entryPoint: null,
id: 36,
parameterSlots: 0,
returnSlots: 0,
},
"@totalSupply_26": {
entryPoint: null,
id: 26,
parameterSlots: 0,
returnSlots: 0,
},
"@voter_11": {
entryPoint: null,
id: 11,
parameterSlots: 0,
returnSlots: 0,
},
abi_decode_address: {
entryPoint: 6083,
id: null,
parameterSlots: 1,
returnSlots: 1,
},
abi_decode_tuple_t_address: {
entryPoint: 6177,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
abi_decode_tuple_t_address_fromMemory: {
entryPoint: 6670,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
abi_decode_tuple_t_addresst_uint256: {
entryPoint: 6099,
id: null,
parameterSlots: 2,
returnSlots: 2,
},
abi_decode_tuple_t_bool_fromMemory: {
entryPoint: 6721,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
abi_decode_tuple_t_uint256: {
entryPoint: 6034,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
abi_decode_tuple_t_uint256t_addresst_address: {
entryPoint: 6206,
id: null,
parameterSlots: 2,
returnSlots: 3,
},
abi_decode_tuple_t_uint256t_array$_t_address_$dyn_memory_ptr: {
entryPoint: 6294,
id: null,
parameterSlots: 2,
returnSlots: 2,
},
abi_decode_tuple_t_uint256t_uint256: {
entryPoint: 6143,
id: null,
parameterSlots: 2,
returnSlots: 2,
},
abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed: {
entryPoint: 6775,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
abi_encode_tuple_t_address__to_t_address__fromStack_reversed: {
entryPoint: null,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed: {
entryPoint: null,
id: null,
parameterSlots: 4,
returnSlots: 1,
},
abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed: {
entryPoint: null,
id: null,
parameterSlots: 3,
returnSlots: 1,
},
abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed: {
entryPoint: null,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
abi_encode_tuple_t_stringliteral_613661a7f6d75937f735ea44c5b3fb11fc1977fd6b676327a2f9d86c51ab5490__to_t_string_memory_ptr__fromStack_reversed: {
entryPoint: null,
id: null,
parameterSlots: 1,
returnSlots: 1,
},
abi_encode_tuple_t_stringliteral_a82ccc57c4ccf3ac1803e892f1c8a66446698251399454be788685675988a605__to_t_string_memory_ptr__fromStack_reversed: {
entryPoint: null,
id: null,
parameterSlots: 1,
returnSlots: 1,
},
abi_encode_tuple_t_stringliteral_b48ccd03830eacc5b323691fb82c877051527edff07a748784a55d14a6f06a74__to_t_string_memory_ptr__fromStack_reversed: {
entryPoint: null,
id: null,
parameterSlots: 1,
returnSlots: 1,
},
abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed: {
entryPoint: null,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed: {
entryPoint: null,
id: null,
parameterSlots: 3,
returnSlots: 1,
},
checked_add_t_uint256: {
entryPoint: 6525,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
checked_div_t_uint256: {
entryPoint: 6625,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
checked_mul_t_uint256: {
entryPoint: 6572,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
checked_sub_t_uint256: {
entryPoint: 6549,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
increment_t_uint256: {
entryPoint: 6645,
id: null,
parameterSlots: 1,
returnSlots: 1,
},
mod_t_uint256: {
entryPoint: 6755,
id: null,
parameterSlots: 2,
returnSlots: 1,
},
panic_error_0x11: {
entryPoint: 6503,
id: null,
parameterSlots: 0,
returnSlots: 0,
},
panic_error_0x12: {
entryPoint: 6603,
id: null,
parameterSlots: 0,
returnSlots: 0,
},
panic_error_0x32: {
entryPoint: 6699,
id: null,
parameterSlots: 0,
returnSlots: 0,
},
panic_error_0x41: {
entryPoint: 6272,
id: null,
parameterSlots: 0,
returnSlots: 0,
},
validator_revert_address: {
entryPoint: 6059,
id: null,
parameterSlots: 1,
returnSlots: 0,
},
},
generatedSources: [
{
ast: {
nodeType: "YulBlock",
src: "0:7810:10",
statements: [
{
nodeType: "YulBlock",
src: "6:3:10",
statements: [
],
},
{
body: {
nodeType: "YulBlock",
src: "84:110:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "130:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "139:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "142:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "132:6:10",
},
nodeType: "YulFunctionCall",
src: "132:12:10",
},
nodeType: "YulExpressionStatement",
src: "132:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "105:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "114:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "101:3:10",
},
nodeType: "YulFunctionCall",
src: "101:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "126:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "97:3:10",
},
nodeType: "YulFunctionCall",
src: "97:32:10",
},
nodeType: "YulIf",
src: "94:52:10",
},
{
nodeType: "YulAssignment",
src: "155:33:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "178:9:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "165:12:10",
},
nodeType: "YulFunctionCall",
src: "165:23:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "155:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "50:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "61:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "73:6:10",
type: "",
},
],
src: "14:180:10",
},
{
body: {
nodeType: "YulBlock",
src: "300:76:10",
statements: [
{
nodeType: "YulAssignment",
src: "310:26:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "322:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "333:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "318:3:10",
},
nodeType: "YulFunctionCall",
src: "318:18:10",
},
variableNames: [
{
name: "tail",
nodeType: "YulIdentifier",
src: "310:4:10",
},
],
},
{
expression: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "352:9:10",
},
{
name: "value0",
nodeType: "YulIdentifier",
src: "363:6:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "345:6:10",
},
nodeType: "YulFunctionCall",
src: "345:25:10",
},
nodeType: "YulExpressionStatement",
src: "345:25:10",
},
],
},
name: "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "269:9:10",
type: "",
},
{
name: "value0",
nodeType: "YulTypedName",
src: "280:6:10",
type: "",
},
],
returnVariables: [
{
name: "tail",
nodeType: "YulTypedName",
src: "291:4:10",
type: "",
},
],
src: "199:177:10",
},
{
body: {
nodeType: "YulBlock",
src: "426:86:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "490:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "499:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "502:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "492:6:10",
},
nodeType: "YulFunctionCall",
src: "492:12:10",
},
nodeType: "YulExpressionStatement",
src: "492:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "449:5:10",
},
{
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "460:5:10",
},
{
arguments: [
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "475:3:10",
type: "",
value: "160",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "480:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "471:3:10",
},
nodeType: "YulFunctionCall",
src: "471:11:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "484:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "467:3:10",
},
nodeType: "YulFunctionCall",
src: "467:19:10",
},
],
functionName: {
name: "and",
nodeType: "YulIdentifier",
src: "456:3:10",
},
nodeType: "YulFunctionCall",
src: "456:31:10",
},
],
functionName: {
name: "eq",
nodeType: "YulIdentifier",
src: "446:2:10",
},
nodeType: "YulFunctionCall",
src: "446:42:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "439:6:10",
},
nodeType: "YulFunctionCall",
src: "439:50:10",
},
nodeType: "YulIf",
src: "436:70:10",
},
],
},
name: "validator_revert_address",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "value",
nodeType: "YulTypedName",
src: "415:5:10",
type: "",
},
],
src: "381:131:10",
},
{
body: {
nodeType: "YulBlock",
src: "566:85:10",
statements: [
{
nodeType: "YulAssignment",
src: "576:29:10",
value: {
arguments: [
{
name: "offset",
nodeType: "YulIdentifier",
src: "598:6:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "585:12:10",
},
nodeType: "YulFunctionCall",
src: "585:20:10",
},
variableNames: [
{
name: "value",
nodeType: "YulIdentifier",
src: "576:5:10",
},
],
},
{
expression: {
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "639:5:10",
},
],
functionName: {
name: "validator_revert_address",
nodeType: "YulIdentifier",
src: "614:24:10",
},
nodeType: "YulFunctionCall",
src: "614:31:10",
},
nodeType: "YulExpressionStatement",
src: "614:31:10",
},
],
},
name: "abi_decode_address",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "offset",
nodeType: "YulTypedName",
src: "545:6:10",
type: "",
},
],
returnVariables: [
{
name: "value",
nodeType: "YulTypedName",
src: "556:5:10",
type: "",
},
],
src: "517:134:10",
},
{
body: {
nodeType: "YulBlock",
src: "743:228:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "789:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "798:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "801:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "791:6:10",
},
nodeType: "YulFunctionCall",
src: "791:12:10",
},
nodeType: "YulExpressionStatement",
src: "791:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "764:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "773:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "760:3:10",
},
nodeType: "YulFunctionCall",
src: "760:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "785:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "756:3:10",
},
nodeType: "YulFunctionCall",
src: "756:32:10",
},
nodeType: "YulIf",
src: "753:52:10",
},
{
nodeType: "YulVariableDeclaration",
src: "814:36:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "840:9:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "827:12:10",
},
nodeType: "YulFunctionCall",
src: "827:23:10",
},
variables: [
{
name: "value",
nodeType: "YulTypedName",
src: "818:5:10",
type: "",
},
],
},
{
expression: {
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "884:5:10",
},
],
functionName: {
name: "validator_revert_address",
nodeType: "YulIdentifier",
src: "859:24:10",
},
nodeType: "YulFunctionCall",
src: "859:31:10",
},
nodeType: "YulExpressionStatement",
src: "859:31:10",
},
{
nodeType: "YulAssignment",
src: "899:15:10",
value: {
name: "value",
nodeType: "YulIdentifier",
src: "909:5:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "899:6:10",
},
],
},
{
nodeType: "YulAssignment",
src: "923:42:10",
value: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "950:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "961:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "946:3:10",
},
nodeType: "YulFunctionCall",
src: "946:18:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "933:12:10",
},
nodeType: "YulFunctionCall",
src: "933:32:10",
},
variableNames: [
{
name: "value1",
nodeType: "YulIdentifier",
src: "923:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_addresst_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "701:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "712:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "724:6:10",
type: "",
},
{
name: "value1",
nodeType: "YulTypedName",
src: "732:6:10",
type: "",
},
],
src: "656:315:10",
},
{
body: {
nodeType: "YulBlock",
src: "1077:102:10",
statements: [
{
nodeType: "YulAssignment",
src: "1087:26:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1099:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1110:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1095:3:10",
},
nodeType: "YulFunctionCall",
src: "1095:18:10",
},
variableNames: [
{
name: "tail",
nodeType: "YulIdentifier",
src: "1087:4:10",
},
],
},
{
expression: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1129:9:10",
},
{
arguments: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "1144:6:10",
},
{
arguments: [
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1160:3:10",
type: "",
value: "160",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1165:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "1156:3:10",
},
nodeType: "YulFunctionCall",
src: "1156:11:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1169:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "1152:3:10",
},
nodeType: "YulFunctionCall",
src: "1152:19:10",
},
],
functionName: {
name: "and",
nodeType: "YulIdentifier",
src: "1140:3:10",
},
nodeType: "YulFunctionCall",
src: "1140:32:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "1122:6:10",
},
nodeType: "YulFunctionCall",
src: "1122:51:10",
},
nodeType: "YulExpressionStatement",
src: "1122:51:10",
},
],
},
name: "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "1046:9:10",
type: "",
},
{
name: "value0",
nodeType: "YulTypedName",
src: "1057:6:10",
type: "",
},
],
returnVariables: [
{
name: "tail",
nodeType: "YulTypedName",
src: "1068:4:10",
type: "",
},
],
src: "976:203:10",
},
{
body: {
nodeType: "YulBlock",
src: "1271:161:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "1317:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1326:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1329:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "1319:6:10",
},
nodeType: "YulFunctionCall",
src: "1319:12:10",
},
nodeType: "YulExpressionStatement",
src: "1319:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "1292:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1301:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "1288:3:10",
},
nodeType: "YulFunctionCall",
src: "1288:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1313:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "1284:3:10",
},
nodeType: "YulFunctionCall",
src: "1284:32:10",
},
nodeType: "YulIf",
src: "1281:52:10",
},
{
nodeType: "YulAssignment",
src: "1342:33:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1365:9:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "1352:12:10",
},
nodeType: "YulFunctionCall",
src: "1352:23:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "1342:6:10",
},
],
},
{
nodeType: "YulAssignment",
src: "1384:42:10",
value: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1411:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1422:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1407:3:10",
},
nodeType: "YulFunctionCall",
src: "1407:18:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "1394:12:10",
},
nodeType: "YulFunctionCall",
src: "1394:32:10",
},
variableNames: [
{
name: "value1",
nodeType: "YulIdentifier",
src: "1384:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_uint256t_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "1229:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "1240:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "1252:6:10",
type: "",
},
{
name: "value1",
nodeType: "YulTypedName",
src: "1260:6:10",
type: "",
},
],
src: "1184:248:10",
},
{
body: {
nodeType: "YulBlock",
src: "1566:119:10",
statements: [
{
nodeType: "YulAssignment",
src: "1576:26:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1588:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1599:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1584:3:10",
},
nodeType: "YulFunctionCall",
src: "1584:18:10",
},
variableNames: [
{
name: "tail",
nodeType: "YulIdentifier",
src: "1576:4:10",
},
],
},
{
expression: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1618:9:10",
},
{
name: "value0",
nodeType: "YulIdentifier",
src: "1629:6:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "1611:6:10",
},
nodeType: "YulFunctionCall",
src: "1611:25:10",
},
nodeType: "YulExpressionStatement",
src: "1611:25:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1656:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1667:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "1652:3:10",
},
nodeType: "YulFunctionCall",
src: "1652:18:10",
},
{
name: "value1",
nodeType: "YulIdentifier",
src: "1672:6:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "1645:6:10",
},
nodeType: "YulFunctionCall",
src: "1645:34:10",
},
nodeType: "YulExpressionStatement",
src: "1645:34:10",
},
],
},
name: "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "1527:9:10",
type: "",
},
{
name: "value1",
nodeType: "YulTypedName",
src: "1538:6:10",
type: "",
},
{
name: "value0",
nodeType: "YulTypedName",
src: "1546:6:10",
type: "",
},
],
returnVariables: [
{
name: "tail",
nodeType: "YulTypedName",
src: "1557:4:10",
type: "",
},
],
src: "1437:248:10",
},
{
body: {
nodeType: "YulBlock",
src: "1760:177:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "1806:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "1815:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1818:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "1808:6:10",
},
nodeType: "YulFunctionCall",
src: "1808:12:10",
},
nodeType: "YulExpressionStatement",
src: "1808:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "1781:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1790:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "1777:3:10",
},
nodeType: "YulFunctionCall",
src: "1777:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "1802:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "1773:3:10",
},
nodeType: "YulFunctionCall",
src: "1773:32:10",
},
nodeType: "YulIf",
src: "1770:52:10",
},
{
nodeType: "YulVariableDeclaration",
src: "1831:36:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "1857:9:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "1844:12:10",
},
nodeType: "YulFunctionCall",
src: "1844:23:10",
},
variables: [
{
name: "value",
nodeType: "YulTypedName",
src: "1835:5:10",
type: "",
},
],
},
{
expression: {
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "1901:5:10",
},
],
functionName: {
name: "validator_revert_address",
nodeType: "YulIdentifier",
src: "1876:24:10",
},
nodeType: "YulFunctionCall",
src: "1876:31:10",
},
nodeType: "YulExpressionStatement",
src: "1876:31:10",
},
{
nodeType: "YulAssignment",
src: "1916:15:10",
value: {
name: "value",
nodeType: "YulIdentifier",
src: "1926:5:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "1916:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_address",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "1726:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "1737:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "1749:6:10",
type: "",
},
],
src: "1690:247:10",
},
{
body: {
nodeType: "YulBlock",
src: "2037:92:10",
statements: [
{
nodeType: "YulAssignment",
src: "2047:26:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "2059:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2070:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "2055:3:10",
},
nodeType: "YulFunctionCall",
src: "2055:18:10",
},
variableNames: [
{
name: "tail",
nodeType: "YulIdentifier",
src: "2047:4:10",
},
],
},
{
expression: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "2089:9:10",
},
{
arguments: [
{
arguments: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "2114:6:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "2107:6:10",
},
nodeType: "YulFunctionCall",
src: "2107:14:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "2100:6:10",
},
nodeType: "YulFunctionCall",
src: "2100:22:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "2082:6:10",
},
nodeType: "YulFunctionCall",
src: "2082:41:10",
},
nodeType: "YulExpressionStatement",
src: "2082:41:10",
},
],
},
name: "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "2006:9:10",
type: "",
},
{
name: "value0",
nodeType: "YulTypedName",
src: "2017:6:10",
type: "",
},
],
returnVariables: [
{
name: "tail",
nodeType: "YulTypedName",
src: "2028:4:10",
type: "",
},
],
src: "1942:187:10",
},
{
body: {
nodeType: "YulBlock",
src: "2238:352:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "2284:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "2293:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2296:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "2286:6:10",
},
nodeType: "YulFunctionCall",
src: "2286:12:10",
},
nodeType: "YulExpressionStatement",
src: "2286:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "2259:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "2268:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "2255:3:10",
},
nodeType: "YulFunctionCall",
src: "2255:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2280:2:10",
type: "",
value: "96",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "2251:3:10",
},
nodeType: "YulFunctionCall",
src: "2251:32:10",
},
nodeType: "YulIf",
src: "2248:52:10",
},
{
nodeType: "YulAssignment",
src: "2309:33:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "2332:9:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "2319:12:10",
},
nodeType: "YulFunctionCall",
src: "2319:23:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "2309:6:10",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "2351:45:10",
value: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "2381:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2392:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "2377:3:10",
},
nodeType: "YulFunctionCall",
src: "2377:18:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "2364:12:10",
},
nodeType: "YulFunctionCall",
src: "2364:32:10",
},
variables: [
{
name: "value",
nodeType: "YulTypedName",
src: "2355:5:10",
type: "",
},
],
},
{
expression: {
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "2430:5:10",
},
],
functionName: {
name: "validator_revert_address",
nodeType: "YulIdentifier",
src: "2405:24:10",
},
nodeType: "YulFunctionCall",
src: "2405:31:10",
},
nodeType: "YulExpressionStatement",
src: "2405:31:10",
},
{
nodeType: "YulAssignment",
src: "2445:15:10",
value: {
name: "value",
nodeType: "YulIdentifier",
src: "2455:5:10",
},
variableNames: [
{
name: "value1",
nodeType: "YulIdentifier",
src: "2445:6:10",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "2469:47:10",
value: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "2501:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2512:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "2497:3:10",
},
nodeType: "YulFunctionCall",
src: "2497:18:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "2484:12:10",
},
nodeType: "YulFunctionCall",
src: "2484:32:10",
},
variables: [
{
name: "value_1",
nodeType: "YulTypedName",
src: "2473:7:10",
type: "",
},
],
},
{
expression: {
arguments: [
{
name: "value_1",
nodeType: "YulIdentifier",
src: "2550:7:10",
},
],
functionName: {
name: "validator_revert_address",
nodeType: "YulIdentifier",
src: "2525:24:10",
},
nodeType: "YulFunctionCall",
src: "2525:33:10",
},
nodeType: "YulExpressionStatement",
src: "2525:33:10",
},
{
nodeType: "YulAssignment",
src: "2567:17:10",
value: {
name: "value_1",
nodeType: "YulIdentifier",
src: "2577:7:10",
},
variableNames: [
{
name: "value2",
nodeType: "YulIdentifier",
src: "2567:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_uint256t_addresst_address",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "2188:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "2199:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "2211:6:10",
type: "",
},
{
name: "value1",
nodeType: "YulTypedName",
src: "2219:6:10",
type: "",
},
{
name: "value2",
nodeType: "YulTypedName",
src: "2227:6:10",
type: "",
},
],
src: "2134:456:10",
},
{
body: {
nodeType: "YulBlock",
src: "2627:95:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "2644:1:10",
type: "",
value: "0",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "2651:3:10",
type: "",
value: "224",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2656:10:10",
type: "",
value: "0x4e487b71",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "2647:3:10",
},
nodeType: "YulFunctionCall",
src: "2647:20:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "2637:6:10",
},
nodeType: "YulFunctionCall",
src: "2637:31:10",
},
nodeType: "YulExpressionStatement",
src: "2637:31:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "2684:1:10",
type: "",
value: "4",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2687:4:10",
type: "",
value: "0x41",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "2677:6:10",
},
nodeType: "YulFunctionCall",
src: "2677:15:10",
},
nodeType: "YulExpressionStatement",
src: "2677:15:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "2708:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2711:4:10",
type: "",
value: "0x24",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "2701:6:10",
},
nodeType: "YulFunctionCall",
src: "2701:15:10",
},
nodeType: "YulExpressionStatement",
src: "2701:15:10",
},
],
},
name: "panic_error_0x41",
nodeType: "YulFunctionDefinition",
src: "2595:127:10",
},
{
body: {
nodeType: "YulBlock",
src: "2839:1077:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "2885:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "2894:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2897:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "2887:6:10",
},
nodeType: "YulFunctionCall",
src: "2887:12:10",
},
nodeType: "YulExpressionStatement",
src: "2887:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "2860:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "2869:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "2856:3:10",
},
nodeType: "YulFunctionCall",
src: "2856:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "2881:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "2852:3:10",
},
nodeType: "YulFunctionCall",
src: "2852:32:10",
},
nodeType: "YulIf",
src: "2849:52:10",
},
{
nodeType: "YulAssignment",
src: "2910:33:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "2933:9:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "2920:12:10",
},
nodeType: "YulFunctionCall",
src: "2920:23:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "2910:6:10",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "2952:12:10",
value: {
kind: "number",
nodeType: "YulLiteral",
src: "2962:2:10",
type: "",
value: "32",
},
variables: [
{
name: "_1",
nodeType: "YulTypedName",
src: "2956:2:10",
type: "",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "2973:46:10",
value: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "3004:9:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "3015:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3000:3:10",
},
nodeType: "YulFunctionCall",
src: "3000:18:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "2987:12:10",
},
nodeType: "YulFunctionCall",
src: "2987:32:10",
},
variables: [
{
name: "offset",
nodeType: "YulTypedName",
src: "2977:6:10",
type: "",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "3028:28:10",
value: {
kind: "number",
nodeType: "YulLiteral",
src: "3038:18:10",
type: "",
value: "0xffffffffffffffff",
},
variables: [
{
name: "_2",
nodeType: "YulTypedName",
src: "3032:2:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "3083:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "3092:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "3095:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "3085:6:10",
},
nodeType: "YulFunctionCall",
src: "3085:12:10",
},
nodeType: "YulExpressionStatement",
src: "3085:12:10",
},
],
},
condition: {
arguments: [
{
name: "offset",
nodeType: "YulIdentifier",
src: "3071:6:10",
},
{
name: "_2",
nodeType: "YulIdentifier",
src: "3079:2:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "3068:2:10",
},
nodeType: "YulFunctionCall",
src: "3068:14:10",
},
nodeType: "YulIf",
src: "3065:34:10",
},
{
nodeType: "YulVariableDeclaration",
src: "3108:32:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "3122:9:10",
},
{
name: "offset",
nodeType: "YulIdentifier",
src: "3133:6:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3118:3:10",
},
nodeType: "YulFunctionCall",
src: "3118:22:10",
},
variables: [
{
name: "_3",
nodeType: "YulTypedName",
src: "3112:2:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "3188:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "3197:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "3200:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "3190:6:10",
},
nodeType: "YulFunctionCall",
src: "3190:12:10",
},
nodeType: "YulExpressionStatement",
src: "3190:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
arguments: [
{
name: "_3",
nodeType: "YulIdentifier",
src: "3167:2:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "3171:4:10",
type: "",
value: "0x1f",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3163:3:10",
},
nodeType: "YulFunctionCall",
src: "3163:13:10",
},
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "3178:7:10",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "3159:3:10",
},
nodeType: "YulFunctionCall",
src: "3159:27:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "3152:6:10",
},
nodeType: "YulFunctionCall",
src: "3152:35:10",
},
nodeType: "YulIf",
src: "3149:55:10",
},
{
nodeType: "YulVariableDeclaration",
src: "3213:26:10",
value: {
arguments: [
{
name: "_3",
nodeType: "YulIdentifier",
src: "3236:2:10",
},
],
functionName: {
name: "calldataload",
nodeType: "YulIdentifier",
src: "3223:12:10",
},
nodeType: "YulFunctionCall",
src: "3223:16:10",
},
variables: [
{
name: "_4",
nodeType: "YulTypedName",
src: "3217:2:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "3262:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x41",
nodeType: "YulIdentifier",
src: "3264:16:10",
},
nodeType: "YulFunctionCall",
src: "3264:18:10",
},
nodeType: "YulExpressionStatement",
src: "3264:18:10",
},
],
},
condition: {
arguments: [
{
name: "_4",
nodeType: "YulIdentifier",
src: "3254:2:10",
},
{
name: "_2",
nodeType: "YulIdentifier",
src: "3258:2:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "3251:2:10",
},
nodeType: "YulFunctionCall",
src: "3251:10:10",
},
nodeType: "YulIf",
src: "3248:36:10",
},
{
nodeType: "YulVariableDeclaration",
src: "3293:20:10",
value: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "3307:1:10",
type: "",
value: "5",
},
{
name: "_4",
nodeType: "YulIdentifier",
src: "3310:2:10",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "3303:3:10",
},
nodeType: "YulFunctionCall",
src: "3303:10:10",
},
variables: [
{
name: "_5",
nodeType: "YulTypedName",
src: "3297:2:10",
type: "",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "3322:23:10",
value: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "3342:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "mload",
nodeType: "YulIdentifier",
src: "3336:5:10",
},
nodeType: "YulFunctionCall",
src: "3336:9:10",
},
variables: [
{
name: "memPtr",
nodeType: "YulTypedName",
src: "3326:6:10",
type: "",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "3354:56:10",
value: {
arguments: [
{
name: "memPtr",
nodeType: "YulIdentifier",
src: "3376:6:10",
},
{
arguments: [
{
arguments: [
{
name: "_5",
nodeType: "YulIdentifier",
src: "3392:2:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "3396:2:10",
type: "",
value: "63",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3388:3:10",
},
nodeType: "YulFunctionCall",
src: "3388:11:10",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "3405:2:10",
type: "",
value: "31",
},
],
functionName: {
name: "not",
nodeType: "YulIdentifier",
src: "3401:3:10",
},
nodeType: "YulFunctionCall",
src: "3401:7:10",
},
],
functionName: {
name: "and",
nodeType: "YulIdentifier",
src: "3384:3:10",
},
nodeType: "YulFunctionCall",
src: "3384:25:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3372:3:10",
},
nodeType: "YulFunctionCall",
src: "3372:38:10",
},
variables: [
{
name: "newFreePtr",
nodeType: "YulTypedName",
src: "3358:10:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "3469:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x41",
nodeType: "YulIdentifier",
src: "3471:16:10",
},
nodeType: "YulFunctionCall",
src: "3471:18:10",
},
nodeType: "YulExpressionStatement",
src: "3471:18:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "newFreePtr",
nodeType: "YulIdentifier",
src: "3428:10:10",
},
{
name: "_2",
nodeType: "YulIdentifier",
src: "3440:2:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "3425:2:10",
},
nodeType: "YulFunctionCall",
src: "3425:18:10",
},
{
arguments: [
{
name: "newFreePtr",
nodeType: "YulIdentifier",
src: "3448:10:10",
},
{
name: "memPtr",
nodeType: "YulIdentifier",
src: "3460:6:10",
},
],
functionName: {
name: "lt",
nodeType: "YulIdentifier",
src: "3445:2:10",
},
nodeType: "YulFunctionCall",
src: "3445:22:10",
},
],
functionName: {
name: "or",
nodeType: "YulIdentifier",
src: "3422:2:10",
},
nodeType: "YulFunctionCall",
src: "3422:46:10",
},
nodeType: "YulIf",
src: "3419:72:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "3507:2:10",
type: "",
value: "64",
},
{
name: "newFreePtr",
nodeType: "YulIdentifier",
src: "3511:10:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "3500:6:10",
},
nodeType: "YulFunctionCall",
src: "3500:22:10",
},
nodeType: "YulExpressionStatement",
src: "3500:22:10",
},
{
nodeType: "YulVariableDeclaration",
src: "3531:17:10",
value: {
name: "memPtr",
nodeType: "YulIdentifier",
src: "3542:6:10",
},
variables: [
{
name: "dst",
nodeType: "YulTypedName",
src: "3535:3:10",
type: "",
},
],
},
{
expression: {
arguments: [
{
name: "memPtr",
nodeType: "YulIdentifier",
src: "3564:6:10",
},
{
name: "_4",
nodeType: "YulIdentifier",
src: "3572:2:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "3557:6:10",
},
nodeType: "YulFunctionCall",
src: "3557:18:10",
},
nodeType: "YulExpressionStatement",
src: "3557:18:10",
},
{
nodeType: "YulAssignment",
src: "3584:22:10",
value: {
arguments: [
{
name: "memPtr",
nodeType: "YulIdentifier",
src: "3595:6:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "3603:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3591:3:10",
},
nodeType: "YulFunctionCall",
src: "3591:15:10",
},
variableNames: [
{
name: "dst",
nodeType: "YulIdentifier",
src: "3584:3:10",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "3615:34:10",
value: {
arguments: [
{
arguments: [
{
name: "_3",
nodeType: "YulIdentifier",
src: "3637:2:10",
},
{
name: "_5",
nodeType: "YulIdentifier",
src: "3641:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3633:3:10",
},
nodeType: "YulFunctionCall",
src: "3633:11:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "3646:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3629:3:10",
},
nodeType: "YulFunctionCall",
src: "3629:20:10",
},
variables: [
{
name: "srcEnd",
nodeType: "YulTypedName",
src: "3619:6:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "3681:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "3690:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "3693:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "3683:6:10",
},
nodeType: "YulFunctionCall",
src: "3683:12:10",
},
nodeType: "YulExpressionStatement",
src: "3683:12:10",
},
],
},
condition: {
arguments: [
{
name: "srcEnd",
nodeType: "YulIdentifier",
src: "3664:6:10",
},
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "3672:7:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "3661:2:10",
},
nodeType: "YulFunctionCall",
src: "3661:19:10",
},
nodeType: "YulIf",
src: "3658:39:10",
},
{
nodeType: "YulVariableDeclaration",
src: "3706:22:10",
value: {
arguments: [
{
name: "_3",
nodeType: "YulIdentifier",
src: "3721:2:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "3725:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3717:3:10",
},
nodeType: "YulFunctionCall",
src: "3717:11:10",
},
variables: [
{
name: "src",
nodeType: "YulTypedName",
src: "3710:3:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "3793:92:10",
statements: [
{
expression: {
arguments: [
{
name: "dst",
nodeType: "YulIdentifier",
src: "3814:3:10",
},
{
arguments: [
{
name: "src",
nodeType: "YulIdentifier",
src: "3838:3:10",
},
],
functionName: {
name: "abi_decode_address",
nodeType: "YulIdentifier",
src: "3819:18:10",
},
nodeType: "YulFunctionCall",
src: "3819:23:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "3807:6:10",
},
nodeType: "YulFunctionCall",
src: "3807:36:10",
},
nodeType: "YulExpressionStatement",
src: "3807:36:10",
},
{
nodeType: "YulAssignment",
src: "3856:19:10",
value: {
arguments: [
{
name: "dst",
nodeType: "YulIdentifier",
src: "3867:3:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "3872:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3863:3:10",
},
nodeType: "YulFunctionCall",
src: "3863:12:10",
},
variableNames: [
{
name: "dst",
nodeType: "YulIdentifier",
src: "3856:3:10",
},
],
},
],
},
condition: {
arguments: [
{
name: "src",
nodeType: "YulIdentifier",
src: "3748:3:10",
},
{
name: "srcEnd",
nodeType: "YulIdentifier",
src: "3753:6:10",
},
],
functionName: {
name: "lt",
nodeType: "YulIdentifier",
src: "3745:2:10",
},
nodeType: "YulFunctionCall",
src: "3745:15:10",
},
nodeType: "YulForLoop",
post: {
nodeType: "YulBlock",
src: "3761:23:10",
statements: [
{
nodeType: "YulAssignment",
src: "3763:19:10",
value: {
arguments: [
{
name: "src",
nodeType: "YulIdentifier",
src: "3774:3:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "3779:2:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "3770:3:10",
},
nodeType: "YulFunctionCall",
src: "3770:12:10",
},
variableNames: [
{
name: "src",
nodeType: "YulIdentifier",
src: "3763:3:10",
},
],
},
],
},
pre: {
nodeType: "YulBlock",
src: "3741:3:10",
statements: [
],
},
src: "3737:148:10",
},
{
nodeType: "YulAssignment",
src: "3894:16:10",
value: {
name: "memPtr",
nodeType: "YulIdentifier",
src: "3904:6:10",
},
variableNames: [
{
name: "value1",
nodeType: "YulIdentifier",
src: "3894:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_uint256t_array$_t_address_$dyn_memory_ptr",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "2797:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "2808:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "2820:6:10",
type: "",
},
{
name: "value1",
nodeType: "YulTypedName",
src: "2828:6:10",
type: "",
},
],
src: "2727:1189:10",
},
{
body: {
nodeType: "YulBlock",
src: "3953:95:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "3970:1:10",
type: "",
value: "0",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "3977:3:10",
type: "",
value: "224",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "3982:10:10",
type: "",
value: "0x4e487b71",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "3973:3:10",
},
nodeType: "YulFunctionCall",
src: "3973:20:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "3963:6:10",
},
nodeType: "YulFunctionCall",
src: "3963:31:10",
},
nodeType: "YulExpressionStatement",
src: "3963:31:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "4010:1:10",
type: "",
value: "4",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "4013:4:10",
type: "",
value: "0x11",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "4003:6:10",
},
nodeType: "YulFunctionCall",
src: "4003:15:10",
},
nodeType: "YulExpressionStatement",
src: "4003:15:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "4034:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "4037:4:10",
type: "",
value: "0x24",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "4027:6:10",
},
nodeType: "YulFunctionCall",
src: "4027:15:10",
},
nodeType: "YulExpressionStatement",
src: "4027:15:10",
},
],
},
name: "panic_error_0x11",
nodeType: "YulFunctionDefinition",
src: "3921:127:10",
},
{
body: {
nodeType: "YulBlock",
src: "4101:80:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "4128:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x11",
nodeType: "YulIdentifier",
src: "4130:16:10",
},
nodeType: "YulFunctionCall",
src: "4130:18:10",
},
nodeType: "YulExpressionStatement",
src: "4130:18:10",
},
],
},
condition: {
arguments: [
{
name: "x",
nodeType: "YulIdentifier",
src: "4117:1:10",
},
{
arguments: [
{
name: "y",
nodeType: "YulIdentifier",
src: "4124:1:10",
},
],
functionName: {
name: "not",
nodeType: "YulIdentifier",
src: "4120:3:10",
},
nodeType: "YulFunctionCall",
src: "4120:6:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "4114:2:10",
},
nodeType: "YulFunctionCall",
src: "4114:13:10",
},
nodeType: "YulIf",
src: "4111:39:10",
},
{
nodeType: "YulAssignment",
src: "4159:16:10",
value: {
arguments: [
{
name: "x",
nodeType: "YulIdentifier",
src: "4170:1:10",
},
{
name: "y",
nodeType: "YulIdentifier",
src: "4173:1:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "4166:3:10",
},
nodeType: "YulFunctionCall",
src: "4166:9:10",
},
variableNames: [
{
name: "sum",
nodeType: "YulIdentifier",
src: "4159:3:10",
},
],
},
],
},
name: "checked_add_t_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "x",
nodeType: "YulTypedName",
src: "4084:1:10",
type: "",
},
{
name: "y",
nodeType: "YulTypedName",
src: "4087:1:10",
type: "",
},
],
returnVariables: [
{
name: "sum",
nodeType: "YulTypedName",
src: "4093:3:10",
type: "",
},
],
src: "4053:128:10",
},
{
body: {
nodeType: "YulBlock",
src: "4235:76:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "4257:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x11",
nodeType: "YulIdentifier",
src: "4259:16:10",
},
nodeType: "YulFunctionCall",
src: "4259:18:10",
},
nodeType: "YulExpressionStatement",
src: "4259:18:10",
},
],
},
condition: {
arguments: [
{
name: "x",
nodeType: "YulIdentifier",
src: "4251:1:10",
},
{
name: "y",
nodeType: "YulIdentifier",
src: "4254:1:10",
},
],
functionName: {
name: "lt",
nodeType: "YulIdentifier",
src: "4248:2:10",
},
nodeType: "YulFunctionCall",
src: "4248:8:10",
},
nodeType: "YulIf",
src: "4245:34:10",
},
{
nodeType: "YulAssignment",
src: "4288:17:10",
value: {
arguments: [
{
name: "x",
nodeType: "YulIdentifier",
src: "4300:1:10",
},
{
name: "y",
nodeType: "YulIdentifier",
src: "4303:1:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "4296:3:10",
},
nodeType: "YulFunctionCall",
src: "4296:9:10",
},
variableNames: [
{
name: "diff",
nodeType: "YulIdentifier",
src: "4288:4:10",
},
],
},
],
},
name: "checked_sub_t_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "x",
nodeType: "YulTypedName",
src: "4217:1:10",
type: "",
},
{
name: "y",
nodeType: "YulTypedName",
src: "4220:1:10",
type: "",
},
],
returnVariables: [
{
name: "diff",
nodeType: "YulTypedName",
src: "4226:4:10",
type: "",
},
],
src: "4186:125:10",
},
{
body: {
nodeType: "YulBlock",
src: "4368:116:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "4427:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x11",
nodeType: "YulIdentifier",
src: "4429:16:10",
},
nodeType: "YulFunctionCall",
src: "4429:18:10",
},
nodeType: "YulExpressionStatement",
src: "4429:18:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
arguments: [
{
name: "x",
nodeType: "YulIdentifier",
src: "4399:1:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "4392:6:10",
},
nodeType: "YulFunctionCall",
src: "4392:9:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "4385:6:10",
},
nodeType: "YulFunctionCall",
src: "4385:17:10",
},
{
arguments: [
{
name: "y",
nodeType: "YulIdentifier",
src: "4407:1:10",
},
{
arguments: [
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "4418:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "not",
nodeType: "YulIdentifier",
src: "4414:3:10",
},
nodeType: "YulFunctionCall",
src: "4414:6:10",
},
{
name: "x",
nodeType: "YulIdentifier",
src: "4422:1:10",
},
],
functionName: {
name: "div",
nodeType: "YulIdentifier",
src: "4410:3:10",
},
nodeType: "YulFunctionCall",
src: "4410:14:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "4404:2:10",
},
nodeType: "YulFunctionCall",
src: "4404:21:10",
},
],
functionName: {
name: "and",
nodeType: "YulIdentifier",
src: "4381:3:10",
},
nodeType: "YulFunctionCall",
src: "4381:45:10",
},
nodeType: "YulIf",
src: "4378:71:10",
},
{
nodeType: "YulAssignment",
src: "4458:20:10",
value: {
arguments: [
{
name: "x",
nodeType: "YulIdentifier",
src: "4473:1:10",
},
{
name: "y",
nodeType: "YulIdentifier",
src: "4476:1:10",
},
],
functionName: {
name: "mul",
nodeType: "YulIdentifier",
src: "4469:3:10",
},
nodeType: "YulFunctionCall",
src: "4469:9:10",
},
variableNames: [
{
name: "product",
nodeType: "YulIdentifier",
src: "4458:7:10",
},
],
},
],
},
name: "checked_mul_t_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "x",
nodeType: "YulTypedName",
src: "4347:1:10",
type: "",
},
{
name: "y",
nodeType: "YulTypedName",
src: "4350:1:10",
type: "",
},
],
returnVariables: [
{
name: "product",
nodeType: "YulTypedName",
src: "4356:7:10",
type: "",
},
],
src: "4316:168:10",
},
{
body: {
nodeType: "YulBlock",
src: "4521:95:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "4538:1:10",
type: "",
value: "0",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "4545:3:10",
type: "",
value: "224",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "4550:10:10",
type: "",
value: "0x4e487b71",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "4541:3:10",
},
nodeType: "YulFunctionCall",
src: "4541:20:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "4531:6:10",
},
nodeType: "YulFunctionCall",
src: "4531:31:10",
},
nodeType: "YulExpressionStatement",
src: "4531:31:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "4578:1:10",
type: "",
value: "4",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "4581:4:10",
type: "",
value: "0x12",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "4571:6:10",
},
nodeType: "YulFunctionCall",
src: "4571:15:10",
},
nodeType: "YulExpressionStatement",
src: "4571:15:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "4602:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "4605:4:10",
type: "",
value: "0x24",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "4595:6:10",
},
nodeType: "YulFunctionCall",
src: "4595:15:10",
},
nodeType: "YulExpressionStatement",
src: "4595:15:10",
},
],
},
name: "panic_error_0x12",
nodeType: "YulFunctionDefinition",
src: "4489:127:10",
},
{
body: {
nodeType: "YulBlock",
src: "4667:74:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "4690:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x12",
nodeType: "YulIdentifier",
src: "4692:16:10",
},
nodeType: "YulFunctionCall",
src: "4692:18:10",
},
nodeType: "YulExpressionStatement",
src: "4692:18:10",
},
],
},
condition: {
arguments: [
{
name: "y",
nodeType: "YulIdentifier",
src: "4687:1:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "4680:6:10",
},
nodeType: "YulFunctionCall",
src: "4680:9:10",
},
nodeType: "YulIf",
src: "4677:35:10",
},
{
nodeType: "YulAssignment",
src: "4721:14:10",
value: {
arguments: [
{
name: "x",
nodeType: "YulIdentifier",
src: "4730:1:10",
},
{
name: "y",
nodeType: "YulIdentifier",
src: "4733:1:10",
},
],
functionName: {
name: "div",
nodeType: "YulIdentifier",
src: "4726:3:10",
},
nodeType: "YulFunctionCall",
src: "4726:9:10",
},
variableNames: [
{
name: "r",
nodeType: "YulIdentifier",
src: "4721:1:10",
},
],
},
],
},
name: "checked_div_t_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "x",
nodeType: "YulTypedName",
src: "4652:1:10",
type: "",
},
{
name: "y",
nodeType: "YulTypedName",
src: "4655:1:10",
type: "",
},
],
returnVariables: [
{
name: "r",
nodeType: "YulTypedName",
src: "4661:1:10",
type: "",
},
],
src: "4621:120:10",
},
{
body: {
nodeType: "YulBlock",
src: "4793:88:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "4824:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x11",
nodeType: "YulIdentifier",
src: "4826:16:10",
},
nodeType: "YulFunctionCall",
src: "4826:18:10",
},
nodeType: "YulExpressionStatement",
src: "4826:18:10",
},
],
},
condition: {
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "4809:5:10",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "4820:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "not",
nodeType: "YulIdentifier",
src: "4816:3:10",
},
nodeType: "YulFunctionCall",
src: "4816:6:10",
},
],
functionName: {
name: "eq",
nodeType: "YulIdentifier",
src: "4806:2:10",
},
nodeType: "YulFunctionCall",
src: "4806:17:10",
},
nodeType: "YulIf",
src: "4803:43:10",
},
{
nodeType: "YulAssignment",
src: "4855:20:10",
value: {
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "4866:5:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "4873:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "4862:3:10",
},
nodeType: "YulFunctionCall",
src: "4862:13:10",
},
variableNames: [
{
name: "ret",
nodeType: "YulIdentifier",
src: "4855:3:10",
},
],
},
],
},
name: "increment_t_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "value",
nodeType: "YulTypedName",
src: "4775:5:10",
type: "",
},
],
returnVariables: [
{
name: "ret",
nodeType: "YulTypedName",
src: "4785:3:10",
type: "",
},
],
src: "4746:135:10",
},
{
body: {
nodeType: "YulBlock",
src: "4967:170:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "5013:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "5022:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5025:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "5015:6:10",
},
nodeType: "YulFunctionCall",
src: "5015:12:10",
},
nodeType: "YulExpressionStatement",
src: "5015:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "4988:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "4997:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "4984:3:10",
},
nodeType: "YulFunctionCall",
src: "4984:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5009:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "4980:3:10",
},
nodeType: "YulFunctionCall",
src: "4980:32:10",
},
nodeType: "YulIf",
src: "4977:52:10",
},
{
nodeType: "YulVariableDeclaration",
src: "5038:29:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "5057:9:10",
},
],
functionName: {
name: "mload",
nodeType: "YulIdentifier",
src: "5051:5:10",
},
nodeType: "YulFunctionCall",
src: "5051:16:10",
},
variables: [
{
name: "value",
nodeType: "YulTypedName",
src: "5042:5:10",
type: "",
},
],
},
{
expression: {
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "5101:5:10",
},
],
functionName: {
name: "validator_revert_address",
nodeType: "YulIdentifier",
src: "5076:24:10",
},
nodeType: "YulFunctionCall",
src: "5076:31:10",
},
nodeType: "YulExpressionStatement",
src: "5076:31:10",
},
{
nodeType: "YulAssignment",
src: "5116:15:10",
value: {
name: "value",
nodeType: "YulIdentifier",
src: "5126:5:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "5116:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_address_fromMemory",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "4933:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "4944:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "4956:6:10",
type: "",
},
],
src: "4886:251:10",
},
{
body: {
nodeType: "YulBlock",
src: "5316:158:10",
statements: [
{
expression: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "5333:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5344:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "5326:6:10",
},
nodeType: "YulFunctionCall",
src: "5326:21:10",
},
nodeType: "YulExpressionStatement",
src: "5326:21:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "5367:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5378:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "5363:3:10",
},
nodeType: "YulFunctionCall",
src: "5363:18:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5383:1:10",
type: "",
value: "9",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "5356:6:10",
},
nodeType: "YulFunctionCall",
src: "5356:29:10",
},
nodeType: "YulExpressionStatement",
src: "5356:29:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "5405:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5416:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "5401:3:10",
},
nodeType: "YulFunctionCall",
src: "5401:18:10",
},
{
hexValue: "6f6e6c79207465616d",
kind: "string",
nodeType: "YulLiteral",
src: "5421:11:10",
type: "",
value: "only team",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "5394:6:10",
},
nodeType: "YulFunctionCall",
src: "5394:39:10",
},
nodeType: "YulExpressionStatement",
src: "5394:39:10",
},
{
nodeType: "YulAssignment",
src: "5442:26:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "5454:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5465:2:10",
type: "",
value: "96",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "5450:3:10",
},
nodeType: "YulFunctionCall",
src: "5450:18:10",
},
variableNames: [
{
name: "tail",
nodeType: "YulIdentifier",
src: "5442:4:10",
},
],
},
],
},
name: "abi_encode_tuple_t_stringliteral_b48ccd03830eacc5b323691fb82c877051527edff07a748784a55d14a6f06a74__to_t_string_memory_ptr__fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "5293:9:10",
type: "",
},
],
returnVariables: [
{
name: "tail",
nodeType: "YulTypedName",
src: "5307:4:10",
type: "",
},
],
src: "5142:332:10",
},
{
body: {
nodeType: "YulBlock",
src: "5511:95:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "5528:1:10",
type: "",
value: "0",
},
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "5535:3:10",
type: "",
value: "224",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5540:10:10",
type: "",
value: "0x4e487b71",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "5531:3:10",
},
nodeType: "YulFunctionCall",
src: "5531:20:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "5521:6:10",
},
nodeType: "YulFunctionCall",
src: "5521:31:10",
},
nodeType: "YulExpressionStatement",
src: "5521:31:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "5568:1:10",
type: "",
value: "4",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5571:4:10",
type: "",
value: "0x32",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "5561:6:10",
},
nodeType: "YulFunctionCall",
src: "5561:15:10",
},
nodeType: "YulExpressionStatement",
src: "5561:15:10",
},
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "5592:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5595:4:10",
type: "",
value: "0x24",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "5585:6:10",
},
nodeType: "YulFunctionCall",
src: "5585:15:10",
},
nodeType: "YulExpressionStatement",
src: "5585:15:10",
},
],
},
name: "panic_error_0x32",
nodeType: "YulFunctionDefinition",
src: "5479:127:10",
},
{
body: {
nodeType: "YulBlock",
src: "5689:199:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "5735:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "5744:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5747:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "5737:6:10",
},
nodeType: "YulFunctionCall",
src: "5737:12:10",
},
nodeType: "YulExpressionStatement",
src: "5737:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "dataEnd",
nodeType: "YulIdentifier",
src: "5710:7:10",
},
{
name: "headStart",
nodeType: "YulIdentifier",
src: "5719:9:10",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "5706:3:10",
},
nodeType: "YulFunctionCall",
src: "5706:23:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5731:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "slt",
nodeType: "YulIdentifier",
src: "5702:3:10",
},
nodeType: "YulFunctionCall",
src: "5702:32:10",
},
nodeType: "YulIf",
src: "5699:52:10",
},
{
nodeType: "YulVariableDeclaration",
src: "5760:29:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "5779:9:10",
},
],
functionName: {
name: "mload",
nodeType: "YulIdentifier",
src: "5773:5:10",
},
nodeType: "YulFunctionCall",
src: "5773:16:10",
},
variables: [
{
name: "value",
nodeType: "YulTypedName",
src: "5764:5:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "5842:16:10",
statements: [
{
expression: {
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "5851:1:10",
type: "",
value: "0",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "5854:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "revert",
nodeType: "YulIdentifier",
src: "5844:6:10",
},
nodeType: "YulFunctionCall",
src: "5844:12:10",
},
nodeType: "YulExpressionStatement",
src: "5844:12:10",
},
],
},
condition: {
arguments: [
{
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "5811:5:10",
},
{
arguments: [
{
arguments: [
{
name: "value",
nodeType: "YulIdentifier",
src: "5832:5:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "5825:6:10",
},
nodeType: "YulFunctionCall",
src: "5825:13:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "5818:6:10",
},
nodeType: "YulFunctionCall",
src: "5818:21:10",
},
],
functionName: {
name: "eq",
nodeType: "YulIdentifier",
src: "5808:2:10",
},
nodeType: "YulFunctionCall",
src: "5808:32:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "5801:6:10",
},
nodeType: "YulFunctionCall",
src: "5801:40:10",
},
nodeType: "YulIf",
src: "5798:60:10",
},
{
nodeType: "YulAssignment",
src: "5867:15:10",
value: {
name: "value",
nodeType: "YulIdentifier",
src: "5877:5:10",
},
variableNames: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "5867:6:10",
},
],
},
],
},
name: "abi_decode_tuple_t_bool_fromMemory",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "5655:9:10",
type: "",
},
{
name: "dataEnd",
nodeType: "YulTypedName",
src: "5666:7:10",
type: "",
},
],
returnVariables: [
{
name: "value0",
nodeType: "YulTypedName",
src: "5678:6:10",
type: "",
},
],
src: "5611:277:10",
},
{
body: {
nodeType: "YulBlock",
src: "6067:182:10",
statements: [
{
expression: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6084:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6095:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "6077:6:10",
},
nodeType: "YulFunctionCall",
src: "6077:21:10",
},
nodeType: "YulExpressionStatement",
src: "6077:21:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6118:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6129:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "6114:3:10",
},
nodeType: "YulFunctionCall",
src: "6114:18:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6134:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "6107:6:10",
},
nodeType: "YulFunctionCall",
src: "6107:30:10",
},
nodeType: "YulExpressionStatement",
src: "6107:30:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6157:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6168:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "6153:3:10",
},
nodeType: "YulFunctionCall",
src: "6153:18:10",
},
{
hexValue: "627269626520746f6b656e73206d7573742062652077686974656c6973746564",
kind: "string",
nodeType: "YulLiteral",
src: "6173:34:10",
type: "",
value: "bribe tokens must be whitelisted",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "6146:6:10",
},
nodeType: "YulFunctionCall",
src: "6146:62:10",
},
nodeType: "YulExpressionStatement",
src: "6146:62:10",
},
{
nodeType: "YulAssignment",
src: "6217:26:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6229:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6240:2:10",
type: "",
value: "96",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "6225:3:10",
},
nodeType: "YulFunctionCall",
src: "6225:18:10",
},
variableNames: [
{
name: "tail",
nodeType: "YulIdentifier",
src: "6217:4:10",
},
],
},
],
},
name: "abi_encode_tuple_t_stringliteral_613661a7f6d75937f735ea44c5b3fb11fc1977fd6b676327a2f9d86c51ab5490__to_t_string_memory_ptr__fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "6044:9:10",
type: "",
},
],
returnVariables: [
{
name: "tail",
nodeType: "YulTypedName",
src: "6058:4:10",
type: "",
},
],
src: "5893:356:10",
},
{
body: {
nodeType: "YulBlock",
src: "6428:173:10",
statements: [
{
expression: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6445:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6456:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "6438:6:10",
},
nodeType: "YulFunctionCall",
src: "6438:21:10",
},
nodeType: "YulExpressionStatement",
src: "6438:21:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6479:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6490:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "6475:3:10",
},
nodeType: "YulFunctionCall",
src: "6475:18:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6495:2:10",
type: "",
value: "23",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "6468:6:10",
},
nodeType: "YulFunctionCall",
src: "6468:30:10",
},
nodeType: "YulExpressionStatement",
src: "6468:30:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6518:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6529:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "6514:3:10",
},
nodeType: "YulFunctionCall",
src: "6514:18:10",
},
{
hexValue: "746f6f206d616e79207265776172647320746f6b656e73",
kind: "string",
nodeType: "YulLiteral",
src: "6534:25:10",
type: "",
value: "too many rewards tokens",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "6507:6:10",
},
nodeType: "YulFunctionCall",
src: "6507:53:10",
},
nodeType: "YulExpressionStatement",
src: "6507:53:10",
},
{
nodeType: "YulAssignment",
src: "6569:26:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6581:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6592:2:10",
type: "",
value: "96",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "6577:3:10",
},
nodeType: "YulFunctionCall",
src: "6577:18:10",
},
variableNames: [
{
name: "tail",
nodeType: "YulIdentifier",
src: "6569:4:10",
},
],
},
],
},
name: "abi_encode_tuple_t_stringliteral_a82ccc57c4ccf3ac1803e892f1c8a66446698251399454be788685675988a605__to_t_string_memory_ptr__fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "6405:9:10",
type: "",
},
],
returnVariables: [
{
name: "tail",
nodeType: "YulTypedName",
src: "6419:4:10",
type: "",
},
],
src: "6254:347:10",
},
{
body: {
nodeType: "YulBlock",
src: "6735:145:10",
statements: [
{
nodeType: "YulAssignment",
src: "6745:26:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6757:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6768:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "6753:3:10",
},
nodeType: "YulFunctionCall",
src: "6753:18:10",
},
variableNames: [
{
name: "tail",
nodeType: "YulIdentifier",
src: "6745:4:10",
},
],
},
{
expression: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6787:9:10",
},
{
arguments: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "6802:6:10",
},
{
arguments: [
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "6818:3:10",
type: "",
value: "160",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6823:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "6814:3:10",
},
nodeType: "YulFunctionCall",
src: "6814:11:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6827:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "6810:3:10",
},
nodeType: "YulFunctionCall",
src: "6810:19:10",
},
],
functionName: {
name: "and",
nodeType: "YulIdentifier",
src: "6798:3:10",
},
nodeType: "YulFunctionCall",
src: "6798:32:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "6780:6:10",
},
nodeType: "YulFunctionCall",
src: "6780:51:10",
},
nodeType: "YulExpressionStatement",
src: "6780:51:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "6851:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "6862:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "6847:3:10",
},
nodeType: "YulFunctionCall",
src: "6847:18:10",
},
{
name: "value1",
nodeType: "YulIdentifier",
src: "6867:6:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "6840:6:10",
},
nodeType: "YulFunctionCall",
src: "6840:34:10",
},
nodeType: "YulExpressionStatement",
src: "6840:34:10",
},
],
},
name: "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "6696:9:10",
type: "",
},
{
name: "value1",
nodeType: "YulTypedName",
src: "6707:6:10",
type: "",
},
{
name: "value0",
nodeType: "YulTypedName",
src: "6715:6:10",
type: "",
},
],
returnVariables: [
{
name: "tail",
nodeType: "YulTypedName",
src: "6726:4:10",
type: "",
},
],
src: "6606:274:10",
},
{
body: {
nodeType: "YulBlock",
src: "6923:74:10",
statements: [
{
body: {
nodeType: "YulBlock",
src: "6946:22:10",
statements: [
{
expression: {
arguments: [
],
functionName: {
name: "panic_error_0x12",
nodeType: "YulIdentifier",
src: "6948:16:10",
},
nodeType: "YulFunctionCall",
src: "6948:18:10",
},
nodeType: "YulExpressionStatement",
src: "6948:18:10",
},
],
},
condition: {
arguments: [
{
name: "y",
nodeType: "YulIdentifier",
src: "6943:1:10",
},
],
functionName: {
name: "iszero",
nodeType: "YulIdentifier",
src: "6936:6:10",
},
nodeType: "YulFunctionCall",
src: "6936:9:10",
},
nodeType: "YulIf",
src: "6933:35:10",
},
{
nodeType: "YulAssignment",
src: "6977:14:10",
value: {
arguments: [
{
name: "x",
nodeType: "YulIdentifier",
src: "6986:1:10",
},
{
name: "y",
nodeType: "YulIdentifier",
src: "6989:1:10",
},
],
functionName: {
name: "mod",
nodeType: "YulIdentifier",
src: "6982:3:10",
},
nodeType: "YulFunctionCall",
src: "6982:9:10",
},
variableNames: [
{
name: "r",
nodeType: "YulIdentifier",
src: "6977:1:10",
},
],
},
],
},
name: "mod_t_uint256",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "x",
nodeType: "YulTypedName",
src: "6908:1:10",
type: "",
},
{
name: "y",
nodeType: "YulTypedName",
src: "6911:1:10",
type: "",
},
],
returnVariables: [
{
name: "r",
nodeType: "YulTypedName",
src: "6917:1:10",
type: "",
},
],
src: "6885:112:10",
},
{
body: {
nodeType: "YulBlock",
src: "7139:289:10",
statements: [
{
nodeType: "YulVariableDeclaration",
src: "7149:27:10",
value: {
arguments: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "7169:6:10",
},
],
functionName: {
name: "mload",
nodeType: "YulIdentifier",
src: "7163:5:10",
},
nodeType: "YulFunctionCall",
src: "7163:13:10",
},
variables: [
{
name: "length",
nodeType: "YulTypedName",
src: "7153:6:10",
type: "",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "7185:10:10",
value: {
kind: "number",
nodeType: "YulLiteral",
src: "7194:1:10",
type: "",
value: "0",
},
variables: [
{
name: "i",
nodeType: "YulTypedName",
src: "7189:1:10",
type: "",
},
],
},
{
body: {
nodeType: "YulBlock",
src: "7256:77:10",
statements: [
{
expression: {
arguments: [
{
arguments: [
{
name: "pos",
nodeType: "YulIdentifier",
src: "7281:3:10",
},
{
name: "i",
nodeType: "YulIdentifier",
src: "7286:1:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "7277:3:10",
},
nodeType: "YulFunctionCall",
src: "7277:11:10",
},
{
arguments: [
{
arguments: [
{
arguments: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "7304:6:10",
},
{
name: "i",
nodeType: "YulIdentifier",
src: "7312:1:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "7300:3:10",
},
nodeType: "YulFunctionCall",
src: "7300:14:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "7316:4:10",
type: "",
value: "0x20",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "7296:3:10",
},
nodeType: "YulFunctionCall",
src: "7296:25:10",
},
],
functionName: {
name: "mload",
nodeType: "YulIdentifier",
src: "7290:5:10",
},
nodeType: "YulFunctionCall",
src: "7290:32:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "7270:6:10",
},
nodeType: "YulFunctionCall",
src: "7270:53:10",
},
nodeType: "YulExpressionStatement",
src: "7270:53:10",
},
],
},
condition: {
arguments: [
{
name: "i",
nodeType: "YulIdentifier",
src: "7215:1:10",
},
{
name: "length",
nodeType: "YulIdentifier",
src: "7218:6:10",
},
],
functionName: {
name: "lt",
nodeType: "YulIdentifier",
src: "7212:2:10",
},
nodeType: "YulFunctionCall",
src: "7212:13:10",
},
nodeType: "YulForLoop",
post: {
nodeType: "YulBlock",
src: "7226:21:10",
statements: [
{
nodeType: "YulAssignment",
src: "7228:17:10",
value: {
arguments: [
{
name: "i",
nodeType: "YulIdentifier",
src: "7237:1:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "7240:4:10",
type: "",
value: "0x20",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "7233:3:10",
},
nodeType: "YulFunctionCall",
src: "7233:12:10",
},
variableNames: [
{
name: "i",
nodeType: "YulIdentifier",
src: "7228:1:10",
},
],
},
],
},
pre: {
nodeType: "YulBlock",
src: "7208:3:10",
statements: [
],
},
src: "7204:129:10",
},
{
body: {
nodeType: "YulBlock",
src: "7359:31:10",
statements: [
{
expression: {
arguments: [
{
arguments: [
{
name: "pos",
nodeType: "YulIdentifier",
src: "7372:3:10",
},
{
name: "length",
nodeType: "YulIdentifier",
src: "7377:6:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "7368:3:10",
},
nodeType: "YulFunctionCall",
src: "7368:16:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "7386:1:10",
type: "",
value: "0",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "7361:6:10",
},
nodeType: "YulFunctionCall",
src: "7361:27:10",
},
nodeType: "YulExpressionStatement",
src: "7361:27:10",
},
],
},
condition: {
arguments: [
{
name: "i",
nodeType: "YulIdentifier",
src: "7348:1:10",
},
{
name: "length",
nodeType: "YulIdentifier",
src: "7351:6:10",
},
],
functionName: {
name: "gt",
nodeType: "YulIdentifier",
src: "7345:2:10",
},
nodeType: "YulFunctionCall",
src: "7345:13:10",
},
nodeType: "YulIf",
src: "7342:48:10",
},
{
nodeType: "YulAssignment",
src: "7399:23:10",
value: {
arguments: [
{
name: "pos",
nodeType: "YulIdentifier",
src: "7410:3:10",
},
{
name: "length",
nodeType: "YulIdentifier",
src: "7415:6:10",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "7406:3:10",
},
nodeType: "YulFunctionCall",
src: "7406:16:10",
},
variableNames: [
{
name: "end",
nodeType: "YulIdentifier",
src: "7399:3:10",
},
],
},
],
},
name: "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "pos",
nodeType: "YulTypedName",
src: "7115:3:10",
type: "",
},
{
name: "value0",
nodeType: "YulTypedName",
src: "7120:6:10",
type: "",
},
],
returnVariables: [
{
name: "end",
nodeType: "YulTypedName",
src: "7131:3:10",
type: "",
},
],
src: "7002:426:10",
},
{
body: {
nodeType: "YulBlock",
src: "7590:218:10",
statements: [
{
nodeType: "YulAssignment",
src: "7600:26:10",
value: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "7612:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "7623:2:10",
type: "",
value: "96",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "7608:3:10",
},
nodeType: "YulFunctionCall",
src: "7608:18:10",
},
variableNames: [
{
name: "tail",
nodeType: "YulIdentifier",
src: "7600:4:10",
},
],
},
{
nodeType: "YulVariableDeclaration",
src: "7635:29:10",
value: {
arguments: [
{
arguments: [
{
kind: "number",
nodeType: "YulLiteral",
src: "7653:3:10",
type: "",
value: "160",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "7658:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "shl",
nodeType: "YulIdentifier",
src: "7649:3:10",
},
nodeType: "YulFunctionCall",
src: "7649:11:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "7662:1:10",
type: "",
value: "1",
},
],
functionName: {
name: "sub",
nodeType: "YulIdentifier",
src: "7645:3:10",
},
nodeType: "YulFunctionCall",
src: "7645:19:10",
},
variables: [
{
name: "_1",
nodeType: "YulTypedName",
src: "7639:2:10",
type: "",
},
],
},
{
expression: {
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "7680:9:10",
},
{
arguments: [
{
name: "value0",
nodeType: "YulIdentifier",
src: "7695:6:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "7703:2:10",
},
],
functionName: {
name: "and",
nodeType: "YulIdentifier",
src: "7691:3:10",
},
nodeType: "YulFunctionCall",
src: "7691:15:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "7673:6:10",
},
nodeType: "YulFunctionCall",
src: "7673:34:10",
},
nodeType: "YulExpressionStatement",
src: "7673:34:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "7727:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "7738:2:10",
type: "",
value: "32",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "7723:3:10",
},
nodeType: "YulFunctionCall",
src: "7723:18:10",
},
{
arguments: [
{
name: "value1",
nodeType: "YulIdentifier",
src: "7747:6:10",
},
{
name: "_1",
nodeType: "YulIdentifier",
src: "7755:2:10",
},
],
functionName: {
name: "and",
nodeType: "YulIdentifier",
src: "7743:3:10",
},
nodeType: "YulFunctionCall",
src: "7743:15:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "7716:6:10",
},
nodeType: "YulFunctionCall",
src: "7716:43:10",
},
nodeType: "YulExpressionStatement",
src: "7716:43:10",
},
{
expression: {
arguments: [
{
arguments: [
{
name: "headStart",
nodeType: "YulIdentifier",
src: "7779:9:10",
},
{
kind: "number",
nodeType: "YulLiteral",
src: "7790:2:10",
type: "",
value: "64",
},
],
functionName: {
name: "add",
nodeType: "YulIdentifier",
src: "7775:3:10",
},
nodeType: "YulFunctionCall",
src: "7775:18:10",
},
{
name: "value2",
nodeType: "YulIdentifier",
src: "7795:6:10",
},
],
functionName: {
name: "mstore",
nodeType: "YulIdentifier",
src: "7768:6:10",
},
nodeType: "YulFunctionCall",
src: "7768:34:10",
},
nodeType: "YulExpressionStatement",
src: "7768:34:10",
},
],
},
name: "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
nodeType: "YulFunctionDefinition",
parameters: [
{
name: "headStart",
nodeType: "YulTypedName",
src: "7543:9:10",
type: "",
},
{
name: "value2",
nodeType: "YulTypedName",
src: "7554:6:10",
type: "",
},
{
name: "value1",
nodeType: "YulTypedName",
src: "7562:6:10",
type: "",
},
{
name: "value0",
nodeType: "YulTypedName",
src: "7570:6:10",
type: "",
},
],
returnVariables: [
{
name: "tail",
nodeType: "YulTypedName",
src: "7581:4:10",
type: "",
},
],
src: "7433:375:10",
},
],
},
contents: "{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n validator_revert_address(value)\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_decode_tuple_t_uint256t_addresst_address(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_address(value)\n value1 := value\n let value_1 := calldataload(add(headStart, 64))\n validator_revert_address(value_1)\n value2 := value_1\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_uint256t_array$_t_address_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let _1 := 32\n let offset := calldataload(add(headStart, _1))\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := calldataload(_3)\n if gt(_4, _2) { panic_error_0x41() }\n let _5 := shl(5, _4)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(_5, 63), not(31)))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n let dst := memPtr\n mstore(memPtr, _4)\n dst := add(memPtr, _1)\n let srcEnd := add(add(_3, _5), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_3, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, abi_decode_address(src))\n dst := add(dst, _1)\n }\n value1 := memPtr\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_b48ccd03830eacc5b323691fb82c877051527edff07a748784a55d14a6f06a74__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 9)\n mstore(add(headStart, 64), \"only team\")\n tail := add(headStart, 96)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_613661a7f6d75937f735ea44c5b3fb11fc1977fd6b676327a2f9d86c51ab5490__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"bribe tokens must be whitelisted\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a82ccc57c4ccf3ac1803e892f1c8a66446698251399454be788685675988a605__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"too many rewards tokens\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n mstore(add(pos, i), mload(add(add(value0, i), 0x20)))\n }\n if gt(i, length) { mstore(add(pos, length), 0) }\n end := add(pos, length)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n}",
id: 10,
language: "Yul",
name: "#utility.yul",
},
],
immutableReferences: {
"11": [
{
length: 32,
start: 474,
},
{
length: 32,
start: 2670,
},
{
length: 32,
start: 3223,
},
{
length: 32,
start: 3797,
},
{
length: 32,
start: 4463,
},
],
"13": [
{
length: 32,
start: 729,
},
{
length: 32,
start: 2203,
},
{
length: 32,
start: 3290,
},
{
length: 32,
start: 4700,
},
],
},
linkReferences: {
},
object: "608060405234801561001057600080fd5b506004361061018e5760003560e01c80639cc7f708116100de578063e688639611610097578063f301af4211610071578063f301af4214610416578063f320772314610429578063f5f8d3651461043c578063f7412baf1461044f57600080fd5b8063e6886396146103da578063e8111a12146103e2578063f25e55a5146103eb57600080fd5b80639cc7f7081461034e5780639e2bf22c1461036e578063a28d4c9c14610381578063a7852afa14610394578063b66503cf146103a7578063da09d19d146103ba57600080fd5b8063505897931161014b5780638dd598fb116101255780638dd598fb146102d457806392777b29146102fb5780639418f9391461032657806399bcc0521461033b57600080fd5b8063505897931461028e578063638634ee146102ae57806376f4be36146102c157600080fd5b80630175e23b1461019357806318160ddd146101b95780633e491d47146101c257806346c96aac146101d557806349dcc204146102145780634d5ce0381461025b575b600080fd5b6101a66101a1366004611792565b610476565b6040519081526020015b60405180910390f35b6101a660005481565b6101a66101d03660046117d3565b6104b8565b6101fc7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b0565b6102466102223660046117ff565b60076020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016101b0565b61027e610269366004611821565b60066020526000908152604090205460ff1681565b60405190151581526020016101b0565b6101a661029c366004611792565b60086020526000908152604090205481565b6101a66102bc366004611821565b610741565b6101a66102cf366004611792565b610765565b6101fc7f000000000000000000000000000000000000000000000000000000000000000081565b6101a66103093660046117d3565b600260209081526000928352604080842090915290825290205481565b61033961033436600461183e565b610899565b005b6101a6610349366004611821565b610a2a565b6101a661035c366004611792565b60016020526000908152604090205481565b61033961037c3660046117ff565b610a63565b6101a661038f3660046117ff565b610b33565b6103396103a2366004611896565b610c78565b6103396103b53660046117d3565b610e78565b6101a66103c8366004611821565b60036020526000908152604090205481565b6005546101a6565b6101a6600a5481565b6101a66103f93660046117d3565b600460209081526000928352604080842090915290825290205481565b6101fc610424366004611792565b61113a565b6103396104373660046117ff565b611164565b61033961044a366004611896565b61122c565b61024661045d366004611792565b6009602052600090815260409020805460019091015482565b60008061048283611400565b9050600061049362093a808361197d565b90508084106104ae576104a98262093a8061197d565b6104b0565b815b949350505050565b6001600160a01b0382166000908152600460209081526040808320848452825280832054600890925282205482036104f457600091505061073b565b60006105008483610b33565b6000858152600860205260408120549192509061051f90600190611995565b90506000610540604051806040016040528060008152602001600081525090565b61054985611400565b81526001831561065a57845b610560600186611995565b81116106585760008981526007602090815260408083208484528252808320815180830190925280548083526001909101549282019290925291906105a490611400565b85519091508111156105c25760208501516105bf908761197d565b95505b808552600960006105d96102cf62093a808561197d565b815260200190815260200160002060010154935083600260008e6001600160a01b03166001600160a01b03168152602001908152602001600020600083815260200190815260200160002054836020015161063491906119ac565b61063e91906119e1565b602086015250819050610650816119f5565b915050610555565b505b600088815260076020908152604080832087845282528083208151808301909252805480835260019091015492820192909252919061069890611400565b905060006106a962093a808361197d565b90508042111561072f57600960006106c083610765565b815260200190815260200160002060010154600260008e6001600160a01b03166001600160a01b03168152602001908152602001600020600084815260200190815260200160002054846020015161071891906119ac565b61072291906119e1565b61072c908761197d565b95505b50939750505050505050505b92915050565b6001600160a01b03811660009081526003602052604081205461073b904290611419565b600a5460009080820361077b5750600092915050565b826009600061078b600185611995565b815260200190815260200160002060000154116107b4576107ad600182611995565b9392505050565b6000805260096020527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b548310156107ef5750600092915050565b6000806107fd600184611995565b90505b8181111561089157600060026108168484611995565b61082091906119e1565b61082a9083611995565b60008181526009602090815260409182902082518084019093528054808452600190910154918301919091529192509087900361086b575095945050505050565b805187111561087c5781935061088a565b610887600183611995565b92505b5050610800565b509392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166385f2aef26040518163ffffffff1660e01b81526004016020604051808303816000875af11580156108f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091d9190611a0e565b6001600160a01b0316336001600160a01b03161461096e5760405162461bcd60e51b81526020600482015260096024820152686f6e6c79207465616d60b81b60448201526064015b60405180910390fd5b816001600160a01b03166005848154811061098b5761098b611a2b565b6000918252602090912001546001600160a01b0316146109aa57600080fd5b6001600160a01b03808316600090815260066020526040808220805460ff19908116909155928416825290208054909116600117905560058054829190859081106109f7576109f7611a2b565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505050565b600080610a3642610476565b6001600160a01b039093166000908152600260209081526040808320958352949052929092205492915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a9857600080fd5b81600080828254610aa99190611995565b909155505060008181526001602052604081208054849290610acc908490611995565b9091555050600081815260016020526040902054610aeb90829061142f565b610af3611508565b604080518281526020810184905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891015b60405180910390a25050565b600082815260086020526040812054808203610b5357600091505061073b565b60008481526007602052604081208491610b6e600185611995565b81526020019081526020016000206000015411610b9857610b90600182611995565b91505061073b565b6000848152600760209081526040808320838052909152902054831015610bc357600091505061073b565b600080610bd1600184611995565b90505b81811115610c6f5760006002610bea8484611995565b610bf491906119e1565b610bfe9083611995565b6000888152600760209081526040808320848452825291829020825180840190935280548084526001909101549183019190915291925090879003610c495750935061073b92505050565b8051871115610c5a57819350610c68565b610c65600183611995565b92505b5050610bd4565b50949350505050565b600b54600114610c8757600080fd5b6002600b55336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cc157600080fd5b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d9190611a0e565b905060005b8251811015610e6d576000610d80848381518110610d7257610d72611a2b565b6020026020010151866104b8565b90504260046000868581518110610d9957610d99611a2b565b6020908102919091018101516001600160a01b0316825281810192909252604090810160009081208982529092529020558015610df457610df4848381518110610de557610de5611a2b565b602002602001015184836115ab565b838281518110610e0657610e06611a2b565b60200260200101516001600160a01b0316836001600160a01b03167f9aa05b3d70a9e3e2f004f039648839560576334fb45c81f91b6db03ad9e2efc983604051610e5291815260200190565b60405180910390a35080610e65816119f5565b915050610d52565b50506001600b555050565b600b54600114610e8757600080fd5b6002600b5580610e9657600080fd5b6001600160a01b03821660009081526006602052604090205460ff16610fde57604051633af32abf60e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690633af32abf90602401602060405180830381865afa158015610f1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f409190611a41565b610f8c5760405162461bcd60e51b815260206004820181905260248201527f627269626520746f6b656e73206d7573742062652077686974656c69737465646044820152606401610965565b600554601011610fde5760405162461bcd60e51b815260206004820152601760248201527f746f6f206d616e79207265776172647320746f6b656e730000000000000000006044820152606401610965565b6000610fe942610476565b6001600160a01b038416600090815260026020908152604080832084845290915290205490915061101c8433308661169a565b611026838261197d565b6001600160a01b038516600090815260026020908152604080832086845290915290205561105762093a808361197d565b6001600160a01b03851660009081526003602090815260408083209390935560069052205460ff166110e9576001600160a01b0384166000818152600660205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b03191690911790555b60408051838152602081018590526001600160a01b0386169133917f52977ea98a2220a03ee9ba5cb003ada08d394ea10155483c95dc2dc77a7eb24b910160405180910390a350506001600b555050565b6005818154811061114a57600080fd5b6000918252602090912001546001600160a01b0316905081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461119957600080fd5b816000808282546111aa919061197d565b9091555050600081815260016020526040812080548492906111cd90849061197d565b90915550506000818152600160205260409020546111ec90829061142f565b6111f4611508565b604080518281526020810184905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159101610b27565b600b5460011461123b57600080fd5b6002600b5560405163430c208160e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063430c208190604401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190611a41565b6112d857600080fd5b60005b81518110156113f65760006113098383815181106112fb576112fb611a2b565b6020026020010151856104b8565b9050426004600085858151811061132257611322611a2b565b6020908102919091018101516001600160a01b031682528181019290925260409081016000908120888252909252902055801561137d5761137d83838151811061136e5761136e611a2b565b602002602001015133836115ab565b82828151811061138f5761138f611a2b565b60200260200101516001600160a01b0316336001600160a01b03167f9aa05b3d70a9e3e2f004f039648839560576334fb45c81f91b6db03ad9e2efc9836040516113db91815260200190565b60405180910390a350806113ee816119f5565b9150506112db565b50506001600b5550565b600061140f62093a8083611a63565b61073b9083611995565b600081831061142857816107ad565b5090919050565b60008281526008602052604090205442908015801590611479575060008481526007602052604081208391611465600185611995565b815260200190815260200160002060000154145b156114b25760008481526007602052604081208491611499600185611995565b8152602081019190915260400160002060010155611502565b60408051808201825283815260208082018681526000888152600783528481208682529092529290209051815590516001918201556114f290829061197d565b6000858152600860205260409020555b50505050565b600a5442811580159061153a57508060096000611526600186611995565b815260200190815260200160002060000154145b1561156b57600054600960006001856115539190611995565b81526020810191909152604001600020600101555050565b604080518082018252828152600080546020808401918252868352600990529290209051815590516001918201556115a490839061197d565b600a555050565b6000836001600160a01b03163b116115c257600080fd5b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161161e9190611a77565b6000604051808303816000865af19150503d806000811461165b576040519150601f19603f3d011682016040523d82523d6000602084013e611660565b606091505b509150915081801561168a57508051158061168a57508080602001905181019061168a9190611a41565b61169357600080fd5b5050505050565b6000846001600160a01b03163b116116b157600080fd5b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916117159190611a77565b6000604051808303816000865af19150503d8060008114611752576040519150601f19603f3d011682016040523d82523d6000602084013e611757565b606091505b50915091508180156117815750805115806117815750808060200190518101906117819190611a41565b61178a57600080fd5b505050505050565b6000602082840312156117a457600080fd5b5035919050565b6001600160a01b03811681146117c057600080fd5b50565b80356117ce816117ab565b919050565b600080604083850312156117e657600080fd5b82356117f1816117ab565b946020939093013593505050565b6000806040838503121561181257600080fd5b50508035926020909101359150565b60006020828403121561183357600080fd5b81356107ad816117ab565b60008060006060848603121561185357600080fd5b833592506020840135611865816117ab565b91506040840135611875816117ab565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156118a957600080fd5b8235915060208084013567ffffffffffffffff808211156118c957600080fd5b818601915086601f8301126118dd57600080fd5b8135818111156118ef576118ef611880565b8060051b604051601f19603f8301168101818110858211171561191457611914611880565b60405291825284820192508381018501918983111561193257600080fd5b938501935b8285101561195757611948856117c3565b84529385019392850192611937565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561199057611990611967565b500190565b6000828210156119a7576119a7611967565b500390565b60008160001904831182151516156119c6576119c6611967565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826119f0576119f06119cb565b500490565b600060018201611a0757611a07611967565b5060010190565b600060208284031215611a2057600080fd5b81516107ad816117ab565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a5357600080fd5b815180151581146107ad57600080fd5b600082611a7257611a726119cb565b500690565b6000825160005b81811015611a985760208186018101518583015201611a7e565b81811115611aa7576000828501525b50919091019291505056fea264697066735822122059607273b815a71b809cf36a52c23302955008467736f0fffdb83feacb2e0c6964736f6c634300080d0033",
opcodes: "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x18E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9CC7F708 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xE6886396 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xF301AF42 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xF301AF42 EQ PUSH2 0x416 JUMPI DUP1 PUSH4 0xF3207723 EQ PUSH2 0x429 JUMPI DUP1 PUSH4 0xF5F8D365 EQ PUSH2 0x43C JUMPI DUP1 PUSH4 0xF7412BAF EQ PUSH2 0x44F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xE6886396 EQ PUSH2 0x3DA JUMPI DUP1 PUSH4 0xE8111A12 EQ PUSH2 0x3E2 JUMPI DUP1 PUSH4 0xF25E55A5 EQ PUSH2 0x3EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9CC7F708 EQ PUSH2 0x34E JUMPI DUP1 PUSH4 0x9E2BF22C EQ PUSH2 0x36E JUMPI DUP1 PUSH4 0xA28D4C9C EQ PUSH2 0x381 JUMPI DUP1 PUSH4 0xA7852AFA EQ PUSH2 0x394 JUMPI DUP1 PUSH4 0xB66503CF EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xDA09D19D EQ PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x50589793 GT PUSH2 0x14B JUMPI DUP1 PUSH4 0x8DD598FB GT PUSH2 0x125 JUMPI DUP1 PUSH4 0x8DD598FB EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x92777B29 EQ PUSH2 0x2FB JUMPI DUP1 PUSH4 0x9418F939 EQ PUSH2 0x326 JUMPI DUP1 PUSH4 0x99BCC052 EQ PUSH2 0x33B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x50589793 EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0x638634EE EQ PUSH2 0x2AE JUMPI DUP1 PUSH4 0x76F4BE36 EQ PUSH2 0x2C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x175E23B EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1B9 JUMPI DUP1 PUSH4 0x3E491D47 EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x46C96AAC EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0x49DCC204 EQ PUSH2 0x214 JUMPI DUP1 PUSH4 0x4D5CE038 EQ PUSH2 0x25B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH2 0x476 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A6 PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x1D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x17D3 JUMP JUMPDEST PUSH2 0x4B8 JUMP JUMPDEST PUSH2 0x1FC PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B0 JUMP JUMPDEST PUSH2 0x246 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x17FF JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD PUSH2 0x1B0 JUMP JUMPDEST PUSH2 0x27E PUSH2 0x269 CALLDATASIZE PUSH1 0x4 PUSH2 0x1821 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B0 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x29C CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x2BC CALLDATASIZE PUSH1 0x4 PUSH2 0x1821 JUMP JUMPDEST PUSH2 0x741 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x2CF CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH2 0x765 JUMP JUMPDEST PUSH2 0x1FC PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x309 CALLDATASIZE PUSH1 0x4 PUSH2 0x17D3 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x334 CALLDATASIZE PUSH1 0x4 PUSH2 0x183E JUMP JUMPDEST PUSH2 0x899 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1A6 PUSH2 0x349 CALLDATASIZE PUSH1 0x4 PUSH2 0x1821 JUMP JUMPDEST PUSH2 0xA2A JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x17FF JUMP JUMPDEST PUSH2 0xA63 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x38F CALLDATASIZE PUSH1 0x4 PUSH2 0x17FF JUMP JUMPDEST PUSH2 0xB33 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x3A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1896 JUMP JUMPDEST PUSH2 0xC78 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x3B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x17D3 JUMP JUMPDEST PUSH2 0xE78 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1821 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x1A6 JUMP JUMPDEST PUSH2 0x1A6 PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1A6 PUSH2 0x3F9 CALLDATASIZE PUSH1 0x4 PUSH2 0x17D3 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1FC PUSH2 0x424 CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH2 0x113A JUMP JUMPDEST PUSH2 0x339 PUSH2 0x437 CALLDATASIZE PUSH1 0x4 PUSH2 0x17FF JUMP JUMPDEST PUSH2 0x1164 JUMP JUMPDEST PUSH2 0x339 PUSH2 0x44A CALLDATASIZE PUSH1 0x4 PUSH2 0x1896 JUMP JUMPDEST PUSH2 0x122C JUMP JUMPDEST PUSH2 0x246 PUSH2 0x45D CALLDATASIZE PUSH1 0x4 PUSH2 0x1792 JUMP JUMPDEST PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x482 DUP4 PUSH2 0x1400 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x493 PUSH3 0x93A80 DUP4 PUSH2 0x197D JUMP JUMPDEST SWAP1 POP DUP1 DUP5 LT PUSH2 0x4AE JUMPI PUSH2 0x4A9 DUP3 PUSH3 0x93A80 PUSH2 0x197D JUMP JUMPDEST PUSH2 0x4B0 JUMP JUMPDEST DUP2 JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD PUSH1 0x8 SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SLOAD DUP3 SUB PUSH2 0x4F4 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x73B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x500 DUP5 DUP4 PUSH2 0xB33 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x51F SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x1995 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x540 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH2 0x549 DUP6 PUSH2 0x1400 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x1 DUP4 ISZERO PUSH2 0x65A JUMPI DUP5 JUMPDEST PUSH2 0x560 PUSH1 0x1 DUP7 PUSH2 0x1995 JUMP JUMPDEST DUP2 GT PUSH2 0x658 JUMPI PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP2 MLOAD DUP1 DUP4 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD DUP1 DUP4 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP2 SWAP1 PUSH2 0x5A4 SWAP1 PUSH2 0x1400 JUMP JUMPDEST DUP6 MLOAD SWAP1 SWAP2 POP DUP2 GT ISZERO PUSH2 0x5C2 JUMPI PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x5BF SWAP1 DUP8 PUSH2 0x197D JUMP JUMPDEST SWAP6 POP JUMPDEST DUP1 DUP6 MSTORE PUSH1 0x9 PUSH1 0x0 PUSH2 0x5D9 PUSH2 0x2CF PUSH3 0x93A80 DUP6 PUSH2 0x197D JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP4 POP DUP4 PUSH1 0x2 PUSH1 0x0 DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP4 PUSH1 0x20 ADD MLOAD PUSH2 0x634 SWAP2 SWAP1 PUSH2 0x19AC JUMP JUMPDEST PUSH2 0x63E SWAP2 SWAP1 PUSH2 0x19E1 JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MSTORE POP DUP2 SWAP1 POP PUSH2 0x650 DUP2 PUSH2 0x19F5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x555 JUMP JUMPDEST POP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP2 MLOAD DUP1 DUP4 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD DUP1 DUP4 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP2 SWAP1 PUSH2 0x698 SWAP1 PUSH2 0x1400 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x6A9 PUSH3 0x93A80 DUP4 PUSH2 0x197D JUMP JUMPDEST SWAP1 POP DUP1 TIMESTAMP GT ISZERO PUSH2 0x72F JUMPI PUSH1 0x9 PUSH1 0x0 PUSH2 0x6C0 DUP4 PUSH2 0x765 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH1 0x2 PUSH1 0x0 DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x20 ADD MLOAD PUSH2 0x718 SWAP2 SWAP1 PUSH2 0x19AC JUMP JUMPDEST PUSH2 0x722 SWAP2 SWAP1 PUSH2 0x19E1 JUMP JUMPDEST PUSH2 0x72C SWAP1 DUP8 PUSH2 0x197D JUMP JUMPDEST SWAP6 POP JUMPDEST POP SWAP4 SWAP8 POP POP POP POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x73B SWAP1 TIMESTAMP SWAP1 PUSH2 0x1419 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x0 SWAP1 DUP1 DUP3 SUB PUSH2 0x77B JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 PUSH1 0x9 PUSH1 0x0 PUSH2 0x78B PUSH1 0x1 DUP6 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD GT PUSH2 0x7B4 JUMPI PUSH2 0x7AD PUSH1 0x1 DUP3 PUSH2 0x1995 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH32 0xEC8156718A8372B1DB44BB411437D0870F3E3790D4A08526D024CE1B0B668F6B SLOAD DUP4 LT ISZERO PUSH2 0x7EF JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7FD PUSH1 0x1 DUP5 PUSH2 0x1995 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x891 JUMPI PUSH1 0x0 PUSH1 0x2 PUSH2 0x816 DUP5 DUP5 PUSH2 0x1995 JUMP JUMPDEST PUSH2 0x820 SWAP2 SWAP1 PUSH2 0x19E1 JUMP JUMPDEST PUSH2 0x82A SWAP1 DUP4 PUSH2 0x1995 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD DUP1 DUP5 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP1 DUP5 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 SWAP1 SUB PUSH2 0x86B JUMPI POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP8 GT ISZERO PUSH2 0x87C JUMPI DUP2 SWAP4 POP PUSH2 0x88A JUMP JUMPDEST PUSH2 0x887 PUSH1 0x1 DUP4 PUSH2 0x1995 JUMP JUMPDEST SWAP3 POP JUMPDEST POP POP PUSH2 0x800 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x85F2AEF2 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x8F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x91D SWAP2 SWAP1 PUSH2 0x1A0E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x96E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x6F6E6C79207465616D PUSH1 0xB8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x5 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x98B JUMPI PUSH2 0x98B PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x9AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE SWAP3 DUP5 AND DUP3 MSTORE SWAP1 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x5 DUP1 SLOAD DUP3 SWAP2 SWAP1 DUP6 SWAP1 DUP2 LT PUSH2 0x9F7 JUMPI PUSH2 0x9F7 PUSH2 0x1A2B JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA36 TIMESTAMP PUSH2 0x476 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP6 DUP4 MSTORE SWAP5 SWAP1 MSTORE SWAP3 SWAP1 SWAP3 KECCAK256 SLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xA98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xAA9 SWAP2 SWAP1 PUSH2 0x1995 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0xACC SWAP1 DUP5 SWAP1 PUSH2 0x1995 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xAEB SWAP1 DUP3 SWAP1 PUSH2 0x142F JUMP JUMPDEST PUSH2 0xAF3 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE CALLER SWAP2 PUSH32 0xF279E6A1F5E320CCA91135676D9CB6E44CA8A08C0B88342BCDB1144F6511B568 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 DUP3 SUB PUSH2 0xB53 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x73B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP5 SWAP2 PUSH2 0xB6E PUSH1 0x1 DUP6 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD GT PUSH2 0xB98 JUMPI PUSH2 0xB90 PUSH1 0x1 DUP3 PUSH2 0x1995 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x73B JUMP JUMPDEST PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP4 DUP1 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP4 LT ISZERO PUSH2 0xBC3 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x73B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xBD1 PUSH1 0x1 DUP5 PUSH2 0x1995 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xC6F JUMPI PUSH1 0x0 PUSH1 0x2 PUSH2 0xBEA DUP5 DUP5 PUSH2 0x1995 JUMP JUMPDEST PUSH2 0xBF4 SWAP2 SWAP1 PUSH2 0x19E1 JUMP JUMPDEST PUSH2 0xBFE SWAP1 DUP4 PUSH2 0x1995 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD DUP1 DUP5 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP1 DUP5 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SLOAD SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP2 SWAP3 POP SWAP1 DUP8 SWAP1 SUB PUSH2 0xC49 JUMPI POP SWAP4 POP PUSH2 0x73B SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD DUP8 GT ISZERO PUSH2 0xC5A JUMPI DUP2 SWAP4 POP PUSH2 0xC68 JUMP JUMPDEST PUSH2 0xC65 PUSH1 0x1 DUP4 PUSH2 0x1995 JUMP JUMPDEST SWAP3 POP JUMPDEST POP POP PUSH2 0xBD4 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 EQ PUSH2 0xC87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0xB SSTORE CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xCC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x31A9108F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x6352211E SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD29 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xD4D SWAP2 SWAP1 PUSH2 0x1A0E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0xE6D JUMPI PUSH1 0x0 PUSH2 0xD80 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xD72 JUMPI PUSH2 0xD72 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP TIMESTAMP PUSH1 0x4 PUSH1 0x0 DUP7 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0xD99 JUMPI PUSH2 0xD99 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP10 DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SSTORE DUP1 ISZERO PUSH2 0xDF4 JUMPI PUSH2 0xDF4 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xDE5 JUMPI PUSH2 0xDE5 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 DUP4 PUSH2 0x15AB JUMP JUMPDEST DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE06 JUMPI PUSH2 0xE06 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x9AA05B3D70A9E3E2F004F039648839560576334FB45C81F91B6DB03AD9E2EFC9 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE52 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP DUP1 PUSH2 0xE65 DUP2 PUSH2 0x19F5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xD52 JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0xB SSTORE POP POP JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 EQ PUSH2 0xE87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0xB SSTORE DUP1 PUSH2 0xE96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xFDE JUMPI PUSH1 0x40 MLOAD PUSH4 0x3AF32ABF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH32 0x0 AND SWAP1 PUSH4 0x3AF32ABF SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF1C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF40 SWAP2 SWAP1 PUSH2 0x1A41 JUMP JUMPDEST PUSH2 0xF8C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x627269626520746F6B656E73206D7573742062652077686974656C6973746564 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x965 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x10 GT PUSH2 0xFDE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6F206D616E79207265776172647320746F6B656E73000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x965 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFE9 TIMESTAMP PUSH2 0x476 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP5 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x101C DUP5 CALLER ADDRESS DUP7 PUSH2 0x169A JUMP JUMPDEST PUSH2 0x1026 DUP4 DUP3 PUSH2 0x197D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x1057 PUSH3 0x93A80 DUP4 PUSH2 0x197D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE PUSH1 0x6 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x10E9 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x5 DUP1 SLOAD SWAP2 DUP3 ADD DUP2 SSTORE SWAP1 SWAP2 MSTORE PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB0 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP2 CALLER SWAP2 PUSH32 0x52977EA98A2220A03EE9BA5CB003ADA08D394EA10155483C95DC2DC77A7EB24B SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH1 0x1 PUSH1 0xB SSTORE POP POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x114A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP2 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x1199 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x11AA SWAP2 SWAP1 PUSH2 0x197D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x11CD SWAP1 DUP5 SWAP1 PUSH2 0x197D JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x11EC SWAP1 DUP3 SWAP1 PUSH2 0x142F JUMP JUMPDEST PUSH2 0x11F4 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE CALLER SWAP2 PUSH32 0x90890809C654F11D6E72A28FA60149770A0D11EC6C92319D6CEB2BB0A4EA1A15 SWAP2 ADD PUSH2 0xB27 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 EQ PUSH2 0x123B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0xB SSTORE PUSH1 0x40 MLOAD PUSH4 0x430C2081 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x430C2081 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12AB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12CF SWAP2 SWAP1 PUSH2 0x1A41 JUMP JUMPDEST PUSH2 0x12D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x13F6 JUMPI PUSH1 0x0 PUSH2 0x1309 DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x12FB JUMPI PUSH2 0x12FB PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP TIMESTAMP PUSH1 0x4 PUSH1 0x0 DUP6 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x1322 JUMPI PUSH2 0x1322 PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP9 DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SSTORE DUP1 ISZERO PUSH2 0x137D JUMPI PUSH2 0x137D DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x136E JUMPI PUSH2 0x136E PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD CALLER DUP4 PUSH2 0x15AB JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x138F JUMPI PUSH2 0x138F PUSH2 0x1A2B JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x9AA05B3D70A9E3E2F004F039648839560576334FB45C81F91B6DB03AD9E2EFC9 DUP4 PUSH1 0x40 MLOAD PUSH2 0x13DB SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP DUP1 PUSH2 0x13EE DUP2 PUSH2 0x19F5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x12DB JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0xB SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140F PUSH3 0x93A80 DUP4 PUSH2 0x1A63 JUMP JUMPDEST PUSH2 0x73B SWAP1 DUP4 PUSH2 0x1995 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 LT PUSH2 0x1428 JUMPI DUP2 PUSH2 0x7AD JUMP JUMPDEST POP SWAP1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP SWAP1 DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x1479 JUMPI POP PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP4 SWAP2 PUSH2 0x1465 PUSH1 0x1 DUP6 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ JUMPDEST ISZERO PUSH2 0x14B2 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP5 SWAP2 PUSH2 0x1499 PUSH1 0x1 DUP6 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SSTORE PUSH2 0x1502 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP7 DUP2 MSTORE PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x7 DUP4 MSTORE DUP5 DUP2 KECCAK256 DUP7 DUP3 MSTORE SWAP1 SWAP3 MSTORE SWAP3 SWAP1 KECCAK256 SWAP1 MLOAD DUP2 SSTORE SWAP1 MLOAD PUSH1 0x1 SWAP2 DUP3 ADD SSTORE PUSH2 0x14F2 SWAP1 DUP3 SWAP1 PUSH2 0x197D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0xA SLOAD TIMESTAMP DUP2 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x153A JUMPI POP DUP1 PUSH1 0x9 PUSH1 0x0 PUSH2 0x1526 PUSH1 0x1 DUP7 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ JUMPDEST ISZERO PUSH2 0x156B JUMPI PUSH1 0x0 SLOAD PUSH1 0x9 PUSH1 0x0 PUSH1 0x1 DUP6 PUSH2 0x1553 SWAP2 SWAP1 PUSH2 0x1995 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x0 DUP1 SLOAD PUSH1 0x20 DUP1 DUP5 ADD SWAP2 DUP3 MSTORE DUP7 DUP4 MSTORE PUSH1 0x9 SWAP1 MSTORE SWAP3 SWAP1 KECCAK256 SWAP1 MLOAD DUP2 SSTORE SWAP1 MLOAD PUSH1 0x1 SWAP2 DUP3 ADD SSTORE PUSH2 0x15A4 SWAP1 DUP4 SWAP1 PUSH2 0x197D JUMP JUMPDEST PUSH1 0xA SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE GT PUSH2 0x15C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x161E SWAP2 SWAP1 PUSH2 0x1A77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x165B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1660 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x168A JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x168A JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x168A SWAP2 SWAP1 PUSH2 0x1A41 JUMP JUMPDEST PUSH2 0x1693 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE GT PUSH2 0x16B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x1715 SWAP2 SWAP1 PUSH2 0x1A77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1752 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1757 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1781 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1781 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1781 SWAP2 SWAP1 PUSH2 0x1A41 JUMP JUMPDEST PUSH2 0x178A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x17C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x17CE DUP2 PUSH2 0x17AB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x17E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x17F1 DUP2 PUSH2 0x17AB JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1812 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x7AD DUP2 PUSH2 0x17AB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x1865 DUP2 PUSH2 0x17AB JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x1875 DUP2 PUSH2 0x17AB JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x18A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP1 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x18C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x18DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x18EF JUMPI PUSH2 0x18EF PUSH2 0x1880 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x1914 JUMPI PUSH2 0x1914 PUSH2 0x1880 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP5 DUP3 ADD SWAP3 POP DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP10 DUP4 GT ISZERO PUSH2 0x1932 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x1957 JUMPI PUSH2 0x1948 DUP6 PUSH2 0x17C3 JUMP JUMPDEST DUP5 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP3 DUP6 ADD SWAP3 PUSH2 0x1937 JUMP JUMPDEST DUP1 SWAP7 POP POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1990 JUMPI PUSH2 0x1990 PUSH2 0x1967 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x19A7 JUMPI PUSH2 0x19A7 PUSH2 0x1967 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x19C6 JUMPI PUSH2 0x19C6 PUSH2 0x1967 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x19F0 JUMPI PUSH2 0x19F0 PUSH2 0x19CB JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1A07 JUMPI PUSH2 0x1A07 PUSH2 0x1967 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x7AD DUP2 PUSH2 0x17AB JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x7AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1A72 JUMPI PUSH2 0x1A72 PUSH2 0x19CB JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1A98 JUMPI PUSH1 0x20 DUP2 DUP7 ADD DUP2 ADD MLOAD DUP6 DUP4 ADD MSTORE ADD PUSH2 0x1A7E JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x1AA7 JUMPI PUSH1 0x0 DUP3 DUP6 ADD MSTORE JUMPDEST POP SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSIZE PUSH1 0x72 PUSH20 0xB815A71B809CF36A52C23302955008467736F0FF REVERT 0xB8 EXTCODEHASH 0xEA 0xCB 0x2E 0xC PUSH10 0x64736F6C634300080D00 CALLER ",
sourceMap: "447:12220:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2939:242;;;;;;:::i;:::-;;:::i;:::-;;;345:25:10;;;333:2;318:18;2939:242:0;;;;;;;;842:23;;;;;;8042:1772;;;;;;:::i;:::-;;:::i;486:30::-;;;;;;;;-1:-1:-1;;;;;1140:32:10;;;1122:51;;1110:2;1095:18;486:30:0;976:203:10;1514:65:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1611:25:10;;;1667:2;1652:18;;1645:34;;;;1584:18;1514:65:0;1437:248:10;1134:40:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2107:14:10;;2100:22;2082:41;;2070:2;2055:18;1134:40:0;1942:187:10;1644:44:0;;;;;;:::i;:::-;;;;;;;;;;;;;;6802:146;;;;;;:::i;:::-;;:::i;4594:1004::-;;;;;;:::i;:::-;;:::i;590:28::-;;;;;915:69;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;11679:302;;;;;;:::i;:::-;;:::i;:::-;;10576:187;;;;;;:::i;:::-;;:::i;871:38::-;;;;;;:::i;:::-;;;;;;;;;;;;;;10257:313;;;;;;:::i;:::-;;:::i;3565:1023::-;;;;;;:::i;:::-;;:::i;7540:496::-;;;;;;:::i;:::-;;:::i;10769:904::-;;;;;;:::i;:::-;;:::i;990:44::-;;;;;;:::i;:::-;;;;;;;;;;;;;;6607:96;6682:7;:14;6607:96;;1874:32;;;;;;1040:57;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1104:24;;;;;;:::i;:::-;;:::i;9940:311::-;;;;;;:::i;:::-;;:::i;7010:472::-;;;;;;:::i;:::-;;:::i;1767:59::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;2939:242;2999:4;3015:15;3033:22;3045:9;3033:11;:22::i;:::-;3015:40;-1:-1:-1;3065:13:0;3081:21;681:6;3015:40;3081:21;:::i;:::-;3065:37;;3131:8;3119:9;:20;:55;;3155:19;:10;3168:6;3155:19;:::i;:::-;3119:55;;;3142:10;3119:55;3112:62;2939:242;-1:-1:-1;;;;2939:242:0:o;8042:1772::-;-1:-1:-1;;;;;8147:15:0;;8108:4;8147:15;;;:8;:15;;;;;;;;:24;;;;;;;;;8185:14;:23;;;;;;:28;;8181:67;;8236:1;8229:8;;;;;8181:67;8258:16;8277:46;8298:7;8307:15;8277:20;:46::i;:::-;8333:14;8350:23;;;:14;:23;;;;;;8258:65;;-1:-1:-1;8333:14:0;8350:25;;8374:1;;8350:25;:::i;:::-;8333:42;;8386:11;8469:29;-1:-1:-1;;;;;;;;;;;;;;;;;;;8469:29:0;8572:28;8584:15;8572:11;:28::i;:::-;8548:52;;8629:1;8645:13;;8641:761;;8688:11;8674:718;8706:13;8718:1;8706:9;:13;:::i;:::-;8701:1;:18;8674:718;;8744:21;8768:20;;;:11;:20;;;;;;;;:23;;;;;;;;8744:47;;;;;;;;;;;;;;;;;;;;;;;;;;:21;8832:26;;:11;:26::i;:::-;9006:21;;8809:49;;-1:-1:-1;8988:39:0;;8984:115;;;9059:21;;;;9049:31;;;;:::i;:::-;;;8984:115;9117:39;;;9188:17;9117:21;9206:47;9226:26;681:6;9141:15;9226:26;:::i;9206:47::-;9188:66;;;;;;;;;;;:73;;;9174:87;;9366:11;9319:20;:27;9340:5;-1:-1:-1;;;;;9319:27:0;-1:-1:-1;;;;;9319:27:0;;;;;;;;;;;;:44;9347:15;9319:44;;;;;;;;;;;;9303:3;:13;;;:60;;;;:::i;:::-;:74;;;;:::i;:::-;9279:21;;;:98;-1:-1:-1;8721:3:0;;-1:-1:-1;8721:3:0;;;:::i;:::-;;;;8674:718;;;;8641:761;9412:20;9435;;;:11;:20;;;;;;;;:31;;;;;;;;9412:54;;;;;;;;;;;;;;;;;;;;;;;;;;:20;9499:25;;:11;:25::i;:::-;9476:48;-1:-1:-1;9534:18:0;9555:26;681:6;9476:48;9555:26;:::i;:::-;9534:47;;9614:13;9596:15;:31;9592:192;;;9713:17;:53;9731:34;9751:13;9731:19;:34::i;:::-;9713:53;;;;;;;;;;;:60;;;9666:20;:27;9687:5;-1:-1:-1;;;;;9666:27:0;-1:-1:-1;;;;;9666:27:0;;;;;;;;;;;;:44;9694:15;9666:44;;;;;;;;;;;;9651:2;:12;;;:59;;;;:::i;:::-;:122;;;;:::i;:::-;9641:132;;;;:::i;:::-;;;9592:192;-1:-1:-1;9801:6:0;;-1:-1:-1;;;;;;;;8042:1772:0;;;;;:::o;6802:146::-;-1:-1:-1;;;;;6921:19:0;;6872:4;6921:19;;;:12;:19;;;;;;6895:46;;6904:15;;6895:8;:46::i;4594:1004::-;4696:20;;4660:4;;4730:17;;;4726:56;;-1:-1:-1;4770:1:0;;4594:1004;-1:-1:-1;;4594:1004:0:o;4726:56::-;4888:9;4839:17;:35;4857:16;4872:1;4857:12;:16;:::i;:::-;4839:35;;;;;;;;;;;:45;;;:58;4835:114;;4921:16;4936:1;4921:12;:16;:::i;:::-;4913:25;4594:1004;-1:-1:-1;;;4594:1004:0:o;4835:114::-;5007:20;;;:17;:20;;;:30;:42;-1:-1:-1;5003:81:0;;;-1:-1:-1;5072:1:0;;4594:1004;-1:-1:-1;;4594:1004:0:o;5003:81::-;5094:10;;5131:16;5146:1;5131:12;:16;:::i;:::-;5118:29;;5157:413;5172:5;5164;:13;5157:413;;;5193:11;5233:1;5216:13;5224:5;5216;:13;:::i;:::-;5215:19;;;;:::i;:::-;5207:27;;:5;:27;:::i;:::-;5275:26;5304:25;;;:17;:25;;;;;;;;;5275:54;;;;;;;;;;;;;;;;;;;;;;;;;5193:41;;-1:-1:-1;5275:54:0;5347:25;;;5343:217;;-1:-1:-1;5399:6:0;4594:1004;-1:-1:-1;;;;;4594:1004:0:o;5343:217::-;5430:12;;:24;-1:-1:-1;5426:134:0;;;5482:6;5474:14;;5426:134;;;5535:10;5544:1;5535:6;:10;:::i;:::-;5527:18;;5426:134;5179:391;;5157:413;;;-1:-1:-1;5586:5:0;4594:1004;-1:-1:-1;;;4594:1004:0:o;11679:302::-;11806:3;-1:-1:-1;;;;;11792:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11778:39:0;:10;-1:-1:-1;;;;;11778:39:0;;11770:61;;;;-1:-1:-1;;;11770:61:0;;5344:2:10;11770:61:0;;;5326:21:10;5383:1;5363:18;;;5356:29;-1:-1:-1;;;5401:18:10;;;5394:39;5450:18;;11770:61:0;;;;;;;;;11863:8;-1:-1:-1;;;;;11849:22:0;:7;11857:1;11849:10;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;11849:10:0;:22;11841:31;;;;;;-1:-1:-1;;;;;11882:18:0;;;11903:5;11882:18;;;:8;:18;;;;;;:26;;-1:-1:-1;;11882:26:0;;;;;;11918:18;;;;;;;:25;;;;;11882:26;11918:25;;;11953:7;:10;;11927:8;;11953:7;11961:1;;11953:10;;;;;;:::i;:::-;;;;;;;;;:21;;;;;-1:-1:-1;;;;;11953:21:0;;;;;-1:-1:-1;;;;;11953:21:0;;;;;;11679:302;;;:::o;10576:187::-;10628:4;10644:19;10666:30;10680:15;10666:13;:30::i;:::-;-1:-1:-1;;;;;10713:27:0;;;;;;;:20;:27;;;;;;;;:43;;;;;;;;;;;;10576:187;-1:-1:-1;;10576:187:0:o;10257:313::-;10330:10;-1:-1:-1;;;;;10344:5:0;10330:19;;10322:28;;;;;;10376:6;10361:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;10392:18:0;;;;:9;:18;;;;;:28;;10414:6;;10392:18;:28;;10414:6;;10392:28;:::i;:::-;;;;-1:-1:-1;;10457:18:0;;;;:9;:18;;;;;;10431:45;;10448:7;;10431:16;:45::i;:::-;10486:24;:22;:24::i;:::-;10526:37;;;1611:25:10;;;1667:2;1652:18;;1645:34;;;10535:10:0;;10526:37;;1584:18:10;10526:37:0;;;;;;;;10257:313;;:::o;3565:1023::-;3646:4;3682:23;;;:14;:23;;;;;;3719:17;;;3715:56;;3759:1;3752:8;;;;;3715:56;3827:20;;;;:11;:20;;;;;3879:9;;3848:16;3863:1;3848:12;:16;:::i;:::-;3827:38;;;;;;;;;;;:48;;;:61;3823:117;;3912:16;3927:1;3912:12;:16;:::i;:::-;3904:25;;;;;3823:117;3997:20;;;;:11;:20;;;;;;;;:23;;;;;;;;:33;:45;-1:-1:-1;3993:84:0;;;4065:1;4058:8;;;;;3993:84;4087:10;;4124:16;4139:1;4124:12;:16;:::i;:::-;4111:29;;4150:410;4165:5;4157;:13;4150:410;;;4186:11;4226:1;4209:13;4217:5;4209;:13;:::i;:::-;4208:19;;;;:::i;:::-;4200:27;;:5;:27;:::i;:::-;4268:20;4291;;;:11;:20;;;;;;;;:28;;;;;;;;;4268:51;;;;;;;;;;;;;;;;;;;;;;;;;4186:41;;-1:-1:-1;4268:51:0;4337:25;;;4333:217;;-1:-1:-1;4389:6:0;-1:-1:-1;4382:13:0;;-1:-1:-1;;;4382:13:0;4333:217;4420:12;;:24;-1:-1:-1;4416:134:0;;;4472:6;4464:14;;4416:134;;;4525:10;4534:1;4525:6;:10;:::i;:::-;4517:18;;4416:134;4172:388;;4150:410;;;-1:-1:-1;4576:5:0;3565:1023;-1:-1:-1;;;;3565:1023:0:o;7540:496::-;2724:9;;2737:1;2724:14;2716:23;;;;;;2761:1;2749:9;:13;7639:10:::1;-1:-1:-1::0;;;;;7653:5:0::1;7639:19;;7631:28;;;::::0;::::1;;7686:35;::::0;-1:-1:-1;;;7686:35:0;;::::1;::::0;::::1;345:25:10::0;;;7669:14:0::1;::::0;7700:3:::1;-1:-1:-1::0;;;;;7686:26:0::1;::::0;::::1;::::0;318:18:10;;7686:35:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7669:52;;7736:6;7731:299;7752:6;:13;7748:1;:17;7731:299;;;7786:12;7801:26;7808:6;7815:1;7808:9;;;;;;;;:::i;:::-;;;;;;;7819:7;7801:6;:26::i;:::-;7786:41;;7872:15;7841:8;:19;7850:6;7857:1;7850:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7841:19:0::1;::::0;;;;::::1;::::0;;;;;;;;-1:-1:-1;7841:19:0;;;:28;;;;;;;;:46;7905:11;;7901:58:::1;;7918:41;7932:6;7939:1;7932:9;;;;;;;;:::i;:::-;;;;;;;7943:6;7951:7;7918:13;:41::i;:::-;8000:6;8007:1;8000:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;7979:40:0::1;7992:6;-1:-1:-1::0;;;;;7979:40:0::1;;8011:7;7979:40;;;;345:25:10::0;;333:2;318:18;;199:177;7979:40:0::1;;;;;;;;-1:-1:-1::0;7767:3:0;::::1;::::0;::::1;:::i;:::-;;;;7731:299;;;-1:-1:-1::0;;2795:1:0;2783:9;:13;-1:-1:-1;;7540:496:0:o;10769:904::-;2724:9;;2737:1;2724:14;2716:23;;;;;;2761:1;2749:9;:13;10857:10;10849:19:::1;;;::::0;::::1;;-1:-1:-1::0;;;;;10883:15:0;::::1;;::::0;;;:8:::1;:15;::::0;;;;;::::1;;10878:206;;10920:34;::::0;-1:-1:-1;;;10920:34:0;;-1:-1:-1;;;;;1140:32:10;;;10920:34:0::1;::::0;::::1;1122:51:10::0;10927:5:0::1;10920:27;::::0;::::1;::::0;1095:18:10;;10920:34:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10912:79;;;::::0;-1:-1:-1;;;10912:79:0;;6095:2:10;10912:79:0::1;::::0;::::1;6077:21:10::0;;;6114:18;;;6107:30;6173:34;6153:18;;;6146:62;6225:18;;10912:79:0::1;5893:356:10::0;10912:79:0::1;11011:7;:14:::0;783:2:::1;-1:-1:-1::0;11003:70:0::1;;;::::0;-1:-1:-1;;;11003:70:0;;6456:2:10;11003:70:0::1;::::0;::::1;6438:21:10::0;6495:2;6475:18;;;6468:30;6534:25;6514:18;;;6507:53;6577:18;;11003:70:0::1;6254:347:10::0;11003:70:0::1;11153:19;11175:30;11189:15;11175:13;:30::i;:::-;-1:-1:-1::0;;;;;11235:27:0;::::1;11215:17;11235:27:::0;;;:20:::1;:27;::::0;;;;;;;:43;;;;;;;;;11153:52;;-1:-1:-1;11289:59:0::1;11256:5:::0;11314:10:::1;11334:4;11341:6:::0;11289:17:::1;:59::i;:::-;11404:21;11419:6:::0;11404:12;:21:::1;:::i;:::-;-1:-1:-1::0;;;;;11358:27:0;::::1;;::::0;;;:20:::1;:27;::::0;;;;;;;:43;;;;;;;;:67;11458:25:::1;681:6;11386:14:::0;11458:25:::1;:::i;:::-;-1:-1:-1::0;;;;;11436:19:0;::::1;;::::0;;;:12:::1;:19;::::0;;;;;;;:47;;;;11499:8:::1;:15:::0;;;;::::1;;11494:102;;-1:-1:-1::0;;;;;11530:15:0;::::1;;::::0;;;:8:::1;:15;::::0;;;;:22;;-1:-1:-1;;11530:22:0::1;11548:4;11530:22:::0;;::::1;::::0;;;11566:7:::1;:19:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;11566:19:0::1;::::0;;::::1;::::0;;11494:102:::1;11611:55;::::0;;1611:25:10;;;1667:2;1652:18;;1645:34;;;-1:-1:-1;;;;;11611:55:0;::::1;::::0;11624:10:::1;::::0;11611:55:::1;::::0;1584:18:10;11611:55:0::1;;;;;;;-1:-1:-1::0;;2795:1:0;2783:9;:13;-1:-1:-1;;10769:904:0:o;1104:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1104:24:0;;-1:-1:-1;1104:24:0;:::o;9940:311::-;10012:10;-1:-1:-1;;;;;10026:5:0;10012:19;;10004:28;;;;;;10058:6;10043:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;10074:18:0;;;;:9;:18;;;;;:28;;10096:6;;10074:18;:28;;10096:6;;10074:28;:::i;:::-;;;;-1:-1:-1;;10139:18:0;;;;:9;:18;;;;;;10113:45;;10130:7;;10113:16;:45::i;:::-;10168:24;:22;:24::i;:::-;10208:36;;;1611:25:10;;;1667:2;1652:18;;1645:34;;;10216:10:0;;10208:36;;1584:18:10;10208:36:0;1437:248:10;7010:472:0;2724:9;;2737:1;2724:14;2716:23;;;;;;2761:1;2749:9;:13;7101:57:::1;::::0;-1:-1:-1;;;7101:57:0;;7138:10:::1;7101:57;::::0;::::1;6780:51:10::0;6847:18;;;6840:34;;;7115:3:0::1;-1:-1:-1::0;;;;;7101:36:0::1;::::0;::::1;::::0;6753:18:10;;7101:57:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7093:66;;;::::0;::::1;;7174:6;7169:307;7190:6;:13;7186:1;:17;7169:307;;;7224:12;7239:26;7246:6;7253:1;7246:9;;;;;;;;:::i;:::-;;;;;;;7257:7;7239:6;:26::i;:::-;7224:41;;7310:15;7279:8;:19;7288:6;7295:1;7288:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7279:19:0::1;::::0;;;;::::1;::::0;;;;;;;;-1:-1:-1;7279:19:0;;;:28;;;;;;;;:46;7343:11;;7339:62:::1;;7356:45;7370:6;7377:1;7370:9;;;;;;;;:::i;:::-;;;;;;;7381:10;7393:7;7356:13;:45::i;:::-;7446:6;7453:1;7446:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;7421:44:0::1;7434:10;-1:-1:-1::0;;;;;7421:44:0::1;;7457:7;7421:44;;;;345:25:10::0;;333:2;318:18;;199:177;7421:44:0::1;;;;;;;;-1:-1:-1::0;7205:3:0;::::1;::::0;::::1;:::i;:::-;;;;7169:307;;;-1:-1:-1::0;;2795:1:0;2783:9;:13;-1:-1:-1;7010:472:0:o;2809:124::-;2869:4;2905:20;2918:6;2905:9;:20;:::i;:::-;2892:34;;:9;:34;:::i;145:95:9:-;197:4;224:1;220;:5;:13;;232:1;220:13;;;-1:-1:-1;228:1:9;;213:20;-1:-1:-1;145:95:9:o;5604:507:0:-;5677:15;5741:23;;;:14;:23;;;;;;5695:15;;5778:17;;;;;:84;;-1:-1:-1;5799:20:0;;;;:11;:20;;;;;5852:10;;5820:17;5836:1;5820:13;:17;:::i;:::-;5799:39;;;;;;;;;;;:49;;;:63;5778:84;5774:331;;;5878:20;;;;:11;:20;;;;;5930:7;;5899:17;5915:1;5899:13;:17;:::i;:::-;5878:39;;;;;;;;;;;-1:-1:-1;5878:39:0;:49;;:59;5774:331;;;6006:31;;;;;;;;;;;;;;;;;;-1:-1:-1;5968:20:0;;;:11;:20;;;;;:35;;;;;;;;;:69;;;;;;;;;;;6077:17;;5989:13;;6077:17;:::i;:::-;6051:23;;;;:14;:23;;;;;:43;5774:331;5667:444;;5604:507;;:::o;6117:484::-;6191:20;;6239:15;6269:17;;;;;:81;;-1:-1:-1;6340:10:0;6290:17;:36;6308:17;6324:1;6308:13;:17;:::i;:::-;6290:36;;;;;;;;;;;:46;;;:60;6269:81;6265:330;;;6412:11;;6366:17;:36;6400:1;6384:13;:17;;;;:::i;:::-;6366:36;;;;;;;;;;;-1:-1:-1;6366:36:0;:43;;:57;6160:441;;6117:484::o;6265:330::-;6489:41;;;;;;;;;;;-1:-1:-1;6518:11:0;;6489:41;;;;;;;6454:32;;;:17;:32;;;;;:76;;;;;;;;;;;6567:17;;6472:13;;6567:17;:::i;:::-;6544:20;:40;6160:441;;6117:484::o;11987:322::-;12099:1;12079:5;-1:-1:-1;;;;;12079:17:0;;:21;12071:30;;;;;;12166:59;;;-1:-1:-1;;;;;6798:32:10;;;12166:59:0;;;6780:51:10;6847:18;;;;6840:34;;;12166:59:0;;;;;;;;;;6753:18:10;;;;12166:59:0;;;;;;;-1:-1:-1;;;;;12166:59:0;-1:-1:-1;;;12166:59:0;;;12155:71;;-1:-1:-1;;;;12155:10:0;;;;:71;;12166:59;12155:71;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12111:115;;;;12244:7;:57;;;;-1:-1:-1;12256:11:0;;:16;;:44;;;12287:4;12276:24;;;;;;;;;;;;:::i;:::-;12236:66;;;;;;12061:248;;11987:322;;;:::o;12315:350::-;12445:1;12425:5;-1:-1:-1;;;;;12425:17:0;;:21;12417:30;;;;;;12512:69;;;-1:-1:-1;;;;;7691:15:10;;;12512:69:0;;;7673:34:10;7743:15;;;7723:18;;;7716:43;7775:18;;;;7768:34;;;12512:69:0;;;;;;;;;;7608:18:10;;;;12512:69:0;;;;;;;-1:-1:-1;;;;;12512:69:0;-1:-1:-1;;;12512:69:0;;;12501:81;;-1:-1:-1;;;;12501:10:0;;;;:81;;12512:69;12501:81;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:125;;;;12600:7;:57;;;;-1:-1:-1;12612:11:0;;:16;;:44;;;12643:4;12632:24;;;;;;;;;;;;:::i;:::-;12592:66;;;;;;12407:258;;12315:350;;;;:::o;14:180:10:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:10;;14:180;-1:-1:-1;14:180:10:o;381:131::-;-1:-1:-1;;;;;456:31:10;;446:42;;436:70;;502:1;499;492:12;436:70;381:131;:::o;517:134::-;585:20;;614:31;585:20;614:31;:::i;:::-;517:134;;;:::o;656:315::-;724:6;732;785:2;773:9;764:7;760:23;756:32;753:52;;;801:1;798;791:12;753:52;840:9;827:23;859:31;884:5;859:31;:::i;:::-;909:5;961:2;946:18;;;;933:32;;-1:-1:-1;;;656:315:10:o;1184:248::-;1252:6;1260;1313:2;1301:9;1292:7;1288:23;1284:32;1281:52;;;1329:1;1326;1319:12;1281:52;-1:-1:-1;;1352:23:10;;;1422:2;1407:18;;;1394:32;;-1:-1:-1;1184:248:10:o;1690:247::-;1749:6;1802:2;1790:9;1781:7;1777:23;1773:32;1770:52;;;1818:1;1815;1808:12;1770:52;1857:9;1844:23;1876:31;1901:5;1876:31;:::i;2134:456::-;2211:6;2219;2227;2280:2;2268:9;2259:7;2255:23;2251:32;2248:52;;;2296:1;2293;2286:12;2248:52;2332:9;2319:23;2309:33;;2392:2;2381:9;2377:18;2364:32;2405:31;2430:5;2405:31;:::i;:::-;2455:5;-1:-1:-1;2512:2:10;2497:18;;2484:32;2525:33;2484:32;2525:33;:::i;:::-;2577:7;2567:17;;;2134:456;;;;;:::o;2595:127::-;2656:10;2651:3;2647:20;2644:1;2637:31;2687:4;2684:1;2677:15;2711:4;2708:1;2701:15;2727:1189;2820:6;2828;2881:2;2869:9;2860:7;2856:23;2852:32;2849:52;;;2897:1;2894;2887:12;2849:52;2933:9;2920:23;2910:33;;2962:2;3015;3004:9;3000:18;2987:32;3038:18;3079:2;3071:6;3068:14;3065:34;;;3095:1;3092;3085:12;3065:34;3133:6;3122:9;3118:22;3108:32;;3178:7;3171:4;3167:2;3163:13;3159:27;3149:55;;3200:1;3197;3190:12;3149:55;3236:2;3223:16;3258:2;3254;3251:10;3248:36;;;3264:18;;:::i;:::-;3310:2;3307:1;3303:10;3342:2;3336:9;3405:2;3401:7;3396:2;3392;3388:11;3384:25;3376:6;3372:38;3460:6;3448:10;3445:22;3440:2;3428:10;3425:18;3422:46;3419:72;;;3471:18;;:::i;:::-;3507:2;3500:22;3557:18;;;3591:15;;;;-1:-1:-1;3633:11:10;;;3629:20;;;3661:19;;;3658:39;;;3693:1;3690;3683:12;3658:39;3717:11;;;;3737:148;3753:6;3748:3;3745:15;3737:148;;;3819:23;3838:3;3819:23;:::i;:::-;3807:36;;3770:12;;;;3863;;;;3737:148;;;3904:6;3894:16;;;;;;;;2727:1189;;;;;:::o;3921:127::-;3982:10;3977:3;3973:20;3970:1;3963:31;4013:4;4010:1;4003:15;4037:4;4034:1;4027:15;4053:128;4093:3;4124:1;4120:6;4117:1;4114:13;4111:39;;;4130:18;;:::i;:::-;-1:-1:-1;4166:9:10;;4053:128::o;4186:125::-;4226:4;4254:1;4251;4248:8;4245:34;;;4259:18;;:::i;:::-;-1:-1:-1;4296:9:10;;4186:125::o;4316:168::-;4356:7;4422:1;4418;4414:6;4410:14;4407:1;4404:21;4399:1;4392:9;4385:17;4381:45;4378:71;;;4429:18;;:::i;:::-;-1:-1:-1;4469:9:10;;4316:168::o;4489:127::-;4550:10;4545:3;4541:20;4538:1;4531:31;4581:4;4578:1;4571:15;4605:4;4602:1;4595:15;4621:120;4661:1;4687;4677:35;;4692:18;;:::i;:::-;-1:-1:-1;4726:9:10;;4621:120::o;4746:135::-;4785:3;4806:17;;;4803:43;;4826:18;;:::i;:::-;-1:-1:-1;4873:1:10;4862:13;;4746:135::o;4886:251::-;4956:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:52;;;5025:1;5022;5015:12;4977:52;5057:9;5051:16;5076:31;5101:5;5076:31;:::i;5479:127::-;5540:10;5535:3;5531:20;5528:1;5521:31;5571:4;5568:1;5561:15;5595:4;5592:1;5585:15;5611:277;5678:6;5731:2;5719:9;5710:7;5706:23;5702:32;5699:52;;;5747:1;5744;5737:12;5699:52;5779:9;5773:16;5832:5;5825:13;5818:21;5811:5;5808:32;5798:60;;5854:1;5851;5844:12;6885:112;6917:1;6943;6933:35;;6948:18;;:::i;:::-;-1:-1:-1;6982:9:10;;6885:112::o;7002:426::-;7131:3;7169:6;7163:13;7194:1;7204:129;7218:6;7215:1;7212:13;7204:129;;;7316:4;7300:14;;;7296:25;;7290:32;7277:11;;;7270:53;7233:12;7204:129;;;7351:6;7348:1;7345:13;7342:48;;;7386:1;7377:6;7372:3;7368:16;7361:27;7342:48;-1:-1:-1;7406:16:10;;;;;7002:426;-1:-1:-1;;7002:426:10:o",
},
gasEstimates: {
creation: {
codeDepositCost: "1377600",
executionCost: "infinite",
totalCost: "infinite",
},
external: {
"_deposit(uint256,uint256)": "infinite",
"_ve()": "infinite",
"_withdraw(uint256,uint256)": "infinite",
"balanceOf(uint256)": "2450",
"checkpoints(uint256,uint256)": "4784",
"earned(address,uint256)": "infinite",
"getEpochStart(uint256)": "infinite",
"getPriorBalanceIndex(uint256,uint256)": "infinite",
"getPriorSupplyIndex(uint256)": "infinite",
"getReward(uint256,address[])": "infinite",
"getRewardForOwner(uint256,address[])": "infinite",
"isReward(address)": "2659",
"lastEarn(address,uint256)": "2684",
"lastTimeRewardApplicable(address)": "infinite",
"left(address)": "infinite",
"notifyRewardAmount(address,uint256)": "infinite",
"numCheckpoints(uint256)": "2473",
"periodFinish(address)": "2635",
"rewards(uint256)": "4658",
"rewardsListLength()": "2326",
"supplyCheckpoints(uint256)": "4687",
"supplyNumCheckpoints()": "2351",
"swapOutRewardToken(uint256,address,address)": "infinite",
"tokenRewardsPerEpoch(address,uint256)": "2662",
"totalSupply()": "2330",
"voter()": "infinite",
},
internal: {
"_bribeStart(uint256)": "164",
"_safeTransfer(address,address,uint256)": "infinite",
"_safeTransferFrom(address,address,address,uint256)": "infinite",
"_writeCheckpoint(uint256,uint256)": "infinite",
"_writeSupplyCheckpoint()": "infinite",
},
},
legacyAssembly: {
".code": [
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "C0",
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 447,
end: 12667,
name: "MSTORE",
source: 0,
},
{
begin: 2683,
end: 2684,
name: "PUSH",
source: 0,
value: "1",
},
{
begin: 2657,
end: 2684,
name: "PUSH",
source: 0,
value: "B",
},
{
begin: 2657,
end: 2684,
name: "SSTORE",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "CALLVALUE",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "DUP1",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "ISZERO",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "PUSH [tag]",
source: 0,
value: "1",
},
{
begin: 2229,
end: 2619,
name: "JUMPI",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 2229,
end: 2619,
name: "DUP1",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "REVERT",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "tag",
source: 0,
value: "1",
},
{
begin: 2229,
end: 2619,
name: "JUMPDEST",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "POP",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 2229,
end: 2619,
name: "MLOAD",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "PUSHSIZE",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "CODESIZE",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "SUB",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "DUP1",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "PUSHSIZE",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "DUP4",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "CODECOPY",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "DUP2",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "ADD",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 2229,
end: 2619,
name: "DUP2",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "SWAP1",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "MSTORE",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "PUSH [tag]",
source: 0,
value: "2",
},
{
begin: 2229,
end: 2619,
name: "SWAP2",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "PUSH [tag]",
source: 0,
value: "3",
},
{
begin: 2229,
end: 2619,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 2229,
end: 2619,
name: "tag",
source: 0,
value: "2",
},
{
begin: 2229,
end: 2619,
name: "JUMPDEST",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 2306,
end: 2320,
name: "DUP3",
source: 0,
},
{
begin: 2306,
end: 2320,
name: "AND",
source: 0,
},
{
begin: 2306,
end: 2320,
name: "PUSH",
source: 0,
value: "80",
},
{
begin: 2306,
end: 2320,
name: "DUP2",
source: 0,
},
{
begin: 2306,
end: 2320,
name: "SWAP1",
source: 0,
},
{
begin: 2306,
end: 2320,
name: "MSTORE",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 2336,
end: 2356,
name: "DUP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "MLOAD",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "8DD598FB",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "E0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: 2336,
end: 2356,
name: "DUP2",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "MSTORE",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "SWAP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "MLOAD",
source: 0,
},
{
begin: 2336,
end: 2354,
name: "PUSH",
source: 0,
value: "8DD598FB",
},
{
begin: 2336,
end: 2354,
name: "SWAP2",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 2336,
end: 2356,
name: "DUP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "DUP3",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "ADD",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "SWAP3",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 2336,
end: 2356,
name: "SWAP3",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "SWAP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "SWAP2",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "SWAP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "DUP3",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "SWAP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "SUB",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "ADD",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "DUP2",
source: 0,
},
{
begin: 2306,
end: 2320,
name: "DUP7",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "GAS",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "STATICCALL",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "ISZERO",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "DUP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "ISZERO",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH [tag]",
source: 0,
value: "7",
},
{
begin: 2336,
end: 2356,
name: "JUMPI",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "RETURNDATASIZE",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 2336,
end: 2356,
name: "DUP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "RETURNDATACOPY",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "RETURNDATASIZE",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 2336,
end: 2356,
name: "REVERT",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "tag",
source: 0,
value: "7",
},
{
begin: 2336,
end: 2356,
name: "JUMPDEST",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "POP",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "POP",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "POP",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "POP",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 2336,
end: 2356,
name: "MLOAD",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "RETURNDATASIZE",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH",
source: 0,
value: "1F",
},
{
begin: 2336,
end: 2356,
name: "NOT",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH",
source: 0,
value: "1F",
},
{
begin: 2336,
end: 2356,
name: "DUP3",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "ADD",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "AND",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "DUP3",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "ADD",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "DUP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 2336,
end: 2356,
name: "MSTORE",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "POP",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "DUP2",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "ADD",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "SWAP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH [tag]",
source: 0,
value: "8",
},
{
begin: 2336,
end: 2356,
name: "SWAP2",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "SWAP1",
source: 0,
},
{
begin: 2336,
end: 2356,
name: "PUSH [tag]",
source: 0,
value: "9",
},
{
begin: 2336,
end: 2356,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 2336,
end: 2356,
name: "tag",
source: 0,
value: "8",
},
{
begin: 2336,
end: 2356,
name: "JUMPDEST",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 2330,
end: 2356,
name: "AND",
source: 0,
},
{
begin: 2330,
end: 2356,
name: "PUSH",
source: 0,
value: "A0",
},
{
begin: 2330,
end: 2356,
name: "MSTORE",
source: 0,
},
{
begin: 2372,
end: 2378,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 2367,
end: 2613,
name: "tag",
source: 0,
value: "10",
},
{
begin: 2367,
end: 2613,
name: "JUMPDEST",
source: 0,
},
{
begin: 2384,
end: 2404,
name: "DUP2",
source: 0,
},
{
begin: 2384,
end: 2411,
name: "MLOAD",
source: 0,
},
{
begin: 2380,
end: 2381,
name: "DUP2",
source: 0,
},
{
begin: 2380,
end: 2411,
name: "LT",
source: 0,
},
{
begin: 2367,
end: 2613,
name: "ISZERO",
source: 0,
},
{
begin: 2367,
end: 2613,
name: "PUSH [tag]",
source: 0,
value: "11",
},
{
begin: 2367,
end: 2613,
name: "JUMPI",
source: 0,
},
{
begin: 2471,
end: 2472,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 2436,
end: 2473,
name: "AND",
source: 0,
},
{
begin: 2436,
end: 2456,
name: "DUP3",
source: 0,
},
{
begin: 2457,
end: 2458,
name: "DUP3",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "DUP2",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "MLOAD",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "DUP2",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "LT",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "PUSH [tag]",
source: 0,
value: "14",
},
{
begin: 2436,
end: 2459,
name: "JUMPI",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "PUSH [tag]",
source: 0,
value: "14",
},
{
begin: 2436,
end: 2459,
name: "PUSH [tag]",
source: 0,
value: "15",
},
{
begin: 2436,
end: 2459,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 2436,
end: 2459,
name: "tag",
source: 0,
value: "14",
},
{
begin: 2436,
end: 2459,
name: "JUMPDEST",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 2436,
end: 2459,
name: "MUL",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 2436,
end: 2459,
name: "ADD",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "ADD",
source: 0,
},
{
begin: 2436,
end: 2459,
name: "MLOAD",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 2436,
end: 2473,
name: "AND",
source: 0,
},
{
begin: 2436,
end: 2473,
name: "EQ",
source: 0,
},
{
begin: 2432,
end: 2603,
name: "PUSH [tag]",
source: 0,
value: "16",
},
{
begin: 2432,
end: 2603,
name: "JUMPI",
source: 0,
},
{
begin: 2529,
end: 2533,
name: "PUSH",
source: 0,
value: "1",
},
{
begin: 2493,
end: 2501,
name: "PUSH",
source: 0,
value: "6",
},
{
begin: 2493,
end: 2526,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 2502,
end: 2522,
name: "DUP5",
source: 0,
},
{
begin: 2523,
end: 2524,
name: "DUP5",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "DUP2",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "MLOAD",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "DUP2",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "LT",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "PUSH [tag]",
source: 0,
value: "18",
},
{
begin: 2502,
end: 2525,
name: "JUMPI",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "PUSH [tag]",
source: 0,
value: "18",
},
{
begin: 2502,
end: 2525,
name: "PUSH [tag]",
source: 0,
value: "15",
},
{
begin: 2502,
end: 2525,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 2502,
end: 2525,
name: "tag",
source: 0,
value: "18",
},
{
begin: 2502,
end: 2525,
name: "JUMPDEST",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 2502,
end: 2525,
name: "MUL",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 2502,
end: 2525,
name: "ADD",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "ADD",
source: 0,
},
{
begin: 2502,
end: 2525,
name: "MLOAD",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 2493,
end: 2526,
name: "AND",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 2493,
end: 2526,
name: "AND",
source: 0,
},
{
begin: 2493,
end: 2526,
name: "DUP2",
source: 0,
},
{
begin: 2493,
end: 2526,
name: "MSTORE",
source: 0,
},
{
begin: 2493,
end: 2526,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 2493,
end: 2526,
name: "ADD",
source: 0,
},
{
begin: 2493,
end: 2526,
name: "SWAP1",
source: 0,
},
{
begin: 2493,
end: 2526,
name: "DUP2",
source: 0,
},
{
begin: 2493,
end: 2526,
name: "MSTORE",
source: 0,
},
{
begin: 2493,
end: 2526,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 2493,
end: 2526,
name: "ADD",
source: 0,
},
{
begin: 2493,
end: 2526,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 2493,
end: 2526,
name: "KECCAK256",
source: 0,
},
{
begin: 2493,
end: 2526,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 2493,
end: 2533,
name: "PUSH",
source: 0,
value: "100",
},
{
begin: 2493,
end: 2533,
name: "EXP",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "DUP2",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "SLOAD",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "DUP2",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "PUSH",
source: 0,
value: "FF",
},
{
begin: 2493,
end: 2533,
name: "MUL",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "NOT",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "AND",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "SWAP1",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "DUP4",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "ISZERO",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "ISZERO",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "MUL",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "OR",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "SWAP1",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "SSTORE",
source: 0,
},
{
begin: 2493,
end: 2533,
name: "POP",
source: 0,
},
{
begin: 2551,
end: 2558,
name: "PUSH",
source: 0,
value: "5",
},
{
begin: 2564,
end: 2584,
name: "DUP3",
source: 0,
},
{
begin: 2585,
end: 2586,
name: "DUP3",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "DUP2",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "MLOAD",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "DUP2",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "LT",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "PUSH [tag]",
source: 0,
value: "20",
},
{
begin: 2564,
end: 2587,
name: "JUMPI",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "PUSH [tag]",
source: 0,
value: "20",
},
{
begin: 2564,
end: 2587,
name: "PUSH [tag]",
source: 0,
value: "15",
},
{
begin: 2564,
end: 2587,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 2564,
end: 2587,
name: "tag",
source: 0,
value: "20",
},
{
begin: 2564,
end: 2587,
name: "JUMPDEST",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 2564,
end: 2587,
name: "SWAP1",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "DUP2",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "MUL",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "SWAP2",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "SWAP1",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "SWAP2",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "ADD",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "DUP2",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "ADD",
source: 0,
},
{
begin: 2564,
end: 2587,
name: "MLOAD",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "DUP3",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SLOAD",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "PUSH",
source: 0,
value: "1",
},
{
begin: 2551,
end: 2588,
name: "DUP2",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "ADD",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "DUP5",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SSTORE",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "0",
},
{
begin: 2551,
end: 2588,
name: "SWAP4",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "DUP5",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "MSTORE",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SWAP2",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SWAP1",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SWAP3",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "KECCAK256",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "ADD",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "DUP1",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SLOAD",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: -1,
end: -1,
name: "NOT",
source: -1,
},
{
begin: 2551,
end: 2588,
name: "AND",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 2551,
end: 2588,
name: "SWAP1",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SWAP3",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "AND",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SWAP2",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SWAP1",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SWAP2",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "OR",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SWAP1",
source: 0,
},
{
begin: 2551,
end: 2588,
name: "SSTORE",
source: 0,
},
{
begin: 2432,
end: 2603,
name: "tag",
source: 0,
value: "16",
},
{
begin: 2432,
end: 2603,
name: "JUMPDEST",
source: 0,
},
{
begin: 2413,
end: 2416,
name: "DUP1",
source: 0,
},
{
begin: 2413,
end: 2416,
name: "PUSH [tag]",
source: 0,
value: "22",
},
{
begin: 2413,
end: 2416,
name: "DUP2",
source: 0,
},
{
begin: 2413,
end: 2416,
name: "PUSH [tag]",
source: 0,
value: "23",
},
{
begin: 2413,
end: 2416,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 2413,
end: 2416,
name: "tag",
source: 0,
value: "22",
},
{
begin: 2413,
end: 2416,
name: "JUMPDEST",
source: 0,
},
{
begin: 2413,
end: 2416,
name: "SWAP2",
source: 0,
},
{
begin: 2413,
end: 2416,
name: "POP",
source: 0,
},
{
begin: 2413,
end: 2416,
name: "POP",
source: 0,
},
{
begin: 2367,
end: 2613,
name: "PUSH [tag]",
source: 0,
value: "10",
},
{
begin: 2367,
end: 2613,
name: "JUMP",
source: 0,
},
{
begin: 2367,
end: 2613,
name: "tag",
source: 0,
value: "11",
},
{
begin: 2367,
end: 2613,
name: "JUMPDEST",
source: 0,
},
{
begin: 2367,
end: 2613,
name: "POP",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "POP",
source: 0,
},
{
begin: 2229,
end: 2619,
name: "POP",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "27",
},
{
begin: 447,
end: 12667,
name: "JUMP",
source: 0,
},
{
begin: 14,
end: 191,
name: "tag",
source: 10,
value: "25",
},
{
begin: 14,
end: 191,
name: "JUMPDEST",
source: 10,
},
{
begin: 93,
end: 106,
name: "DUP1",
source: 10,
},
{
begin: 93,
end: 106,
name: "MLOAD",
source: 10,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 135,
end: 166,
name: "DUP2",
source: 10,
},
{
begin: 135,
end: 166,
name: "AND",
source: 10,
},
{
begin: 125,
end: 167,
name: "DUP2",
source: 10,
},
{
begin: 125,
end: 167,
name: "EQ",
source: 10,
},
{
begin: 115,
end: 185,
name: "PUSH [tag]",
source: 10,
value: "29",
},
{
begin: 115,
end: 185,
name: "JUMPI",
source: 10,
},
{
begin: 181,
end: 182,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 178,
end: 179,
name: "DUP1",
source: 10,
},
{
begin: 171,
end: 183,
name: "REVERT",
source: 10,
},
{
begin: 115,
end: 185,
name: "tag",
source: 10,
value: "29",
},
{
begin: 115,
end: 185,
name: "JUMPDEST",
source: 10,
},
{
begin: 14,
end: 191,
name: "SWAP2",
source: 10,
},
{
begin: 14,
end: 191,
name: "SWAP1",
source: 10,
},
{
begin: 14,
end: 191,
name: "POP",
source: 10,
},
{
begin: 14,
end: 191,
name: "JUMP",
source: 10,
value: "[out]",
},
{
begin: 196,
end: 323,
name: "tag",
source: 10,
value: "26",
},
{
begin: 196,
end: 323,
name: "JUMPDEST",
source: 10,
},
{
begin: 257,
end: 267,
name: "PUSH",
source: 10,
value: "4E487B71",
},
{
begin: 252,
end: 255,
name: "PUSH",
source: 10,
value: "E0",
},
{
begin: 248,
end: 268,
name: "SHL",
source: 10,
},
{
begin: 245,
end: 246,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 238,
end: 269,
name: "MSTORE",
source: 10,
},
{
begin: 288,
end: 292,
name: "PUSH",
source: 10,
value: "41",
},
{
begin: 285,
end: 286,
name: "PUSH",
source: 10,
value: "4",
},
{
begin: 278,
end: 293,
name: "MSTORE",
source: 10,
},
{
begin: 312,
end: 316,
name: "PUSH",
source: 10,
value: "24",
},
{
begin: 309,
end: 310,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 302,
end: 317,
name: "REVERT",
source: 10,
},
{
begin: 328,
end: 1542,
name: "tag",
source: 10,
value: "3",
},
{
begin: 328,
end: 1542,
name: "JUMPDEST",
source: 10,
},
{
begin: 432,
end: 438,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 440,
end: 446,
name: "DUP1",
source: 10,
},
{
begin: 493,
end: 495,
name: "PUSH",
source: 10,
value: "40",
},
{
begin: 481,
end: 490,
name: "DUP4",
source: 10,
},
{
begin: 472,
end: 479,
name: "DUP6",
source: 10,
},
{
begin: 468,
end: 491,
name: "SUB",
source: 10,
},
{
begin: 464,
end: 496,
name: "SLT",
source: 10,
},
{
begin: 461,
end: 513,
name: "ISZERO",
source: 10,
},
{
begin: 461,
end: 513,
name: "PUSH [tag]",
source: 10,
value: "32",
},
{
begin: 461,
end: 513,
name: "JUMPI",
source: 10,
},
{
begin: 509,
end: 510,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 506,
end: 507,
name: "DUP1",
source: 10,
},
{
begin: 499,
end: 511,
name: "REVERT",
source: 10,
},
{
begin: 461,
end: 513,
name: "tag",
source: 10,
value: "32",
},
{
begin: 461,
end: 513,
name: "JUMPDEST",
source: 10,
},
{
begin: 532,
end: 572,
name: "PUSH [tag]",
source: 10,
value: "33",
},
{
begin: 562,
end: 571,
name: "DUP4",
source: 10,
},
{
begin: 532,
end: 572,
name: "PUSH [tag]",
source: 10,
value: "25",
},
{
begin: 532,
end: 572,
name: "JUMP",
source: 10,
value: "[in]",
},
{
begin: 532,
end: 572,
name: "tag",
source: 10,
value: "33",
},
{
begin: 532,
end: 572,
name: "JUMPDEST",
source: 10,
},
{
begin: 591,
end: 593,
name: "PUSH",
source: 10,
value: "20",
},
{
begin: 622,
end: 640,
name: "DUP5",
source: 10,
},
{
begin: 622,
end: 640,
name: "DUP2",
source: 10,
},
{
begin: 622,
end: 640,
name: "ADD",
source: 10,
},
{
begin: 616,
end: 641,
name: "MLOAD",
source: 10,
},
{
begin: 522,
end: 572,
name: "SWAP2",
source: 10,
},
{
begin: 522,
end: 572,
name: "SWAP4",
source: 10,
},
{
begin: -1,
end: -1,
name: "POP",
source: -1,
},
{
begin: 591,
end: 593,
name: "SWAP1",
source: 10,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "40",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 690,
end: 704,
name: "DUP1",
source: 10,
},
{
begin: 690,
end: 704,
name: "DUP3",
source: 10,
},
{
begin: 690,
end: 704,
name: "GT",
source: 10,
},
{
begin: 687,
end: 721,
name: "ISZERO",
source: 10,
},
{
begin: 687,
end: 721,
name: "PUSH [tag]",
source: 10,
value: "34",
},
{
begin: 687,
end: 721,
name: "JUMPI",
source: 10,
},
{
begin: 717,
end: 718,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 714,
end: 715,
name: "DUP1",
source: 10,
},
{
begin: 707,
end: 719,
name: "REVERT",
source: 10,
},
{
begin: 687,
end: 721,
name: "tag",
source: 10,
value: "34",
},
{
begin: 687,
end: 721,
name: "JUMPDEST",
source: 10,
},
{
begin: 755,
end: 761,
name: "DUP2",
source: 10,
},
{
begin: 744,
end: 753,
name: "DUP7",
source: 10,
},
{
begin: 740,
end: 762,
name: "ADD",
source: 10,
},
{
begin: 730,
end: 762,
name: "SWAP2",
source: 10,
},
{
begin: 730,
end: 762,
name: "POP",
source: 10,
},
{
begin: 800,
end: 807,
name: "DUP7",
source: 10,
},
{
begin: 793,
end: 797,
name: "PUSH",
source: 10,
value: "1F",
},
{
begin: 789,
end: 791,
name: "DUP4",
source: 10,
},
{
begin: 785,
end: 798,
name: "ADD",
source: 10,
},
{
begin: 781,
end: 808,
name: "SLT",
source: 10,
},
{
begin: 771,
end: 826,
name: "PUSH [tag]",
source: 10,
value: "35",
},
{
begin: 771,
end: 826,
name: "JUMPI",
source: 10,
},
{
begin: 822,
end: 823,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 819,
end: 820,
name: "DUP1",
source: 10,
},
{
begin: 812,
end: 824,
name: "REVERT",
source: 10,
},
{
begin: 771,
end: 826,
name: "tag",
source: 10,
value: "35",
},
{
begin: 771,
end: 826,
name: "JUMPDEST",
source: 10,
},
{
begin: 851,
end: 853,
name: "DUP2",
source: 10,
},
{
begin: 845,
end: 854,
name: "MLOAD",
source: 10,
},
{
begin: 873,
end: 875,
name: "DUP2",
source: 10,
},
{
begin: 869,
end: 871,
name: "DUP2",
source: 10,
},
{
begin: 866,
end: 876,
name: "GT",
source: 10,
},
{
begin: 863,
end: 899,
name: "ISZERO",
source: 10,
},
{
begin: 863,
end: 899,
name: "PUSH [tag]",
source: 10,
value: "37",
},
{
begin: 863,
end: 899,
name: "JUMPI",
source: 10,
},
{
begin: 879,
end: 897,
name: "PUSH [tag]",
source: 10,
value: "37",
},
{
begin: 879,
end: 897,
name: "PUSH [tag]",
source: 10,
value: "26",
},
{
begin: 879,
end: 897,
name: "JUMP",
source: 10,
value: "[in]",
},
{
begin: 879,
end: 897,
name: "tag",
source: 10,
value: "37",
},
{
begin: 879,
end: 897,
name: "JUMPDEST",
source: 10,
},
{
begin: 925,
end: 927,
name: "DUP1",
source: 10,
},
{
begin: 922,
end: 923,
name: "PUSH",
source: 10,
value: "5",
},
{
begin: 918,
end: 928,
name: "SHL",
source: 10,
},
{
begin: 957,
end: 959,
name: "PUSH",
source: 10,
value: "40",
},
{
begin: 951,
end: 960,
name: "MLOAD",
source: 10,
},
{
begin: 1020,
end: 1022,
name: "PUSH",
source: 10,
value: "1F",
},
{
begin: 1016,
end: 1023,
name: "NOT",
source: 10,
},
{
begin: 1011,
end: 1013,
name: "PUSH",
source: 10,
value: "3F",
},
{
begin: 1007,
end: 1009,
name: "DUP4",
source: 10,
},
{
begin: 1003,
end: 1014,
name: "ADD",
source: 10,
},
{
begin: 999,
end: 1024,
name: "AND",
source: 10,
},
{
begin: 991,
end: 997,
name: "DUP2",
source: 10,
},
{
begin: 987,
end: 1025,
name: "ADD",
source: 10,
},
{
begin: 1075,
end: 1081,
name: "DUP2",
source: 10,
},
{
begin: 1063,
end: 1073,
name: "DUP2",
source: 10,
},
{
begin: 1060,
end: 1082,
name: "LT",
source: 10,
},
{
begin: 1055,
end: 1057,
name: "DUP6",
source: 10,
},
{
begin: 1043,
end: 1053,
name: "DUP3",
source: 10,
},
{
begin: 1040,
end: 1058,
name: "GT",
source: 10,
},
{
begin: 1037,
end: 1083,
name: "OR",
source: 10,
},
{
begin: 1034,
end: 1106,
name: "ISZERO",
source: 10,
},
{
begin: 1034,
end: 1106,
name: "PUSH [tag]",
source: 10,
value: "39",
},
{
begin: 1034,
end: 1106,
name: "JUMPI",
source: 10,
},
{
begin: 1086,
end: 1104,
name: "PUSH [tag]",
source: 10,
value: "39",
},
{
begin: 1086,
end: 1104,
name: "PUSH [tag]",
source: 10,
value: "26",
},
{
begin: 1086,
end: 1104,
name: "JUMP",
source: 10,
value: "[in]",
},
{
begin: 1086,
end: 1104,
name: "tag",
source: 10,
value: "39",
},
{
begin: 1086,
end: 1104,
name: "JUMPDEST",
source: 10,
},
{
begin: 1122,
end: 1124,
name: "PUSH",
source: 10,
value: "40",
},
{
begin: 1115,
end: 1137,
name: "MSTORE",
source: 10,
},
{
begin: 1172,
end: 1190,
name: "SWAP2",
source: 10,
},
{
begin: 1172,
end: 1190,
name: "DUP3",
source: 10,
},
{
begin: 1172,
end: 1190,
name: "MSTORE",
source: 10,
},
{
begin: 1206,
end: 1221,
name: "DUP5",
source: 10,
},
{
begin: 1206,
end: 1221,
name: "DUP3",
source: 10,
},
{
begin: 1206,
end: 1221,
name: "ADD",
source: 10,
},
{
begin: 1206,
end: 1221,
name: "SWAP3",
source: 10,
},
{
begin: -1,
end: -1,
name: "POP",
source: -1,
},
{
begin: 1248,
end: 1259,
name: "DUP4",
source: 10,
},
{
begin: 1248,
end: 1259,
name: "DUP2",
source: 10,
},
{
begin: 1248,
end: 1259,
name: "ADD",
source: 10,
},
{
begin: 1244,
end: 1264,
name: "DUP6",
source: 10,
},
{
begin: 1244,
end: 1264,
name: "ADD",
source: 10,
},
{
begin: 1244,
end: 1264,
name: "SWAP2",
source: 10,
},
{
begin: 1276,
end: 1295,
name: "DUP10",
source: 10,
},
{
begin: 1276,
end: 1295,
name: "DUP4",
source: 10,
},
{
begin: 1276,
end: 1295,
name: "GT",
source: 10,
},
{
begin: 1273,
end: 1312,
name: "ISZERO",
source: 10,
},
{
begin: 1273,
end: 1312,
name: "PUSH [tag]",
source: 10,
value: "40",
},
{
begin: 1273,
end: 1312,
name: "JUMPI",
source: 10,
},
{
begin: 1308,
end: 1309,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 1305,
end: 1306,
name: "DUP1",
source: 10,
},
{
begin: 1298,
end: 1310,
name: "REVERT",
source: 10,
},
{
begin: 1273,
end: 1312,
name: "tag",
source: 10,
value: "40",
},
{
begin: 1273,
end: 1312,
name: "JUMPDEST",
source: 10,
},
{
begin: 1332,
end: 1343,
name: "SWAP4",
source: 10,
},
{
begin: 1332,
end: 1343,
name: "DUP6",
source: 10,
},
{
begin: 1332,
end: 1343,
name: "ADD",
source: 10,
},
{
begin: 1332,
end: 1343,
name: "SWAP4",
source: 10,
},
{
begin: 1352,
end: 1511,
name: "tag",
source: 10,
value: "41",
},
{
begin: 1352,
end: 1511,
name: "JUMPDEST",
source: 10,
},
{
begin: 1368,
end: 1374,
name: "DUP3",
source: 10,
},
{
begin: 1363,
end: 1366,
name: "DUP6",
source: 10,
},
{
begin: 1360,
end: 1375,
name: "LT",
source: 10,
},
{
begin: 1352,
end: 1511,
name: "ISZERO",
source: 10,
},
{
begin: 1352,
end: 1511,
name: "PUSH [tag]",
source: 10,
value: "43",
},
{
begin: 1352,
end: 1511,
name: "JUMPI",
source: 10,
},
{
begin: 1434,
end: 1468,
name: "PUSH [tag]",
source: 10,
value: "44",
},
{
begin: 1464,
end: 1467,
name: "DUP6",
source: 10,
},
{
begin: 1434,
end: 1468,
name: "PUSH [tag]",
source: 10,
value: "25",
},
{
begin: 1434,
end: 1468,
name: "JUMP",
source: 10,
value: "[in]",
},
{
begin: 1434,
end: 1468,
name: "tag",
source: 10,
value: "44",
},
{
begin: 1434,
end: 1468,
name: "JUMPDEST",
source: 10,
},
{
begin: 1422,
end: 1469,
name: "DUP5",
source: 10,
},
{
begin: 1422,
end: 1469,
name: "MSTORE",
source: 10,
},
{
begin: 1385,
end: 1397,
name: "SWAP4",
source: 10,
},
{
begin: 1385,
end: 1397,
name: "DUP6",
source: 10,
},
{
begin: 1385,
end: 1397,
name: "ADD",
source: 10,
},
{
begin: 1385,
end: 1397,
name: "SWAP4",
source: 10,
},
{
begin: 1489,
end: 1501,
name: "SWAP3",
source: 10,
},
{
begin: 1489,
end: 1501,
name: "DUP6",
source: 10,
},
{
begin: 1489,
end: 1501,
name: "ADD",
source: 10,
},
{
begin: 1489,
end: 1501,
name: "SWAP3",
source: 10,
},
{
begin: 1352,
end: 1511,
name: "PUSH [tag]",
source: 10,
value: "41",
},
{
begin: 1352,
end: 1511,
name: "JUMP",
source: 10,
},
{
begin: 1352,
end: 1511,
name: "tag",
source: 10,
value: "43",
},
{
begin: 1352,
end: 1511,
name: "JUMPDEST",
source: 10,
},
{
begin: 1530,
end: 1536,
name: "DUP1",
source: 10,
},
{
begin: 1520,
end: 1536,
name: "SWAP7",
source: 10,
},
{
begin: 1520,
end: 1536,
name: "POP",
source: 10,
},
{
begin: 1520,
end: 1536,
name: "POP",
source: 10,
},
{
begin: 1520,
end: 1536,
name: "POP",
source: 10,
},
{
begin: 1520,
end: 1536,
name: "POP",
source: 10,
},
{
begin: 1520,
end: 1536,
name: "POP",
source: 10,
},
{
begin: 1520,
end: 1536,
name: "POP",
source: 10,
},
{
begin: 1520,
end: 1536,
name: "POP",
source: 10,
},
{
begin: 328,
end: 1542,
name: "SWAP3",
source: 10,
},
{
begin: 328,
end: 1542,
name: "POP",
source: 10,
},
{
begin: 328,
end: 1542,
name: "SWAP3",
source: 10,
},
{
begin: 328,
end: 1542,
name: "SWAP1",
source: 10,
},
{
begin: 328,
end: 1542,
name: "POP",
source: 10,
},
{
begin: 328,
end: 1542,
name: "JUMP",
source: 10,
value: "[out]",
},
{
begin: 1547,
end: 1755,
name: "tag",
source: 10,
value: "9",
},
{
begin: 1547,
end: 1755,
name: "JUMPDEST",
source: 10,
},
{
begin: 1617,
end: 1623,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 1670,
end: 1672,
name: "PUSH",
source: 10,
value: "20",
},
{
begin: 1658,
end: 1667,
name: "DUP3",
source: 10,
},
{
begin: 1649,
end: 1656,
name: "DUP5",
source: 10,
},
{
begin: 1645,
end: 1668,
name: "SUB",
source: 10,
},
{
begin: 1641,
end: 1673,
name: "SLT",
source: 10,
},
{
begin: 1638,
end: 1690,
name: "ISZERO",
source: 10,
},
{
begin: 1638,
end: 1690,
name: "PUSH [tag]",
source: 10,
value: "46",
},
{
begin: 1638,
end: 1690,
name: "JUMPI",
source: 10,
},
{
begin: 1686,
end: 1687,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 1683,
end: 1684,
name: "DUP1",
source: 10,
},
{
begin: 1676,
end: 1688,
name: "REVERT",
source: 10,
},
{
begin: 1638,
end: 1690,
name: "tag",
source: 10,
value: "46",
},
{
begin: 1638,
end: 1690,
name: "JUMPDEST",
source: 10,
},
{
begin: 1709,
end: 1749,
name: "PUSH [tag]",
source: 10,
value: "47",
},
{
begin: 1739,
end: 1748,
name: "DUP3",
source: 10,
},
{
begin: 1709,
end: 1749,
name: "PUSH [tag]",
source: 10,
value: "25",
},
{
begin: 1709,
end: 1749,
name: "JUMP",
source: 10,
value: "[in]",
},
{
begin: 1709,
end: 1749,
name: "tag",
source: 10,
value: "47",
},
{
begin: 1709,
end: 1749,
name: "JUMPDEST",
source: 10,
},
{
begin: 1699,
end: 1749,
name: "SWAP4",
source: 10,
},
{
begin: 1547,
end: 1755,
name: "SWAP3",
source: 10,
},
{
begin: -1,
end: -1,
name: "POP",
source: -1,
},
{
begin: -1,
end: -1,
name: "POP",
source: -1,
},
{
begin: -1,
end: -1,
name: "POP",
source: -1,
},
{
begin: 1547,
end: 1755,
name: "JUMP",
source: 10,
value: "[out]",
},
{
begin: 1760,
end: 1887,
name: "tag",
source: 10,
value: "15",
},
{
begin: 1760,
end: 1887,
name: "JUMPDEST",
source: 10,
},
{
begin: 1821,
end: 1831,
name: "PUSH",
source: 10,
value: "4E487B71",
},
{
begin: 1816,
end: 1819,
name: "PUSH",
source: 10,
value: "E0",
},
{
begin: 1812,
end: 1832,
name: "SHL",
source: 10,
},
{
begin: 1809,
end: 1810,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 1802,
end: 1833,
name: "MSTORE",
source: 10,
},
{
begin: 1852,
end: 1856,
name: "PUSH",
source: 10,
value: "32",
},
{
begin: 1849,
end: 1850,
name: "PUSH",
source: 10,
value: "4",
},
{
begin: 1842,
end: 1857,
name: "MSTORE",
source: 10,
},
{
begin: 1876,
end: 1880,
name: "PUSH",
source: 10,
value: "24",
},
{
begin: 1873,
end: 1874,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 1866,
end: 1881,
name: "REVERT",
source: 10,
},
{
begin: 1892,
end: 2124,
name: "tag",
source: 10,
value: "23",
},
{
begin: 1892,
end: 2124,
name: "JUMPDEST",
source: 10,
},
{
begin: 1931,
end: 1934,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 1952,
end: 1969,
name: "PUSH",
source: 10,
value: "1",
},
{
begin: 1952,
end: 1969,
name: "DUP3",
source: 10,
},
{
begin: 1952,
end: 1969,
name: "ADD",
source: 10,
},
{
begin: 1949,
end: 2089,
name: "PUSH [tag]",
source: 10,
value: "50",
},
{
begin: 1949,
end: 2089,
name: "JUMPI",
source: 10,
},
{
begin: 2011,
end: 2021,
name: "PUSH",
source: 10,
value: "4E487B71",
},
{
begin: 2006,
end: 2009,
name: "PUSH",
source: 10,
value: "E0",
},
{
begin: 2002,
end: 2022,
name: "SHL",
source: 10,
},
{
begin: 1999,
end: 2000,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 1992,
end: 2023,
name: "MSTORE",
source: 10,
},
{
begin: 2046,
end: 2050,
name: "PUSH",
source: 10,
value: "11",
},
{
begin: 2043,
end: 2044,
name: "PUSH",
source: 10,
value: "4",
},
{
begin: 2036,
end: 2051,
name: "MSTORE",
source: 10,
},
{
begin: 2074,
end: 2078,
name: "PUSH",
source: 10,
value: "24",
},
{
begin: 2071,
end: 2072,
name: "PUSH",
source: 10,
value: "0",
},
{
begin: 2064,
end: 2079,
name: "REVERT",
source: 10,
},
{
begin: 1949,
end: 2089,
name: "tag",
source: 10,
value: "50",
},
{
begin: 1949,
end: 2089,
name: "JUMPDEST",
source: 10,
},
{
begin: -1,
end: -1,
name: "POP",
source: -1,
},
{
begin: 2116,
end: 2117,
name: "PUSH",
source: 10,
value: "1",
},
{
begin: 2105,
end: 2118,
name: "ADD",
source: 10,
},
{
begin: 2105,
end: 2118,
name: "SWAP1",
source: 10,
},
{
begin: 1892,
end: 2124,
name: "JUMP",
source: 10,
value: "[out]",
},
{
begin: 1892,
end: 2124,
name: "tag",
source: 10,
value: "27",
},
{
begin: 1892,
end: 2124,
name: "JUMPDEST",
source: 10,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "80",
},
{
begin: 447,
end: 12667,
name: "MLOAD",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "A0",
},
{
begin: 447,
end: 12667,
name: "MLOAD",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH #[$]",
source: 0,
value: "0000000000000000000000000000000000000000000000000000000000000000",
},
{
begin: 447,
end: 12667,
name: "PUSH [$]",
source: 0,
value: "0000000000000000000000000000000000000000000000000000000000000000",
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "CODECOPY",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "ASSIGNIMMUTABLE",
source: 0,
value: "13",
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "ASSIGNIMMUTABLE",
source: 0,
value: "11",
},
{
begin: 447,
end: 12667,
name: "PUSH #[$]",
source: 0,
value: "0000000000000000000000000000000000000000000000000000000000000000",
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "RETURN",
source: 0,
},
],
".data": {
"0": {
".auxdata": "a264697066735822122059607273b815a71b809cf36a52c23302955008467736f0fffdb83feacb2e0c6964736f6c634300080d0033",
".code": [
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "80",
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 447,
end: 12667,
name: "MSTORE",
source: 0,
},
{
begin: 447,
end: 12667,
name: "CALLVALUE",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "ISZERO",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "1",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "REVERT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "tag",
source: 0,
value: "1",
},
{
begin: 447,
end: 12667,
name: "JUMPDEST",
source: 0,
},
{
begin: 447,
end: 12667,
name: "POP",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 447,
end: 12667,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 447,
end: 12667,
name: "LT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "2",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "CALLDATALOAD",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "E0",
},
{
begin: 447,
end: 12667,
name: "SHR",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "9CC7F708",
},
{
begin: 447,
end: 12667,
name: "GT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "29",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "E6886396",
},
{
begin: 447,
end: 12667,
name: "GT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "30",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "F301AF42",
},
{
begin: 447,
end: 12667,
name: "GT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "31",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "F301AF42",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "25",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "F3207723",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "26",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "F5F8D365",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "27",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "F7412BAF",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "28",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "REVERT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "tag",
source: 0,
value: "31",
},
{
begin: 447,
end: 12667,
name: "JUMPDEST",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "E6886396",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "22",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "E8111A12",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "23",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "F25E55A5",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "24",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "REVERT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "tag",
source: 0,
value: "30",
},
{
begin: 447,
end: 12667,
name: "JUMPDEST",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "9CC7F708",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "16",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "9E2BF22C",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "17",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "A28D4C9C",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "18",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "A7852AFA",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "19",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "B66503CF",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "20",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "DA09D19D",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "21",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "REVERT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "tag",
source: 0,
value: "29",
},
{
begin: 447,
end: 12667,
name: "JUMPDEST",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "50589793",
},
{
begin: 447,
end: 12667,
name: "GT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "32",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "8DD598FB",
},
{
begin: 447,
end: 12667,
name: "GT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "33",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "8DD598FB",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "12",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "92777B29",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "13",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "9418F939",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "14",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "99BCC052",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "15",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "REVERT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "tag",
source: 0,
value: "33",
},
{
begin: 447,
end: 12667,
name: "JUMPDEST",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "50589793",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "9",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "638634EE",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "10",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "76F4BE36",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "11",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "REVERT",
source: 0,
},
{
begin: 447,
end: 12667,
name: "tag",
source: 0,
value: "32",
},
{
begin: 447,
end: 12667,
name: "JUMPDEST",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "175E23B",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "3",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "18160DDD",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "4",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "3E491D47",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "5",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "46C96AAC",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "6",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "49DCC204",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "7",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "4D5CE038",
},
{
begin: 447,
end: 12667,
name: "EQ",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH [tag]",
source: 0,
value: "8",
},
{
begin: 447,
end: 12667,
name: "JUMPI",
source: 0,
},
{
begin: 447,
end: 12667,
name: "tag",
source: 0,
value: "2",
},
{
begin: 447,
end: 12667,
name: "JUMPDEST",
source: 0,
},
{
begin: 447,
end: 12667,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 447,
end: 12667,
name: "DUP1",
source: 0,
},
{
begin: 447,
end: 12667,
name: "REVERT",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "tag",
source: 0,
value: "3",
},
{
begin: 2939,
end: 3181,
name: "JUMPDEST",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 2939,
end: 3181,
name: "PUSH [tag]",
source: 0,
value: "35",
},
{
begin: 2939,
end: 3181,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 2939,
end: 3181,
name: "PUSH [tag]",
source: 0,
value: "36",
},
{
begin: 2939,
end: 3181,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 2939,
end: 3181,
name: "tag",
source: 0,
value: "35",
},
{
begin: 2939,
end: 3181,
name: "JUMPDEST",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "PUSH [tag]",
source: 0,
value: "37",
},
{
begin: 2939,
end: 3181,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 2939,
end: 3181,
name: "tag",
source: 0,
value: "34",
},
{
begin: 2939,
end: 3181,
name: "JUMPDEST",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 2939,
end: 3181,
name: "MLOAD",
source: 0,
},
{
begin: 345,
end: 370,
name: "SWAP1",
source: 10,
},
{
begin: 345,
end: 370,
name: "DUP2",
source: 10,
},
{
begin: 345,
end: 370,
name: "MSTORE",
source: 10,
},
{
begin: 333,
end: 335,
name: "PUSH",
source: 10,
value: "20",
},
{
begin: 318,
end: 336,
name: "ADD",
source: 10,
},
{
begin: 2939,
end: 3181,
name: "tag",
source: 0,
value: "38",
},
{
begin: 2939,
end: 3181,
name: "JUMPDEST",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 2939,
end: 3181,
name: "MLOAD",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "DUP1",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "SWAP2",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "SUB",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "SWAP1",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "RETURN",
source: 0,
},
{
begin: 842,
end: 865,
name: "tag",
source: 0,
value: "4",
},
{
begin: 842,
end: 865,
name: "JUMPDEST",
source: 0,
},
{
begin: 842,
end: 865,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 842,
end: 865,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 842,
end: 865,
name: "SLOAD",
source: 0,
},
{
begin: 842,
end: 865,
name: "DUP2",
source: 0,
},
{
begin: 842,
end: 865,
name: "JUMP",
source: 0,
},
{
begin: 8042,
end: 9814,
name: "tag",
source: 0,
value: "5",
},
{
begin: 8042,
end: 9814,
name: "JUMPDEST",
source: 0,
},
{
begin: 8042,
end: 9814,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 8042,
end: 9814,
name: "PUSH [tag]",
source: 0,
value: "44",
},
{
begin: 8042,
end: 9814,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 8042,
end: 9814,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 8042,
end: 9814,
name: "PUSH [tag]",
source: 0,
value: "45",
},
{
begin: 8042,
end: 9814,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 8042,
end: 9814,
name: "tag",
source: 0,
value: "44",
},
{
begin: 8042,
end: 9814,
name: "JUMPDEST",
source: 0,
},
{
begin: 8042,
end: 9814,
name: "PUSH [tag]",
source: 0,
value: "46",
},
{
begin: 8042,
end: 9814,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 486,
end: 516,
name: "tag",
source: 0,
value: "6",
},
{
begin: 486,
end: 516,
name: "JUMPDEST",
source: 0,
},
{
begin: 486,
end: 516,
name: "PUSH [tag]",
source: 0,
value: "48",
},
{
begin: 486,
end: 516,
name: "PUSHIMMUTABLE",
source: 0,
value: "11",
},
{
begin: 486,
end: 516,
name: "DUP2",
source: 0,
},
{
begin: 486,
end: 516,
name: "JUMP",
source: 0,
},
{
begin: 486,
end: 516,
name: "tag",
source: 0,
value: "48",
},
{
begin: 486,
end: 516,
name: "JUMPDEST",
source: 0,
},
{
begin: 486,
end: 516,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 486,
end: 516,
name: "MLOAD",
source: 0,
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "1",
},
{
begin: -1,
end: -1,
name: "PUSH",
source: -1,
value: "A0",
},
{
begin: -1,
end: -1,
name: "SHL",
source: -1,
},
{
begin: -1,
end: -1,
name: "SUB",
source: -1,
},
{
begin: 1140,
end: 1172,
name: "SWAP1",
source: 10,
},
{
begin: 1140,
end: 1172,
name: "SWAP2",
source: 10,
},
{
begin: 1140,
end: 1172,
name: "AND",
source: 10,
},
{
begin: 1122,
end: 1173,
name: "DUP2",
source: 10,
},
{
begin: 1122,
end: 1173,
name: "MSTORE",
source: 10,
},
{
begin: 1110,
end: 1112,
name: "PUSH",
source: 10,
value: "20",
},
{
begin: 1095,
end: 1113,
name: "ADD",
source: 10,
},
{
begin: 486,
end: 516,
name: "PUSH [tag]",
source: 0,
value: "38",
},
{
begin: 976,
end: 1179,
name: "JUMP",
source: 10,
},
{
begin: 1514,
end: 1579,
name: "tag",
source: 0,
value: "7",
},
{
begin: 1514,
end: 1579,
name: "JUMPDEST",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "PUSH [tag]",
source: 0,
value: "52",
},
{
begin: 1514,
end: 1579,
name: "PUSH [tag]",
source: 0,
value: "53",
},
{
begin: 1514,
end: 1579,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 1514,
end: 1579,
name: "PUSH [tag]",
source: 0,
value: "54",
},
{
begin: 1514,
end: 1579,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 1514,
end: 1579,
name: "tag",
source: 0,
value: "53",
},
{
begin: 1514,
end: 1579,
name: "JUMPDEST",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "PUSH",
source: 0,
value: "7",
},
{
begin: 1514,
end: 1579,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 1514,
end: 1579,
name: "SWAP1",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "DUP2",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "MSTORE",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 1514,
end: 1579,
name: "SWAP3",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "DUP4",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "MSTORE",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 1514,
end: 1579,
name: "DUP1",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "DUP5",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "KECCAK256",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "SWAP1",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "SWAP2",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "MSTORE",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "SWAP1",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "DUP3",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "MSTORE",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "SWAP1",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "KECCAK256",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "DUP1",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "SLOAD",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "PUSH",
source: 0,
value: "1",
},
{
begin: 1514,
end: 1579,
name: "SWAP1",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "SWAP2",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "ADD",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "SLOAD",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "DUP3",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "JUMP",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "tag",
source: 0,
value: "52",
},
{
begin: 1514,
end: 1579,
name: "JUMPDEST",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 1514,
end: 1579,
name: "DUP1",
source: 0,
},
{
begin: 1514,
end: 1579,
name: "MLOAD",
source: 0,
},
{
begin: 1611,
end: 1636,
name: "SWAP3",
source: 10,
},
{
begin: 1611,
end: 1636,
name: "DUP4",
source: 10,
},
{
begin: 1611,
end: 1636,
name: "MSTORE",
source: 10,
},
{
begin: 1667,
end: 1669,
name: "PUSH",
source: 10,
value: "20",
},
{
begin: 1652,
end: 1670,
name: "DUP4",
source: 10,
},
{
begin: 1652,
end: 1670,
name: "ADD",
source: 10,
},
{
begin: 1645,
end: 1679,
name: "SWAP2",
source: 10,
},
{
begin: 1645,
end: 1679,
name: "SWAP1",
source: 10,
},
{
begin: 1645,
end: 1679,
name: "SWAP2",
source: 10,
},
{
begin: 1645,
end: 1679,
name: "MSTORE",
source: 10,
},
{
begin: 1584,
end: 1602,
name: "ADD",
source: 10,
},
{
begin: 1514,
end: 1579,
name: "PUSH [tag]",
source: 0,
value: "38",
},
{
begin: 1437,
end: 1685,
name: "JUMP",
source: 10,
},
{
begin: 1134,
end: 1174,
name: "tag",
source: 0,
value: "8",
},
{
begin: 1134,
end: 1174,
name: "JUMPDEST",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "PUSH [tag]",
source: 0,
value: "58",
},
{
begin: 1134,
end: 1174,
name: "PUSH [tag]",
source: 0,
value: "59",
},
{
begin: 1134,
end: 1174,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 1134,
end: 1174,
name: "PUSH [tag]",
source: 0,
value: "60",
},
{
begin: 1134,
end: 1174,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 1134,
end: 1174,
name: "tag",
source: 0,
value: "59",
},
{
begin: 1134,
end: 1174,
name: "JUMPDEST",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "PUSH",
source: 0,
value: "6",
},
{
begin: 1134,
end: 1174,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 1134,
end: 1174,
name: "MSTORE",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 1134,
end: 1174,
name: "SWAP1",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "DUP2",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "MSTORE",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 1134,
end: 1174,
name: "SWAP1",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "KECCAK256",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "SLOAD",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "PUSH",
source: 0,
value: "FF",
},
{
begin: 1134,
end: 1174,
name: "AND",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "DUP2",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "JUMP",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "tag",
source: 0,
value: "58",
},
{
begin: 1134,
end: 1174,
name: "JUMPDEST",
source: 0,
},
{
begin: 1134,
end: 1174,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 1134,
end: 1174,
name: "MLOAD",
source: 0,
},
{
begin: 2107,
end: 2121,
name: "SWAP1",
source: 10,
},
{
begin: 2107,
end: 2121,
name: "ISZERO",
source: 10,
},
{
begin: 2100,
end: 2122,
name: "ISZERO",
source: 10,
},
{
begin: 2082,
end: 2123,
name: "DUP2",
source: 10,
},
{
begin: 2082,
end: 2123,
name: "MSTORE",
source: 10,
},
{
begin: 2070,
end: 2072,
name: "PUSH",
source: 10,
value: "20",
},
{
begin: 2055,
end: 2073,
name: "ADD",
source: 10,
},
{
begin: 1134,
end: 1174,
name: "PUSH [tag]",
source: 0,
value: "38",
},
{
begin: 1942,
end: 2129,
name: "JUMP",
source: 10,
},
{
begin: 1644,
end: 1688,
name: "tag",
source: 0,
value: "9",
},
{
begin: 1644,
end: 1688,
name: "JUMPDEST",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 1644,
end: 1688,
name: "PUSH [tag]",
source: 0,
value: "65",
},
{
begin: 1644,
end: 1688,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 1644,
end: 1688,
name: "PUSH [tag]",
source: 0,
value: "36",
},
{
begin: 1644,
end: 1688,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 1644,
end: 1688,
name: "tag",
source: 0,
value: "65",
},
{
begin: 1644,
end: 1688,
name: "JUMPDEST",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "PUSH",
source: 0,
value: "8",
},
{
begin: 1644,
end: 1688,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 1644,
end: 1688,
name: "MSTORE",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 1644,
end: 1688,
name: "SWAP1",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "DUP2",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "MSTORE",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 1644,
end: 1688,
name: "SWAP1",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "KECCAK256",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "SLOAD",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "DUP2",
source: 0,
},
{
begin: 1644,
end: 1688,
name: "JUMP",
source: 0,
},
{
begin: 6802,
end: 6948,
name: "tag",
source: 0,
value: "10",
},
{
begin: 6802,
end: 6948,
name: "JUMPDEST",
source: 0,
},
{
begin: 6802,
end: 6948,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 6802,
end: 6948,
name: "PUSH [tag]",
source: 0,
value: "69",
},
{
begin: 6802,
end: 6948,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 6802,
end: 6948,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 6802,
end: 6948,
name: "PUSH [tag]",
source: 0,
value: "60",
},
{
begin: 6802,
end: 6948,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 6802,
end: 6948,
name: "tag",
source: 0,
value: "69",
},
{
begin: 6802,
end: 6948,
name: "JUMPDEST",
source: 0,
},
{
begin: 6802,
end: 6948,
name: "PUSH [tag]",
source: 0,
value: "70",
},
{
begin: 6802,
end: 6948,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 4594,
end: 5598,
name: "tag",
source: 0,
value: "11",
},
{
begin: 4594,
end: 5598,
name: "JUMPDEST",
source: 0,
},
{
begin: 4594,
end: 5598,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 4594,
end: 5598,
name: "PUSH [tag]",
source: 0,
value: "73",
},
{
begin: 4594,
end: 5598,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 4594,
end: 5598,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 4594,
end: 5598,
name: "PUSH [tag]",
source: 0,
value: "36",
},
{
begin: 4594,
end: 5598,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 4594,
end: 5598,
name: "tag",
source: 0,
value: "73",
},
{
begin: 4594,
end: 5598,
name: "JUMPDEST",
source: 0,
},
{
begin: 4594,
end: 5598,
name: "PUSH [tag]",
source: 0,
value: "74",
},
{
begin: 4594,
end: 5598,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 590,
end: 618,
name: "tag",
source: 0,
value: "12",
},
{
begin: 590,
end: 618,
name: "JUMPDEST",
source: 0,
},
{
begin: 590,
end: 618,
name: "PUSH [tag]",
source: 0,
value: "48",
},
{
begin: 590,
end: 618,
name: "PUSHIMMUTABLE",
source: 0,
value: "13",
},
{
begin: 590,
end: 618,
name: "DUP2",
source: 0,
},
{
begin: 590,
end: 618,
name: "JUMP",
source: 0,
},
{
begin: 915,
end: 984,
name: "tag",
source: 0,
value: "13",
},
{
begin: 915,
end: 984,
name: "JUMPDEST",
source: 0,
},
{
begin: 915,
end: 984,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 915,
end: 984,
name: "PUSH [tag]",
source: 0,
value: "80",
},
{
begin: 915,
end: 984,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 915,
end: 984,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 915,
end: 984,
name: "PUSH [tag]",
source: 0,
value: "45",
},
{
begin: 915,
end: 984,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 915,
end: 984,
name: "tag",
source: 0,
value: "80",
},
{
begin: 915,
end: 984,
name: "JUMPDEST",
source: 0,
},
{
begin: 915,
end: 984,
name: "PUSH",
source: 0,
value: "2",
},
{
begin: 915,
end: 984,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 915,
end: 984,
name: "SWAP1",
source: 0,
},
{
begin: 915,
end: 984,
name: "DUP2",
source: 0,
},
{
begin: 915,
end: 984,
name: "MSTORE",
source: 0,
},
{
begin: 915,
end: 984,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 915,
end: 984,
name: "SWAP3",
source: 0,
},
{
begin: 915,
end: 984,
name: "DUP4",
source: 0,
},
{
begin: 915,
end: 984,
name: "MSTORE",
source: 0,
},
{
begin: 915,
end: 984,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 915,
end: 984,
name: "DUP1",
source: 0,
},
{
begin: 915,
end: 984,
name: "DUP5",
source: 0,
},
{
begin: 915,
end: 984,
name: "KECCAK256",
source: 0,
},
{
begin: 915,
end: 984,
name: "SWAP1",
source: 0,
},
{
begin: 915,
end: 984,
name: "SWAP2",
source: 0,
},
{
begin: 915,
end: 984,
name: "MSTORE",
source: 0,
},
{
begin: 915,
end: 984,
name: "SWAP1",
source: 0,
},
{
begin: 915,
end: 984,
name: "DUP3",
source: 0,
},
{
begin: 915,
end: 984,
name: "MSTORE",
source: 0,
},
{
begin: 915,
end: 984,
name: "SWAP1",
source: 0,
},
{
begin: 915,
end: 984,
name: "KECCAK256",
source: 0,
},
{
begin: 915,
end: 984,
name: "SLOAD",
source: 0,
},
{
begin: 915,
end: 984,
name: "DUP2",
source: 0,
},
{
begin: 915,
end: 984,
name: "JUMP",
source: 0,
},
{
begin: 11679,
end: 11981,
name: "tag",
source: 0,
value: "14",
},
{
begin: 11679,
end: 11981,
name: "JUMPDEST",
source: 0,
},
{
begin: 11679,
end: 11981,
name: "PUSH [tag]",
source: 0,
value: "83",
},
{
begin: 11679,
end: 11981,
name: "PUSH [tag]",
source: 0,
value: "84",
},
{
begin: 11679,
end: 11981,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 11679,
end: 11981,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 11679,
end: 11981,
name: "PUSH [tag]",
source: 0,
value: "85",
},
{
begin: 11679,
end: 11981,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 11679,
end: 11981,
name: "tag",
source: 0,
value: "84",
},
{
begin: 11679,
end: 11981,
name: "JUMPDEST",
source: 0,
},
{
begin: 11679,
end: 11981,
name: "PUSH [tag]",
source: 0,
value: "86",
},
{
begin: 11679,
end: 11981,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 11679,
end: 11981,
name: "tag",
source: 0,
value: "83",
},
{
begin: 11679,
end: 11981,
name: "JUMPDEST",
source: 0,
},
{
begin: 11679,
end: 11981,
name: "STOP",
source: 0,
},
{
begin: 10576,
end: 10763,
name: "tag",
source: 0,
value: "15",
},
{
begin: 10576,
end: 10763,
name: "JUMPDEST",
source: 0,
},
{
begin: 10576,
end: 10763,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 10576,
end: 10763,
name: "PUSH [tag]",
source: 0,
value: "88",
},
{
begin: 10576,
end: 10763,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 10576,
end: 10763,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 10576,
end: 10763,
name: "PUSH [tag]",
source: 0,
value: "60",
},
{
begin: 10576,
end: 10763,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 10576,
end: 10763,
name: "tag",
source: 0,
value: "88",
},
{
begin: 10576,
end: 10763,
name: "JUMPDEST",
source: 0,
},
{
begin: 10576,
end: 10763,
name: "PUSH [tag]",
source: 0,
value: "89",
},
{
begin: 10576,
end: 10763,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 871,
end: 909,
name: "tag",
source: 0,
value: "16",
},
{
begin: 871,
end: 909,
name: "JUMPDEST",
source: 0,
},
{
begin: 871,
end: 909,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 871,
end: 909,
name: "PUSH [tag]",
source: 0,
value: "92",
},
{
begin: 871,
end: 909,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 871,
end: 909,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 871,
end: 909,
name: "PUSH [tag]",
source: 0,
value: "36",
},
{
begin: 871,
end: 909,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 871,
end: 909,
name: "tag",
source: 0,
value: "92",
},
{
begin: 871,
end: 909,
name: "JUMPDEST",
source: 0,
},
{
begin: 871,
end: 909,
name: "PUSH",
source: 0,
value: "1",
},
{
begin: 871,
end: 909,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 871,
end: 909,
name: "MSTORE",
source: 0,
},
{
begin: 871,
end: 909,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 871,
end: 909,
name: "SWAP1",
source: 0,
},
{
begin: 871,
end: 909,
name: "DUP2",
source: 0,
},
{
begin: 871,
end: 909,
name: "MSTORE",
source: 0,
},
{
begin: 871,
end: 909,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 871,
end: 909,
name: "SWAP1",
source: 0,
},
{
begin: 871,
end: 909,
name: "KECCAK256",
source: 0,
},
{
begin: 871,
end: 909,
name: "SLOAD",
source: 0,
},
{
begin: 871,
end: 909,
name: "DUP2",
source: 0,
},
{
begin: 871,
end: 909,
name: "JUMP",
source: 0,
},
{
begin: 10257,
end: 10570,
name: "tag",
source: 0,
value: "17",
},
{
begin: 10257,
end: 10570,
name: "JUMPDEST",
source: 0,
},
{
begin: 10257,
end: 10570,
name: "PUSH [tag]",
source: 0,
value: "83",
},
{
begin: 10257,
end: 10570,
name: "PUSH [tag]",
source: 0,
value: "96",
},
{
begin: 10257,
end: 10570,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 10257,
end: 10570,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 10257,
end: 10570,
name: "PUSH [tag]",
source: 0,
value: "54",
},
{
begin: 10257,
end: 10570,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 10257,
end: 10570,
name: "tag",
source: 0,
value: "96",
},
{
begin: 10257,
end: 10570,
name: "JUMPDEST",
source: 0,
},
{
begin: 10257,
end: 10570,
name: "PUSH [tag]",
source: 0,
value: "97",
},
{
begin: 10257,
end: 10570,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 3565,
end: 4588,
name: "tag",
source: 0,
value: "18",
},
{
begin: 3565,
end: 4588,
name: "JUMPDEST",
source: 0,
},
{
begin: 3565,
end: 4588,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 3565,
end: 4588,
name: "PUSH [tag]",
source: 0,
value: "99",
},
{
begin: 3565,
end: 4588,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 3565,
end: 4588,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 3565,
end: 4588,
name: "PUSH [tag]",
source: 0,
value: "54",
},
{
begin: 3565,
end: 4588,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 3565,
end: 4588,
name: "tag",
source: 0,
value: "99",
},
{
begin: 3565,
end: 4588,
name: "JUMPDEST",
source: 0,
},
{
begin: 3565,
end: 4588,
name: "PUSH [tag]",
source: 0,
value: "100",
},
{
begin: 3565,
end: 4588,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 7540,
end: 8036,
name: "tag",
source: 0,
value: "19",
},
{
begin: 7540,
end: 8036,
name: "JUMPDEST",
source: 0,
},
{
begin: 7540,
end: 8036,
name: "PUSH [tag]",
source: 0,
value: "83",
},
{
begin: 7540,
end: 8036,
name: "PUSH [tag]",
source: 0,
value: "103",
},
{
begin: 7540,
end: 8036,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 7540,
end: 8036,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 7540,
end: 8036,
name: "PUSH [tag]",
source: 0,
value: "104",
},
{
begin: 7540,
end: 8036,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 7540,
end: 8036,
name: "tag",
source: 0,
value: "103",
},
{
begin: 7540,
end: 8036,
name: "JUMPDEST",
source: 0,
},
{
begin: 7540,
end: 8036,
name: "PUSH [tag]",
source: 0,
value: "105",
},
{
begin: 7540,
end: 8036,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 10769,
end: 11673,
name: "tag",
source: 0,
value: "20",
},
{
begin: 10769,
end: 11673,
name: "JUMPDEST",
source: 0,
},
{
begin: 10769,
end: 11673,
name: "PUSH [tag]",
source: 0,
value: "83",
},
{
begin: 10769,
end: 11673,
name: "PUSH [tag]",
source: 0,
value: "107",
},
{
begin: 10769,
end: 11673,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 10769,
end: 11673,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 10769,
end: 11673,
name: "PUSH [tag]",
source: 0,
value: "45",
},
{
begin: 10769,
end: 11673,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 10769,
end: 11673,
name: "tag",
source: 0,
value: "107",
},
{
begin: 10769,
end: 11673,
name: "JUMPDEST",
source: 0,
},
{
begin: 10769,
end: 11673,
name: "PUSH [tag]",
source: 0,
value: "108",
},
{
begin: 10769,
end: 11673,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 990,
end: 1034,
name: "tag",
source: 0,
value: "21",
},
{
begin: 990,
end: 1034,
name: "JUMPDEST",
source: 0,
},
{
begin: 990,
end: 1034,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 990,
end: 1034,
name: "PUSH [tag]",
source: 0,
value: "110",
},
{
begin: 990,
end: 1034,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 990,
end: 1034,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 990,
end: 1034,
name: "PUSH [tag]",
source: 0,
value: "60",
},
{
begin: 990,
end: 1034,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 990,
end: 1034,
name: "tag",
source: 0,
value: "110",
},
{
begin: 990,
end: 1034,
name: "JUMPDEST",
source: 0,
},
{
begin: 990,
end: 1034,
name: "PUSH",
source: 0,
value: "3",
},
{
begin: 990,
end: 1034,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 990,
end: 1034,
name: "MSTORE",
source: 0,
},
{
begin: 990,
end: 1034,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 990,
end: 1034,
name: "SWAP1",
source: 0,
},
{
begin: 990,
end: 1034,
name: "DUP2",
source: 0,
},
{
begin: 990,
end: 1034,
name: "MSTORE",
source: 0,
},
{
begin: 990,
end: 1034,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 990,
end: 1034,
name: "SWAP1",
source: 0,
},
{
begin: 990,
end: 1034,
name: "KECCAK256",
source: 0,
},
{
begin: 990,
end: 1034,
name: "SLOAD",
source: 0,
},
{
begin: 990,
end: 1034,
name: "DUP2",
source: 0,
},
{
begin: 990,
end: 1034,
name: "JUMP",
source: 0,
},
{
begin: 6607,
end: 6703,
name: "tag",
source: 0,
value: "22",
},
{
begin: 6607,
end: 6703,
name: "JUMPDEST",
source: 0,
},
{
begin: 6682,
end: 6689,
name: "PUSH",
source: 0,
value: "5",
},
{
begin: 6682,
end: 6696,
name: "SLOAD",
source: 0,
},
{
begin: 6607,
end: 6703,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 6607,
end: 6703,
name: "JUMP",
source: 0,
},
{
begin: 1874,
end: 1906,
name: "tag",
source: 0,
value: "23",
},
{
begin: 1874,
end: 1906,
name: "JUMPDEST",
source: 0,
},
{
begin: 1874,
end: 1906,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 1874,
end: 1906,
name: "PUSH",
source: 0,
value: "A",
},
{
begin: 1874,
end: 1906,
name: "SLOAD",
source: 0,
},
{
begin: 1874,
end: 1906,
name: "DUP2",
source: 0,
},
{
begin: 1874,
end: 1906,
name: "JUMP",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "tag",
source: 0,
value: "24",
},
{
begin: 1040,
end: 1097,
name: "JUMPDEST",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "PUSH [tag]",
source: 0,
value: "34",
},
{
begin: 1040,
end: 1097,
name: "PUSH [tag]",
source: 0,
value: "120",
},
{
begin: 1040,
end: 1097,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 1040,
end: 1097,
name: "PUSH [tag]",
source: 0,
value: "45",
},
{
begin: 1040,
end: 1097,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 1040,
end: 1097,
name: "tag",
source: 0,
value: "120",
},
{
begin: 1040,
end: 1097,
name: "JUMPDEST",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 1040,
end: 1097,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 1040,
end: 1097,
name: "SWAP1",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "DUP2",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "MSTORE",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 1040,
end: 1097,
name: "SWAP3",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "DUP4",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "MSTORE",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 1040,
end: 1097,
name: "DUP1",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "DUP5",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "KECCAK256",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "SWAP1",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "SWAP2",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "MSTORE",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "SWAP1",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "DUP3",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "MSTORE",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "SWAP1",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "KECCAK256",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "SLOAD",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "DUP2",
source: 0,
},
{
begin: 1040,
end: 1097,
name: "JUMP",
source: 0,
},
{
begin: 1104,
end: 1128,
name: "tag",
source: 0,
value: "25",
},
{
begin: 1104,
end: 1128,
name: "JUMPDEST",
source: 0,
},
{
begin: 1104,
end: 1128,
name: "PUSH [tag]",
source: 0,
value: "48",
},
{
begin: 1104,
end: 1128,
name: "PUSH [tag]",
source: 0,
value: "124",
},
{
begin: 1104,
end: 1128,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 1104,
end: 1128,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 1104,
end: 1128,
name: "PUSH [tag]",
source: 0,
value: "36",
},
{
begin: 1104,
end: 1128,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 1104,
end: 1128,
name: "tag",
source: 0,
value: "124",
},
{
begin: 1104,
end: 1128,
name: "JUMPDEST",
source: 0,
},
{
begin: 1104,
end: 1128,
name: "PUSH [tag]",
source: 0,
value: "125",
},
{
begin: 1104,
end: 1128,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 9940,
end: 10251,
name: "tag",
source: 0,
value: "26",
},
{
begin: 9940,
end: 10251,
name: "JUMPDEST",
source: 0,
},
{
begin: 9940,
end: 10251,
name: "PUSH [tag]",
source: 0,
value: "83",
},
{
begin: 9940,
end: 10251,
name: "PUSH [tag]",
source: 0,
value: "128",
},
{
begin: 9940,
end: 10251,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 9940,
end: 10251,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 9940,
end: 10251,
name: "PUSH [tag]",
source: 0,
value: "54",
},
{
begin: 9940,
end: 10251,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 9940,
end: 10251,
name: "tag",
source: 0,
value: "128",
},
{
begin: 9940,
end: 10251,
name: "JUMPDEST",
source: 0,
},
{
begin: 9940,
end: 10251,
name: "PUSH [tag]",
source: 0,
value: "129",
},
{
begin: 9940,
end: 10251,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 7010,
end: 7482,
name: "tag",
source: 0,
value: "27",
},
{
begin: 7010,
end: 7482,
name: "JUMPDEST",
source: 0,
},
{
begin: 7010,
end: 7482,
name: "PUSH [tag]",
source: 0,
value: "83",
},
{
begin: 7010,
end: 7482,
name: "PUSH [tag]",
source: 0,
value: "131",
},
{
begin: 7010,
end: 7482,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 7010,
end: 7482,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 7010,
end: 7482,
name: "PUSH [tag]",
source: 0,
value: "104",
},
{
begin: 7010,
end: 7482,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 7010,
end: 7482,
name: "tag",
source: 0,
value: "131",
},
{
begin: 7010,
end: 7482,
name: "JUMPDEST",
source: 0,
},
{
begin: 7010,
end: 7482,
name: "PUSH [tag]",
source: 0,
value: "132",
},
{
begin: 7010,
end: 7482,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 1767,
end: 1826,
name: "tag",
source: 0,
value: "28",
},
{
begin: 1767,
end: 1826,
name: "JUMPDEST",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "PUSH [tag]",
source: 0,
value: "52",
},
{
begin: 1767,
end: 1826,
name: "PUSH [tag]",
source: 0,
value: "134",
},
{
begin: 1767,
end: 1826,
name: "CALLDATASIZE",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "PUSH",
source: 0,
value: "4",
},
{
begin: 1767,
end: 1826,
name: "PUSH [tag]",
source: 0,
value: "36",
},
{
begin: 1767,
end: 1826,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 1767,
end: 1826,
name: "tag",
source: 0,
value: "134",
},
{
begin: 1767,
end: 1826,
name: "JUMPDEST",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "PUSH",
source: 0,
value: "9",
},
{
begin: 1767,
end: 1826,
name: "PUSH",
source: 0,
value: "20",
},
{
begin: 1767,
end: 1826,
name: "MSTORE",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 1767,
end: 1826,
name: "SWAP1",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "DUP2",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "MSTORE",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "PUSH",
source: 0,
value: "40",
},
{
begin: 1767,
end: 1826,
name: "SWAP1",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "KECCAK256",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "DUP1",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "SLOAD",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "PUSH",
source: 0,
value: "1",
},
{
begin: 1767,
end: 1826,
name: "SWAP1",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "SWAP2",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "ADD",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "SLOAD",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "DUP3",
source: 0,
},
{
begin: 1767,
end: 1826,
name: "JUMP",
source: 0,
},
{
begin: 2939,
end: 3181,
name: "tag",
source: 0,
value: "37",
},
{
begin: 2939,
end: 3181,
name: "JUMPDEST",
source: 0,
},
{
begin: 2999,
end: 3003,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 3015,
end: 3030,
name: "DUP1",
source: 0,
},
{
begin: 3033,
end: 3055,
name: "PUSH [tag]",
source: 0,
value: "138",
},
{
begin: 3045,
end: 3054,
name: "DUP4",
source: 0,
},
{
begin: 3033,
end: 3044,
name: "PUSH [tag]",
source: 0,
value: "139",
},
{
begin: 3033,
end: 3055,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 3033,
end: 3055,
name: "tag",
source: 0,
value: "138",
},
{
begin: 3033,
end: 3055,
name: "JUMPDEST",
source: 0,
},
{
begin: 3015,
end: 3055,
name: "SWAP1",
source: 0,
},
{
begin: -1,
end: -1,
name: "POP",
source: -1,
},
{
begin: 3065,
end: 3078,
name: "PUSH",
source: 0,
value: "0",
},
{
begin: 3081,
end: 3102,
name: "PUSH [tag]",
source: 0,
value: "140",
},
{
begin: 681,
end: 687,
name: "PUSH",
source: 0,
value: "93A80",
},
{
begin: 3015,
end: 3055,
name: "DUP4",
source: 0,
},
{
begin: 3081,
end: 3102,
name: "PUSH [tag]",
source: 0,
value: "141",
},
{
begin: 3081,
end: 3102,
name: "JUMP",
source: 0,
value: "[in]",
},
{
begin: 3081,
end: 3102,
name: "tag",
source: 0,
value: "140",
},
{
begin: 3081,
end: 3102,
name: "JUMPDEST",
source: 0,
},
{
begin: 3065,
end: 3102,
name: "SWAP1",
source: 0,
},
{
begin: 3065,
end: 3102,
name: "POP",
source: 0,
},
{
begin: 3131,
end: 3139,
name: "DUP1",
source: 0,
},
{
begin: 3119,
end: 3128,
name: "DUP5",
source: 0,
},
{
begin: 3119,
end: 3139,
name: "LT",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment