{
	"schemaVersion": "2.0.0",
	"contractName": "AbiGenDummy",
	"compilerOutput": {
		"abi": [
			{
				"constant": true,
				"inputs": [],
				"name": "simpleRequire",
				"outputs": [],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [
					{
						"name": "a",
						"type": "bytes[]"
					}
				],
				"name": "acceptsAnArrayOfBytes",
				"outputs": [],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [
					{
						"name": "hash",
						"type": "bytes32"
					},
					{
						"name": "v",
						"type": "uint8"
					},
					{
						"name": "r",
						"type": "bytes32"
					},
					{
						"name": "s",
						"type": "bytes32"
					}
				],
				"name": "ecrecoverFn",
				"outputs": [
					{
						"name": "signerAddress",
						"type": "address"
					}
				],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [
					{
						"name": "a",
						"type": "bytes"
					}
				],
				"name": "acceptsBytes",
				"outputs": [],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "revertWithConstant",
				"outputs": [],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "simpleRevert",
				"outputs": [],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "nestedStructOutput",
				"outputs": [
					{
						"components": [
							{
								"components": [
									{
										"name": "someBytes",
										"type": "bytes"
									},
									{
										"name": "anInteger",
										"type": "uint32"
									},
									{
										"name": "aDynamicArrayOfBytes",
										"type": "bytes[]"
									},
									{
										"name": "aString",
										"type": "string"
									}
								],
								"name": "innerStruct",
								"type": "tuple"
							},
							{
								"name": "description",
								"type": "string"
							}
						],
						"name": "",
						"type": "tuple"
					}
				],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "requireWithConstant",
				"outputs": [],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [
					{
						"name": "x",
						"type": "address"
					},
					{
						"name": "a",
						"type": "uint256"
					},
					{
						"name": "b",
						"type": "uint256"
					},
					{
						"name": "y",
						"type": "address"
					},
					{
						"name": "c",
						"type": "uint256"
					}
				],
				"name": "withAddressInput",
				"outputs": [
					{
						"name": "z",
						"type": "address"
					}
				],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [
					{
						"components": [
							{
								"name": "someBytes",
								"type": "bytes"
							},
							{
								"name": "anInteger",
								"type": "uint32"
							},
							{
								"name": "aDynamicArrayOfBytes",
								"type": "bytes[]"
							},
							{
								"name": "aString",
								"type": "string"
							}
						],
						"name": "s",
						"type": "tuple"
					}
				],
				"name": "structInput",
				"outputs": [],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": false,
				"inputs": [],
				"name": "nonPureMethod",
				"outputs": [
					{
						"name": "",
						"type": "uint256"
					}
				],
				"payable": false,
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [
					{
						"name": "x",
						"type": "uint256"
					}
				],
				"name": "simplePureFunctionWithInput",
				"outputs": [
					{
						"name": "sum",
						"type": "uint256"
					}
				],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": false,
				"inputs": [],
				"name": "nonPureMethodThatReturnsNothing",
				"outputs": [],
				"payable": false,
				"stateMutability": "nonpayable",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "simplePureFunction",
				"outputs": [
					{
						"name": "result",
						"type": "uint256"
					}
				],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [
					{
						"components": [
							{
								"components": [
									{
										"name": "someBytes",
										"type": "bytes"
									},
									{
										"name": "anInteger",
										"type": "uint32"
									},
									{
										"name": "aDynamicArrayOfBytes",
										"type": "bytes[]"
									},
									{
										"name": "aString",
										"type": "string"
									}
								],
								"name": "innerStruct",
								"type": "tuple"
							},
							{
								"name": "description",
								"type": "string"
							}
						],
						"name": "n",
						"type": "tuple"
					}
				],
				"name": "nestedStructInput",
				"outputs": [],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "structOutput",
				"outputs": [
					{
						"components": [
							{
								"name": "someBytes",
								"type": "bytes"
							},
							{
								"name": "anInteger",
								"type": "uint32"
							},
							{
								"name": "aDynamicArrayOfBytes",
								"type": "bytes[]"
							},
							{
								"name": "aString",
								"type": "string"
							}
						],
						"name": "s",
						"type": "tuple"
					}
				],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "pureFunctionWithConstant",
				"outputs": [
					{
						"name": "someConstant",
						"type": "uint256"
					}
				],
				"payable": false,
				"stateMutability": "pure",
				"type": "function"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": false,
						"name": "param",
						"type": "uint8"
					}
				],
				"name": "AnEvent",
				"type": "event"
			}
		],
		"devdoc": {
			"methods": {
				"acceptsAnArrayOfBytes(bytes[])": {
					"details": "a method that accepts an array of bytes",
					"params": {
						"a": "the array of bytes being accepted"
					}
				},
				"structOutput()": {
					"details": "a method that returns a struct",
					"return": "a Struct struct"
				}
			}
		},
		"evm": {
			"bytecode": {
				"linkReferences": {},
				"object": "[encoded data, 6002 characters]",
				"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB98 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY 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 0x11A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x63D69C88 GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x9A3B6185 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xAE2DAE17 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAE2DAE17 EQ PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xD6D7618C EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xD88BE12F EQ PUSH2 0x21C JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x9A3B6185 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0xA3C2F6B6 EQ PUSH2 0x1F1 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x63D69C88 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x647341EB EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x76F15D5B EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x8EE52B4E EQ PUSH2 0x1D6 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x4582EAB2 GT PUSH2 0xEE JUMPI DUP1 PUSH4 0x4582EAB2 EQ PUSH2 0x173 JUMPI DUP1 PUSH4 0x45FDBDB7 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x59C28ADD EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x5BA3C7C0 EQ PUSH2 0x198 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH3 0x9E437 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x527C28F EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0x36B32396 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x3E9EF66A EQ PUSH2 0x165 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x127 PUSH2 0x224 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x6D7 JUMP JUMPDEST PUSH2 0x25F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x714 JUMP JUMPDEST PUSH2 0x262 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x999 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x757 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x344 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x3A9 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x3DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xA60 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x3E6 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1AE CALLDATASIZE PUSH1 0x4 PUSH2 0x685 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x81C JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x454 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xAD3 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x851 JUMP JUMPDEST PUSH2 0x462 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x468 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x473 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x78C JUMP JUMPDEST PUSH2 0x20F PUSH2 0x478 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xAC0 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x480 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x256 SWAP1 PUSH2 0xA29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1C DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP2 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2B3 SWAP3 SWAP2 SWAP1 PUSH2 0x977 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 DUP2 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x2EE SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x310 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 ADD MLOAD SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH32 0x5245564552545F574954485F434F4E5354414E54000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x256 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x256 SWAP1 PUSH2 0x9F2 JUMP JUMPDEST PUSH2 0x3E3 PUSH2 0x486 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH32 0x524551554952455F574954485F434F4E5354414E540000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x256 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x9D8 JUMP JUMPDEST POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 DUP2 SWAP1 SSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x3E3 PUSH2 0x4A6 JUMP JUMPDEST PUSH2 0x4D2 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x499 PUSH2 0x4A6 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4E4 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FA JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 PUSH2 0x509 DUP2 DUP3 DUP5 MUL ADD PUSH2 0xADC JUMP JUMPDEST DUP3 DUP2 MSTORE SWAP3 POP DUP1 DUP4 ADD DUP5 DUP3 ADD PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x540 JUMPI PUSH2 0x52E DUP9 DUP6 DUP5 CALLDATALOAD DUP11 ADD ADD PUSH2 0x54B JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x517 JUMP JUMPDEST POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x55B JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x571 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x5A2 PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD PUSH2 0xADC JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x5B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP5 ADD CALLDATACOPY PUSH1 0x0 SWAP1 DUP3 ADD PUSH1 0x20 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E3 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5ED PUSH1 0x80 PUSH2 0xADC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x608 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x614 DUP7 DUP4 DUP8 ADD PUSH2 0x54B JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH4 0xFFFFFFFF DUP3 AND DUP3 EQ PUSH2 0x62E JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x647 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x653 DUP7 DUP4 DUP8 ADD PUSH2 0x4D4 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x66B JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x678 DUP6 DUP3 DUP7 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x69D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x6A8 DUP2 PUSH2 0xB33 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x6C6 DUP2 PUSH2 0xB33 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x700 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x4D4 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x72A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x742 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x769 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x780 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x79D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x7B4 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD PUSH1 0x40 DUP2 DUP8 SUB SLT ISZERO PUSH2 0x7C6 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x7D0 PUSH1 0x40 PUSH2 0xADC JUMP JUMPDEST SWAP3 POP DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x7E0 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x7EC DUP8 DUP3 DUP5 ADD PUSH2 0x5D2 JUMP JUMPDEST DUP5 MSTORE POP PUSH1 0x20 DUP2 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x800 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x80C DUP8 DUP3 DUP5 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MSTORE POP SWAP2 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x82E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x845 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x863 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x882 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xB03 JUMP JUMPDEST PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0x80 DUP5 MSTORE PUSH2 0x8C9 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x86A JUMP JUMPDEST PUSH1 0x20 SWAP2 POP PUSH4 0xFFFFFFFF DUP3 DUP6 ADD MLOAD AND DUP3 DUP7 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD DUP6 DUP3 SUB PUSH1 0x40 DUP8 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE DUP5 DUP5 ADD SWAP2 POP DUP5 DUP6 DUP3 MUL DUP6 ADD ADD DUP6 DUP5 ADD PUSH1 0x0 SWAP5 POP JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x950 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP7 DUP4 SUB ADD DUP5 MSTORE PUSH2 0x93C DUP3 DUP3 MLOAD PUSH2 0x86A JUMP JUMPDEST PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP8 ADD SWAP4 SWAP2 POP DUP7 ADD PUSH2 0x902 JUMP JUMPDEST POP PUSH1 0x60 DUP9 ADD MLOAD SWAP6 POP DUP9 DUP2 SUB PUSH1 0x60 DUP11 ADD MSTORE PUSH2 0x96A DUP2 DUP8 PUSH2 0x86A JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x989 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xB03 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x20 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x9EB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x86A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455645525400000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xE SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455155495245000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE DUP3 MLOAD PUSH1 0x40 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xA7C PUSH1 0x60 DUP5 ADD DUP3 PUSH2 0x8B4 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP5 DUP3 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xAB7 DUP2 DUP4 PUSH2 0x86A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x9EB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8B4 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xAFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB1E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB06 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xB2D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x25F JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG3 PUSH6 0x627A7A723058 KECCAK256 DUP9 DUP16 MLOAD 0xdb DUP12 0xe2 0xb6 0x5e 0xeb LOG0 PUSH28 0x18B43CDC6DAD5D8E6807EB4AA7F11E06F111742AEF6C657870657269 PUSH14 0x656E74616CF564736F6C63430005 EXP STOP BLOCKHASH ",
				"sourceMap": "641:2757:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;641:2757:0;;;;;;;"
			},
			"deployedBytecode": {
				"linkReferences": {},
				"object": "[encoded data, 5938 characters]",
				"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x11A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x63D69C88 GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x9A3B6185 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xAE2DAE17 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xAE2DAE17 EQ PUSH2 0x1F9 JUMPI DUP1 PUSH4 0xD6D7618C EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xD88BE12F EQ PUSH2 0x21C JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x9A3B6185 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0xA3C2F6B6 EQ PUSH2 0x1F1 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x63D69C88 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x647341EB EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x76F15D5B EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x8EE52B4E EQ PUSH2 0x1D6 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH4 0x4582EAB2 GT PUSH2 0xEE JUMPI DUP1 PUSH4 0x4582EAB2 EQ PUSH2 0x173 JUMPI DUP1 PUSH4 0x45FDBDB7 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x59C28ADD EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x5BA3C7C0 EQ PUSH2 0x198 JUMPI PUSH2 0x11A JUMP JUMPDEST DUP1 PUSH3 0x9E437 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x527C28F EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0x36B32396 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x3E9EF66A EQ PUSH2 0x165 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x127 PUSH2 0x224 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x6D7 JUMP JUMPDEST PUSH2 0x25F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x714 JUMP JUMPDEST PUSH2 0x262 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x999 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x757 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x344 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x3A9 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x3DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xA60 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x3E6 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1AE CALLDATASIZE PUSH1 0x4 PUSH2 0x685 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x81C JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x454 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xAD3 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x851 JUMP JUMPDEST PUSH2 0x462 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x468 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x473 JUMP JUMPDEST PUSH2 0x127 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x78C JUMP JUMPDEST PUSH2 0x20F PUSH2 0x478 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15C SWAP2 SWAP1 PUSH2 0xAC0 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x480 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x256 SWAP1 PUSH2 0xA29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1C DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP2 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2B3 SWAP3 SWAP2 SWAP1 PUSH2 0x977 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x1 DUP2 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x2EE SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x310 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 ADD MLOAD SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH32 0x5245564552545F574954485F434F4E5354414E54000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x256 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x256 SWAP1 PUSH2 0x9F2 JUMP JUMPDEST PUSH2 0x3E3 PUSH2 0x486 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH32 0x524551554952455F574954485F434F4E5354414E540000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH2 0x256 SWAP2 SWAP1 PUSH1 0x4 ADD PUSH2 0x9D8 JUMP JUMPDEST POP SWAP3 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 DUP2 SWAP1 SSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x3E3 PUSH2 0x4A6 JUMP JUMPDEST PUSH2 0x4D2 SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0x499 PUSH2 0x4A6 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4E4 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4FA JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x20 PUSH2 0x509 DUP2 DUP3 DUP5 MUL ADD PUSH2 0xADC JUMP JUMPDEST DUP3 DUP2 MSTORE SWAP3 POP DUP1 DUP4 ADD DUP5 DUP3 ADD PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x540 JUMPI PUSH2 0x52E DUP9 DUP6 DUP5 CALLDATALOAD DUP11 ADD ADD PUSH2 0x54B JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x517 JUMP JUMPDEST POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x55B JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x571 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x5A2 PUSH1 0x20 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 PUSH1 0x1F DUP5 ADD AND ADD PUSH2 0xADC JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x5B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP5 ADD CALLDATACOPY PUSH1 0x0 SWAP1 DUP3 ADD PUSH1 0x20 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E3 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5ED PUSH1 0x80 PUSH2 0xADC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x608 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x614 DUP7 DUP4 DUP8 ADD PUSH2 0x54B JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH4 0xFFFFFFFF DUP3 AND DUP3 EQ PUSH2 0x62E JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x647 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x653 DUP7 DUP4 DUP8 ADD PUSH2 0x4D4 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x66B JUMPI DUP3 DUP4 REVERT JUMPDEST POP PUSH2 0x678 DUP6 DUP3 DUP7 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x69D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH2 0x6A8 DUP2 PUSH2 0xB33 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD PUSH2 0x6C6 DUP2 PUSH2 0xB33 JUMP JUMPDEST SWAP5 SWAP8 SWAP4 SWAP7 POP SWAP2 SWAP5 PUSH1 0x80 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x700 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x4D4 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x72A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x742 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x769 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x780 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x79D JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x7B4 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP5 ADD PUSH1 0x40 DUP2 DUP8 SUB SLT ISZERO PUSH2 0x7C6 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x7D0 PUSH1 0x40 PUSH2 0xADC JUMP JUMPDEST SWAP3 POP DUP1 CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x7E0 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x7EC DUP8 DUP3 DUP5 ADD PUSH2 0x5D2 JUMP JUMPDEST DUP5 MSTORE POP PUSH1 0x20 DUP2 ADD CALLDATALOAD DUP3 DUP2 GT ISZERO PUSH2 0x800 JUMPI DUP5 DUP6 REVERT JUMPDEST PUSH2 0x80C DUP8 DUP3 DUP5 ADD PUSH2 0x54B JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MSTORE POP SWAP2 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x82E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x845 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x70C DUP5 DUP3 DUP6 ADD PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x863 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x882 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xB03 JUMP JUMPDEST PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0x80 DUP5 MSTORE PUSH2 0x8C9 PUSH1 0x80 DUP6 ADD DUP3 PUSH2 0x86A JUMP JUMPDEST PUSH1 0x20 SWAP2 POP PUSH4 0xFFFFFFFF DUP3 DUP6 ADD MLOAD AND DUP3 DUP7 ADD MSTORE PUSH1 0x40 DUP5 ADD MLOAD DUP6 DUP3 SUB PUSH1 0x40 DUP8 ADD MSTORE DUP2 DUP2 MLOAD DUP1 DUP5 MSTORE DUP5 DUP5 ADD SWAP2 POP DUP5 DUP6 DUP3 MUL DUP6 ADD ADD DUP6 DUP5 ADD PUSH1 0x0 SWAP5 POP JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x950 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP7 DUP4 SUB ADD DUP5 MSTORE PUSH2 0x93C DUP3 DUP3 MLOAD PUSH2 0x86A JUMP JUMPDEST PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP4 DUP8 ADD SWAP4 SWAP2 POP DUP7 ADD PUSH2 0x902 JUMP JUMPDEST POP PUSH1 0x60 DUP9 ADD MLOAD SWAP6 POP DUP9 DUP2 SUB PUSH1 0x60 DUP11 ADD MSTORE PUSH2 0x96A DUP2 DUP8 PUSH2 0x86A JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x989 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xB03 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x20 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP4 DUP5 MSTORE PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x9EB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x86A JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xD SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455645525400000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xE SWAP1 DUP3 ADD MSTORE PUSH32 0x53494D504C455F52455155495245000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE DUP3 MLOAD PUSH1 0x40 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xA7C PUSH1 0x60 DUP5 ADD DUP3 PUSH2 0x8B4 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP5 DUP3 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xAB7 DUP2 DUP4 PUSH2 0x86A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x9EB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8B4 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0xAFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB1E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB06 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xB2D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x25F JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG3 PUSH6 0x627A7A723058 KECCAK256 DUP9 DUP16 MLOAD 0xdb DUP12 0xe2 0xb6 0x5e 0xeb LOG0 PUSH28 0x18B43CDC6DAD5D8E6807EB4AA7F11E06F111742AEF6C657870657269 PUSH14 0x656E74616CF564736F6C63430005 EXP STOP BLOCKHASH ",
				"sourceMap": "641:2757:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;641:2757:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:107;;;:::i;:::-;;2581:63;;;;;;;;;:::i;1726:334::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2419:52;;;;;;;1389:101;;;:::i;1286:97::-;;;:::i;3151:73::-;;;:::i;:::-;;;;;;;;1609:111;;;:::i;2214:166::-;;;;;;;;;:::i;2790:52::-;;;;;;;3250:72;;;:::i;:::-;;;;;;;;989:140;;;;;;;;;:::i;3327:69::-;;;:::i;862:121::-;;;:::i;3082:64::-;;;;;;;2924:63;;;:::i;:::-;;;;;;;;1135:145;;;:::i;1496:107::-;1564:32;;;;;;;;;;;;;;;;;;;2581:63;;:::o;1726:334::-;1837:21;1874:19;:56;;;;;;;;;;;;;;;;;;;1940:20;1990:6;1998:4;1973:30;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1973:30:0;;;1963:41;;;;;;1940:64;;2021:32;2031:12;2045:1;2048;2051;2021:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2021:32:0;;;;;;1726:334;-1:-1:-1;;;;;;;;1726:334:0:o;1389:101::-;1469:13;;;;;;;;;;;;;;;;1462:21;;;;;;;1469:13;1462:21;;;;1286:97;1353:23;;;;;;;;;;;3151:73;3201:19;;:::i;:::-;3151:73;:::o;1609:111::-;1698:14;;;;;;;;;;;;;;;;1683:30;;;;;;;1698:14;1683:30;;;;2214:166;-1:-1:-1;2372:1:0;;2214:166;-1:-1:-1;;;2214:166:0:o;3250:72::-;3290:4;3305:14;;3318:1;3305:14;;;;;3250:72;:::o;989:140::-;1117:1;:5;;989:140::o;3327:69::-;3379:9;:14;;3392:1;3379:14;;;3327:69::o;862:121::-;975:1;862:121;:::o;2924:63::-;2968:15;;:::i;1135:145::-;711:4;1135:145;:::o;641:2757::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;158:685:-1:-;;276:3;269:4;261:6;257:17;253:27;243:2;;-1:-1;;284:12;243:2;331:6;318:20;20177:18;20169:6;20166:30;20163:2;;;-1:-1;;20199:12;20163:2;20244:4;353:81;20307:4;20244;20236:6;20232:17;20297:15;353:81;;;462:21;;;344:90;-1:-1;519:14;;;494:17;;;614:1;599:238;624:6;621:1;618:13;599:238;;;731:42;769:3;506:4;707:3;694:17;498:6;682:30;;731:42;;;719:55;;788:14;;;;816;;;;646:1;639:9;599:238;;;603:14;;;;;236:607;;;;;1706:432;;1803:3;1796:4;1788:6;1784:17;1780:27;1770:2;;-1:-1;;1811:12;1770:2;1858:6;1845:20;20784:18;20776:6;20773:30;20770:2;;;-1:-1;;20806:12;20770:2;1880:60;20947:4;20879:9;1796:4;20864:6;20860:17;20856:33;20937:15;1880:60;;;1871:69;;1960:6;1953:5;1946:21;2064:3;20947:4;2055:6;1988;2046:16;;2043:25;2040:2;;;2081:1;;2071:12;2040:2;23898:6;20947:4;1988:6;1984:17;20947:4;2022:5;2018:16;23875:30;23954:1;23936:16;;;20947:4;23936:16;23929:27;2022:5;1763:375;-1:-1;;1763:375;3796:1071;;3904:4;3892:9;3887:3;3883:19;3879:30;3876:2;;;-1:-1;;3912:12;3876:2;3940:20;3904:4;3940:20;;;3931:29;;4043:1;4028:17;4015:31;4066:18;;4058:6;4055:30;4052:2;;;4098:1;4095;4088:12;4052:2;4132:54;4182:3;4173:6;4162:9;4158:22;4132:54;;;4115:15;4108:79;4253:2;4310:9;4306:22;6191:20;6182:29;;23705:10;24890:5;23694:22;24866:5;24863:34;24853:2;;24911:1;24908;24901:12;24853:2;4286:48;4253:2;4272:5;4268:16;4261:74;4440:2;4429:9;4425:18;4412:32;4398:46;;4464:18;4456:6;4453:30;4450:2;;;4496:1;4493;4486:12;4450:2;4531:75;4602:3;4593:6;4582:9;4578:22;4531:75;;;4440:2;4517:5;4513:16;4506:101;4699:2;4688:9;4684:18;4671:32;4657:46;;4723:18;4715:6;4712:30;4709:2;;;4755:1;4752;4745:12;4709:2;;4790:55;4841:3;4832:6;4821:9;4817:22;4790:55;;;4699:2;4776:5;4772:16;4765:81;;;3870:997;;;;;6393:743;;;;;;6565:3;6553:9;6544:7;6540:23;6536:33;6533:2;;;-1:-1;;6572:12;6533:2;85:6;72:20;97:33;124:5;97:33;;;6624:63;-1:-1;6724:2;6763:22;;6055:20;;-1:-1;6832:2;6871:22;;6055:20;;-1:-1;6940:2;6979:22;;72:20;97:33;72:20;97:33;;;6527:609;;;;-1:-1;6527:609;;7048:3;7088:22;6055:20;;6527:609;-1:-1;;6527:609;7143:387;;7277:2;7265:9;7256:7;7252:23;7248:32;7245:2;;;-1:-1;;7283:12;7245:2;7341:17;7328:31;7379:18;7371:6;7368:30;7365:2;;;-1:-1;;7401:12;7365:2;7431:83;7506:7;7497:6;7486:9;7482:22;7431:83;;;7421:93;7239:291;-1:-1;;;;7239:291;7537:613;;;;;7690:3;7678:9;7669:7;7665:23;7661:33;7658:2;;;-1:-1;;7697:12;7658:2;1648:6;1635:20;7749:63;;7849:2;7890:9;7886:22;6325:20;23799:4;25010:5;23788:16;24987:5;24984:33;24974:2;;-1:-1;;25021:12;24974:2;7652:498;;7857:61;;-1:-1;;;;7955:2;7994:22;;1635:20;;8063:2;8102:22;1635:20;;7652:498;8157:345;;8270:2;8258:9;8249:7;8245:23;8241:32;8238:2;;;-1:-1;;8276:12;8238:2;8334:17;8321:31;8372:18;8364:6;8361:30;8358:2;;;-1:-1;;8394:12;8358:2;8424:62;8478:7;8469:6;8458:9;8454:22;8424:62;;8509:385;;8642:2;8630:9;8621:7;8617:23;8613:32;8610:2;;;8658:1;8655;8648:12;8610:2;8706:17;8693:31;8744:18;;8736:6;8733:30;8730:2;;;8776:1;8773;8766:12;8730:2;8861:6;8850:9;8846:22;3194:4;3182:9;3177:3;3173:19;3169:30;3166:2;;;3212:1;3209;3202:12;3166:2;3230:20;3194:4;3230:20;;;3221:29;;3320:17;3307:31;3358:18;3350:6;3347:30;3344:2;;;3390:1;3387;3380:12;3344:2;3424:68;3488:3;3479:6;3468:9;3464:22;3424:68;;;3407:15;3400:93;;8642:2;3578:9;3574:18;3561:32;3613:18;3605:6;3602:30;3599:2;;;3645:1;3642;3635:12;3599:2;3680:55;3731:3;3722:6;3711:9;3707:22;3680:55;;;8642:2;3662:16;;3655:81;-1:-1;3666:5;;8604:290;-1:-1;;;;;8604:290;8901:373;;9028:2;9016:9;9007:7;9003:23;8999:32;8996:2;;;-1:-1;;9034:12;8996:2;9092:17;9079:31;9130:18;9122:6;9119:30;9116:2;;;-1:-1;;9152:12;9116:2;9182:76;9250:7;9241:6;9230:9;9226:22;9182:76;;9281:241;;9385:2;9373:9;9364:7;9360:23;9356:32;9353:2;;;-1:-1;;9391:12;9353:2;-1:-1;6055:20;;9347:175;-1:-1;9347:175;11364:315;;11488:5;21885:12;22545:6;22540:3;22533:19;11571:52;11616:6;22582:4;22577:3;22573:14;22582:4;11597:5;11593:16;11571:52;;;24416:2;24396:14;24412:7;24392:28;11635:39;;;;22582:4;11635:39;;11440:239;-1:-1;;11440:239;13930:1078;;14154:15;14148:22;14077:4;14190:13;14183:37;14235:67;14077:4;14072:3;14068:14;14283:12;14235:67;;;14392:4;;;23705:10;14392:4;14385:5;14381:16;14375:23;23694:22;14459:4;14454:3;14450:14;16326:36;14560:4;14553:5;14549:16;14543:23;14612:3;14606:4;14602:14;14560:4;14590:3;14586:14;14579:38;14632:109;10052:5;21885:12;22545:6;22540:3;22533:19;22582:4;22577:3;22573:14;10064:88;;14392:4;10217;10209:6;10205:17;22577:3;10196:27;;21747:4;10295:5;21738:14;-1:-1;10340:10;;10334:341;10359:6;10356:1;10353:13;10334:341;;;10411:20;22577:3;10415:4;10411:20;;10406:3;10399:33;9641:60;9697:3;10466:6;10460:13;9641:60;;;10381:1;10374:9;;;;;10654:14;;;;10480:82;-1:-1;22393:14;;10334:341;;;10338:14;14829:4;14822:5;14818:16;14812:23;14792:43;;14881:3;14875:4;14871:14;14829:4;14859:3;14855:14;14848:38;14901:69;14965:4;14951:12;14901:69;;;14992:11;14050:958;-1:-1;;;;;;;;;14050:958;16488:401;;11161:5;21885:12;11272:52;11317:6;11312:3;11305:4;11298:5;11294:16;11272:52;;;11336:16;;;;10793:37;;;-1:-1;11305:4;16852:12;;16641:248;-1:-1;16641:248;16896:213;23499:42;23488:54;;;;9786:37;;17014:2;16999:18;;16985:124;17116:539;10793:37;;;23799:4;23788:16;;;;17475:2;17460:18;;16441:35;17558:2;17543:18;;10793:37;17641:2;17626:18;;10793:37;17314:3;17299:19;;17285:370;17662:293;;17796:2;17817:17;17810:47;17871:74;17796:2;17785:9;17781:18;17931:6;17871:74;;;17863:82;17767:188;-1:-1;;;17767:188;17962:407;18153:2;18167:47;;;12583:2;18138:18;;;22533:19;12619:66;22573:14;;;12599:87;12705:12;;;18124:245;18376:407;18567:2;18581:47;;;12956:2;18552:18;;;22533:19;12992:66;22573:14;;;12972:87;13078:12;;;18538:245;18790:377;;18966:2;18987:17;18980:47;13415:15;13409:22;13336:4;18966:2;18955:9;18951:18;13444:37;13496:95;13327:14;18955:9;13327:14;13572:12;13496:95;;;18966:2;13676:5;13672:16;13666:23;13646:43;;13725:14;18955:9;13729:4;13725:14;;13336:4;18955:9;13709:14;13702:38;13755:69;13819:4;13805:12;13755:69;;;19033:124;18937:230;-1:-1;;;;;18937:230;19174:353;;19338:2;19359:17;19352:47;19413:104;19338:2;19327:9;19323:18;19503:6;19413:104;;19534:213;10793:37;;;19652:2;19637:18;;19623:124;19754:256;19816:2;19810:9;19842:17;;;19917:18;19902:34;;19938:22;;;19899:62;19896:2;;;19974:1;;19964:12;19896:2;19816;19983:22;19794:216;;-1:-1;19794:216;23971:268;24036:1;24043:101;24057:6;24054:1;24051:13;24043:101;;;24124:11;;;24118:18;24105:11;;;24098:39;24079:2;24072:10;24043:101;;;24159:6;24156:1;24153:13;24150:2;;;24036:1;24215:6;24210:3;24206:16;24199:27;24150:2;;24020:219;;;;24433:117;23499:42;24520:5;23488:54;24495:5;24492:35;24482:2;;24541:1;;24531:12"
			}
		}
	},
	"sources": {
		"AbiGenDummy.sol": {
			"id": 0
		}
	},
	"sourceCodes": {
		"AbiGenDummy.sol": "/*\n\n  Copyright 2018 ZeroEx Intl.\n\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License.\n\n*/\n\npragma experimental ABIEncoderV2;\n\npragma solidity ^0.5.5;\n\n\ncontract AbiGenDummy\n{\n\n    uint256 constant internal SOME_CONSTANT = 1234;\n    string constant internal REVERT_REASON = \"REVERT_WITH_CONSTANT\";\n    string constant internal REQUIRE_REASON = \"REQUIRE_WITH_CONSTANT\";\n\n    function simplePureFunction ()\n        public\n        pure\n        returns (uint256 result)\n    {\n        return 1;\n    }\n\n    function simplePureFunctionWithInput (uint256 x)\n        public\n        pure\n        returns (uint256 sum)\n    {\n        return 1 + x;\n    }\n\n    function pureFunctionWithConstant ()\n        public\n        pure\n        returns (uint256 someConstant)\n    {\n        return SOME_CONSTANT;\n    }\n\n    function simpleRevert ()\n        public\n        pure\n    {\n        revert(\"SIMPLE_REVERT\");\n    }\n\n    function revertWithConstant ()\n        public\n        pure\n    {\n        revert(REVERT_REASON);\n    }\n\n    function simpleRequire ()\n        public\n        pure\n    {\n        require(0 > 1, \"SIMPLE_REQUIRE\");\n    }\n\n    function requireWithConstant ()\n        public\n        pure\n    {\n        require(0 > 1, REQUIRE_REASON);\n    }\n\n    function ecrecoverFn(bytes32 hash, uint8 v, bytes32 r, bytes32 s)\n        public\n        pure\n        returns (address signerAddress)\n    {\n        bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n        bytes32 prefixedHash = keccak256(abi.encodePacked(prefix, hash));\n        return ecrecover(prefixedHash, v, r, s);\n    }\n\n    // test: generated code should normalize address inputs to lowercase\n    // add extra inputs to make sure it works with address in any position\n    function withAddressInput(address x, uint256 a, uint256 b, address y, uint256 c)\n        public\n        pure\n        returns (address z)\n    {\n        return x;\n    }\n\n    event AnEvent(uint8 param);\n\n    function acceptsBytes(bytes memory a) public pure {}\n\n    /// @dev a method that accepts an array of bytes\n    /// @param a the array of bytes being accepted\n    function acceptsAnArrayOfBytes(bytes[] memory a) public pure {}\n\n    struct Struct {\n        bytes someBytes;\n        uint32 anInteger;\n        bytes[] aDynamicArrayOfBytes;\n        string aString;\n    }\n\n    function structInput(Struct memory s) public pure {}\n\n    /// @dev a method that returns a struct\n    /// @return a Struct struct\n    function structOutput() public pure returns(Struct memory s) {}\n\n    struct NestedStruct {\n        Struct innerStruct;\n        string description;\n    }\n\n    function nestedStructInput(NestedStruct memory n) public pure {}\n    function nestedStructOutput() public pure returns(NestedStruct memory) {}\n\n    uint someState;\n    function nonPureMethod() public returns(uint) { return someState += 1; }\n    function nonPureMethodThatReturnsNothing() public { someState += 1; }\n}\n"
	},
	"sourceTreeHashHex": "0xafbcbb2a469a1062791f49abdf3076b97d06d1994fbaf9f07f46a4fe95e07880",
	"compiler": {
		"name": "solc",
		"version": "soljson-v0.5.10+commit.5a6ea5b1.js",
		"settings": {
			"optimizer": {
				"enabled": true,
				"runs": 1000000,
				"details": {
					"yul": true,
					"deduplicate": true,
					"cse": true,
					"constantOptimizer": true
				}
			},
			"outputSelection": {
				"*": {
					"*": [
						"abi",
						"evm.bytecode.object",
						"evm.bytecode.sourceMap",
						"evm.deployedBytecode.object",
						"evm.deployedBytecode.sourceMap",
						"devdoc"
					]
				}
			},
			"evmVersion": "constantinople",
			"remappings": []
		}
	},
	"networks": {}
}