diff --git a/.gitignore b/.gitignore index f0e124c..373b88e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,6 @@ docs/ # Dotenv file .env -.DS_Store \ No newline at end of file +.DS_Store + +anvil.log \ No newline at end of file diff --git a/broadcast/Droplet.s.sol/8453/run-1747418548.json b/broadcast/Droplet.s.sol/8453/run-1747418548.json new file mode 100644 index 0000000..fa2fb54 --- /dev/null +++ b/broadcast/Droplet.s.sol/8453/run-1747418548.json @@ -0,0 +1,128 @@ +{ + "transactions": [ + { + "hash": "0xc5ab0857c5f2e6ebcdbaa3fe5ad46095299d1d41b43e2c1d94963bce669b478c", + "transactionType": "CREATE", + "contractName": "Droplet", + "contractAddress": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "function": null, + "arguments": null, + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "gas": "0x1366d0", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506040518060400160405280600781526020017f44726f706c6574000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f44524f5000000000000000000000000000000000000000000000000000000000815250816003908161008b9190610598565b50806004908161009b9190610598565b5050506100b83369d3c21bcecceda10000006100bd60201b60201c565b61077c565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361012d575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161012491906106a6565b60405180910390fd5b61013e5f838361014260201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610192578060025f82825461018691906106ec565b92505081905550610260565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561021b578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016102129392919061072e565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036102a7578060025f82825403925050819055506102f1565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161034e9190610763565b60405180910390a3505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806103d657607f821691505b6020821081036103e9576103e8610392565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261044b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610410565b6104558683610410565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61049961049461048f8461046d565b610476565b61046d565b9050919050565b5f819050919050565b6104b28361047f565b6104c66104be826104a0565b84845461041c565b825550505050565b5f5f905090565b6104dd6104ce565b6104e88184846104a9565b505050565b5b8181101561050b576105005f826104d5565b6001810190506104ee565b5050565b601f82111561055057610521816103ef565b61052a84610401565b81016020851015610539578190505b61054d61054585610401565b8301826104ed565b50505b505050565b5f82821c905092915050565b5f6105705f1984600802610555565b1980831691505092915050565b5f6105888383610561565b9150826002028217905092915050565b6105a18261035b565b67ffffffffffffffff8111156105ba576105b9610365565b5b6105c482546103bf565b6105cf82828561050f565b5f60209050601f831160018114610600575f84156105ee578287015190505b6105f8858261057d565b86555061065f565b601f19841661060e866103ef565b5f5b8281101561063557848901518255600182019150602085019450602081019050610610565b86831015610652578489015161064e601f891682610561565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61069082610667565b9050919050565b6106a081610686565b82525050565b5f6020820190506106b95f830184610697565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6106f68261046d565b91506107018361046d565b9250828201905080821115610719576107186106bf565b5b92915050565b6107288161046d565b82525050565b5f6060820190506107415f830186610697565b61074e602083018561071f565b61075b604083018461071f565b949350505050565b5f6020820190506107765f83018461071f565b92915050565b610e96806107895f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c806340c10f191161006457806340c10f191461015a57806370a082311461017657806395d89b41146101a6578063a9059cbb146101c4578063dd62ed3e146101f45761009c565b806306fdde03146100a0578063095ea7b3146100be57806318160ddd146100ee57806323b872dd1461010c578063313ce5671461013c575b5f5ffd5b6100a8610224565b6040516100b59190610b0f565b60405180910390f35b6100d860048036038101906100d39190610bc0565b6102b4565b6040516100e59190610c18565b60405180910390f35b6100f66102d6565b6040516101039190610c40565b60405180910390f35b61012660048036038101906101219190610c59565b6102df565b6040516101339190610c18565b60405180910390f35b61014461030d565b6040516101519190610cc4565b60405180910390f35b610174600480360381019061016f9190610bc0565b610315565b005b610190600480360381019061018b9190610cdd565b610323565b60405161019d9190610c40565b60405180910390f35b6101ae610368565b6040516101bb9190610b0f565b60405180910390f35b6101de60048036038101906101d99190610bc0565b6103f8565b6040516101eb9190610c18565b60405180910390f35b61020e60048036038101906102099190610d08565b61041a565b60405161021b9190610c40565b60405180910390f35b60606003805461023390610d73565b80601f016020809104026020016040519081016040528092919081815260200182805461025f90610d73565b80156102aa5780601f10610281576101008083540402835291602001916102aa565b820191905f5260205f20905b81548152906001019060200180831161028d57829003601f168201915b5050505050905090565b5f5f6102be61049c565b90506102cb8185856104a3565b600191505092915050565b5f600254905090565b5f5f6102e961049c565b90506102f68582856104b5565b610301858585610548565b60019150509392505050565b5f6012905090565b61031f8282610638565b5050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461037790610d73565b80601f01602080910402602001604051908101604052809291908181526020018280546103a390610d73565b80156103ee5780601f106103c5576101008083540402835291602001916103ee565b820191905f5260205f20905b8154815290600101906020018083116103d157829003601f168201915b5050505050905090565b5f5f61040261049c565b905061040f818585610548565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b6104b083838360016106b7565b505050565b5f6104c0848461041a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105425781811015610533578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161052a93929190610db2565b60405180910390fd5b61054184848484035f6106b7565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105b8575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016105af9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610628575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161061f9190610de7565b60405180910390fd5b610633838383610886565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106a8575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161069f9190610de7565b60405180910390fd5b6106b35f8383610886565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610727575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161071e9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610797575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161078e9190610de7565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610880578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108779190610c40565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108d6578060025f8282546108ca9190610e2d565b925050819055506109a4565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561095f578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161095693929190610db2565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109eb578060025f8282540392505081905550610a35565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a929190610c40565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610ae182610a9f565b610aeb8185610aa9565b9350610afb818560208601610ab9565b610b0481610ac7565b840191505092915050565b5f6020820190508181035f830152610b278184610ad7565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b5c82610b33565b9050919050565b610b6c81610b52565b8114610b76575f5ffd5b50565b5f81359050610b8781610b63565b92915050565b5f819050919050565b610b9f81610b8d565b8114610ba9575f5ffd5b50565b5f81359050610bba81610b96565b92915050565b5f5f60408385031215610bd657610bd5610b2f565b5b5f610be385828601610b79565b9250506020610bf485828601610bac565b9150509250929050565b5f8115159050919050565b610c1281610bfe565b82525050565b5f602082019050610c2b5f830184610c09565b92915050565b610c3a81610b8d565b82525050565b5f602082019050610c535f830184610c31565b92915050565b5f5f5f60608486031215610c7057610c6f610b2f565b5b5f610c7d86828701610b79565b9350506020610c8e86828701610b79565b9250506040610c9f86828701610bac565b9150509250925092565b5f60ff82169050919050565b610cbe81610ca9565b82525050565b5f602082019050610cd75f830184610cb5565b92915050565b5f60208284031215610cf257610cf1610b2f565b5b5f610cff84828501610b79565b91505092915050565b5f5f60408385031215610d1e57610d1d610b2f565b5b5f610d2b85828601610b79565b9250506020610d3c85828601610b79565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610d8a57607f821691505b602082108103610d9d57610d9c610d46565b5b50919050565b610dac81610b52565b82525050565b5f606082019050610dc55f830186610da3565b610dd26020830185610c31565b610ddf6040830184610c31565b949350505050565b5f602082019050610dfa5f830184610da3565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610e3782610b8d565b9150610e4283610b8d565b9250828201905080821115610e5a57610e59610e00565b5b9291505056fea2646970667358221220d5863ff08848b1a47ced0ceea756c47ffdd0bfd0587d0adc92a905b4b04cb15d64736f6c634300081e0033", + "nonce": "0x94", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8558100af166b7375b6d905976d52f4b1b74ea0bf1e1e9f34625e91b06ed24bf", + "transactionType": "CALL", + "contractName": "Droplet", + "contractAddress": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "function": "mint(address,uint256)", + "arguments": [ + "0xB343880DC01517DcfCbb528864d567e3389753E1", + "1000000000000000000000000" + ], + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "gas": "0xbb68", + "value": "0x0", + "input": "0x40c10f19000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e100000000000000000000000000000000000000000000d3c21bcecceda1000000", + "nonce": "0x95", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x37cc1b9", + "logs": [ + { + "address": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000", + "blockHash": "0xc05acdd7c49293a924a5cade3de5dd3d60be3a05fe975632a861b565c5f469b8", + "blockNumber": "0x1ce905d", + "transactionHash": "0xc5ab0857c5f2e6ebcdbaa3fe5ad46095299d1d41b43e2c1d94963bce669b478c", + "transactionIndex": "0xbb", + "logIndex": "0x482", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000100000008000000000000100000000000000000000000000000000000020000020000000000000800000000000000000000080010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc5ab0857c5f2e6ebcdbaa3fe5ad46095299d1d41b43e2c1d94963bce669b478c", + "transactionIndex": "0xbb", + "blockHash": "0xc05acdd7c49293a924a5cade3de5dd3d60be3a05fe975632a861b565c5f469b8", + "blockNumber": "0x1ce905d", + "gasUsed": "0xeeca0", + "effectiveGasPrice": "0x1ec160", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": null, + "contractAddress": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x209c3abaae", + "l1GasPrice": "0x5e7f2836", + "l1GasUsed": "0x9817" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x37d4968", + "logs": [ + { + "address": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000", + "blockHash": "0xc05acdd7c49293a924a5cade3de5dd3d60be3a05fe975632a861b565c5f469b8", + "blockNumber": "0x1ce905d", + "transactionHash": "0x8558100af166b7375b6d905976d52f4b1b74ea0bf1e1e9f34625e91b06ed24bf", + "transactionIndex": "0xbc", + "logIndex": "0x483", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000100000008000000000000100000000000000000000000000000000000020000020000000000000800000000000000000000080010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8558100af166b7375b6d905976d52f4b1b74ea0bf1e1e9f34625e91b06ed24bf", + "transactionIndex": "0xbc", + "blockHash": "0xc05acdd7c49293a924a5cade3de5dd3d60be3a05fe975632a861b565c5f469b8", + "blockNumber": "0x1ce905d", + "gasUsed": "0x87af", + "effectiveGasPrice": "0x1ec160", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "contractAddress": null, + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x1570f9408", + "l1GasPrice": "0x5e7f2836", + "l1GasUsed": "0x640" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1747418548, + "chain": 8453, + "commit": "0d0018b" +} \ No newline at end of file diff --git a/broadcast/Droplet.s.sol/8453/run-latest.json b/broadcast/Droplet.s.sol/8453/run-latest.json new file mode 100644 index 0000000..fa2fb54 --- /dev/null +++ b/broadcast/Droplet.s.sol/8453/run-latest.json @@ -0,0 +1,128 @@ +{ + "transactions": [ + { + "hash": "0xc5ab0857c5f2e6ebcdbaa3fe5ad46095299d1d41b43e2c1d94963bce669b478c", + "transactionType": "CREATE", + "contractName": "Droplet", + "contractAddress": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "function": null, + "arguments": null, + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "gas": "0x1366d0", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506040518060400160405280600781526020017f44726f706c6574000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f44524f5000000000000000000000000000000000000000000000000000000000815250816003908161008b9190610598565b50806004908161009b9190610598565b5050506100b83369d3c21bcecceda10000006100bd60201b60201c565b61077c565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361012d575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161012491906106a6565b60405180910390fd5b61013e5f838361014260201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610192578060025f82825461018691906106ec565b92505081905550610260565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561021b578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016102129392919061072e565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036102a7578060025f82825403925050819055506102f1565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161034e9190610763565b60405180910390a3505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806103d657607f821691505b6020821081036103e9576103e8610392565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261044b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610410565b6104558683610410565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61049961049461048f8461046d565b610476565b61046d565b9050919050565b5f819050919050565b6104b28361047f565b6104c66104be826104a0565b84845461041c565b825550505050565b5f5f905090565b6104dd6104ce565b6104e88184846104a9565b505050565b5b8181101561050b576105005f826104d5565b6001810190506104ee565b5050565b601f82111561055057610521816103ef565b61052a84610401565b81016020851015610539578190505b61054d61054585610401565b8301826104ed565b50505b505050565b5f82821c905092915050565b5f6105705f1984600802610555565b1980831691505092915050565b5f6105888383610561565b9150826002028217905092915050565b6105a18261035b565b67ffffffffffffffff8111156105ba576105b9610365565b5b6105c482546103bf565b6105cf82828561050f565b5f60209050601f831160018114610600575f84156105ee578287015190505b6105f8858261057d565b86555061065f565b601f19841661060e866103ef565b5f5b8281101561063557848901518255600182019150602085019450602081019050610610565b86831015610652578489015161064e601f891682610561565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61069082610667565b9050919050565b6106a081610686565b82525050565b5f6020820190506106b95f830184610697565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6106f68261046d565b91506107018361046d565b9250828201905080821115610719576107186106bf565b5b92915050565b6107288161046d565b82525050565b5f6060820190506107415f830186610697565b61074e602083018561071f565b61075b604083018461071f565b949350505050565b5f6020820190506107765f83018461071f565b92915050565b610e96806107895f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c806340c10f191161006457806340c10f191461015a57806370a082311461017657806395d89b41146101a6578063a9059cbb146101c4578063dd62ed3e146101f45761009c565b806306fdde03146100a0578063095ea7b3146100be57806318160ddd146100ee57806323b872dd1461010c578063313ce5671461013c575b5f5ffd5b6100a8610224565b6040516100b59190610b0f565b60405180910390f35b6100d860048036038101906100d39190610bc0565b6102b4565b6040516100e59190610c18565b60405180910390f35b6100f66102d6565b6040516101039190610c40565b60405180910390f35b61012660048036038101906101219190610c59565b6102df565b6040516101339190610c18565b60405180910390f35b61014461030d565b6040516101519190610cc4565b60405180910390f35b610174600480360381019061016f9190610bc0565b610315565b005b610190600480360381019061018b9190610cdd565b610323565b60405161019d9190610c40565b60405180910390f35b6101ae610368565b6040516101bb9190610b0f565b60405180910390f35b6101de60048036038101906101d99190610bc0565b6103f8565b6040516101eb9190610c18565b60405180910390f35b61020e60048036038101906102099190610d08565b61041a565b60405161021b9190610c40565b60405180910390f35b60606003805461023390610d73565b80601f016020809104026020016040519081016040528092919081815260200182805461025f90610d73565b80156102aa5780601f10610281576101008083540402835291602001916102aa565b820191905f5260205f20905b81548152906001019060200180831161028d57829003601f168201915b5050505050905090565b5f5f6102be61049c565b90506102cb8185856104a3565b600191505092915050565b5f600254905090565b5f5f6102e961049c565b90506102f68582856104b5565b610301858585610548565b60019150509392505050565b5f6012905090565b61031f8282610638565b5050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461037790610d73565b80601f01602080910402602001604051908101604052809291908181526020018280546103a390610d73565b80156103ee5780601f106103c5576101008083540402835291602001916103ee565b820191905f5260205f20905b8154815290600101906020018083116103d157829003601f168201915b5050505050905090565b5f5f61040261049c565b905061040f818585610548565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b6104b083838360016106b7565b505050565b5f6104c0848461041a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105425781811015610533578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161052a93929190610db2565b60405180910390fd5b61054184848484035f6106b7565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105b8575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016105af9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610628575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161061f9190610de7565b60405180910390fd5b610633838383610886565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106a8575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161069f9190610de7565b60405180910390fd5b6106b35f8383610886565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610727575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161071e9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610797575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161078e9190610de7565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610880578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108779190610c40565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108d6578060025f8282546108ca9190610e2d565b925050819055506109a4565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561095f578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161095693929190610db2565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109eb578060025f8282540392505081905550610a35565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a929190610c40565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610ae182610a9f565b610aeb8185610aa9565b9350610afb818560208601610ab9565b610b0481610ac7565b840191505092915050565b5f6020820190508181035f830152610b278184610ad7565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b5c82610b33565b9050919050565b610b6c81610b52565b8114610b76575f5ffd5b50565b5f81359050610b8781610b63565b92915050565b5f819050919050565b610b9f81610b8d565b8114610ba9575f5ffd5b50565b5f81359050610bba81610b96565b92915050565b5f5f60408385031215610bd657610bd5610b2f565b5b5f610be385828601610b79565b9250506020610bf485828601610bac565b9150509250929050565b5f8115159050919050565b610c1281610bfe565b82525050565b5f602082019050610c2b5f830184610c09565b92915050565b610c3a81610b8d565b82525050565b5f602082019050610c535f830184610c31565b92915050565b5f5f5f60608486031215610c7057610c6f610b2f565b5b5f610c7d86828701610b79565b9350506020610c8e86828701610b79565b9250506040610c9f86828701610bac565b9150509250925092565b5f60ff82169050919050565b610cbe81610ca9565b82525050565b5f602082019050610cd75f830184610cb5565b92915050565b5f60208284031215610cf257610cf1610b2f565b5b5f610cff84828501610b79565b91505092915050565b5f5f60408385031215610d1e57610d1d610b2f565b5b5f610d2b85828601610b79565b9250506020610d3c85828601610b79565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610d8a57607f821691505b602082108103610d9d57610d9c610d46565b5b50919050565b610dac81610b52565b82525050565b5f606082019050610dc55f830186610da3565b610dd26020830185610c31565b610ddf6040830184610c31565b949350505050565b5f602082019050610dfa5f830184610da3565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610e3782610b8d565b9150610e4283610b8d565b9250828201905080821115610e5a57610e59610e00565b5b9291505056fea2646970667358221220d5863ff08848b1a47ced0ceea756c47ffdd0bfd0587d0adc92a905b4b04cb15d64736f6c634300081e0033", + "nonce": "0x94", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8558100af166b7375b6d905976d52f4b1b74ea0bf1e1e9f34625e91b06ed24bf", + "transactionType": "CALL", + "contractName": "Droplet", + "contractAddress": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "function": "mint(address,uint256)", + "arguments": [ + "0xB343880DC01517DcfCbb528864d567e3389753E1", + "1000000000000000000000000" + ], + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "gas": "0xbb68", + "value": "0x0", + "input": "0x40c10f19000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e100000000000000000000000000000000000000000000d3c21bcecceda1000000", + "nonce": "0x95", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x37cc1b9", + "logs": [ + { + "address": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000", + "blockHash": "0xc05acdd7c49293a924a5cade3de5dd3d60be3a05fe975632a861b565c5f469b8", + "blockNumber": "0x1ce905d", + "transactionHash": "0xc5ab0857c5f2e6ebcdbaa3fe5ad46095299d1d41b43e2c1d94963bce669b478c", + "transactionIndex": "0xbb", + "logIndex": "0x482", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000100000008000000000000100000000000000000000000000000000000020000020000000000000800000000000000000000080010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc5ab0857c5f2e6ebcdbaa3fe5ad46095299d1d41b43e2c1d94963bce669b478c", + "transactionIndex": "0xbb", + "blockHash": "0xc05acdd7c49293a924a5cade3de5dd3d60be3a05fe975632a861b565c5f469b8", + "blockNumber": "0x1ce905d", + "gasUsed": "0xeeca0", + "effectiveGasPrice": "0x1ec160", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": null, + "contractAddress": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x209c3abaae", + "l1GasPrice": "0x5e7f2836", + "l1GasUsed": "0x9817" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x37d4968", + "logs": [ + { + "address": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000", + "blockHash": "0xc05acdd7c49293a924a5cade3de5dd3d60be3a05fe975632a861b565c5f469b8", + "blockNumber": "0x1ce905d", + "transactionHash": "0x8558100af166b7375b6d905976d52f4b1b74ea0bf1e1e9f34625e91b06ed24bf", + "transactionIndex": "0xbc", + "logIndex": "0x483", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000100000008000000000000100000000000000000000000000000000000020000020000000000000800000000000000000000080010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8558100af166b7375b6d905976d52f4b1b74ea0bf1e1e9f34625e91b06ed24bf", + "transactionIndex": "0xbc", + "blockHash": "0xc05acdd7c49293a924a5cade3de5dd3d60be3a05fe975632a861b565c5f469b8", + "blockNumber": "0x1ce905d", + "gasUsed": "0x87af", + "effectiveGasPrice": "0x1ec160", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xbcea52d097ae1189a22bdfbf67303082e7b8b07e", + "contractAddress": null, + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x1570f9408", + "l1GasPrice": "0x5e7f2836", + "l1GasUsed": "0x640" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1747418548, + "chain": 8453, + "commit": "0d0018b" +} \ No newline at end of file diff --git a/broadcast/Pool.s.sol/8453/run-1747417305.json b/broadcast/Pool.s.sol/8453/run-1747417305.json new file mode 100644 index 0000000..0ecc14d --- /dev/null +++ b/broadcast/Pool.s.sol/8453/run-1747417305.json @@ -0,0 +1,56 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Pool", + "contractAddress": "0x5b73c5498c1e3b4dba84de0f1833c4a029d90519", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x689c05", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506100225f5f1b3361005960201b60201c565b506100537fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217753361005960201b60201c565b506101b8565b5f61006a838361014e60201b60201c565b6101445760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506100e16101b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610148565b5f90505b92915050565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b615d9e806101c55f395ff3fe608060405234801561000f575f5ffd5b5060043610610251575f3560e01c80636f527aed116101445780639294a9a0116100c1578063b462039711610085578063b46203971461078c578063b6c8f0ea146107bc578063d547741f146107ed578063e2bbb15814610809578063fc43a10d14610839578063fe240bed1461086957610251565b80639294a9a0146106d057806395ccea67146107065780639d5292f714610722578063a217fddf14610752578063b103dbbb1461077057610251565b806382ef7b641161010857806382ef7b641461061657806383a06e5b146106325780638456cb59146106665780638486910a1461067057806391d14854146106a057610251565b80636f527aed1461054b57806371311f5d1461057b57806375b238fc146105ac5780637946ec5e146105ca57806381fb1fb4146105e657610251565b806348e8f215116101d25780635c975abb116101965780635c975abb1461047d578063686108fc1461049b5780636a6d964e146104cb5780636cb0b567146104ff5780636e7d40191461051b57610251565b806348e8f215146103c55780634c7d819b146103e357806351b422831461041557806355062d2b14610431578063589a0fe91461046157610251565b8063248a9ca311610219578063248a9ca3146103355780632f2ff15d1461036557806336568abe146103815780633f4ba83a1461039d57806346541a24146103a757610251565b8063016c85371461025557806301ffc9a7146102715780630e339f39146102a15780630efc8865146102d15780631f0c049914610301575b5f5ffd5b61026f600480360381019061026a9190613f65565b610899565b005b61028b60048036038101906102869190613ff8565b610aa6565b604051610298919061403d565b60405180910390f35b6102bb60048036038101906102b69190614056565b610b1f565b6040516102c891906140a3565b60405180910390f35b6102eb60048036038101906102e691906140bc565b610b3f565b6040516102f89190614109565b60405180910390f35b61031b60048036038101906103169190614056565b610b87565b60405161032c95949392919061414b565b60405180910390f35b61034f600480360381019061034a91906141cf565b610c06565b60405161035c9190614209565b60405180910390f35b61037f600480360381019061037a9190614222565b610c22565b005b61039b60048036038101906103969190614222565b610c44565b005b6103a5610cbf565b005b6103af610cf4565b6040516103bc91906140a3565b60405180910390f35b6103cd610cfa565b6040516103da919061427f565b60405180910390f35b6103fd60048036038101906103f89190614056565b610d01565b60405161040c93929190614298565b60405180910390f35b61042f600480360381019061042a91906142cd565b610d42565b005b61044b60048036038101906104469190614056565b6111d7565b604051610458919061403d565b60405180910390f35b61047b6004803603810190610476919061437e565b611201565b005b6104856113f3565b604051610492919061403d565b60405180910390f35b6104b560048036038101906104b09190614056565b611408565b6040516104c291906140a3565b60405180910390f35b6104e560048036038101906104e091906143db565b611433565b6040516104f6959493929190614406565b60405180910390f35b610519600480360381019061051491906144ac565b611465565b005b610535600480360381019061053091906143db565b6115be565b6040516105429190614598565b60405180910390f35b61056560048036038101906105609190614056565b6115ee565b604051610572919061403d565b60405180910390f35b610595600480360381019061059091906145b1565b611618565b6040516105a392919061474a565b60405180910390f35b6105b4611869565b6040516105c19190614209565b60405180910390f35b6105e460048036038101906105df919061477f565b61188d565b005b61060060048036038101906105fb91906140bc565b611948565b60405161060d9190614109565b60405180910390f35b610630600480360381019061062b91906143db565b611990565b005b61064c600480360381019061064791906143db565b611be6565b60405161065d959493929190614a4e565b60405180910390f35b61066e611f40565b005b61068a600480360381019061068591906140bc565b611f75565b6040516106979190614109565b60405180910390f35b6106ba60048036038101906106b59190614222565b611fbd565b6040516106c7919061403d565b60405180910390f35b6106ea60048036038101906106e591906143db565b612020565b6040516106fd9796959493929190614b0d565b60405180910390f35b610720600480360381019061071b9190614bbc565b612130565b005b61073c60048036038101906107379190614056565b612192565b60405161074991906140a3565b60405180910390f35b61075a6121bd565b6040516107679190614209565b60405180910390f35b61078a60048036038101906107859190614c4f565b6121c3565b005b6107a660048036038101906107a19190614d14565b6125a8565b6040516107b391906140a3565b60405180910390f35b6107d660048036038101906107d191906143db565b612954565b6040516107e4929190614eb9565b60405180910390f35b61080760048036038101906108029190614222565b612b89565b005b610823600480360381019061081e91906140bc565b612bab565b604051610830919061403d565b60405180910390f35b610853600480360381019061084e91906140bc565b61311c565b6040516108609190614eee565b60405180910390f35b610883600480360381019061087e9190614056565b6131cd565b60405161089091906140a3565b60405180910390f35b6108a16131f8565b5f6108f6600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20613239565b61094a600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f20613246565b6109549190614f3b565b90505f8111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90614fb8565b60405180910390fd5b6109f681600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2061325290919063ffffffff16565b610a51828260045f8781526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f5380cf6fe903b40c6d5a9e0dfbca2f3a423f0a21520b4d5947ed5169bdba946d8483604051610a99929190614fd6565b60405180910390a2505050565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b185750610b17826134da565b5b9050919050565b600f602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f208181548110610b58575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a90046effffffffffffffffffffffffffffff169080600201600f9054906101000a90046effffffffffffffffffffffffffffff169080600201601e9054906101000a900460ff16905085565b5f5f5f8381526020019081526020015f20600101549050919050565b610c2b82610c06565b610c3481613543565b610c3e8383613557565b50505050565b610c4c613640565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cb0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba8282613647565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ce981613543565b610cf1613730565b50565b60025481565b62093a8081565b600d602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a900464ffffffffff16905083565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16610ddd57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401610dd49190614109565b60405180910390fd5b610de56131f8565b42610dff60035f8781526020019081526020015f20613791565b64ffffffffff1610610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90615047565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed5906150af565b60405180910390fd5b610ef760055f8681526020019081526020015f206137ae565b821115610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090615117565b60405180910390fd5b5f610f8e600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613239565b14610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc59061517f565b60405180910390fd5b8160055f8681526020019081526020015f206003015f828254610ff19190614f3b565b9250508190555061105682600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f206137bb90919063ffffffff16565b5f6110ab600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613246565b036111815760075f8581526020019081526020015f2083908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150555b8273ffffffffffffffffffffffffffffffffffffffff167f86c416066bc80b64ebce6090a491b86f879b69c8a018bfc62da9549e2c618e5a85846040516111c9929190614fd6565b60405180910390a250505050565b6009602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661129c57336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016112939190614109565b60405180910390fd5b6112a46131f8565b5f6112be60035f8781526020019081526020015f206137fc565b90505f6112da60035f8881526020019081526020015f20613816565b90505f8261ffff1611611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906151e7565b60405180910390fd5b8161ffff16858590501461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061524f565b60405180910390fd5b5f810361139d578161ffff1661139060055f8981526020019081526020015f206137ae565b61139a919061529a565b90505b5f5b8261ffff168110156113ea576113dd878787848181106113c2576113c16152ca565b5b90506020020160208101906113d791906145b1565b84610d42565b808060010191505061139f565b50505050505050565b5f60015f9054906101000a900460ff16905090565b600a602052815f5260405f208181548110611421575f80fd5b905f5260205f20015f91509150505481565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b8460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661150057336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016114f79190614109565b60405180910390fd5b6115086131f8565b828290508585905014611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790615341565b60405180910390fd5b5f5b858590508110156115b5576115a887878784818110611574576115736152ca565b5b905060200201602081019061158991906145b1565b86868581811061159c5761159b6152ca565b5b90506020020135610d42565b8080600101915050611552565b50505050505050565b6004602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b6060805f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905067ffffffffffffffff8111156116765761167561535f565b5b6040519080825280602002602001820160405280156116a45781602001602082028036833780820191505090505b5090505f5b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156117d0575f61179d600d5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208581548110611782576117816152ca565b5b905f5260205f20015481526020019081526020015f20613239565b118282815181106117b1576117b06152ca565b5b60200260200101901515908115158152505080806001019150506116a9565b50600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818180548060200260200160405190810160405280929190818152602001828054801561185857602002820191905f5260205f20905b815481526020019060010190808311611844575b505050505091509250925050915091565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6118956131f8565b8383905084849050146118dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d490615341565b60405180910390fd5b5f5b8484905081101561194157611934858583818110611900576118ff6152ca565b5b9050602002013584848481811061191a576119196152ca565b5b905060200201602081019061192f91906145b1565b610899565b80806001019150506118df565b5050505050565b6006602052815f5260405f208181548110611961575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16611a2b57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401611a229190614109565b60405180910390fd5b611a336131f8565b4262093a80611a5160035f8681526020019081526020015f20613791565b611a5b919061538c565b64ffffffffff1610611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990615047565b60405180910390fd5b5f611abc60055f8581526020019081526020015f206137ae565b90505f8111611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79061540e565b60405180910390fd5b5f60055f8581526020019081526020015f20600301819055505f611b3360035f8681526020019081526020015f20613823565b9050611b90818360045f8881526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0d8b7f535379cc0ea989891df832f4201d074cd58a544b15f916d2ebf1d3639c8584604051611bd8929190614fd6565b60405180910390a250505050565b611bee613e22565b611bf6613e81565b5f60608060035f8781526020019081526020015f2060055f8881526020019081526020015f2060045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f8a81526020019081526020015f2060075f8b81526020019081526020015f20846040518060e00160405290815f82015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f820160059054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f8201600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f8201601e9054906101000a900461ffff1661ffff1661ffff168152602001600182018054611d4e90615459565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7a90615459565b8015611dc55780601f10611d9c57610100808354040283529160200191611dc5565b820191905f5260205f20905b815481529060010190602001808311611da857829003601f168201915b50505050508152602001600282015481526020016003820154815250509450836040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050935081805480602002602001604051908101604052809291908181526020018280548015611ea157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611e58575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015611f2657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611edd575b505050505090509450945094509450945091939590929450565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f6a81613543565b611f7261384f565b50565b6010602052815f5260405f208181548110611f8e575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6003602052805f5260405f205f91509050805f015f9054906101000a900464ffffffffff1690805f0160059054906101000a900464ffffffffff1690805f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f01601e9054906101000a900461ffff16908060010180546120a390615459565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf90615459565b801561211a5780601f106120f15761010080835404028352916020019161211a565b820191905f5260205f20905b8154815290600101906020018083116120fd57829003601f168201915b5050505050908060020154908060030154905087565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561215a81613543565b6121626138b0565b61218d33838573ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b505050565b600e602052815f5260405f2081815481106121ab575f80fd5b905f5260205f20015f91509150505481565b5f5f1b81565b6121cb6131f8565b6121d36138f0565b5f73ffffffffffffffffffffffffffffffffffffffff1661220360035f8781526020019081526020015f20613823565b73ffffffffffffffffffffffffffffffffffffffff1603612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906154d3565b60405180910390fd5b4261227360035f8781526020019081526020015f20613791565b64ffffffffff1610156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b29061553b565b60405180910390fd5b5f83116122fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f4906155a3565b60405180910390fd5b8260055f8681526020019081526020015f205f015f82825461231f91906155c1565b925050819055508260055f8681526020019081526020015f206003015f82825461234991906155c1565b925050819055508260055f8681526020019081526020015f206004015f82825461237391906155c1565b925050819055505f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2054036124875760115f8581526020019081526020015f20828290918060018154018082558091505060019003905f5260205f20015f909192909192909192909192509182612416929190615795565b5060105f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b82600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f8282546124e291906155c1565b9250508190555061254633308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f73095116d9e21ea08dd2f8b16ed194cadd05eb470efa77ab8c63e91477d828cc85858585604051612592949392919061589c565b60405180910390a26125a2613bdc565b50505050565b5f6125b16131f8565b8764ffffffffff168964ffffffffff1610612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890615924565b60405180910390fd5b61260a84613c1b565b612649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126409061598c565b60405180910390fd5b60025f81548092919061265b906159aa565b91905055506126853360035f60025481526020019081526020015f20613c3290919063ffffffff16565b600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025481526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600254908060018154018082558091505060019003905f5260205f20015f90919091909150556127738960035f60025481526020019081526020015f20613c7890919063ffffffff16565b6127988860035f60025481526020019081526020015f20613c9f90919063ffffffff16565b61280087878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505060035f60025481526020019081526020015f20613cc790919063ffffffff16565b6128258560035f60025481526020019081526020015f20613cdd90919063ffffffff16565b5f8361ffff161115612857576128568360035f60025481526020019081526020015f20613cea90919063ffffffff16565b5b5f821115612885576128848260035f60025481526020019081526020015f20613d0c90919063ffffffff16565b5b8360045f60025481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f16002548a8a8a60405161293b94939291906159f1565b60405180910390a3600254905098975050505050505050565b6060805f60075f8581526020019081526020015f208054905067ffffffffffffffff8111156129865761298561535f565b5b6040519080825280602002602001820160405280156129bf57816020015b6129ac613eab565b8152602001906001900390816129a45790505b5090505f5b60075f8681526020019081526020015f2080549050811015612ae757600d5f60075f8881526020019081526020015f208381548110612a0657612a056152ca565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f206040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681525050828281518110612acf57612ace6152ca565b5b602002602001018190525080806001019150506129c4565b5060075f8581526020019081526020015f208181805480602002602001604051908101604052809291908181526020018280548015612b7857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612b2f575b505050505091509250925050915091565b612b9282610c06565b612b9b81613543565b612ba58383613647565b50505050565b5f612bb46131f8565b612bbc6138f0565b42612bd660035f8681526020019081526020015f20613d19565b64ffffffffff1610612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490615a79565b60405180910390fd5b42612c3760035f8681526020019081526020015f20613791565b64ffffffffff161015612c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c769061553b565b60405180910390fd5b600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900460ff1615612d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0f90615ae1565b60405180910390fd5b5f612d3260035f8681526020019081526020015f20613d35565b905080831015612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90615b49565b60405180910390fd5b80831115612e10578083612d8b9190614f3b565b60055f8681526020019081526020015f206004015f828254612dad91906155c1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f4b980b78760b02f4b4f1149bdcc168aec45990f1247e5e26860f1a6dc7a17ba4858386612df99190614f3b565b604051612e07929190614fd6565b60405180910390a25b8260055f8681526020019081526020015f205f015f828254612e3291906155c1565b925050819055508260055f8681526020019081526020015f206003015f828254612e5c91906155c1565b92505081905550612ed560065f8681526020019081526020015f2080549050600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613d4290919063ffffffff16565b60065f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150556001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f01819055506130b933308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b98585604051613101929190614fd6565b60405180910390a26001915050613116613bdc565b92915050565b6011602052815f5260405f208181548110613135575f80fd5b905f5260205f20015f9150915050805461314e90615459565b80601f016020809104026020016040519081016040528092919081815260200182805461317a90615459565b80156131c55780601f1061319c576101008083540402835291602001916131c5565b820191905f5260205f20905b8154815290600101906020018083116131a857829003601f168201915b505050505081565b6008602052815f5260405f2081815481106131e6575f80fd5b905f5260205f20015f91509150505481565b6132006113f3565b15613237576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f81600101549050919050565b5f815f01549050919050565b80826001015f82825461326591906155c1565b925050819055505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f89190614eee565b60405180910390fd5b505f5f8473ffffffffffffffffffffffffffffffffffffffff16848460405160240161332e929190615b67565b60405160208183030381529060405263a9059cbb60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133809190615bd2565b5f604051808303815f865af19150503d805f81146133b9576040519150601f19603f3d011682016040523d82523d5f602084013e6133be565b606091505b5091509150816040518060400160405280601181526020017f7472616e736665722072657665727465640000000000000000000000000000008152509061343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134329190614eee565b60405180910390fd5b505f8151148061345b57508080602001905181019061345a9190615c12565b5b6040518060400160405280601781526020017f7472616e736665722072657475726e65642066616c7365000000000000000000815250906134d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134c99190614eee565b60405180910390fd5b505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6135548161354f613640565b613d7e565b50565b5f6135628383611fbd565b6136365760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506135d3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061363a565b5f90505b92915050565b5f33905090565b5f6136528383611fbd565b15613726575f5f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506136c3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061372a565b5f90505b92915050565b6137386138b0565b5f60015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61377a613640565b6040516137879190614109565b60405180910390a1565b5f815f0160059054906101000a900464ffffffffff169050919050565b5f81600301549050919050565b42826002015f6101000a81548164ffffffffff021916908364ffffffffff16021790555080825f015f8282546137f191906155c1565b925050819055505050565b5f815f01601e9054906101000a900461ffff169050919050565b5f81600301549050919050565b5f815f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6138576131f8565b6001805f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613899613640565b6040516138a69190614109565b60405180910390a1565b6138b86113f3565b6138ee576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6138f8613dcf565b1561392f576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61396d600161395f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f8473ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f79190614eee565b60405180910390fd5b505f5f8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401613a2f93929190615c3d565b6040516020818303038152906040526323b872dd60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051613a819190615bd2565b5f604051808303815f865af19150503d805f8114613aba576040519150601f19603f3d011682016040523d82523d5f602084013e613abf565b606091505b5091509150816040518060400160405280601581526020017f7472616e7366657246726f6d207265766572746564000000000000000000000081525090613b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b339190614eee565b60405180910390fd5b505f81511480613b5c575080806020019051810190613b5b9190615c12565b5b6040518060400160405280601b81526020017f7472616e7366657246726f6d2072657475726e65642066616c7365000000000081525090613bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bca9190614eee565b60405180910390fd5b50505050505050565b613c195f613c0b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f5f823b90505f8163ffffffff1611915050919050565b80825f01600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b80825f015f6101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80825f0160056101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80826001019081613cd89190615c72565b505050565b8082600201819055505050565b80825f01601e6101000a81548161ffff021916908361ffff1602179055505050565b8082600301819055505050565b5f815f015f9054906101000a900464ffffffffff169050919050565b5f81600201549050919050565b80826002015f6101000a8154816effffffffffffffffffffffffffffff02191690836effffffffffffffffffffffffffffff1602179055505050565b613d888282611fbd565b613dcb5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401613dc2929190615d41565b60405180910390fd5b5050565b5f613e03613dfe7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e18565b905090565b5f819050919050565b80825d5050565b5f815c9050919050565b6040518060e001604052805f64ffffffffff1681526020015f64ffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f61ffff168152602001606081526020015f81526020015f81525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f64ffffffffff1681525090565b5f5ffd5b5f5ffd5b5f819050919050565b613eea81613ed8565b8114613ef4575f5ffd5b50565b5f81359050613f0581613ee1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f3482613f0b565b9050919050565b613f4481613f2a565b8114613f4e575f5ffd5b50565b5f81359050613f5f81613f3b565b92915050565b5f5f60408385031215613f7b57613f7a613ed0565b5b5f613f8885828601613ef7565b9250506020613f9985828601613f51565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613fd781613fa3565b8114613fe1575f5ffd5b50565b5f81359050613ff281613fce565b92915050565b5f6020828403121561400d5761400c613ed0565b5b5f61401a84828501613fe4565b91505092915050565b5f8115159050919050565b61403781614023565b82525050565b5f6020820190506140505f83018461402e565b92915050565b5f5f6040838503121561406c5761406b613ed0565b5b5f61407985828601613f51565b925050602061408a85828601613ef7565b9150509250929050565b61409d81613ed8565b82525050565b5f6020820190506140b65f830184614094565b92915050565b5f5f604083850312156140d2576140d1613ed0565b5b5f6140df85828601613ef7565b92505060206140f085828601613ef7565b9150509250929050565b61410381613f2a565b82525050565b5f60208201905061411c5f8301846140fa565b92915050565b5f6effffffffffffffffffffffffffffff82169050919050565b61414581614122565b82525050565b5f60a08201905061415e5f830188614094565b61416b6020830187614094565b614178604083018661413c565b614185606083018561413c565b614192608083018461402e565b9695505050505050565b5f819050919050565b6141ae8161419c565b81146141b8575f5ffd5b50565b5f813590506141c9816141a5565b92915050565b5f602082840312156141e4576141e3613ed0565b5b5f6141f1848285016141bb565b91505092915050565b6142038161419c565b82525050565b5f60208201905061421c5f8301846141fa565b92915050565b5f5f6040838503121561423857614237613ed0565b5b5f614245858286016141bb565b925050602061425685828601613f51565b9150509250929050565b5f64ffffffffff82169050919050565b61427981614260565b82525050565b5f6020820190506142925f830184614270565b92915050565b5f6060820190506142ab5f830186614094565b6142b86020830185614094565b6142c56040830184614270565b949350505050565b5f5f5f606084860312156142e4576142e3613ed0565b5b5f6142f186828701613ef7565b935050602061430286828701613f51565b925050604061431386828701613ef7565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261433e5761433d61431d565b5b8235905067ffffffffffffffff81111561435b5761435a614321565b5b60208301915083602082028301111561437757614376614325565b5b9250929050565b5f5f5f6040848603121561439557614394613ed0565b5b5f6143a286828701613ef7565b935050602084013567ffffffffffffffff8111156143c3576143c2613ed4565b5b6143cf86828701614329565b92509250509250925092565b5f602082840312156143f0576143ef613ed0565b5b5f6143fd84828501613ef7565b91505092915050565b5f60a0820190506144195f830188614094565b6144266020830187614094565b6144336040830186614094565b6144406060830185614094565b61444d6080830184614094565b9695505050505050565b5f5f83601f84011261446c5761446b61431d565b5b8235905067ffffffffffffffff81111561448957614488614321565b5b6020830191508360208202830111156144a5576144a4614325565b5b9250929050565b5f5f5f5f5f606086880312156144c5576144c4613ed0565b5b5f6144d288828901613ef7565b955050602086013567ffffffffffffffff8111156144f3576144f2613ed4565b5b6144ff88828901614329565b9450945050604086013567ffffffffffffffff81111561452257614521613ed4565b5b61452e88828901614457565b92509250509295509295909350565b5f819050919050565b5f61456061455b61455684613f0b565b61453d565b613f0b565b9050919050565b5f61457182614546565b9050919050565b5f61458282614567565b9050919050565b61459281614578565b82525050565b5f6020820190506145ab5f830184614589565b92915050565b5f602082840312156145c6576145c5613ed0565b5b5f6145d384828501613f51565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61460e81613ed8565b82525050565b5f61461f8383614605565b60208301905092915050565b5f602082019050919050565b5f614641826145dc565b61464b81856145e6565b9350614656836145f6565b805f5b8381101561468657815161466d8882614614565b97506146788361462b565b925050600181019050614659565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6146c581614023565b82525050565b5f6146d683836146bc565b60208301905092915050565b5f602082019050919050565b5f6146f882614693565b614702818561469d565b935061470d836146ad565b805f5b8381101561473d57815161472488826146cb565b975061472f836146e2565b925050600181019050614710565b5085935050505092915050565b5f6040820190508181035f8301526147628185614637565b9050818103602083015261477681846146ee565b90509392505050565b5f5f5f5f6040858703121561479757614796613ed0565b5b5f85013567ffffffffffffffff8111156147b4576147b3613ed4565b5b6147c087828801614457565b9450945050602085013567ffffffffffffffff8111156147e3576147e2613ed4565b5b6147ef87828801614329565b925092505092959194509250565b61480681614260565b82525050565b61481581613f2a565b82525050565b5f61ffff82169050919050565b6148318161481b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61487982614837565b6148838185614841565b9350614893818560208601614851565b61489c8161485f565b840191505092915050565b5f60e083015f8301516148bc5f8601826147fd565b5060208301516148cf60208601826147fd565b5060408301516148e2604086018261480c565b5060608301516148f56060860182614828565b506080830151848203608086015261490d828261486f565b91505060a083015161492260a0860182614605565b5060c083015161493560c0860182614605565b508091505092915050565b60a082015f8201516149545f850182614605565b5060208201516149676020850182614605565b50604082015161497a6040850182614605565b50606082015161498d6060850182614605565b5060808201516149a06080850182614605565b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6149da838361480c565b60208301905092915050565b5f602082019050919050565b5f6149fc826149a6565b614a0681856149b0565b9350614a11836149c0565b805f5b83811015614a41578151614a2888826149cf565b9750614a33836149e6565b925050600181019050614a14565b5085935050505092915050565b5f610120820190508181035f830152614a6781886148a7565b9050614a766020830187614940565b614a8360c08301866140fa565b81810360e0830152614a9581856149f2565b9050818103610100830152614aaa81846149f2565b90509695505050505050565b614abf8161481b565b82525050565b5f82825260208201905092915050565b5f614adf82614837565b614ae98185614ac5565b9350614af9818560208601614851565b614b028161485f565b840191505092915050565b5f60e082019050614b205f83018a614270565b614b2d6020830189614270565b614b3a60408301886140fa565b614b476060830187614ab6565b8181036080830152614b598186614ad5565b9050614b6860a0830185614094565b614b7560c0830184614094565b98975050505050505050565b5f614b8b82613f2a565b9050919050565b614b9b81614b81565b8114614ba5575f5ffd5b50565b5f81359050614bb681614b92565b92915050565b5f5f60408385031215614bd257614bd1613ed0565b5b5f614bdf85828601614ba8565b9250506020614bf085828601613ef7565b9150509250929050565b5f5f83601f840112614c0f57614c0e61431d565b5b8235905067ffffffffffffffff811115614c2c57614c2b614321565b5b602083019150836001820283011115614c4857614c47614325565b5b9250929050565b5f5f5f5f60608587031215614c6757614c66613ed0565b5b5f614c7487828801613ef7565b9450506020614c8587828801613ef7565b935050604085013567ffffffffffffffff811115614ca657614ca5613ed4565b5b614cb287828801614bfa565b925092505092959194509250565b614cc981614260565b8114614cd3575f5ffd5b50565b5f81359050614ce481614cc0565b92915050565b614cf38161481b565b8114614cfd575f5ffd5b50565b5f81359050614d0e81614cea565b92915050565b5f5f5f5f5f5f5f5f60e0898b031215614d3057614d2f613ed0565b5b5f614d3d8b828c01614cd6565b9850506020614d4e8b828c01614cd6565b975050604089013567ffffffffffffffff811115614d6f57614d6e613ed4565b5b614d7b8b828c01614bfa565b96509650506060614d8e8b828c01613ef7565b9450506080614d9f8b828c01613f51565b93505060a0614db08b828c01614d00565b92505060c0614dc18b828c01613ef7565b9150509295985092959890939650565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151614e0e5f850182614605565b506020820151614e216020850182614605565b506040820151614e3460408501826147fd565b50505050565b5f614e458383614dfa565b60608301905092915050565b5f602082019050919050565b5f614e6782614dd1565b614e718185614ddb565b9350614e7c83614deb565b805f5b83811015614eac578151614e938882614e3a565b9750614e9e83614e51565b925050600181019050614e7f565b5085935050505092915050565b5f6040820190508181035f830152614ed181856149f2565b90508181036020830152614ee58184614e5d565b90509392505050565b5f6020820190508181035f830152614f068184614ad5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614f4582613ed8565b9150614f5083613ed8565b9250828203905081811115614f6857614f67614f0e565b5b92915050565b7f4e6f2077696e6e696e67730000000000000000000000000000000000000000005f82015250565b5f614fa2600b83614ac5565b9150614fad82614f6e565b602082019050919050565b5f6020820190508181035f830152614fcf81614f96565b9050919050565b5f604082019050614fe95f830185614094565b614ff66020830184614094565b9392505050565b7f506f6f6c206e6f7420656e6465640000000000000000000000000000000000005f82015250565b5f615031600e83614ac5565b915061503c82614ffd565b602082019050919050565b5f6020820190508181035f83015261505e81615025565b9050919050565b7f4e6f742061207061727469636970616e740000000000000000000000000000005f82015250565b5f615099601183614ac5565b91506150a482615065565b602082019050919050565b5f6020820190508181035f8301526150c68161508d565b9050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f615101601283614ac5565b915061510c826150cd565b602082019050919050565b5f6020820190508181035f83015261512e816150f5565b9050919050565b7f416c726561647920636c61696d656400000000000000000000000000000000005f82015250565b5f615169600f83614ac5565b915061517482615135565b602082019050919050565b5f6020820190508181035f8301526151968161515d565b9050919050565b7f546f74616c2077696e6e657273206e6f742073657400000000000000000000005f82015250565b5f6151d1601583614ac5565b91506151dc8261519d565b602082019050919050565b5f6020820190508181035f8301526151fe816151c5565b9050919050565b7f496e76616c6964206e756d626572206f662077696e6e657273000000000000005f82015250565b5f615239601983614ac5565b915061524482615205565b602082019050919050565b5f6020820190508181035f8301526152668161522d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6152a482613ed8565b91506152af83613ed8565b9250826152bf576152be61526d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61532b600d83614ac5565b9150615336826152f7565b602082019050919050565b5f6020820190508181035f8301526153588161531f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61539682614260565b91506153a183614260565b9250828201905064ffffffffff8111156153be576153bd614f0e565b5b92915050565b7f4e6f7468696e6720746f207769746864726177000000000000000000000000005f82015250565b5f6153f8601383614ac5565b9150615403826153c4565b602082019050919050565b5f6020820190508181035f830152615425816153ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061547057607f821691505b6020821081036154835761548261542c565b5b50919050565b7f506f6f6c206e6f742063726561746564000000000000000000000000000000005f82015250565b5f6154bd601083614ac5565b91506154c882615489565b602082019050919050565b5f6020820190508181035f8301526154ea816154b1565b9050919050565b7f506f6f6c20656e646564000000000000000000000000000000000000000000005f82015250565b5f615525600a83614ac5565b9150615530826154f1565b602082019050919050565b5f6020820190508181035f83015261555281615519565b9050919050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f61558d600e83614ac5565b915061559882615559565b602082019050919050565b5f6020820190508181035f8301526155ba81615581565b9050919050565b5f6155cb82613ed8565b91506155d683613ed8565b92508282019050808211156155ee576155ed614f0e565b5b92915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261565a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261561f565b615664868361561f565b95508019841693508086168417925050509392505050565b5f61569661569161568c84613ed8565b61453d565b613ed8565b9050919050565b5f819050919050565b6156af8361567c565b6156c36156bb8261569d565b84845461562b565b825550505050565b5f5f905090565b6156da6156cb565b6156e58184846156a6565b505050565b5b81811015615708576156fd5f826156d2565b6001810190506156eb565b5050565b601f82111561574d5761571e816155fe565b61572784615610565b81016020851015615736578190505b61574a61574285615610565b8301826156ea565b50505b505050565b5f82821c905092915050565b5f61576d5f1984600802615752565b1980831691505092915050565b5f615785838361575e565b9150826002028217905092915050565b61579f83836155f4565b67ffffffffffffffff8111156157b8576157b761535f565b5b6157c28254615459565b6157cd82828561570c565b5f601f8311600181146157fa575f84156157e8578287013590505b6157f2858261577a565b865550615859565b601f198416615808866155fe565b5f5b8281101561582f5784890135825560018201915060208501945060208101905061580a565b8683101561584c5784890135615848601f89168261575e565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f61587b8385614ac5565b9350615888838584615862565b6158918361485f565b840190509392505050565b5f6060820190506158af5f830187614094565b6158bc6020830186614094565b81810360408301526158cf818486615870565b905095945050505050565b7f496e76616c69642074696d696e670000000000000000000000000000000000005f82015250565b5f61590e600e83614ac5565b9150615919826158da565b602082019050919050565b5f6020820190508181035f83015261593b81615902565b9050919050565b7f546f6b656e206e6f7420636f6e747261637400000000000000000000000000005f82015250565b5f615976601283614ac5565b915061598182615942565b602082019050919050565b5f6020820190508181035f8301526159a38161596a565b9050919050565b5f6159b482613ed8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036159e6576159e5614f0e565b5b600182019050919050565b5f606082019050615a045f830187614094565b8181036020830152615a17818587615870565b9050615a266040830184614094565b95945050505050565b7f506f6f6c206e6f742073746172746564000000000000000000000000000000005f82015250565b5f615a63601083614ac5565b9150615a6e82615a2f565b602082019050919050565b5f6020820190508181035f830152615a9081615a57565b9050919050565b7f416c726561647920696e20706f6f6c00000000000000000000000000000000005f82015250565b5f615acb600f83614ac5565b9150615ad682615a97565b602082019050919050565b5f6020820190508181035f830152615af881615abf565b9050919050565b7f496e73756666696369656e7420616d6f756e74000000000000000000000000005f82015250565b5f615b33601383614ac5565b9150615b3e82615aff565b602082019050919050565b5f6020820190508181035f830152615b6081615b27565b9050919050565b5f604082019050615b7a5f8301856140fa565b615b876020830184614094565b9392505050565b5f81519050919050565b5f81905092915050565b5f615bac82615b8e565b615bb68185615b98565b9350615bc6818560208601614851565b80840191505092915050565b5f615bdd8284615ba2565b915081905092915050565b615bf181614023565b8114615bfb575f5ffd5b50565b5f81519050615c0c81615be8565b92915050565b5f60208284031215615c2757615c26613ed0565b5b5f615c3484828501615bfe565b91505092915050565b5f606082019050615c505f8301866140fa565b615c5d60208301856140fa565b615c6a6040830184614094565b949350505050565b615c7b82614837565b67ffffffffffffffff811115615c9457615c9361535f565b5b615c9e8254615459565b615ca982828561570c565b5f60209050601f831160018114615cda575f8415615cc8578287015190505b615cd2858261577a565b865550615d39565b601f198416615ce8866155fe565b5f5b82811015615d0f57848901518255600182019150602085019450602081019050615cea565b86831015615d2c5784890151615d28601f89168261575e565b8355505b6001600288020188555050505b505050505050565b5f604082019050615d545f8301856140fa565b615d6160208301846141fa565b939250505056fea2646970667358221220ebd06702f9baca21d503971a086887c568d391b64d59939edb105c1315d3548064736f6c634300081e0033", + "nonce": "0x0", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Pool", + "contractAddress": "0x5b73c5498c1e3b4dba84de0f1833c4a029d90519", + "function": "createPool(uint40,uint40,string,uint256,address,uint16,uint256)", + "arguments": [ + "1747590097", + "1747611697", + "Test pool", + "1000", + "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "1", + "1000" + ], + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "to": "0x5b73c5498c1e3b4dba84de0f1833c4a029d90519", + "gas": "0x4fbf7", + "value": "0x0", + "input": "0xb462039700000000000000000000000000000000000000000000000000000000682a1bd100000000000000000000000000000000000000000000000000000000682a703100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "nonce": "0x1", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1747417305, + "chain": 8453, + "commit": "0d0018b" +} \ No newline at end of file diff --git a/broadcast/Pool.s.sol/8453/run-1747417367.json b/broadcast/Pool.s.sol/8453/run-1747417367.json new file mode 100644 index 0000000..5258d92 --- /dev/null +++ b/broadcast/Pool.s.sol/8453/run-1747417367.json @@ -0,0 +1,56 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Pool", + "contractAddress": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "gas": "0x689c05", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506100225f5f1b3361005960201b60201c565b506100537fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217753361005960201b60201c565b506101b8565b5f61006a838361014e60201b60201c565b6101445760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506100e16101b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610148565b5f90505b92915050565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b615d9e806101c55f395ff3fe608060405234801561000f575f5ffd5b5060043610610251575f3560e01c80636f527aed116101445780639294a9a0116100c1578063b462039711610085578063b46203971461078c578063b6c8f0ea146107bc578063d547741f146107ed578063e2bbb15814610809578063fc43a10d14610839578063fe240bed1461086957610251565b80639294a9a0146106d057806395ccea67146107065780639d5292f714610722578063a217fddf14610752578063b103dbbb1461077057610251565b806382ef7b641161010857806382ef7b641461061657806383a06e5b146106325780638456cb59146106665780638486910a1461067057806391d14854146106a057610251565b80636f527aed1461054b57806371311f5d1461057b57806375b238fc146105ac5780637946ec5e146105ca57806381fb1fb4146105e657610251565b806348e8f215116101d25780635c975abb116101965780635c975abb1461047d578063686108fc1461049b5780636a6d964e146104cb5780636cb0b567146104ff5780636e7d40191461051b57610251565b806348e8f215146103c55780634c7d819b146103e357806351b422831461041557806355062d2b14610431578063589a0fe91461046157610251565b8063248a9ca311610219578063248a9ca3146103355780632f2ff15d1461036557806336568abe146103815780633f4ba83a1461039d57806346541a24146103a757610251565b8063016c85371461025557806301ffc9a7146102715780630e339f39146102a15780630efc8865146102d15780631f0c049914610301575b5f5ffd5b61026f600480360381019061026a9190613f65565b610899565b005b61028b60048036038101906102869190613ff8565b610aa6565b604051610298919061403d565b60405180910390f35b6102bb60048036038101906102b69190614056565b610b1f565b6040516102c891906140a3565b60405180910390f35b6102eb60048036038101906102e691906140bc565b610b3f565b6040516102f89190614109565b60405180910390f35b61031b60048036038101906103169190614056565b610b87565b60405161032c95949392919061414b565b60405180910390f35b61034f600480360381019061034a91906141cf565b610c06565b60405161035c9190614209565b60405180910390f35b61037f600480360381019061037a9190614222565b610c22565b005b61039b60048036038101906103969190614222565b610c44565b005b6103a5610cbf565b005b6103af610cf4565b6040516103bc91906140a3565b60405180910390f35b6103cd610cfa565b6040516103da919061427f565b60405180910390f35b6103fd60048036038101906103f89190614056565b610d01565b60405161040c93929190614298565b60405180910390f35b61042f600480360381019061042a91906142cd565b610d42565b005b61044b60048036038101906104469190614056565b6111d7565b604051610458919061403d565b60405180910390f35b61047b6004803603810190610476919061437e565b611201565b005b6104856113f3565b604051610492919061403d565b60405180910390f35b6104b560048036038101906104b09190614056565b611408565b6040516104c291906140a3565b60405180910390f35b6104e560048036038101906104e091906143db565b611433565b6040516104f6959493929190614406565b60405180910390f35b610519600480360381019061051491906144ac565b611465565b005b610535600480360381019061053091906143db565b6115be565b6040516105429190614598565b60405180910390f35b61056560048036038101906105609190614056565b6115ee565b604051610572919061403d565b60405180910390f35b610595600480360381019061059091906145b1565b611618565b6040516105a392919061474a565b60405180910390f35b6105b4611869565b6040516105c19190614209565b60405180910390f35b6105e460048036038101906105df919061477f565b61188d565b005b61060060048036038101906105fb91906140bc565b611948565b60405161060d9190614109565b60405180910390f35b610630600480360381019061062b91906143db565b611990565b005b61064c600480360381019061064791906143db565b611be6565b60405161065d959493929190614a4e565b60405180910390f35b61066e611f40565b005b61068a600480360381019061068591906140bc565b611f75565b6040516106979190614109565b60405180910390f35b6106ba60048036038101906106b59190614222565b611fbd565b6040516106c7919061403d565b60405180910390f35b6106ea60048036038101906106e591906143db565b612020565b6040516106fd9796959493929190614b0d565b60405180910390f35b610720600480360381019061071b9190614bbc565b612130565b005b61073c60048036038101906107379190614056565b612192565b60405161074991906140a3565b60405180910390f35b61075a6121bd565b6040516107679190614209565b60405180910390f35b61078a60048036038101906107859190614c4f565b6121c3565b005b6107a660048036038101906107a19190614d14565b6125a8565b6040516107b391906140a3565b60405180910390f35b6107d660048036038101906107d191906143db565b612954565b6040516107e4929190614eb9565b60405180910390f35b61080760048036038101906108029190614222565b612b89565b005b610823600480360381019061081e91906140bc565b612bab565b604051610830919061403d565b60405180910390f35b610853600480360381019061084e91906140bc565b61311c565b6040516108609190614eee565b60405180910390f35b610883600480360381019061087e9190614056565b6131cd565b60405161089091906140a3565b60405180910390f35b6108a16131f8565b5f6108f6600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20613239565b61094a600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f20613246565b6109549190614f3b565b90505f8111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90614fb8565b60405180910390fd5b6109f681600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2061325290919063ffffffff16565b610a51828260045f8781526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f5380cf6fe903b40c6d5a9e0dfbca2f3a423f0a21520b4d5947ed5169bdba946d8483604051610a99929190614fd6565b60405180910390a2505050565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b185750610b17826134da565b5b9050919050565b600f602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f208181548110610b58575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a90046effffffffffffffffffffffffffffff169080600201600f9054906101000a90046effffffffffffffffffffffffffffff169080600201601e9054906101000a900460ff16905085565b5f5f5f8381526020019081526020015f20600101549050919050565b610c2b82610c06565b610c3481613543565b610c3e8383613557565b50505050565b610c4c613640565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cb0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba8282613647565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ce981613543565b610cf1613730565b50565b60025481565b62093a8081565b600d602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a900464ffffffffff16905083565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16610ddd57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401610dd49190614109565b60405180910390fd5b610de56131f8565b42610dff60035f8781526020019081526020015f20613791565b64ffffffffff1610610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90615047565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed5906150af565b60405180910390fd5b610ef760055f8681526020019081526020015f206137ae565b821115610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090615117565b60405180910390fd5b5f610f8e600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613239565b14610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc59061517f565b60405180910390fd5b8160055f8681526020019081526020015f206003015f828254610ff19190614f3b565b9250508190555061105682600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f206137bb90919063ffffffff16565b5f6110ab600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613246565b036111815760075f8581526020019081526020015f2083908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150555b8273ffffffffffffffffffffffffffffffffffffffff167f86c416066bc80b64ebce6090a491b86f879b69c8a018bfc62da9549e2c618e5a85846040516111c9929190614fd6565b60405180910390a250505050565b6009602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661129c57336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016112939190614109565b60405180910390fd5b6112a46131f8565b5f6112be60035f8781526020019081526020015f206137fc565b90505f6112da60035f8881526020019081526020015f20613816565b90505f8261ffff1611611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906151e7565b60405180910390fd5b8161ffff16858590501461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061524f565b60405180910390fd5b5f810361139d578161ffff1661139060055f8981526020019081526020015f206137ae565b61139a919061529a565b90505b5f5b8261ffff168110156113ea576113dd878787848181106113c2576113c16152ca565b5b90506020020160208101906113d791906145b1565b84610d42565b808060010191505061139f565b50505050505050565b5f60015f9054906101000a900460ff16905090565b600a602052815f5260405f208181548110611421575f80fd5b905f5260205f20015f91509150505481565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b8460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661150057336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016114f79190614109565b60405180910390fd5b6115086131f8565b828290508585905014611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790615341565b60405180910390fd5b5f5b858590508110156115b5576115a887878784818110611574576115736152ca565b5b905060200201602081019061158991906145b1565b86868581811061159c5761159b6152ca565b5b90506020020135610d42565b8080600101915050611552565b50505050505050565b6004602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b6060805f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905067ffffffffffffffff8111156116765761167561535f565b5b6040519080825280602002602001820160405280156116a45781602001602082028036833780820191505090505b5090505f5b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156117d0575f61179d600d5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208581548110611782576117816152ca565b5b905f5260205f20015481526020019081526020015f20613239565b118282815181106117b1576117b06152ca565b5b60200260200101901515908115158152505080806001019150506116a9565b50600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818180548060200260200160405190810160405280929190818152602001828054801561185857602002820191905f5260205f20905b815481526020019060010190808311611844575b505050505091509250925050915091565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6118956131f8565b8383905084849050146118dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d490615341565b60405180910390fd5b5f5b8484905081101561194157611934858583818110611900576118ff6152ca565b5b9050602002013584848481811061191a576119196152ca565b5b905060200201602081019061192f91906145b1565b610899565b80806001019150506118df565b5050505050565b6006602052815f5260405f208181548110611961575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16611a2b57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401611a229190614109565b60405180910390fd5b611a336131f8565b4262093a80611a5160035f8681526020019081526020015f20613791565b611a5b919061538c565b64ffffffffff1610611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990615047565b60405180910390fd5b5f611abc60055f8581526020019081526020015f206137ae565b90505f8111611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79061540e565b60405180910390fd5b5f60055f8581526020019081526020015f20600301819055505f611b3360035f8681526020019081526020015f20613823565b9050611b90818360045f8881526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0d8b7f535379cc0ea989891df832f4201d074cd58a544b15f916d2ebf1d3639c8584604051611bd8929190614fd6565b60405180910390a250505050565b611bee613e22565b611bf6613e81565b5f60608060035f8781526020019081526020015f2060055f8881526020019081526020015f2060045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f8a81526020019081526020015f2060075f8b81526020019081526020015f20846040518060e00160405290815f82015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f820160059054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f8201600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f8201601e9054906101000a900461ffff1661ffff1661ffff168152602001600182018054611d4e90615459565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7a90615459565b8015611dc55780601f10611d9c57610100808354040283529160200191611dc5565b820191905f5260205f20905b815481529060010190602001808311611da857829003601f168201915b50505050508152602001600282015481526020016003820154815250509450836040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050935081805480602002602001604051908101604052809291908181526020018280548015611ea157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611e58575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015611f2657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611edd575b505050505090509450945094509450945091939590929450565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f6a81613543565b611f7261384f565b50565b6010602052815f5260405f208181548110611f8e575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6003602052805f5260405f205f91509050805f015f9054906101000a900464ffffffffff1690805f0160059054906101000a900464ffffffffff1690805f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f01601e9054906101000a900461ffff16908060010180546120a390615459565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf90615459565b801561211a5780601f106120f15761010080835404028352916020019161211a565b820191905f5260205f20905b8154815290600101906020018083116120fd57829003601f168201915b5050505050908060020154908060030154905087565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561215a81613543565b6121626138b0565b61218d33838573ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b505050565b600e602052815f5260405f2081815481106121ab575f80fd5b905f5260205f20015f91509150505481565b5f5f1b81565b6121cb6131f8565b6121d36138f0565b5f73ffffffffffffffffffffffffffffffffffffffff1661220360035f8781526020019081526020015f20613823565b73ffffffffffffffffffffffffffffffffffffffff1603612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906154d3565b60405180910390fd5b4261227360035f8781526020019081526020015f20613791565b64ffffffffff1610156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b29061553b565b60405180910390fd5b5f83116122fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f4906155a3565b60405180910390fd5b8260055f8681526020019081526020015f205f015f82825461231f91906155c1565b925050819055508260055f8681526020019081526020015f206003015f82825461234991906155c1565b925050819055508260055f8681526020019081526020015f206004015f82825461237391906155c1565b925050819055505f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2054036124875760115f8581526020019081526020015f20828290918060018154018082558091505060019003905f5260205f20015f909192909192909192909192509182612416929190615795565b5060105f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b82600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f8282546124e291906155c1565b9250508190555061254633308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f73095116d9e21ea08dd2f8b16ed194cadd05eb470efa77ab8c63e91477d828cc85858585604051612592949392919061589c565b60405180910390a26125a2613bdc565b50505050565b5f6125b16131f8565b8764ffffffffff168964ffffffffff1610612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890615924565b60405180910390fd5b61260a84613c1b565b612649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126409061598c565b60405180910390fd5b60025f81548092919061265b906159aa565b91905055506126853360035f60025481526020019081526020015f20613c3290919063ffffffff16565b600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025481526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600254908060018154018082558091505060019003905f5260205f20015f90919091909150556127738960035f60025481526020019081526020015f20613c7890919063ffffffff16565b6127988860035f60025481526020019081526020015f20613c9f90919063ffffffff16565b61280087878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505060035f60025481526020019081526020015f20613cc790919063ffffffff16565b6128258560035f60025481526020019081526020015f20613cdd90919063ffffffff16565b5f8361ffff161115612857576128568360035f60025481526020019081526020015f20613cea90919063ffffffff16565b5b5f821115612885576128848260035f60025481526020019081526020015f20613d0c90919063ffffffff16565b5b8360045f60025481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f16002548a8a8a60405161293b94939291906159f1565b60405180910390a3600254905098975050505050505050565b6060805f60075f8581526020019081526020015f208054905067ffffffffffffffff8111156129865761298561535f565b5b6040519080825280602002602001820160405280156129bf57816020015b6129ac613eab565b8152602001906001900390816129a45790505b5090505f5b60075f8681526020019081526020015f2080549050811015612ae757600d5f60075f8881526020019081526020015f208381548110612a0657612a056152ca565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f206040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681525050828281518110612acf57612ace6152ca565b5b602002602001018190525080806001019150506129c4565b5060075f8581526020019081526020015f208181805480602002602001604051908101604052809291908181526020018280548015612b7857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612b2f575b505050505091509250925050915091565b612b9282610c06565b612b9b81613543565b612ba58383613647565b50505050565b5f612bb46131f8565b612bbc6138f0565b42612bd660035f8681526020019081526020015f20613d19565b64ffffffffff1610612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490615a79565b60405180910390fd5b42612c3760035f8681526020019081526020015f20613791565b64ffffffffff161015612c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c769061553b565b60405180910390fd5b600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900460ff1615612d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0f90615ae1565b60405180910390fd5b5f612d3260035f8681526020019081526020015f20613d35565b905080831015612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90615b49565b60405180910390fd5b80831115612e10578083612d8b9190614f3b565b60055f8681526020019081526020015f206004015f828254612dad91906155c1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f4b980b78760b02f4b4f1149bdcc168aec45990f1247e5e26860f1a6dc7a17ba4858386612df99190614f3b565b604051612e07929190614fd6565b60405180910390a25b8260055f8681526020019081526020015f205f015f828254612e3291906155c1565b925050819055508260055f8681526020019081526020015f206003015f828254612e5c91906155c1565b92505081905550612ed560065f8681526020019081526020015f2080549050600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613d4290919063ffffffff16565b60065f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150556001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f01819055506130b933308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b98585604051613101929190614fd6565b60405180910390a26001915050613116613bdc565b92915050565b6011602052815f5260405f208181548110613135575f80fd5b905f5260205f20015f9150915050805461314e90615459565b80601f016020809104026020016040519081016040528092919081815260200182805461317a90615459565b80156131c55780601f1061319c576101008083540402835291602001916131c5565b820191905f5260205f20905b8154815290600101906020018083116131a857829003601f168201915b505050505081565b6008602052815f5260405f2081815481106131e6575f80fd5b905f5260205f20015f91509150505481565b6132006113f3565b15613237576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f81600101549050919050565b5f815f01549050919050565b80826001015f82825461326591906155c1565b925050819055505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f89190614eee565b60405180910390fd5b505f5f8473ffffffffffffffffffffffffffffffffffffffff16848460405160240161332e929190615b67565b60405160208183030381529060405263a9059cbb60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133809190615bd2565b5f604051808303815f865af19150503d805f81146133b9576040519150601f19603f3d011682016040523d82523d5f602084013e6133be565b606091505b5091509150816040518060400160405280601181526020017f7472616e736665722072657665727465640000000000000000000000000000008152509061343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134329190614eee565b60405180910390fd5b505f8151148061345b57508080602001905181019061345a9190615c12565b5b6040518060400160405280601781526020017f7472616e736665722072657475726e65642066616c7365000000000000000000815250906134d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134c99190614eee565b60405180910390fd5b505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6135548161354f613640565b613d7e565b50565b5f6135628383611fbd565b6136365760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506135d3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061363a565b5f90505b92915050565b5f33905090565b5f6136528383611fbd565b15613726575f5f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506136c3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061372a565b5f90505b92915050565b6137386138b0565b5f60015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61377a613640565b6040516137879190614109565b60405180910390a1565b5f815f0160059054906101000a900464ffffffffff169050919050565b5f81600301549050919050565b42826002015f6101000a81548164ffffffffff021916908364ffffffffff16021790555080825f015f8282546137f191906155c1565b925050819055505050565b5f815f01601e9054906101000a900461ffff169050919050565b5f81600301549050919050565b5f815f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6138576131f8565b6001805f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613899613640565b6040516138a69190614109565b60405180910390a1565b6138b86113f3565b6138ee576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6138f8613dcf565b1561392f576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61396d600161395f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f8473ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f79190614eee565b60405180910390fd5b505f5f8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401613a2f93929190615c3d565b6040516020818303038152906040526323b872dd60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051613a819190615bd2565b5f604051808303815f865af19150503d805f8114613aba576040519150601f19603f3d011682016040523d82523d5f602084013e613abf565b606091505b5091509150816040518060400160405280601581526020017f7472616e7366657246726f6d207265766572746564000000000000000000000081525090613b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b339190614eee565b60405180910390fd5b505f81511480613b5c575080806020019051810190613b5b9190615c12565b5b6040518060400160405280601b81526020017f7472616e7366657246726f6d2072657475726e65642066616c7365000000000081525090613bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bca9190614eee565b60405180910390fd5b50505050505050565b613c195f613c0b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f5f823b90505f8163ffffffff1611915050919050565b80825f01600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b80825f015f6101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80825f0160056101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80826001019081613cd89190615c72565b505050565b8082600201819055505050565b80825f01601e6101000a81548161ffff021916908361ffff1602179055505050565b8082600301819055505050565b5f815f015f9054906101000a900464ffffffffff169050919050565b5f81600201549050919050565b80826002015f6101000a8154816effffffffffffffffffffffffffffff02191690836effffffffffffffffffffffffffffff1602179055505050565b613d888282611fbd565b613dcb5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401613dc2929190615d41565b60405180910390fd5b5050565b5f613e03613dfe7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e18565b905090565b5f819050919050565b80825d5050565b5f815c9050919050565b6040518060e001604052805f64ffffffffff1681526020015f64ffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f61ffff168152602001606081526020015f81526020015f81525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f64ffffffffff1681525090565b5f5ffd5b5f5ffd5b5f819050919050565b613eea81613ed8565b8114613ef4575f5ffd5b50565b5f81359050613f0581613ee1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f3482613f0b565b9050919050565b613f4481613f2a565b8114613f4e575f5ffd5b50565b5f81359050613f5f81613f3b565b92915050565b5f5f60408385031215613f7b57613f7a613ed0565b5b5f613f8885828601613ef7565b9250506020613f9985828601613f51565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613fd781613fa3565b8114613fe1575f5ffd5b50565b5f81359050613ff281613fce565b92915050565b5f6020828403121561400d5761400c613ed0565b5b5f61401a84828501613fe4565b91505092915050565b5f8115159050919050565b61403781614023565b82525050565b5f6020820190506140505f83018461402e565b92915050565b5f5f6040838503121561406c5761406b613ed0565b5b5f61407985828601613f51565b925050602061408a85828601613ef7565b9150509250929050565b61409d81613ed8565b82525050565b5f6020820190506140b65f830184614094565b92915050565b5f5f604083850312156140d2576140d1613ed0565b5b5f6140df85828601613ef7565b92505060206140f085828601613ef7565b9150509250929050565b61410381613f2a565b82525050565b5f60208201905061411c5f8301846140fa565b92915050565b5f6effffffffffffffffffffffffffffff82169050919050565b61414581614122565b82525050565b5f60a08201905061415e5f830188614094565b61416b6020830187614094565b614178604083018661413c565b614185606083018561413c565b614192608083018461402e565b9695505050505050565b5f819050919050565b6141ae8161419c565b81146141b8575f5ffd5b50565b5f813590506141c9816141a5565b92915050565b5f602082840312156141e4576141e3613ed0565b5b5f6141f1848285016141bb565b91505092915050565b6142038161419c565b82525050565b5f60208201905061421c5f8301846141fa565b92915050565b5f5f6040838503121561423857614237613ed0565b5b5f614245858286016141bb565b925050602061425685828601613f51565b9150509250929050565b5f64ffffffffff82169050919050565b61427981614260565b82525050565b5f6020820190506142925f830184614270565b92915050565b5f6060820190506142ab5f830186614094565b6142b86020830185614094565b6142c56040830184614270565b949350505050565b5f5f5f606084860312156142e4576142e3613ed0565b5b5f6142f186828701613ef7565b935050602061430286828701613f51565b925050604061431386828701613ef7565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261433e5761433d61431d565b5b8235905067ffffffffffffffff81111561435b5761435a614321565b5b60208301915083602082028301111561437757614376614325565b5b9250929050565b5f5f5f6040848603121561439557614394613ed0565b5b5f6143a286828701613ef7565b935050602084013567ffffffffffffffff8111156143c3576143c2613ed4565b5b6143cf86828701614329565b92509250509250925092565b5f602082840312156143f0576143ef613ed0565b5b5f6143fd84828501613ef7565b91505092915050565b5f60a0820190506144195f830188614094565b6144266020830187614094565b6144336040830186614094565b6144406060830185614094565b61444d6080830184614094565b9695505050505050565b5f5f83601f84011261446c5761446b61431d565b5b8235905067ffffffffffffffff81111561448957614488614321565b5b6020830191508360208202830111156144a5576144a4614325565b5b9250929050565b5f5f5f5f5f606086880312156144c5576144c4613ed0565b5b5f6144d288828901613ef7565b955050602086013567ffffffffffffffff8111156144f3576144f2613ed4565b5b6144ff88828901614329565b9450945050604086013567ffffffffffffffff81111561452257614521613ed4565b5b61452e88828901614457565b92509250509295509295909350565b5f819050919050565b5f61456061455b61455684613f0b565b61453d565b613f0b565b9050919050565b5f61457182614546565b9050919050565b5f61458282614567565b9050919050565b61459281614578565b82525050565b5f6020820190506145ab5f830184614589565b92915050565b5f602082840312156145c6576145c5613ed0565b5b5f6145d384828501613f51565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61460e81613ed8565b82525050565b5f61461f8383614605565b60208301905092915050565b5f602082019050919050565b5f614641826145dc565b61464b81856145e6565b9350614656836145f6565b805f5b8381101561468657815161466d8882614614565b97506146788361462b565b925050600181019050614659565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6146c581614023565b82525050565b5f6146d683836146bc565b60208301905092915050565b5f602082019050919050565b5f6146f882614693565b614702818561469d565b935061470d836146ad565b805f5b8381101561473d57815161472488826146cb565b975061472f836146e2565b925050600181019050614710565b5085935050505092915050565b5f6040820190508181035f8301526147628185614637565b9050818103602083015261477681846146ee565b90509392505050565b5f5f5f5f6040858703121561479757614796613ed0565b5b5f85013567ffffffffffffffff8111156147b4576147b3613ed4565b5b6147c087828801614457565b9450945050602085013567ffffffffffffffff8111156147e3576147e2613ed4565b5b6147ef87828801614329565b925092505092959194509250565b61480681614260565b82525050565b61481581613f2a565b82525050565b5f61ffff82169050919050565b6148318161481b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61487982614837565b6148838185614841565b9350614893818560208601614851565b61489c8161485f565b840191505092915050565b5f60e083015f8301516148bc5f8601826147fd565b5060208301516148cf60208601826147fd565b5060408301516148e2604086018261480c565b5060608301516148f56060860182614828565b506080830151848203608086015261490d828261486f565b91505060a083015161492260a0860182614605565b5060c083015161493560c0860182614605565b508091505092915050565b60a082015f8201516149545f850182614605565b5060208201516149676020850182614605565b50604082015161497a6040850182614605565b50606082015161498d6060850182614605565b5060808201516149a06080850182614605565b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6149da838361480c565b60208301905092915050565b5f602082019050919050565b5f6149fc826149a6565b614a0681856149b0565b9350614a11836149c0565b805f5b83811015614a41578151614a2888826149cf565b9750614a33836149e6565b925050600181019050614a14565b5085935050505092915050565b5f610120820190508181035f830152614a6781886148a7565b9050614a766020830187614940565b614a8360c08301866140fa565b81810360e0830152614a9581856149f2565b9050818103610100830152614aaa81846149f2565b90509695505050505050565b614abf8161481b565b82525050565b5f82825260208201905092915050565b5f614adf82614837565b614ae98185614ac5565b9350614af9818560208601614851565b614b028161485f565b840191505092915050565b5f60e082019050614b205f83018a614270565b614b2d6020830189614270565b614b3a60408301886140fa565b614b476060830187614ab6565b8181036080830152614b598186614ad5565b9050614b6860a0830185614094565b614b7560c0830184614094565b98975050505050505050565b5f614b8b82613f2a565b9050919050565b614b9b81614b81565b8114614ba5575f5ffd5b50565b5f81359050614bb681614b92565b92915050565b5f5f60408385031215614bd257614bd1613ed0565b5b5f614bdf85828601614ba8565b9250506020614bf085828601613ef7565b9150509250929050565b5f5f83601f840112614c0f57614c0e61431d565b5b8235905067ffffffffffffffff811115614c2c57614c2b614321565b5b602083019150836001820283011115614c4857614c47614325565b5b9250929050565b5f5f5f5f60608587031215614c6757614c66613ed0565b5b5f614c7487828801613ef7565b9450506020614c8587828801613ef7565b935050604085013567ffffffffffffffff811115614ca657614ca5613ed4565b5b614cb287828801614bfa565b925092505092959194509250565b614cc981614260565b8114614cd3575f5ffd5b50565b5f81359050614ce481614cc0565b92915050565b614cf38161481b565b8114614cfd575f5ffd5b50565b5f81359050614d0e81614cea565b92915050565b5f5f5f5f5f5f5f5f60e0898b031215614d3057614d2f613ed0565b5b5f614d3d8b828c01614cd6565b9850506020614d4e8b828c01614cd6565b975050604089013567ffffffffffffffff811115614d6f57614d6e613ed4565b5b614d7b8b828c01614bfa565b96509650506060614d8e8b828c01613ef7565b9450506080614d9f8b828c01613f51565b93505060a0614db08b828c01614d00565b92505060c0614dc18b828c01613ef7565b9150509295985092959890939650565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151614e0e5f850182614605565b506020820151614e216020850182614605565b506040820151614e3460408501826147fd565b50505050565b5f614e458383614dfa565b60608301905092915050565b5f602082019050919050565b5f614e6782614dd1565b614e718185614ddb565b9350614e7c83614deb565b805f5b83811015614eac578151614e938882614e3a565b9750614e9e83614e51565b925050600181019050614e7f565b5085935050505092915050565b5f6040820190508181035f830152614ed181856149f2565b90508181036020830152614ee58184614e5d565b90509392505050565b5f6020820190508181035f830152614f068184614ad5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614f4582613ed8565b9150614f5083613ed8565b9250828203905081811115614f6857614f67614f0e565b5b92915050565b7f4e6f2077696e6e696e67730000000000000000000000000000000000000000005f82015250565b5f614fa2600b83614ac5565b9150614fad82614f6e565b602082019050919050565b5f6020820190508181035f830152614fcf81614f96565b9050919050565b5f604082019050614fe95f830185614094565b614ff66020830184614094565b9392505050565b7f506f6f6c206e6f7420656e6465640000000000000000000000000000000000005f82015250565b5f615031600e83614ac5565b915061503c82614ffd565b602082019050919050565b5f6020820190508181035f83015261505e81615025565b9050919050565b7f4e6f742061207061727469636970616e740000000000000000000000000000005f82015250565b5f615099601183614ac5565b91506150a482615065565b602082019050919050565b5f6020820190508181035f8301526150c68161508d565b9050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f615101601283614ac5565b915061510c826150cd565b602082019050919050565b5f6020820190508181035f83015261512e816150f5565b9050919050565b7f416c726561647920636c61696d656400000000000000000000000000000000005f82015250565b5f615169600f83614ac5565b915061517482615135565b602082019050919050565b5f6020820190508181035f8301526151968161515d565b9050919050565b7f546f74616c2077696e6e657273206e6f742073657400000000000000000000005f82015250565b5f6151d1601583614ac5565b91506151dc8261519d565b602082019050919050565b5f6020820190508181035f8301526151fe816151c5565b9050919050565b7f496e76616c6964206e756d626572206f662077696e6e657273000000000000005f82015250565b5f615239601983614ac5565b915061524482615205565b602082019050919050565b5f6020820190508181035f8301526152668161522d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6152a482613ed8565b91506152af83613ed8565b9250826152bf576152be61526d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61532b600d83614ac5565b9150615336826152f7565b602082019050919050565b5f6020820190508181035f8301526153588161531f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61539682614260565b91506153a183614260565b9250828201905064ffffffffff8111156153be576153bd614f0e565b5b92915050565b7f4e6f7468696e6720746f207769746864726177000000000000000000000000005f82015250565b5f6153f8601383614ac5565b9150615403826153c4565b602082019050919050565b5f6020820190508181035f830152615425816153ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061547057607f821691505b6020821081036154835761548261542c565b5b50919050565b7f506f6f6c206e6f742063726561746564000000000000000000000000000000005f82015250565b5f6154bd601083614ac5565b91506154c882615489565b602082019050919050565b5f6020820190508181035f8301526154ea816154b1565b9050919050565b7f506f6f6c20656e646564000000000000000000000000000000000000000000005f82015250565b5f615525600a83614ac5565b9150615530826154f1565b602082019050919050565b5f6020820190508181035f83015261555281615519565b9050919050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f61558d600e83614ac5565b915061559882615559565b602082019050919050565b5f6020820190508181035f8301526155ba81615581565b9050919050565b5f6155cb82613ed8565b91506155d683613ed8565b92508282019050808211156155ee576155ed614f0e565b5b92915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261565a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261561f565b615664868361561f565b95508019841693508086168417925050509392505050565b5f61569661569161568c84613ed8565b61453d565b613ed8565b9050919050565b5f819050919050565b6156af8361567c565b6156c36156bb8261569d565b84845461562b565b825550505050565b5f5f905090565b6156da6156cb565b6156e58184846156a6565b505050565b5b81811015615708576156fd5f826156d2565b6001810190506156eb565b5050565b601f82111561574d5761571e816155fe565b61572784615610565b81016020851015615736578190505b61574a61574285615610565b8301826156ea565b50505b505050565b5f82821c905092915050565b5f61576d5f1984600802615752565b1980831691505092915050565b5f615785838361575e565b9150826002028217905092915050565b61579f83836155f4565b67ffffffffffffffff8111156157b8576157b761535f565b5b6157c28254615459565b6157cd82828561570c565b5f601f8311600181146157fa575f84156157e8578287013590505b6157f2858261577a565b865550615859565b601f198416615808866155fe565b5f5b8281101561582f5784890135825560018201915060208501945060208101905061580a565b8683101561584c5784890135615848601f89168261575e565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f61587b8385614ac5565b9350615888838584615862565b6158918361485f565b840190509392505050565b5f6060820190506158af5f830187614094565b6158bc6020830186614094565b81810360408301526158cf818486615870565b905095945050505050565b7f496e76616c69642074696d696e670000000000000000000000000000000000005f82015250565b5f61590e600e83614ac5565b9150615919826158da565b602082019050919050565b5f6020820190508181035f83015261593b81615902565b9050919050565b7f546f6b656e206e6f7420636f6e747261637400000000000000000000000000005f82015250565b5f615976601283614ac5565b915061598182615942565b602082019050919050565b5f6020820190508181035f8301526159a38161596a565b9050919050565b5f6159b482613ed8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036159e6576159e5614f0e565b5b600182019050919050565b5f606082019050615a045f830187614094565b8181036020830152615a17818587615870565b9050615a266040830184614094565b95945050505050565b7f506f6f6c206e6f742073746172746564000000000000000000000000000000005f82015250565b5f615a63601083614ac5565b9150615a6e82615a2f565b602082019050919050565b5f6020820190508181035f830152615a9081615a57565b9050919050565b7f416c726561647920696e20706f6f6c00000000000000000000000000000000005f82015250565b5f615acb600f83614ac5565b9150615ad682615a97565b602082019050919050565b5f6020820190508181035f830152615af881615abf565b9050919050565b7f496e73756666696369656e7420616d6f756e74000000000000000000000000005f82015250565b5f615b33601383614ac5565b9150615b3e82615aff565b602082019050919050565b5f6020820190508181035f830152615b6081615b27565b9050919050565b5f604082019050615b7a5f8301856140fa565b615b876020830184614094565b9392505050565b5f81519050919050565b5f81905092915050565b5f615bac82615b8e565b615bb68185615b98565b9350615bc6818560208601614851565b80840191505092915050565b5f615bdd8284615ba2565b915081905092915050565b615bf181614023565b8114615bfb575f5ffd5b50565b5f81519050615c0c81615be8565b92915050565b5f60208284031215615c2757615c26613ed0565b5b5f615c3484828501615bfe565b91505092915050565b5f606082019050615c505f8301866140fa565b615c5d60208301856140fa565b615c6a6040830184614094565b949350505050565b615c7b82614837565b67ffffffffffffffff811115615c9457615c9361535f565b5b615c9e8254615459565b615ca982828561570c565b5f60209050601f831160018114615cda575f8415615cc8578287015190505b615cd2858261577a565b865550615d39565b601f198416615ce8866155fe565b5f5b82811015615d0f57848901518255600182019150602085019450602081019050615cea565b86831015615d2c5784890151615d28601f89168261575e565b8355505b6001600288020188555050505b505050505050565b5f604082019050615d545f8301856140fa565b615d6160208301846141fa565b939250505056fea2646970667358221220ebd06702f9baca21d503971a086887c568d391b64d59939edb105c1315d3548064736f6c634300081e0033", + "nonce": "0x5bf", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Pool", + "contractAddress": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "function": "createPool(uint40,uint40,string,uint256,address,uint16,uint256)", + "arguments": [ + "1747590159", + "1747611759", + "Test pool", + "1000", + "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "1", + "1000" + ], + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "to": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "gas": "0x4fbf7", + "value": "0x0", + "input": "0xb462039700000000000000000000000000000000000000000000000000000000682a1c0f00000000000000000000000000000000000000000000000000000000682a706f00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "nonce": "0x5c0", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1747417367, + "chain": 8453, + "commit": "0d0018b" +} \ No newline at end of file diff --git a/broadcast/Pool.s.sol/8453/run-1747417394.json b/broadcast/Pool.s.sol/8453/run-1747417394.json new file mode 100644 index 0000000..463673d --- /dev/null +++ b/broadcast/Pool.s.sol/8453/run-1747417394.json @@ -0,0 +1,143 @@ +{ + "transactions": [ + { + "hash": "0xa24fb710634b5e6aa95cd74dd9547a9bdc191a7dcb6dd0f530138046d2e1bca4", + "transactionType": "CREATE", + "contractName": "Pool", + "contractAddress": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "gas": "0x689c05", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506100225f5f1b3361005960201b60201c565b506100537fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217753361005960201b60201c565b506101b8565b5f61006a838361014e60201b60201c565b6101445760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506100e16101b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610148565b5f90505b92915050565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b615d9e806101c55f395ff3fe608060405234801561000f575f5ffd5b5060043610610251575f3560e01c80636f527aed116101445780639294a9a0116100c1578063b462039711610085578063b46203971461078c578063b6c8f0ea146107bc578063d547741f146107ed578063e2bbb15814610809578063fc43a10d14610839578063fe240bed1461086957610251565b80639294a9a0146106d057806395ccea67146107065780639d5292f714610722578063a217fddf14610752578063b103dbbb1461077057610251565b806382ef7b641161010857806382ef7b641461061657806383a06e5b146106325780638456cb59146106665780638486910a1461067057806391d14854146106a057610251565b80636f527aed1461054b57806371311f5d1461057b57806375b238fc146105ac5780637946ec5e146105ca57806381fb1fb4146105e657610251565b806348e8f215116101d25780635c975abb116101965780635c975abb1461047d578063686108fc1461049b5780636a6d964e146104cb5780636cb0b567146104ff5780636e7d40191461051b57610251565b806348e8f215146103c55780634c7d819b146103e357806351b422831461041557806355062d2b14610431578063589a0fe91461046157610251565b8063248a9ca311610219578063248a9ca3146103355780632f2ff15d1461036557806336568abe146103815780633f4ba83a1461039d57806346541a24146103a757610251565b8063016c85371461025557806301ffc9a7146102715780630e339f39146102a15780630efc8865146102d15780631f0c049914610301575b5f5ffd5b61026f600480360381019061026a9190613f65565b610899565b005b61028b60048036038101906102869190613ff8565b610aa6565b604051610298919061403d565b60405180910390f35b6102bb60048036038101906102b69190614056565b610b1f565b6040516102c891906140a3565b60405180910390f35b6102eb60048036038101906102e691906140bc565b610b3f565b6040516102f89190614109565b60405180910390f35b61031b60048036038101906103169190614056565b610b87565b60405161032c95949392919061414b565b60405180910390f35b61034f600480360381019061034a91906141cf565b610c06565b60405161035c9190614209565b60405180910390f35b61037f600480360381019061037a9190614222565b610c22565b005b61039b60048036038101906103969190614222565b610c44565b005b6103a5610cbf565b005b6103af610cf4565b6040516103bc91906140a3565b60405180910390f35b6103cd610cfa565b6040516103da919061427f565b60405180910390f35b6103fd60048036038101906103f89190614056565b610d01565b60405161040c93929190614298565b60405180910390f35b61042f600480360381019061042a91906142cd565b610d42565b005b61044b60048036038101906104469190614056565b6111d7565b604051610458919061403d565b60405180910390f35b61047b6004803603810190610476919061437e565b611201565b005b6104856113f3565b604051610492919061403d565b60405180910390f35b6104b560048036038101906104b09190614056565b611408565b6040516104c291906140a3565b60405180910390f35b6104e560048036038101906104e091906143db565b611433565b6040516104f6959493929190614406565b60405180910390f35b610519600480360381019061051491906144ac565b611465565b005b610535600480360381019061053091906143db565b6115be565b6040516105429190614598565b60405180910390f35b61056560048036038101906105609190614056565b6115ee565b604051610572919061403d565b60405180910390f35b610595600480360381019061059091906145b1565b611618565b6040516105a392919061474a565b60405180910390f35b6105b4611869565b6040516105c19190614209565b60405180910390f35b6105e460048036038101906105df919061477f565b61188d565b005b61060060048036038101906105fb91906140bc565b611948565b60405161060d9190614109565b60405180910390f35b610630600480360381019061062b91906143db565b611990565b005b61064c600480360381019061064791906143db565b611be6565b60405161065d959493929190614a4e565b60405180910390f35b61066e611f40565b005b61068a600480360381019061068591906140bc565b611f75565b6040516106979190614109565b60405180910390f35b6106ba60048036038101906106b59190614222565b611fbd565b6040516106c7919061403d565b60405180910390f35b6106ea60048036038101906106e591906143db565b612020565b6040516106fd9796959493929190614b0d565b60405180910390f35b610720600480360381019061071b9190614bbc565b612130565b005b61073c60048036038101906107379190614056565b612192565b60405161074991906140a3565b60405180910390f35b61075a6121bd565b6040516107679190614209565b60405180910390f35b61078a60048036038101906107859190614c4f565b6121c3565b005b6107a660048036038101906107a19190614d14565b6125a8565b6040516107b391906140a3565b60405180910390f35b6107d660048036038101906107d191906143db565b612954565b6040516107e4929190614eb9565b60405180910390f35b61080760048036038101906108029190614222565b612b89565b005b610823600480360381019061081e91906140bc565b612bab565b604051610830919061403d565b60405180910390f35b610853600480360381019061084e91906140bc565b61311c565b6040516108609190614eee565b60405180910390f35b610883600480360381019061087e9190614056565b6131cd565b60405161089091906140a3565b60405180910390f35b6108a16131f8565b5f6108f6600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20613239565b61094a600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f20613246565b6109549190614f3b565b90505f8111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90614fb8565b60405180910390fd5b6109f681600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2061325290919063ffffffff16565b610a51828260045f8781526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f5380cf6fe903b40c6d5a9e0dfbca2f3a423f0a21520b4d5947ed5169bdba946d8483604051610a99929190614fd6565b60405180910390a2505050565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b185750610b17826134da565b5b9050919050565b600f602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f208181548110610b58575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a90046effffffffffffffffffffffffffffff169080600201600f9054906101000a90046effffffffffffffffffffffffffffff169080600201601e9054906101000a900460ff16905085565b5f5f5f8381526020019081526020015f20600101549050919050565b610c2b82610c06565b610c3481613543565b610c3e8383613557565b50505050565b610c4c613640565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cb0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba8282613647565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ce981613543565b610cf1613730565b50565b60025481565b62093a8081565b600d602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a900464ffffffffff16905083565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16610ddd57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401610dd49190614109565b60405180910390fd5b610de56131f8565b42610dff60035f8781526020019081526020015f20613791565b64ffffffffff1610610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90615047565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed5906150af565b60405180910390fd5b610ef760055f8681526020019081526020015f206137ae565b821115610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090615117565b60405180910390fd5b5f610f8e600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613239565b14610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc59061517f565b60405180910390fd5b8160055f8681526020019081526020015f206003015f828254610ff19190614f3b565b9250508190555061105682600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f206137bb90919063ffffffff16565b5f6110ab600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613246565b036111815760075f8581526020019081526020015f2083908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150555b8273ffffffffffffffffffffffffffffffffffffffff167f86c416066bc80b64ebce6090a491b86f879b69c8a018bfc62da9549e2c618e5a85846040516111c9929190614fd6565b60405180910390a250505050565b6009602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661129c57336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016112939190614109565b60405180910390fd5b6112a46131f8565b5f6112be60035f8781526020019081526020015f206137fc565b90505f6112da60035f8881526020019081526020015f20613816565b90505f8261ffff1611611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906151e7565b60405180910390fd5b8161ffff16858590501461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061524f565b60405180910390fd5b5f810361139d578161ffff1661139060055f8981526020019081526020015f206137ae565b61139a919061529a565b90505b5f5b8261ffff168110156113ea576113dd878787848181106113c2576113c16152ca565b5b90506020020160208101906113d791906145b1565b84610d42565b808060010191505061139f565b50505050505050565b5f60015f9054906101000a900460ff16905090565b600a602052815f5260405f208181548110611421575f80fd5b905f5260205f20015f91509150505481565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b8460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661150057336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016114f79190614109565b60405180910390fd5b6115086131f8565b828290508585905014611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790615341565b60405180910390fd5b5f5b858590508110156115b5576115a887878784818110611574576115736152ca565b5b905060200201602081019061158991906145b1565b86868581811061159c5761159b6152ca565b5b90506020020135610d42565b8080600101915050611552565b50505050505050565b6004602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b6060805f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905067ffffffffffffffff8111156116765761167561535f565b5b6040519080825280602002602001820160405280156116a45781602001602082028036833780820191505090505b5090505f5b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156117d0575f61179d600d5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208581548110611782576117816152ca565b5b905f5260205f20015481526020019081526020015f20613239565b118282815181106117b1576117b06152ca565b5b60200260200101901515908115158152505080806001019150506116a9565b50600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818180548060200260200160405190810160405280929190818152602001828054801561185857602002820191905f5260205f20905b815481526020019060010190808311611844575b505050505091509250925050915091565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6118956131f8565b8383905084849050146118dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d490615341565b60405180910390fd5b5f5b8484905081101561194157611934858583818110611900576118ff6152ca565b5b9050602002013584848481811061191a576119196152ca565b5b905060200201602081019061192f91906145b1565b610899565b80806001019150506118df565b5050505050565b6006602052815f5260405f208181548110611961575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16611a2b57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401611a229190614109565b60405180910390fd5b611a336131f8565b4262093a80611a5160035f8681526020019081526020015f20613791565b611a5b919061538c565b64ffffffffff1610611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990615047565b60405180910390fd5b5f611abc60055f8581526020019081526020015f206137ae565b90505f8111611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79061540e565b60405180910390fd5b5f60055f8581526020019081526020015f20600301819055505f611b3360035f8681526020019081526020015f20613823565b9050611b90818360045f8881526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0d8b7f535379cc0ea989891df832f4201d074cd58a544b15f916d2ebf1d3639c8584604051611bd8929190614fd6565b60405180910390a250505050565b611bee613e22565b611bf6613e81565b5f60608060035f8781526020019081526020015f2060055f8881526020019081526020015f2060045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f8a81526020019081526020015f2060075f8b81526020019081526020015f20846040518060e00160405290815f82015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f820160059054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f8201600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f8201601e9054906101000a900461ffff1661ffff1661ffff168152602001600182018054611d4e90615459565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7a90615459565b8015611dc55780601f10611d9c57610100808354040283529160200191611dc5565b820191905f5260205f20905b815481529060010190602001808311611da857829003601f168201915b50505050508152602001600282015481526020016003820154815250509450836040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050935081805480602002602001604051908101604052809291908181526020018280548015611ea157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611e58575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015611f2657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611edd575b505050505090509450945094509450945091939590929450565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f6a81613543565b611f7261384f565b50565b6010602052815f5260405f208181548110611f8e575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6003602052805f5260405f205f91509050805f015f9054906101000a900464ffffffffff1690805f0160059054906101000a900464ffffffffff1690805f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f01601e9054906101000a900461ffff16908060010180546120a390615459565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf90615459565b801561211a5780601f106120f15761010080835404028352916020019161211a565b820191905f5260205f20905b8154815290600101906020018083116120fd57829003601f168201915b5050505050908060020154908060030154905087565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561215a81613543565b6121626138b0565b61218d33838573ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b505050565b600e602052815f5260405f2081815481106121ab575f80fd5b905f5260205f20015f91509150505481565b5f5f1b81565b6121cb6131f8565b6121d36138f0565b5f73ffffffffffffffffffffffffffffffffffffffff1661220360035f8781526020019081526020015f20613823565b73ffffffffffffffffffffffffffffffffffffffff1603612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906154d3565b60405180910390fd5b4261227360035f8781526020019081526020015f20613791565b64ffffffffff1610156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b29061553b565b60405180910390fd5b5f83116122fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f4906155a3565b60405180910390fd5b8260055f8681526020019081526020015f205f015f82825461231f91906155c1565b925050819055508260055f8681526020019081526020015f206003015f82825461234991906155c1565b925050819055508260055f8681526020019081526020015f206004015f82825461237391906155c1565b925050819055505f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2054036124875760115f8581526020019081526020015f20828290918060018154018082558091505060019003905f5260205f20015f909192909192909192909192509182612416929190615795565b5060105f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b82600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f8282546124e291906155c1565b9250508190555061254633308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f73095116d9e21ea08dd2f8b16ed194cadd05eb470efa77ab8c63e91477d828cc85858585604051612592949392919061589c565b60405180910390a26125a2613bdc565b50505050565b5f6125b16131f8565b8764ffffffffff168964ffffffffff1610612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890615924565b60405180910390fd5b61260a84613c1b565b612649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126409061598c565b60405180910390fd5b60025f81548092919061265b906159aa565b91905055506126853360035f60025481526020019081526020015f20613c3290919063ffffffff16565b600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025481526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600254908060018154018082558091505060019003905f5260205f20015f90919091909150556127738960035f60025481526020019081526020015f20613c7890919063ffffffff16565b6127988860035f60025481526020019081526020015f20613c9f90919063ffffffff16565b61280087878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505060035f60025481526020019081526020015f20613cc790919063ffffffff16565b6128258560035f60025481526020019081526020015f20613cdd90919063ffffffff16565b5f8361ffff161115612857576128568360035f60025481526020019081526020015f20613cea90919063ffffffff16565b5b5f821115612885576128848260035f60025481526020019081526020015f20613d0c90919063ffffffff16565b5b8360045f60025481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f16002548a8a8a60405161293b94939291906159f1565b60405180910390a3600254905098975050505050505050565b6060805f60075f8581526020019081526020015f208054905067ffffffffffffffff8111156129865761298561535f565b5b6040519080825280602002602001820160405280156129bf57816020015b6129ac613eab565b8152602001906001900390816129a45790505b5090505f5b60075f8681526020019081526020015f2080549050811015612ae757600d5f60075f8881526020019081526020015f208381548110612a0657612a056152ca565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f206040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681525050828281518110612acf57612ace6152ca565b5b602002602001018190525080806001019150506129c4565b5060075f8581526020019081526020015f208181805480602002602001604051908101604052809291908181526020018280548015612b7857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612b2f575b505050505091509250925050915091565b612b9282610c06565b612b9b81613543565b612ba58383613647565b50505050565b5f612bb46131f8565b612bbc6138f0565b42612bd660035f8681526020019081526020015f20613d19565b64ffffffffff1610612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490615a79565b60405180910390fd5b42612c3760035f8681526020019081526020015f20613791565b64ffffffffff161015612c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c769061553b565b60405180910390fd5b600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900460ff1615612d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0f90615ae1565b60405180910390fd5b5f612d3260035f8681526020019081526020015f20613d35565b905080831015612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90615b49565b60405180910390fd5b80831115612e10578083612d8b9190614f3b565b60055f8681526020019081526020015f206004015f828254612dad91906155c1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f4b980b78760b02f4b4f1149bdcc168aec45990f1247e5e26860f1a6dc7a17ba4858386612df99190614f3b565b604051612e07929190614fd6565b60405180910390a25b8260055f8681526020019081526020015f205f015f828254612e3291906155c1565b925050819055508260055f8681526020019081526020015f206003015f828254612e5c91906155c1565b92505081905550612ed560065f8681526020019081526020015f2080549050600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613d4290919063ffffffff16565b60065f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150556001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f01819055506130b933308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b98585604051613101929190614fd6565b60405180910390a26001915050613116613bdc565b92915050565b6011602052815f5260405f208181548110613135575f80fd5b905f5260205f20015f9150915050805461314e90615459565b80601f016020809104026020016040519081016040528092919081815260200182805461317a90615459565b80156131c55780601f1061319c576101008083540402835291602001916131c5565b820191905f5260205f20905b8154815290600101906020018083116131a857829003601f168201915b505050505081565b6008602052815f5260405f2081815481106131e6575f80fd5b905f5260205f20015f91509150505481565b6132006113f3565b15613237576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f81600101549050919050565b5f815f01549050919050565b80826001015f82825461326591906155c1565b925050819055505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f89190614eee565b60405180910390fd5b505f5f8473ffffffffffffffffffffffffffffffffffffffff16848460405160240161332e929190615b67565b60405160208183030381529060405263a9059cbb60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133809190615bd2565b5f604051808303815f865af19150503d805f81146133b9576040519150601f19603f3d011682016040523d82523d5f602084013e6133be565b606091505b5091509150816040518060400160405280601181526020017f7472616e736665722072657665727465640000000000000000000000000000008152509061343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134329190614eee565b60405180910390fd5b505f8151148061345b57508080602001905181019061345a9190615c12565b5b6040518060400160405280601781526020017f7472616e736665722072657475726e65642066616c7365000000000000000000815250906134d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134c99190614eee565b60405180910390fd5b505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6135548161354f613640565b613d7e565b50565b5f6135628383611fbd565b6136365760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506135d3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061363a565b5f90505b92915050565b5f33905090565b5f6136528383611fbd565b15613726575f5f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506136c3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061372a565b5f90505b92915050565b6137386138b0565b5f60015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61377a613640565b6040516137879190614109565b60405180910390a1565b5f815f0160059054906101000a900464ffffffffff169050919050565b5f81600301549050919050565b42826002015f6101000a81548164ffffffffff021916908364ffffffffff16021790555080825f015f8282546137f191906155c1565b925050819055505050565b5f815f01601e9054906101000a900461ffff169050919050565b5f81600301549050919050565b5f815f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6138576131f8565b6001805f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613899613640565b6040516138a69190614109565b60405180910390a1565b6138b86113f3565b6138ee576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6138f8613dcf565b1561392f576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61396d600161395f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f8473ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f79190614eee565b60405180910390fd5b505f5f8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401613a2f93929190615c3d565b6040516020818303038152906040526323b872dd60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051613a819190615bd2565b5f604051808303815f865af19150503d805f8114613aba576040519150601f19603f3d011682016040523d82523d5f602084013e613abf565b606091505b5091509150816040518060400160405280601581526020017f7472616e7366657246726f6d207265766572746564000000000000000000000081525090613b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b339190614eee565b60405180910390fd5b505f81511480613b5c575080806020019051810190613b5b9190615c12565b5b6040518060400160405280601b81526020017f7472616e7366657246726f6d2072657475726e65642066616c7365000000000081525090613bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bca9190614eee565b60405180910390fd5b50505050505050565b613c195f613c0b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f5f823b90505f8163ffffffff1611915050919050565b80825f01600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b80825f015f6101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80825f0160056101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80826001019081613cd89190615c72565b505050565b8082600201819055505050565b80825f01601e6101000a81548161ffff021916908361ffff1602179055505050565b8082600301819055505050565b5f815f015f9054906101000a900464ffffffffff169050919050565b5f81600201549050919050565b80826002015f6101000a8154816effffffffffffffffffffffffffffff02191690836effffffffffffffffffffffffffffff1602179055505050565b613d888282611fbd565b613dcb5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401613dc2929190615d41565b60405180910390fd5b5050565b5f613e03613dfe7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e18565b905090565b5f819050919050565b80825d5050565b5f815c9050919050565b6040518060e001604052805f64ffffffffff1681526020015f64ffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f61ffff168152602001606081526020015f81526020015f81525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f64ffffffffff1681525090565b5f5ffd5b5f5ffd5b5f819050919050565b613eea81613ed8565b8114613ef4575f5ffd5b50565b5f81359050613f0581613ee1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f3482613f0b565b9050919050565b613f4481613f2a565b8114613f4e575f5ffd5b50565b5f81359050613f5f81613f3b565b92915050565b5f5f60408385031215613f7b57613f7a613ed0565b5b5f613f8885828601613ef7565b9250506020613f9985828601613f51565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613fd781613fa3565b8114613fe1575f5ffd5b50565b5f81359050613ff281613fce565b92915050565b5f6020828403121561400d5761400c613ed0565b5b5f61401a84828501613fe4565b91505092915050565b5f8115159050919050565b61403781614023565b82525050565b5f6020820190506140505f83018461402e565b92915050565b5f5f6040838503121561406c5761406b613ed0565b5b5f61407985828601613f51565b925050602061408a85828601613ef7565b9150509250929050565b61409d81613ed8565b82525050565b5f6020820190506140b65f830184614094565b92915050565b5f5f604083850312156140d2576140d1613ed0565b5b5f6140df85828601613ef7565b92505060206140f085828601613ef7565b9150509250929050565b61410381613f2a565b82525050565b5f60208201905061411c5f8301846140fa565b92915050565b5f6effffffffffffffffffffffffffffff82169050919050565b61414581614122565b82525050565b5f60a08201905061415e5f830188614094565b61416b6020830187614094565b614178604083018661413c565b614185606083018561413c565b614192608083018461402e565b9695505050505050565b5f819050919050565b6141ae8161419c565b81146141b8575f5ffd5b50565b5f813590506141c9816141a5565b92915050565b5f602082840312156141e4576141e3613ed0565b5b5f6141f1848285016141bb565b91505092915050565b6142038161419c565b82525050565b5f60208201905061421c5f8301846141fa565b92915050565b5f5f6040838503121561423857614237613ed0565b5b5f614245858286016141bb565b925050602061425685828601613f51565b9150509250929050565b5f64ffffffffff82169050919050565b61427981614260565b82525050565b5f6020820190506142925f830184614270565b92915050565b5f6060820190506142ab5f830186614094565b6142b86020830185614094565b6142c56040830184614270565b949350505050565b5f5f5f606084860312156142e4576142e3613ed0565b5b5f6142f186828701613ef7565b935050602061430286828701613f51565b925050604061431386828701613ef7565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261433e5761433d61431d565b5b8235905067ffffffffffffffff81111561435b5761435a614321565b5b60208301915083602082028301111561437757614376614325565b5b9250929050565b5f5f5f6040848603121561439557614394613ed0565b5b5f6143a286828701613ef7565b935050602084013567ffffffffffffffff8111156143c3576143c2613ed4565b5b6143cf86828701614329565b92509250509250925092565b5f602082840312156143f0576143ef613ed0565b5b5f6143fd84828501613ef7565b91505092915050565b5f60a0820190506144195f830188614094565b6144266020830187614094565b6144336040830186614094565b6144406060830185614094565b61444d6080830184614094565b9695505050505050565b5f5f83601f84011261446c5761446b61431d565b5b8235905067ffffffffffffffff81111561448957614488614321565b5b6020830191508360208202830111156144a5576144a4614325565b5b9250929050565b5f5f5f5f5f606086880312156144c5576144c4613ed0565b5b5f6144d288828901613ef7565b955050602086013567ffffffffffffffff8111156144f3576144f2613ed4565b5b6144ff88828901614329565b9450945050604086013567ffffffffffffffff81111561452257614521613ed4565b5b61452e88828901614457565b92509250509295509295909350565b5f819050919050565b5f61456061455b61455684613f0b565b61453d565b613f0b565b9050919050565b5f61457182614546565b9050919050565b5f61458282614567565b9050919050565b61459281614578565b82525050565b5f6020820190506145ab5f830184614589565b92915050565b5f602082840312156145c6576145c5613ed0565b5b5f6145d384828501613f51565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61460e81613ed8565b82525050565b5f61461f8383614605565b60208301905092915050565b5f602082019050919050565b5f614641826145dc565b61464b81856145e6565b9350614656836145f6565b805f5b8381101561468657815161466d8882614614565b97506146788361462b565b925050600181019050614659565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6146c581614023565b82525050565b5f6146d683836146bc565b60208301905092915050565b5f602082019050919050565b5f6146f882614693565b614702818561469d565b935061470d836146ad565b805f5b8381101561473d57815161472488826146cb565b975061472f836146e2565b925050600181019050614710565b5085935050505092915050565b5f6040820190508181035f8301526147628185614637565b9050818103602083015261477681846146ee565b90509392505050565b5f5f5f5f6040858703121561479757614796613ed0565b5b5f85013567ffffffffffffffff8111156147b4576147b3613ed4565b5b6147c087828801614457565b9450945050602085013567ffffffffffffffff8111156147e3576147e2613ed4565b5b6147ef87828801614329565b925092505092959194509250565b61480681614260565b82525050565b61481581613f2a565b82525050565b5f61ffff82169050919050565b6148318161481b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61487982614837565b6148838185614841565b9350614893818560208601614851565b61489c8161485f565b840191505092915050565b5f60e083015f8301516148bc5f8601826147fd565b5060208301516148cf60208601826147fd565b5060408301516148e2604086018261480c565b5060608301516148f56060860182614828565b506080830151848203608086015261490d828261486f565b91505060a083015161492260a0860182614605565b5060c083015161493560c0860182614605565b508091505092915050565b60a082015f8201516149545f850182614605565b5060208201516149676020850182614605565b50604082015161497a6040850182614605565b50606082015161498d6060850182614605565b5060808201516149a06080850182614605565b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6149da838361480c565b60208301905092915050565b5f602082019050919050565b5f6149fc826149a6565b614a0681856149b0565b9350614a11836149c0565b805f5b83811015614a41578151614a2888826149cf565b9750614a33836149e6565b925050600181019050614a14565b5085935050505092915050565b5f610120820190508181035f830152614a6781886148a7565b9050614a766020830187614940565b614a8360c08301866140fa565b81810360e0830152614a9581856149f2565b9050818103610100830152614aaa81846149f2565b90509695505050505050565b614abf8161481b565b82525050565b5f82825260208201905092915050565b5f614adf82614837565b614ae98185614ac5565b9350614af9818560208601614851565b614b028161485f565b840191505092915050565b5f60e082019050614b205f83018a614270565b614b2d6020830189614270565b614b3a60408301886140fa565b614b476060830187614ab6565b8181036080830152614b598186614ad5565b9050614b6860a0830185614094565b614b7560c0830184614094565b98975050505050505050565b5f614b8b82613f2a565b9050919050565b614b9b81614b81565b8114614ba5575f5ffd5b50565b5f81359050614bb681614b92565b92915050565b5f5f60408385031215614bd257614bd1613ed0565b5b5f614bdf85828601614ba8565b9250506020614bf085828601613ef7565b9150509250929050565b5f5f83601f840112614c0f57614c0e61431d565b5b8235905067ffffffffffffffff811115614c2c57614c2b614321565b5b602083019150836001820283011115614c4857614c47614325565b5b9250929050565b5f5f5f5f60608587031215614c6757614c66613ed0565b5b5f614c7487828801613ef7565b9450506020614c8587828801613ef7565b935050604085013567ffffffffffffffff811115614ca657614ca5613ed4565b5b614cb287828801614bfa565b925092505092959194509250565b614cc981614260565b8114614cd3575f5ffd5b50565b5f81359050614ce481614cc0565b92915050565b614cf38161481b565b8114614cfd575f5ffd5b50565b5f81359050614d0e81614cea565b92915050565b5f5f5f5f5f5f5f5f60e0898b031215614d3057614d2f613ed0565b5b5f614d3d8b828c01614cd6565b9850506020614d4e8b828c01614cd6565b975050604089013567ffffffffffffffff811115614d6f57614d6e613ed4565b5b614d7b8b828c01614bfa565b96509650506060614d8e8b828c01613ef7565b9450506080614d9f8b828c01613f51565b93505060a0614db08b828c01614d00565b92505060c0614dc18b828c01613ef7565b9150509295985092959890939650565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151614e0e5f850182614605565b506020820151614e216020850182614605565b506040820151614e3460408501826147fd565b50505050565b5f614e458383614dfa565b60608301905092915050565b5f602082019050919050565b5f614e6782614dd1565b614e718185614ddb565b9350614e7c83614deb565b805f5b83811015614eac578151614e938882614e3a565b9750614e9e83614e51565b925050600181019050614e7f565b5085935050505092915050565b5f6040820190508181035f830152614ed181856149f2565b90508181036020830152614ee58184614e5d565b90509392505050565b5f6020820190508181035f830152614f068184614ad5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614f4582613ed8565b9150614f5083613ed8565b9250828203905081811115614f6857614f67614f0e565b5b92915050565b7f4e6f2077696e6e696e67730000000000000000000000000000000000000000005f82015250565b5f614fa2600b83614ac5565b9150614fad82614f6e565b602082019050919050565b5f6020820190508181035f830152614fcf81614f96565b9050919050565b5f604082019050614fe95f830185614094565b614ff66020830184614094565b9392505050565b7f506f6f6c206e6f7420656e6465640000000000000000000000000000000000005f82015250565b5f615031600e83614ac5565b915061503c82614ffd565b602082019050919050565b5f6020820190508181035f83015261505e81615025565b9050919050565b7f4e6f742061207061727469636970616e740000000000000000000000000000005f82015250565b5f615099601183614ac5565b91506150a482615065565b602082019050919050565b5f6020820190508181035f8301526150c68161508d565b9050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f615101601283614ac5565b915061510c826150cd565b602082019050919050565b5f6020820190508181035f83015261512e816150f5565b9050919050565b7f416c726561647920636c61696d656400000000000000000000000000000000005f82015250565b5f615169600f83614ac5565b915061517482615135565b602082019050919050565b5f6020820190508181035f8301526151968161515d565b9050919050565b7f546f74616c2077696e6e657273206e6f742073657400000000000000000000005f82015250565b5f6151d1601583614ac5565b91506151dc8261519d565b602082019050919050565b5f6020820190508181035f8301526151fe816151c5565b9050919050565b7f496e76616c6964206e756d626572206f662077696e6e657273000000000000005f82015250565b5f615239601983614ac5565b915061524482615205565b602082019050919050565b5f6020820190508181035f8301526152668161522d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6152a482613ed8565b91506152af83613ed8565b9250826152bf576152be61526d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61532b600d83614ac5565b9150615336826152f7565b602082019050919050565b5f6020820190508181035f8301526153588161531f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61539682614260565b91506153a183614260565b9250828201905064ffffffffff8111156153be576153bd614f0e565b5b92915050565b7f4e6f7468696e6720746f207769746864726177000000000000000000000000005f82015250565b5f6153f8601383614ac5565b9150615403826153c4565b602082019050919050565b5f6020820190508181035f830152615425816153ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061547057607f821691505b6020821081036154835761548261542c565b5b50919050565b7f506f6f6c206e6f742063726561746564000000000000000000000000000000005f82015250565b5f6154bd601083614ac5565b91506154c882615489565b602082019050919050565b5f6020820190508181035f8301526154ea816154b1565b9050919050565b7f506f6f6c20656e646564000000000000000000000000000000000000000000005f82015250565b5f615525600a83614ac5565b9150615530826154f1565b602082019050919050565b5f6020820190508181035f83015261555281615519565b9050919050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f61558d600e83614ac5565b915061559882615559565b602082019050919050565b5f6020820190508181035f8301526155ba81615581565b9050919050565b5f6155cb82613ed8565b91506155d683613ed8565b92508282019050808211156155ee576155ed614f0e565b5b92915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261565a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261561f565b615664868361561f565b95508019841693508086168417925050509392505050565b5f61569661569161568c84613ed8565b61453d565b613ed8565b9050919050565b5f819050919050565b6156af8361567c565b6156c36156bb8261569d565b84845461562b565b825550505050565b5f5f905090565b6156da6156cb565b6156e58184846156a6565b505050565b5b81811015615708576156fd5f826156d2565b6001810190506156eb565b5050565b601f82111561574d5761571e816155fe565b61572784615610565b81016020851015615736578190505b61574a61574285615610565b8301826156ea565b50505b505050565b5f82821c905092915050565b5f61576d5f1984600802615752565b1980831691505092915050565b5f615785838361575e565b9150826002028217905092915050565b61579f83836155f4565b67ffffffffffffffff8111156157b8576157b761535f565b5b6157c28254615459565b6157cd82828561570c565b5f601f8311600181146157fa575f84156157e8578287013590505b6157f2858261577a565b865550615859565b601f198416615808866155fe565b5f5b8281101561582f5784890135825560018201915060208501945060208101905061580a565b8683101561584c5784890135615848601f89168261575e565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f61587b8385614ac5565b9350615888838584615862565b6158918361485f565b840190509392505050565b5f6060820190506158af5f830187614094565b6158bc6020830186614094565b81810360408301526158cf818486615870565b905095945050505050565b7f496e76616c69642074696d696e670000000000000000000000000000000000005f82015250565b5f61590e600e83614ac5565b9150615919826158da565b602082019050919050565b5f6020820190508181035f83015261593b81615902565b9050919050565b7f546f6b656e206e6f7420636f6e747261637400000000000000000000000000005f82015250565b5f615976601283614ac5565b915061598182615942565b602082019050919050565b5f6020820190508181035f8301526159a38161596a565b9050919050565b5f6159b482613ed8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036159e6576159e5614f0e565b5b600182019050919050565b5f606082019050615a045f830187614094565b8181036020830152615a17818587615870565b9050615a266040830184614094565b95945050505050565b7f506f6f6c206e6f742073746172746564000000000000000000000000000000005f82015250565b5f615a63601083614ac5565b9150615a6e82615a2f565b602082019050919050565b5f6020820190508181035f830152615a9081615a57565b9050919050565b7f416c726561647920696e20706f6f6c00000000000000000000000000000000005f82015250565b5f615acb600f83614ac5565b9150615ad682615a97565b602082019050919050565b5f6020820190508181035f830152615af881615abf565b9050919050565b7f496e73756666696369656e7420616d6f756e74000000000000000000000000005f82015250565b5f615b33601383614ac5565b9150615b3e82615aff565b602082019050919050565b5f6020820190508181035f830152615b6081615b27565b9050919050565b5f604082019050615b7a5f8301856140fa565b615b876020830184614094565b9392505050565b5f81519050919050565b5f81905092915050565b5f615bac82615b8e565b615bb68185615b98565b9350615bc6818560208601614851565b80840191505092915050565b5f615bdd8284615ba2565b915081905092915050565b615bf181614023565b8114615bfb575f5ffd5b50565b5f81519050615c0c81615be8565b92915050565b5f60208284031215615c2757615c26613ed0565b5b5f615c3484828501615bfe565b91505092915050565b5f606082019050615c505f8301866140fa565b615c5d60208301856140fa565b615c6a6040830184614094565b949350505050565b615c7b82614837565b67ffffffffffffffff811115615c9457615c9361535f565b5b615c9e8254615459565b615ca982828561570c565b5f60209050601f831160018114615cda575f8415615cc8578287015190505b615cd2858261577a565b865550615d39565b601f198416615ce8866155fe565b5f5b82811015615d0f57848901518255600182019150602085019450602081019050615cea565b86831015615d2c5784890151615d28601f89168261575e565b8355505b6001600288020188555050505b505050505050565b5f604082019050615d545f8301856140fa565b615d6160208301846141fa565b939250505056fea2646970667358221220ebd06702f9baca21d503971a086887c568d391b64d59939edb105c1315d3548064736f6c634300081e0033", + "nonce": "0x5bf", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc6548ea81399c69eac9d32da24ce6afd901464b790b33adcc0d46caf2a845e12", + "transactionType": "CALL", + "contractName": "Pool", + "contractAddress": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "function": "createPool(uint40,uint40,string,uint256,address,uint16,uint256)", + "arguments": [ + "1747590187", + "1747611787", + "Test pool", + "1000", + "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "1", + "1000" + ], + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "to": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "gas": "0x4fbf7", + "value": "0x0", + "input": "0xb462039700000000000000000000000000000000000000000000000000000000682a1c2b00000000000000000000000000000000000000000000000000000000682a708b00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "nonce": "0x5c0", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x507804", + "logs": [ + { + "address": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266" + ], + "data": "0x", + "blockHash": "0x4bbf174c2136719ade42535710b9192773d6294d6c1ab5a4bde78e6c4061c6bd", + "blockNumber": "0x1ce8e25", + "blockTimestamp": "0x6827792f", + "transactionHash": "0xa24fb710634b5e6aa95cd74dd9547a9bdc191a7dcb6dd0f530138046d2e1bca4", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775", + "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266" + ], + "data": "0x", + "blockHash": "0x4bbf174c2136719ade42535710b9192773d6294d6c1ab5a4bde78e6c4061c6bd", + "blockNumber": "0x1ce8e25", + "blockTimestamp": "0x6827792f", + "transactionHash": "0xa24fb710634b5e6aa95cd74dd9547a9bdc191a7dcb6dd0f530138046d2e1bca4", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000020000000000000100000800000000000000000800000001000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000020000000000000000000000000000001000000000000000000000000000200000000000000000000000002000000100002000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa24fb710634b5e6aa95cd74dd9547a9bdc191a7dcb6dd0f530138046d2e1bca4", + "transactionIndex": "0x0", + "blockHash": "0x4bbf174c2136719ade42535710b9192773d6294d6c1ab5a4bde78e6c4061c6bd", + "blockNumber": "0x1ce8e25", + "gasUsed": "0x507804", + "effectiveGasPrice": "0x18d2d8", + "blobGasPrice": "0x1", + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "to": null, + "contractAddress": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5413cb", + "logs": [ + { + "address": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "topics": [ + "0x827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f1", + "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "0x000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "blockHash": "0x4bbf174c2136719ade42535710b9192773d6294d6c1ab5a4bde78e6c4061c6bd", + "blockNumber": "0x1ce8e25", + "blockTimestamp": "0x6827792f", + "transactionHash": "0xc6548ea81399c69eac9d32da24ce6afd901464b790b33adcc0d46caf2a845e12", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000100000000010000000000000000000001000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000020000000020000000000000000000000000000000000000000000000000200000001000200000000000002000000000002000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc6548ea81399c69eac9d32da24ce6afd901464b790b33adcc0d46caf2a845e12", + "transactionIndex": "0x1", + "blockHash": "0x4bbf174c2136719ade42535710b9192773d6294d6c1ab5a4bde78e6c4061c6bd", + "blockNumber": "0x1ce8e25", + "gasUsed": "0x39bc7", + "effectiveGasPrice": "0x18d2d8", + "blobGasPrice": "0x1", + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "to": "0x28c24b94f9c9102358553c774d3a7dcdf73f7339", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1747417394, + "chain": 8453, + "commit": "0d0018b" +} \ No newline at end of file diff --git a/broadcast/Pool.s.sol/8453/run-1747417978.json b/broadcast/Pool.s.sol/8453/run-1747417978.json new file mode 100644 index 0000000..eed1dad --- /dev/null +++ b/broadcast/Pool.s.sol/8453/run-1747417978.json @@ -0,0 +1,150 @@ +{ + "transactions": [ + { + "hash": "0x459c5edad5565daff505f23d3de8c362d7009566fbfa81ecae9eb011a938ab3c", + "transactionType": "CREATE", + "contractName": "Pool", + "contractAddress": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", + "function": null, + "arguments": null, + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "gas": "0x689c05", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506100225f5f1b3361005960201b60201c565b506100537fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217753361005960201b60201c565b506101b8565b5f61006a838361014e60201b60201c565b6101445760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506100e16101b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610148565b5f90505b92915050565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b615d9e806101c55f395ff3fe608060405234801561000f575f5ffd5b5060043610610251575f3560e01c80636f527aed116101445780639294a9a0116100c1578063b462039711610085578063b46203971461078c578063b6c8f0ea146107bc578063d547741f146107ed578063e2bbb15814610809578063fc43a10d14610839578063fe240bed1461086957610251565b80639294a9a0146106d057806395ccea67146107065780639d5292f714610722578063a217fddf14610752578063b103dbbb1461077057610251565b806382ef7b641161010857806382ef7b641461061657806383a06e5b146106325780638456cb59146106665780638486910a1461067057806391d14854146106a057610251565b80636f527aed1461054b57806371311f5d1461057b57806375b238fc146105ac5780637946ec5e146105ca57806381fb1fb4146105e657610251565b806348e8f215116101d25780635c975abb116101965780635c975abb1461047d578063686108fc1461049b5780636a6d964e146104cb5780636cb0b567146104ff5780636e7d40191461051b57610251565b806348e8f215146103c55780634c7d819b146103e357806351b422831461041557806355062d2b14610431578063589a0fe91461046157610251565b8063248a9ca311610219578063248a9ca3146103355780632f2ff15d1461036557806336568abe146103815780633f4ba83a1461039d57806346541a24146103a757610251565b8063016c85371461025557806301ffc9a7146102715780630e339f39146102a15780630efc8865146102d15780631f0c049914610301575b5f5ffd5b61026f600480360381019061026a9190613f65565b610899565b005b61028b60048036038101906102869190613ff8565b610aa6565b604051610298919061403d565b60405180910390f35b6102bb60048036038101906102b69190614056565b610b1f565b6040516102c891906140a3565b60405180910390f35b6102eb60048036038101906102e691906140bc565b610b3f565b6040516102f89190614109565b60405180910390f35b61031b60048036038101906103169190614056565b610b87565b60405161032c95949392919061414b565b60405180910390f35b61034f600480360381019061034a91906141cf565b610c06565b60405161035c9190614209565b60405180910390f35b61037f600480360381019061037a9190614222565b610c22565b005b61039b60048036038101906103969190614222565b610c44565b005b6103a5610cbf565b005b6103af610cf4565b6040516103bc91906140a3565b60405180910390f35b6103cd610cfa565b6040516103da919061427f565b60405180910390f35b6103fd60048036038101906103f89190614056565b610d01565b60405161040c93929190614298565b60405180910390f35b61042f600480360381019061042a91906142cd565b610d42565b005b61044b60048036038101906104469190614056565b6111d7565b604051610458919061403d565b60405180910390f35b61047b6004803603810190610476919061437e565b611201565b005b6104856113f3565b604051610492919061403d565b60405180910390f35b6104b560048036038101906104b09190614056565b611408565b6040516104c291906140a3565b60405180910390f35b6104e560048036038101906104e091906143db565b611433565b6040516104f6959493929190614406565b60405180910390f35b610519600480360381019061051491906144ac565b611465565b005b610535600480360381019061053091906143db565b6115be565b6040516105429190614598565b60405180910390f35b61056560048036038101906105609190614056565b6115ee565b604051610572919061403d565b60405180910390f35b610595600480360381019061059091906145b1565b611618565b6040516105a392919061474a565b60405180910390f35b6105b4611869565b6040516105c19190614209565b60405180910390f35b6105e460048036038101906105df919061477f565b61188d565b005b61060060048036038101906105fb91906140bc565b611948565b60405161060d9190614109565b60405180910390f35b610630600480360381019061062b91906143db565b611990565b005b61064c600480360381019061064791906143db565b611be6565b60405161065d959493929190614a4e565b60405180910390f35b61066e611f40565b005b61068a600480360381019061068591906140bc565b611f75565b6040516106979190614109565b60405180910390f35b6106ba60048036038101906106b59190614222565b611fbd565b6040516106c7919061403d565b60405180910390f35b6106ea60048036038101906106e591906143db565b612020565b6040516106fd9796959493929190614b0d565b60405180910390f35b610720600480360381019061071b9190614bbc565b612130565b005b61073c60048036038101906107379190614056565b612192565b60405161074991906140a3565b60405180910390f35b61075a6121bd565b6040516107679190614209565b60405180910390f35b61078a60048036038101906107859190614c4f565b6121c3565b005b6107a660048036038101906107a19190614d14565b6125a8565b6040516107b391906140a3565b60405180910390f35b6107d660048036038101906107d191906143db565b612954565b6040516107e4929190614eb9565b60405180910390f35b61080760048036038101906108029190614222565b612b89565b005b610823600480360381019061081e91906140bc565b612bab565b604051610830919061403d565b60405180910390f35b610853600480360381019061084e91906140bc565b61311c565b6040516108609190614eee565b60405180910390f35b610883600480360381019061087e9190614056565b6131cd565b60405161089091906140a3565b60405180910390f35b6108a16131f8565b5f6108f6600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20613239565b61094a600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f20613246565b6109549190614f3b565b90505f8111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90614fb8565b60405180910390fd5b6109f681600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2061325290919063ffffffff16565b610a51828260045f8781526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f5380cf6fe903b40c6d5a9e0dfbca2f3a423f0a21520b4d5947ed5169bdba946d8483604051610a99929190614fd6565b60405180910390a2505050565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b185750610b17826134da565b5b9050919050565b600f602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f208181548110610b58575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a90046effffffffffffffffffffffffffffff169080600201600f9054906101000a90046effffffffffffffffffffffffffffff169080600201601e9054906101000a900460ff16905085565b5f5f5f8381526020019081526020015f20600101549050919050565b610c2b82610c06565b610c3481613543565b610c3e8383613557565b50505050565b610c4c613640565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cb0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba8282613647565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ce981613543565b610cf1613730565b50565b60025481565b62093a8081565b600d602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a900464ffffffffff16905083565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16610ddd57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401610dd49190614109565b60405180910390fd5b610de56131f8565b42610dff60035f8781526020019081526020015f20613791565b64ffffffffff1610610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90615047565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed5906150af565b60405180910390fd5b610ef760055f8681526020019081526020015f206137ae565b821115610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090615117565b60405180910390fd5b5f610f8e600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613239565b14610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc59061517f565b60405180910390fd5b8160055f8681526020019081526020015f206003015f828254610ff19190614f3b565b9250508190555061105682600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f206137bb90919063ffffffff16565b5f6110ab600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613246565b036111815760075f8581526020019081526020015f2083908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150555b8273ffffffffffffffffffffffffffffffffffffffff167f86c416066bc80b64ebce6090a491b86f879b69c8a018bfc62da9549e2c618e5a85846040516111c9929190614fd6565b60405180910390a250505050565b6009602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661129c57336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016112939190614109565b60405180910390fd5b6112a46131f8565b5f6112be60035f8781526020019081526020015f206137fc565b90505f6112da60035f8881526020019081526020015f20613816565b90505f8261ffff1611611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906151e7565b60405180910390fd5b8161ffff16858590501461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061524f565b60405180910390fd5b5f810361139d578161ffff1661139060055f8981526020019081526020015f206137ae565b61139a919061529a565b90505b5f5b8261ffff168110156113ea576113dd878787848181106113c2576113c16152ca565b5b90506020020160208101906113d791906145b1565b84610d42565b808060010191505061139f565b50505050505050565b5f60015f9054906101000a900460ff16905090565b600a602052815f5260405f208181548110611421575f80fd5b905f5260205f20015f91509150505481565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b8460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661150057336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016114f79190614109565b60405180910390fd5b6115086131f8565b828290508585905014611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790615341565b60405180910390fd5b5f5b858590508110156115b5576115a887878784818110611574576115736152ca565b5b905060200201602081019061158991906145b1565b86868581811061159c5761159b6152ca565b5b90506020020135610d42565b8080600101915050611552565b50505050505050565b6004602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b6060805f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905067ffffffffffffffff8111156116765761167561535f565b5b6040519080825280602002602001820160405280156116a45781602001602082028036833780820191505090505b5090505f5b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156117d0575f61179d600d5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208581548110611782576117816152ca565b5b905f5260205f20015481526020019081526020015f20613239565b118282815181106117b1576117b06152ca565b5b60200260200101901515908115158152505080806001019150506116a9565b50600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818180548060200260200160405190810160405280929190818152602001828054801561185857602002820191905f5260205f20905b815481526020019060010190808311611844575b505050505091509250925050915091565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6118956131f8565b8383905084849050146118dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d490615341565b60405180910390fd5b5f5b8484905081101561194157611934858583818110611900576118ff6152ca565b5b9050602002013584848481811061191a576119196152ca565b5b905060200201602081019061192f91906145b1565b610899565b80806001019150506118df565b5050505050565b6006602052815f5260405f208181548110611961575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16611a2b57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401611a229190614109565b60405180910390fd5b611a336131f8565b4262093a80611a5160035f8681526020019081526020015f20613791565b611a5b919061538c565b64ffffffffff1610611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990615047565b60405180910390fd5b5f611abc60055f8581526020019081526020015f206137ae565b90505f8111611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79061540e565b60405180910390fd5b5f60055f8581526020019081526020015f20600301819055505f611b3360035f8681526020019081526020015f20613823565b9050611b90818360045f8881526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0d8b7f535379cc0ea989891df832f4201d074cd58a544b15f916d2ebf1d3639c8584604051611bd8929190614fd6565b60405180910390a250505050565b611bee613e22565b611bf6613e81565b5f60608060035f8781526020019081526020015f2060055f8881526020019081526020015f2060045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f8a81526020019081526020015f2060075f8b81526020019081526020015f20846040518060e00160405290815f82015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f820160059054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f8201600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f8201601e9054906101000a900461ffff1661ffff1661ffff168152602001600182018054611d4e90615459565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7a90615459565b8015611dc55780601f10611d9c57610100808354040283529160200191611dc5565b820191905f5260205f20905b815481529060010190602001808311611da857829003601f168201915b50505050508152602001600282015481526020016003820154815250509450836040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050935081805480602002602001604051908101604052809291908181526020018280548015611ea157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611e58575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015611f2657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611edd575b505050505090509450945094509450945091939590929450565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f6a81613543565b611f7261384f565b50565b6010602052815f5260405f208181548110611f8e575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6003602052805f5260405f205f91509050805f015f9054906101000a900464ffffffffff1690805f0160059054906101000a900464ffffffffff1690805f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f01601e9054906101000a900461ffff16908060010180546120a390615459565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf90615459565b801561211a5780601f106120f15761010080835404028352916020019161211a565b820191905f5260205f20905b8154815290600101906020018083116120fd57829003601f168201915b5050505050908060020154908060030154905087565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561215a81613543565b6121626138b0565b61218d33838573ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b505050565b600e602052815f5260405f2081815481106121ab575f80fd5b905f5260205f20015f91509150505481565b5f5f1b81565b6121cb6131f8565b6121d36138f0565b5f73ffffffffffffffffffffffffffffffffffffffff1661220360035f8781526020019081526020015f20613823565b73ffffffffffffffffffffffffffffffffffffffff1603612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906154d3565b60405180910390fd5b4261227360035f8781526020019081526020015f20613791565b64ffffffffff1610156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b29061553b565b60405180910390fd5b5f83116122fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f4906155a3565b60405180910390fd5b8260055f8681526020019081526020015f205f015f82825461231f91906155c1565b925050819055508260055f8681526020019081526020015f206003015f82825461234991906155c1565b925050819055508260055f8681526020019081526020015f206004015f82825461237391906155c1565b925050819055505f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2054036124875760115f8581526020019081526020015f20828290918060018154018082558091505060019003905f5260205f20015f909192909192909192909192509182612416929190615795565b5060105f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b82600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f8282546124e291906155c1565b9250508190555061254633308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f73095116d9e21ea08dd2f8b16ed194cadd05eb470efa77ab8c63e91477d828cc85858585604051612592949392919061589c565b60405180910390a26125a2613bdc565b50505050565b5f6125b16131f8565b8764ffffffffff168964ffffffffff1610612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890615924565b60405180910390fd5b61260a84613c1b565b612649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126409061598c565b60405180910390fd5b60025f81548092919061265b906159aa565b91905055506126853360035f60025481526020019081526020015f20613c3290919063ffffffff16565b600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025481526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600254908060018154018082558091505060019003905f5260205f20015f90919091909150556127738960035f60025481526020019081526020015f20613c7890919063ffffffff16565b6127988860035f60025481526020019081526020015f20613c9f90919063ffffffff16565b61280087878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505060035f60025481526020019081526020015f20613cc790919063ffffffff16565b6128258560035f60025481526020019081526020015f20613cdd90919063ffffffff16565b5f8361ffff161115612857576128568360035f60025481526020019081526020015f20613cea90919063ffffffff16565b5b5f821115612885576128848260035f60025481526020019081526020015f20613d0c90919063ffffffff16565b5b8360045f60025481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f16002548a8a8a60405161293b94939291906159f1565b60405180910390a3600254905098975050505050505050565b6060805f60075f8581526020019081526020015f208054905067ffffffffffffffff8111156129865761298561535f565b5b6040519080825280602002602001820160405280156129bf57816020015b6129ac613eab565b8152602001906001900390816129a45790505b5090505f5b60075f8681526020019081526020015f2080549050811015612ae757600d5f60075f8881526020019081526020015f208381548110612a0657612a056152ca565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f206040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681525050828281518110612acf57612ace6152ca565b5b602002602001018190525080806001019150506129c4565b5060075f8581526020019081526020015f208181805480602002602001604051908101604052809291908181526020018280548015612b7857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612b2f575b505050505091509250925050915091565b612b9282610c06565b612b9b81613543565b612ba58383613647565b50505050565b5f612bb46131f8565b612bbc6138f0565b42612bd660035f8681526020019081526020015f20613d19565b64ffffffffff1610612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490615a79565b60405180910390fd5b42612c3760035f8681526020019081526020015f20613791565b64ffffffffff161015612c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c769061553b565b60405180910390fd5b600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900460ff1615612d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0f90615ae1565b60405180910390fd5b5f612d3260035f8681526020019081526020015f20613d35565b905080831015612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90615b49565b60405180910390fd5b80831115612e10578083612d8b9190614f3b565b60055f8681526020019081526020015f206004015f828254612dad91906155c1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f4b980b78760b02f4b4f1149bdcc168aec45990f1247e5e26860f1a6dc7a17ba4858386612df99190614f3b565b604051612e07929190614fd6565b60405180910390a25b8260055f8681526020019081526020015f205f015f828254612e3291906155c1565b925050819055508260055f8681526020019081526020015f206003015f828254612e5c91906155c1565b92505081905550612ed560065f8681526020019081526020015f2080549050600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613d4290919063ffffffff16565b60065f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150556001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f01819055506130b933308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b98585604051613101929190614fd6565b60405180910390a26001915050613116613bdc565b92915050565b6011602052815f5260405f208181548110613135575f80fd5b905f5260205f20015f9150915050805461314e90615459565b80601f016020809104026020016040519081016040528092919081815260200182805461317a90615459565b80156131c55780601f1061319c576101008083540402835291602001916131c5565b820191905f5260205f20905b8154815290600101906020018083116131a857829003601f168201915b505050505081565b6008602052815f5260405f2081815481106131e6575f80fd5b905f5260205f20015f91509150505481565b6132006113f3565b15613237576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f81600101549050919050565b5f815f01549050919050565b80826001015f82825461326591906155c1565b925050819055505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f89190614eee565b60405180910390fd5b505f5f8473ffffffffffffffffffffffffffffffffffffffff16848460405160240161332e929190615b67565b60405160208183030381529060405263a9059cbb60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133809190615bd2565b5f604051808303815f865af19150503d805f81146133b9576040519150601f19603f3d011682016040523d82523d5f602084013e6133be565b606091505b5091509150816040518060400160405280601181526020017f7472616e736665722072657665727465640000000000000000000000000000008152509061343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134329190614eee565b60405180910390fd5b505f8151148061345b57508080602001905181019061345a9190615c12565b5b6040518060400160405280601781526020017f7472616e736665722072657475726e65642066616c7365000000000000000000815250906134d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134c99190614eee565b60405180910390fd5b505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6135548161354f613640565b613d7e565b50565b5f6135628383611fbd565b6136365760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506135d3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061363a565b5f90505b92915050565b5f33905090565b5f6136528383611fbd565b15613726575f5f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506136c3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061372a565b5f90505b92915050565b6137386138b0565b5f60015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61377a613640565b6040516137879190614109565b60405180910390a1565b5f815f0160059054906101000a900464ffffffffff169050919050565b5f81600301549050919050565b42826002015f6101000a81548164ffffffffff021916908364ffffffffff16021790555080825f015f8282546137f191906155c1565b925050819055505050565b5f815f01601e9054906101000a900461ffff169050919050565b5f81600301549050919050565b5f815f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6138576131f8565b6001805f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613899613640565b6040516138a69190614109565b60405180910390a1565b6138b86113f3565b6138ee576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6138f8613dcf565b1561392f576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61396d600161395f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f8473ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f79190614eee565b60405180910390fd5b505f5f8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401613a2f93929190615c3d565b6040516020818303038152906040526323b872dd60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051613a819190615bd2565b5f604051808303815f865af19150503d805f8114613aba576040519150601f19603f3d011682016040523d82523d5f602084013e613abf565b606091505b5091509150816040518060400160405280601581526020017f7472616e7366657246726f6d207265766572746564000000000000000000000081525090613b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b339190614eee565b60405180910390fd5b505f81511480613b5c575080806020019051810190613b5b9190615c12565b5b6040518060400160405280601b81526020017f7472616e7366657246726f6d2072657475726e65642066616c7365000000000081525090613bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bca9190614eee565b60405180910390fd5b50505050505050565b613c195f613c0b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f5f823b90505f8163ffffffff1611915050919050565b80825f01600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b80825f015f6101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80825f0160056101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80826001019081613cd89190615c72565b505050565b8082600201819055505050565b80825f01601e6101000a81548161ffff021916908361ffff1602179055505050565b8082600301819055505050565b5f815f015f9054906101000a900464ffffffffff169050919050565b5f81600201549050919050565b80826002015f6101000a8154816effffffffffffffffffffffffffffff02191690836effffffffffffffffffffffffffffff1602179055505050565b613d888282611fbd565b613dcb5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401613dc2929190615d41565b60405180910390fd5b5050565b5f613e03613dfe7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e18565b905090565b5f819050919050565b80825d5050565b5f815c9050919050565b6040518060e001604052805f64ffffffffff1681526020015f64ffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f61ffff168152602001606081526020015f81526020015f81525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f64ffffffffff1681525090565b5f5ffd5b5f5ffd5b5f819050919050565b613eea81613ed8565b8114613ef4575f5ffd5b50565b5f81359050613f0581613ee1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f3482613f0b565b9050919050565b613f4481613f2a565b8114613f4e575f5ffd5b50565b5f81359050613f5f81613f3b565b92915050565b5f5f60408385031215613f7b57613f7a613ed0565b5b5f613f8885828601613ef7565b9250506020613f9985828601613f51565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613fd781613fa3565b8114613fe1575f5ffd5b50565b5f81359050613ff281613fce565b92915050565b5f6020828403121561400d5761400c613ed0565b5b5f61401a84828501613fe4565b91505092915050565b5f8115159050919050565b61403781614023565b82525050565b5f6020820190506140505f83018461402e565b92915050565b5f5f6040838503121561406c5761406b613ed0565b5b5f61407985828601613f51565b925050602061408a85828601613ef7565b9150509250929050565b61409d81613ed8565b82525050565b5f6020820190506140b65f830184614094565b92915050565b5f5f604083850312156140d2576140d1613ed0565b5b5f6140df85828601613ef7565b92505060206140f085828601613ef7565b9150509250929050565b61410381613f2a565b82525050565b5f60208201905061411c5f8301846140fa565b92915050565b5f6effffffffffffffffffffffffffffff82169050919050565b61414581614122565b82525050565b5f60a08201905061415e5f830188614094565b61416b6020830187614094565b614178604083018661413c565b614185606083018561413c565b614192608083018461402e565b9695505050505050565b5f819050919050565b6141ae8161419c565b81146141b8575f5ffd5b50565b5f813590506141c9816141a5565b92915050565b5f602082840312156141e4576141e3613ed0565b5b5f6141f1848285016141bb565b91505092915050565b6142038161419c565b82525050565b5f60208201905061421c5f8301846141fa565b92915050565b5f5f6040838503121561423857614237613ed0565b5b5f614245858286016141bb565b925050602061425685828601613f51565b9150509250929050565b5f64ffffffffff82169050919050565b61427981614260565b82525050565b5f6020820190506142925f830184614270565b92915050565b5f6060820190506142ab5f830186614094565b6142b86020830185614094565b6142c56040830184614270565b949350505050565b5f5f5f606084860312156142e4576142e3613ed0565b5b5f6142f186828701613ef7565b935050602061430286828701613f51565b925050604061431386828701613ef7565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261433e5761433d61431d565b5b8235905067ffffffffffffffff81111561435b5761435a614321565b5b60208301915083602082028301111561437757614376614325565b5b9250929050565b5f5f5f6040848603121561439557614394613ed0565b5b5f6143a286828701613ef7565b935050602084013567ffffffffffffffff8111156143c3576143c2613ed4565b5b6143cf86828701614329565b92509250509250925092565b5f602082840312156143f0576143ef613ed0565b5b5f6143fd84828501613ef7565b91505092915050565b5f60a0820190506144195f830188614094565b6144266020830187614094565b6144336040830186614094565b6144406060830185614094565b61444d6080830184614094565b9695505050505050565b5f5f83601f84011261446c5761446b61431d565b5b8235905067ffffffffffffffff81111561448957614488614321565b5b6020830191508360208202830111156144a5576144a4614325565b5b9250929050565b5f5f5f5f5f606086880312156144c5576144c4613ed0565b5b5f6144d288828901613ef7565b955050602086013567ffffffffffffffff8111156144f3576144f2613ed4565b5b6144ff88828901614329565b9450945050604086013567ffffffffffffffff81111561452257614521613ed4565b5b61452e88828901614457565b92509250509295509295909350565b5f819050919050565b5f61456061455b61455684613f0b565b61453d565b613f0b565b9050919050565b5f61457182614546565b9050919050565b5f61458282614567565b9050919050565b61459281614578565b82525050565b5f6020820190506145ab5f830184614589565b92915050565b5f602082840312156145c6576145c5613ed0565b5b5f6145d384828501613f51565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61460e81613ed8565b82525050565b5f61461f8383614605565b60208301905092915050565b5f602082019050919050565b5f614641826145dc565b61464b81856145e6565b9350614656836145f6565b805f5b8381101561468657815161466d8882614614565b97506146788361462b565b925050600181019050614659565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6146c581614023565b82525050565b5f6146d683836146bc565b60208301905092915050565b5f602082019050919050565b5f6146f882614693565b614702818561469d565b935061470d836146ad565b805f5b8381101561473d57815161472488826146cb565b975061472f836146e2565b925050600181019050614710565b5085935050505092915050565b5f6040820190508181035f8301526147628185614637565b9050818103602083015261477681846146ee565b90509392505050565b5f5f5f5f6040858703121561479757614796613ed0565b5b5f85013567ffffffffffffffff8111156147b4576147b3613ed4565b5b6147c087828801614457565b9450945050602085013567ffffffffffffffff8111156147e3576147e2613ed4565b5b6147ef87828801614329565b925092505092959194509250565b61480681614260565b82525050565b61481581613f2a565b82525050565b5f61ffff82169050919050565b6148318161481b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61487982614837565b6148838185614841565b9350614893818560208601614851565b61489c8161485f565b840191505092915050565b5f60e083015f8301516148bc5f8601826147fd565b5060208301516148cf60208601826147fd565b5060408301516148e2604086018261480c565b5060608301516148f56060860182614828565b506080830151848203608086015261490d828261486f565b91505060a083015161492260a0860182614605565b5060c083015161493560c0860182614605565b508091505092915050565b60a082015f8201516149545f850182614605565b5060208201516149676020850182614605565b50604082015161497a6040850182614605565b50606082015161498d6060850182614605565b5060808201516149a06080850182614605565b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6149da838361480c565b60208301905092915050565b5f602082019050919050565b5f6149fc826149a6565b614a0681856149b0565b9350614a11836149c0565b805f5b83811015614a41578151614a2888826149cf565b9750614a33836149e6565b925050600181019050614a14565b5085935050505092915050565b5f610120820190508181035f830152614a6781886148a7565b9050614a766020830187614940565b614a8360c08301866140fa565b81810360e0830152614a9581856149f2565b9050818103610100830152614aaa81846149f2565b90509695505050505050565b614abf8161481b565b82525050565b5f82825260208201905092915050565b5f614adf82614837565b614ae98185614ac5565b9350614af9818560208601614851565b614b028161485f565b840191505092915050565b5f60e082019050614b205f83018a614270565b614b2d6020830189614270565b614b3a60408301886140fa565b614b476060830187614ab6565b8181036080830152614b598186614ad5565b9050614b6860a0830185614094565b614b7560c0830184614094565b98975050505050505050565b5f614b8b82613f2a565b9050919050565b614b9b81614b81565b8114614ba5575f5ffd5b50565b5f81359050614bb681614b92565b92915050565b5f5f60408385031215614bd257614bd1613ed0565b5b5f614bdf85828601614ba8565b9250506020614bf085828601613ef7565b9150509250929050565b5f5f83601f840112614c0f57614c0e61431d565b5b8235905067ffffffffffffffff811115614c2c57614c2b614321565b5b602083019150836001820283011115614c4857614c47614325565b5b9250929050565b5f5f5f5f60608587031215614c6757614c66613ed0565b5b5f614c7487828801613ef7565b9450506020614c8587828801613ef7565b935050604085013567ffffffffffffffff811115614ca657614ca5613ed4565b5b614cb287828801614bfa565b925092505092959194509250565b614cc981614260565b8114614cd3575f5ffd5b50565b5f81359050614ce481614cc0565b92915050565b614cf38161481b565b8114614cfd575f5ffd5b50565b5f81359050614d0e81614cea565b92915050565b5f5f5f5f5f5f5f5f60e0898b031215614d3057614d2f613ed0565b5b5f614d3d8b828c01614cd6565b9850506020614d4e8b828c01614cd6565b975050604089013567ffffffffffffffff811115614d6f57614d6e613ed4565b5b614d7b8b828c01614bfa565b96509650506060614d8e8b828c01613ef7565b9450506080614d9f8b828c01613f51565b93505060a0614db08b828c01614d00565b92505060c0614dc18b828c01613ef7565b9150509295985092959890939650565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151614e0e5f850182614605565b506020820151614e216020850182614605565b506040820151614e3460408501826147fd565b50505050565b5f614e458383614dfa565b60608301905092915050565b5f602082019050919050565b5f614e6782614dd1565b614e718185614ddb565b9350614e7c83614deb565b805f5b83811015614eac578151614e938882614e3a565b9750614e9e83614e51565b925050600181019050614e7f565b5085935050505092915050565b5f6040820190508181035f830152614ed181856149f2565b90508181036020830152614ee58184614e5d565b90509392505050565b5f6020820190508181035f830152614f068184614ad5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614f4582613ed8565b9150614f5083613ed8565b9250828203905081811115614f6857614f67614f0e565b5b92915050565b7f4e6f2077696e6e696e67730000000000000000000000000000000000000000005f82015250565b5f614fa2600b83614ac5565b9150614fad82614f6e565b602082019050919050565b5f6020820190508181035f830152614fcf81614f96565b9050919050565b5f604082019050614fe95f830185614094565b614ff66020830184614094565b9392505050565b7f506f6f6c206e6f7420656e6465640000000000000000000000000000000000005f82015250565b5f615031600e83614ac5565b915061503c82614ffd565b602082019050919050565b5f6020820190508181035f83015261505e81615025565b9050919050565b7f4e6f742061207061727469636970616e740000000000000000000000000000005f82015250565b5f615099601183614ac5565b91506150a482615065565b602082019050919050565b5f6020820190508181035f8301526150c68161508d565b9050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f615101601283614ac5565b915061510c826150cd565b602082019050919050565b5f6020820190508181035f83015261512e816150f5565b9050919050565b7f416c726561647920636c61696d656400000000000000000000000000000000005f82015250565b5f615169600f83614ac5565b915061517482615135565b602082019050919050565b5f6020820190508181035f8301526151968161515d565b9050919050565b7f546f74616c2077696e6e657273206e6f742073657400000000000000000000005f82015250565b5f6151d1601583614ac5565b91506151dc8261519d565b602082019050919050565b5f6020820190508181035f8301526151fe816151c5565b9050919050565b7f496e76616c6964206e756d626572206f662077696e6e657273000000000000005f82015250565b5f615239601983614ac5565b915061524482615205565b602082019050919050565b5f6020820190508181035f8301526152668161522d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6152a482613ed8565b91506152af83613ed8565b9250826152bf576152be61526d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61532b600d83614ac5565b9150615336826152f7565b602082019050919050565b5f6020820190508181035f8301526153588161531f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61539682614260565b91506153a183614260565b9250828201905064ffffffffff8111156153be576153bd614f0e565b5b92915050565b7f4e6f7468696e6720746f207769746864726177000000000000000000000000005f82015250565b5f6153f8601383614ac5565b9150615403826153c4565b602082019050919050565b5f6020820190508181035f830152615425816153ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061547057607f821691505b6020821081036154835761548261542c565b5b50919050565b7f506f6f6c206e6f742063726561746564000000000000000000000000000000005f82015250565b5f6154bd601083614ac5565b91506154c882615489565b602082019050919050565b5f6020820190508181035f8301526154ea816154b1565b9050919050565b7f506f6f6c20656e646564000000000000000000000000000000000000000000005f82015250565b5f615525600a83614ac5565b9150615530826154f1565b602082019050919050565b5f6020820190508181035f83015261555281615519565b9050919050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f61558d600e83614ac5565b915061559882615559565b602082019050919050565b5f6020820190508181035f8301526155ba81615581565b9050919050565b5f6155cb82613ed8565b91506155d683613ed8565b92508282019050808211156155ee576155ed614f0e565b5b92915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261565a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261561f565b615664868361561f565b95508019841693508086168417925050509392505050565b5f61569661569161568c84613ed8565b61453d565b613ed8565b9050919050565b5f819050919050565b6156af8361567c565b6156c36156bb8261569d565b84845461562b565b825550505050565b5f5f905090565b6156da6156cb565b6156e58184846156a6565b505050565b5b81811015615708576156fd5f826156d2565b6001810190506156eb565b5050565b601f82111561574d5761571e816155fe565b61572784615610565b81016020851015615736578190505b61574a61574285615610565b8301826156ea565b50505b505050565b5f82821c905092915050565b5f61576d5f1984600802615752565b1980831691505092915050565b5f615785838361575e565b9150826002028217905092915050565b61579f83836155f4565b67ffffffffffffffff8111156157b8576157b761535f565b5b6157c28254615459565b6157cd82828561570c565b5f601f8311600181146157fa575f84156157e8578287013590505b6157f2858261577a565b865550615859565b601f198416615808866155fe565b5f5b8281101561582f5784890135825560018201915060208501945060208101905061580a565b8683101561584c5784890135615848601f89168261575e565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f61587b8385614ac5565b9350615888838584615862565b6158918361485f565b840190509392505050565b5f6060820190506158af5f830187614094565b6158bc6020830186614094565b81810360408301526158cf818486615870565b905095945050505050565b7f496e76616c69642074696d696e670000000000000000000000000000000000005f82015250565b5f61590e600e83614ac5565b9150615919826158da565b602082019050919050565b5f6020820190508181035f83015261593b81615902565b9050919050565b7f546f6b656e206e6f7420636f6e747261637400000000000000000000000000005f82015250565b5f615976601283614ac5565b915061598182615942565b602082019050919050565b5f6020820190508181035f8301526159a38161596a565b9050919050565b5f6159b482613ed8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036159e6576159e5614f0e565b5b600182019050919050565b5f606082019050615a045f830187614094565b8181036020830152615a17818587615870565b9050615a266040830184614094565b95945050505050565b7f506f6f6c206e6f742073746172746564000000000000000000000000000000005f82015250565b5f615a63601083614ac5565b9150615a6e82615a2f565b602082019050919050565b5f6020820190508181035f830152615a9081615a57565b9050919050565b7f416c726561647920696e20706f6f6c00000000000000000000000000000000005f82015250565b5f615acb600f83614ac5565b9150615ad682615a97565b602082019050919050565b5f6020820190508181035f830152615af881615abf565b9050919050565b7f496e73756666696369656e7420616d6f756e74000000000000000000000000005f82015250565b5f615b33601383614ac5565b9150615b3e82615aff565b602082019050919050565b5f6020820190508181035f830152615b6081615b27565b9050919050565b5f604082019050615b7a5f8301856140fa565b615b876020830184614094565b9392505050565b5f81519050919050565b5f81905092915050565b5f615bac82615b8e565b615bb68185615b98565b9350615bc6818560208601614851565b80840191505092915050565b5f615bdd8284615ba2565b915081905092915050565b615bf181614023565b8114615bfb575f5ffd5b50565b5f81519050615c0c81615be8565b92915050565b5f60208284031215615c2757615c26613ed0565b5b5f615c3484828501615bfe565b91505092915050565b5f606082019050615c505f8301866140fa565b615c5d60208301856140fa565b615c6a6040830184614094565b949350505050565b615c7b82614837565b67ffffffffffffffff811115615c9457615c9361535f565b5b615c9e8254615459565b615ca982828561570c565b5f60209050601f831160018114615cda575f8415615cc8578287015190505b615cd2858261577a565b865550615d39565b601f198416615ce8866155fe565b5f5b82811015615d0f57848901518255600182019150602085019450602081019050615cea565b86831015615d2c5784890151615d28601f89168261575e565b8355505b6001600288020188555050505b505050505050565b5f604082019050615d545f8301856140fa565b615d6160208301846141fa565b939250505056fea2646970667358221220ebd06702f9baca21d503971a086887c568d391b64d59939edb105c1315d3548064736f6c634300081e0033", + "nonce": "0x92", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xff16c64cb7b66c4b54ad15d2eac08e3ae0e8e4cf7933751db40f46cc658fe487", + "transactionType": "CALL", + "contractName": "Pool", + "contractAddress": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", + "function": "createPool(uint40,uint40,string,uint256,address,uint16,uint256)", + "arguments": [ + "1747590737", + "1747612337", + "Test pool", + "1000", + "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "1", + "1000" + ], + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", + "gas": "0x4fbf7", + "value": "0x0", + "input": "0xb462039700000000000000000000000000000000000000000000000000000000682a1e5100000000000000000000000000000000000000000000000000000000682a72b100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "nonce": "0x93", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x2cfd396", + "logs": [ + { + "address": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", + "transactionHash": "0x459c5edad5565daff505f23d3de8c362d7009566fbfa81ecae9eb011a938ab3c", + "transactionIndex": "0xa7", + "logIndex": "0x35d", + "removed": false + }, + { + "address": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", + "transactionHash": "0x459c5edad5565daff505f23d3de8c362d7009566fbfa81ecae9eb011a938ab3c", + "transactionIndex": "0xa7", + "logIndex": "0x35e", + "removed": false + } + ], + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000000000000000000000000100020000000000000000000004000040000020000000000000000000800000000000000000800000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000008000000000000000000000000000000000000100000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x459c5edad5565daff505f23d3de8c362d7009566fbfa81ecae9eb011a938ab3c", + "transactionIndex": "0xa7", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", + "gasUsed": "0x507804", + "effectiveGasPrice": "0x190a2a", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": null, + "contractAddress": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x8cee9b7a38", + "l1GasPrice": "0x6875cf4e", + "l1GasUsed": "0x25299" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x2d36f5d", + "logs": [ + { + "address": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", + "topics": [ + "0x827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", + "transactionHash": "0xff16c64cb7b66c4b54ad15d2eac08e3ae0e8e4cf7933751db40f46cc658fe487", + "transactionIndex": "0xa8", + "logIndex": "0x35f", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000040000000000000000000000100000000000000000000000004000040000000000000000000000000000010000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000008000000000001000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xff16c64cb7b66c4b54ad15d2eac08e3ae0e8e4cf7933751db40f46cc658fe487", + "transactionIndex": "0xa8", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", + "gasUsed": "0x39bc7", + "effectiveGasPrice": "0x190a2a", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", + "contractAddress": null, + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x20bb6b73c", + "l1GasPrice": "0x6875cf4e", + "l1GasUsed": "0x8a1" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1747417978, + "chain": 8453, + "commit": "0d0018b" +} \ No newline at end of file diff --git a/broadcast/Pool.s.sol/8453/run-latest.json b/broadcast/Pool.s.sol/8453/run-latest.json index b0a790a..eed1dad 100644 --- a/broadcast/Pool.s.sol/8453/run-latest.json +++ b/broadcast/Pool.s.sol/8453/run-latest.json @@ -1,32 +1,32 @@ { "transactions": [ { - "hash": "0x2aaf9e8627e69bdd5abb4c3bce0aab51aa305522325b0b50273f74dc3718cd20", + "hash": "0x459c5edad5565daff505f23d3de8c362d7009566fbfa81ecae9eb011a938ab3c", "transactionType": "CREATE", "contractName": "Pool", - "contractAddress": "0x85e1111510ec0fef2ed7015efe1c975d6361e16f", + "contractAddress": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", "function": null, "arguments": null, "transaction": { - "from": "0xf8fbeb78c5584a0152cf32d8dff94a3570a4d5c7", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", "gas": "0x689c05", "value": "0x0", "input": "0x608060405234801561000f575f5ffd5b506100225f5f1b3361005960201b60201c565b506100537fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217753361005960201b60201c565b506101b8565b5f61006a838361014e60201b60201c565b6101445760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506100e16101b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610148565b5f90505b92915050565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b615d9e806101c55f395ff3fe608060405234801561000f575f5ffd5b5060043610610251575f3560e01c80636f527aed116101445780639294a9a0116100c1578063b462039711610085578063b46203971461078c578063b6c8f0ea146107bc578063d547741f146107ed578063e2bbb15814610809578063fc43a10d14610839578063fe240bed1461086957610251565b80639294a9a0146106d057806395ccea67146107065780639d5292f714610722578063a217fddf14610752578063b103dbbb1461077057610251565b806382ef7b641161010857806382ef7b641461061657806383a06e5b146106325780638456cb59146106665780638486910a1461067057806391d14854146106a057610251565b80636f527aed1461054b57806371311f5d1461057b57806375b238fc146105ac5780637946ec5e146105ca57806381fb1fb4146105e657610251565b806348e8f215116101d25780635c975abb116101965780635c975abb1461047d578063686108fc1461049b5780636a6d964e146104cb5780636cb0b567146104ff5780636e7d40191461051b57610251565b806348e8f215146103c55780634c7d819b146103e357806351b422831461041557806355062d2b14610431578063589a0fe91461046157610251565b8063248a9ca311610219578063248a9ca3146103355780632f2ff15d1461036557806336568abe146103815780633f4ba83a1461039d57806346541a24146103a757610251565b8063016c85371461025557806301ffc9a7146102715780630e339f39146102a15780630efc8865146102d15780631f0c049914610301575b5f5ffd5b61026f600480360381019061026a9190613f65565b610899565b005b61028b60048036038101906102869190613ff8565b610aa6565b604051610298919061403d565b60405180910390f35b6102bb60048036038101906102b69190614056565b610b1f565b6040516102c891906140a3565b60405180910390f35b6102eb60048036038101906102e691906140bc565b610b3f565b6040516102f89190614109565b60405180910390f35b61031b60048036038101906103169190614056565b610b87565b60405161032c95949392919061414b565b60405180910390f35b61034f600480360381019061034a91906141cf565b610c06565b60405161035c9190614209565b60405180910390f35b61037f600480360381019061037a9190614222565b610c22565b005b61039b60048036038101906103969190614222565b610c44565b005b6103a5610cbf565b005b6103af610cf4565b6040516103bc91906140a3565b60405180910390f35b6103cd610cfa565b6040516103da919061427f565b60405180910390f35b6103fd60048036038101906103f89190614056565b610d01565b60405161040c93929190614298565b60405180910390f35b61042f600480360381019061042a91906142cd565b610d42565b005b61044b60048036038101906104469190614056565b6111d7565b604051610458919061403d565b60405180910390f35b61047b6004803603810190610476919061437e565b611201565b005b6104856113f3565b604051610492919061403d565b60405180910390f35b6104b560048036038101906104b09190614056565b611408565b6040516104c291906140a3565b60405180910390f35b6104e560048036038101906104e091906143db565b611433565b6040516104f6959493929190614406565b60405180910390f35b610519600480360381019061051491906144ac565b611465565b005b610535600480360381019061053091906143db565b6115be565b6040516105429190614598565b60405180910390f35b61056560048036038101906105609190614056565b6115ee565b604051610572919061403d565b60405180910390f35b610595600480360381019061059091906145b1565b611618565b6040516105a392919061474a565b60405180910390f35b6105b4611869565b6040516105c19190614209565b60405180910390f35b6105e460048036038101906105df919061477f565b61188d565b005b61060060048036038101906105fb91906140bc565b611948565b60405161060d9190614109565b60405180910390f35b610630600480360381019061062b91906143db565b611990565b005b61064c600480360381019061064791906143db565b611be6565b60405161065d959493929190614a4e565b60405180910390f35b61066e611f40565b005b61068a600480360381019061068591906140bc565b611f75565b6040516106979190614109565b60405180910390f35b6106ba60048036038101906106b59190614222565b611fbd565b6040516106c7919061403d565b60405180910390f35b6106ea60048036038101906106e591906143db565b612020565b6040516106fd9796959493929190614b0d565b60405180910390f35b610720600480360381019061071b9190614bbc565b612130565b005b61073c60048036038101906107379190614056565b612192565b60405161074991906140a3565b60405180910390f35b61075a6121bd565b6040516107679190614209565b60405180910390f35b61078a60048036038101906107859190614c4f565b6121c3565b005b6107a660048036038101906107a19190614d14565b6125a8565b6040516107b391906140a3565b60405180910390f35b6107d660048036038101906107d191906143db565b612954565b6040516107e4929190614eb9565b60405180910390f35b61080760048036038101906108029190614222565b612b89565b005b610823600480360381019061081e91906140bc565b612bab565b604051610830919061403d565b60405180910390f35b610853600480360381019061084e91906140bc565b61311c565b6040516108609190614eee565b60405180910390f35b610883600480360381019061087e9190614056565b6131cd565b60405161089091906140a3565b60405180910390f35b6108a16131f8565b5f6108f6600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20613239565b61094a600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f20613246565b6109549190614f3b565b90505f8111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90614fb8565b60405180910390fd5b6109f681600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2061325290919063ffffffff16565b610a51828260045f8781526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f5380cf6fe903b40c6d5a9e0dfbca2f3a423f0a21520b4d5947ed5169bdba946d8483604051610a99929190614fd6565b60405180910390a2505050565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b185750610b17826134da565b5b9050919050565b600f602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f208181548110610b58575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a90046effffffffffffffffffffffffffffff169080600201600f9054906101000a90046effffffffffffffffffffffffffffff169080600201601e9054906101000a900460ff16905085565b5f5f5f8381526020019081526020015f20600101549050919050565b610c2b82610c06565b610c3481613543565b610c3e8383613557565b50505050565b610c4c613640565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cb0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba8282613647565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ce981613543565b610cf1613730565b50565b60025481565b62093a8081565b600d602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a900464ffffffffff16905083565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16610ddd57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401610dd49190614109565b60405180910390fd5b610de56131f8565b42610dff60035f8781526020019081526020015f20613791565b64ffffffffff1610610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90615047565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed5906150af565b60405180910390fd5b610ef760055f8681526020019081526020015f206137ae565b821115610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090615117565b60405180910390fd5b5f610f8e600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613239565b14610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc59061517f565b60405180910390fd5b8160055f8681526020019081526020015f206003015f828254610ff19190614f3b565b9250508190555061105682600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f206137bb90919063ffffffff16565b5f6110ab600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613246565b036111815760075f8581526020019081526020015f2083908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150555b8273ffffffffffffffffffffffffffffffffffffffff167f86c416066bc80b64ebce6090a491b86f879b69c8a018bfc62da9549e2c618e5a85846040516111c9929190614fd6565b60405180910390a250505050565b6009602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661129c57336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016112939190614109565b60405180910390fd5b6112a46131f8565b5f6112be60035f8781526020019081526020015f206137fc565b90505f6112da60035f8881526020019081526020015f20613816565b90505f8261ffff1611611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906151e7565b60405180910390fd5b8161ffff16858590501461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061524f565b60405180910390fd5b5f810361139d578161ffff1661139060055f8981526020019081526020015f206137ae565b61139a919061529a565b90505b5f5b8261ffff168110156113ea576113dd878787848181106113c2576113c16152ca565b5b90506020020160208101906113d791906145b1565b84610d42565b808060010191505061139f565b50505050505050565b5f60015f9054906101000a900460ff16905090565b600a602052815f5260405f208181548110611421575f80fd5b905f5260205f20015f91509150505481565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b8460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661150057336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016114f79190614109565b60405180910390fd5b6115086131f8565b828290508585905014611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790615341565b60405180910390fd5b5f5b858590508110156115b5576115a887878784818110611574576115736152ca565b5b905060200201602081019061158991906145b1565b86868581811061159c5761159b6152ca565b5b90506020020135610d42565b8080600101915050611552565b50505050505050565b6004602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b6060805f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905067ffffffffffffffff8111156116765761167561535f565b5b6040519080825280602002602001820160405280156116a45781602001602082028036833780820191505090505b5090505f5b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156117d0575f61179d600d5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208581548110611782576117816152ca565b5b905f5260205f20015481526020019081526020015f20613239565b118282815181106117b1576117b06152ca565b5b60200260200101901515908115158152505080806001019150506116a9565b50600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818180548060200260200160405190810160405280929190818152602001828054801561185857602002820191905f5260205f20905b815481526020019060010190808311611844575b505050505091509250925050915091565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6118956131f8565b8383905084849050146118dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d490615341565b60405180910390fd5b5f5b8484905081101561194157611934858583818110611900576118ff6152ca565b5b9050602002013584848481811061191a576119196152ca565b5b905060200201602081019061192f91906145b1565b610899565b80806001019150506118df565b5050505050565b6006602052815f5260405f208181548110611961575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16611a2b57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401611a229190614109565b60405180910390fd5b611a336131f8565b4262093a80611a5160035f8681526020019081526020015f20613791565b611a5b919061538c565b64ffffffffff1610611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990615047565b60405180910390fd5b5f611abc60055f8581526020019081526020015f206137ae565b90505f8111611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79061540e565b60405180910390fd5b5f60055f8581526020019081526020015f20600301819055505f611b3360035f8681526020019081526020015f20613823565b9050611b90818360045f8881526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0d8b7f535379cc0ea989891df832f4201d074cd58a544b15f916d2ebf1d3639c8584604051611bd8929190614fd6565b60405180910390a250505050565b611bee613e22565b611bf6613e81565b5f60608060035f8781526020019081526020015f2060055f8881526020019081526020015f2060045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f8a81526020019081526020015f2060075f8b81526020019081526020015f20846040518060e00160405290815f82015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f820160059054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f8201600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f8201601e9054906101000a900461ffff1661ffff1661ffff168152602001600182018054611d4e90615459565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7a90615459565b8015611dc55780601f10611d9c57610100808354040283529160200191611dc5565b820191905f5260205f20905b815481529060010190602001808311611da857829003601f168201915b50505050508152602001600282015481526020016003820154815250509450836040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050935081805480602002602001604051908101604052809291908181526020018280548015611ea157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611e58575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015611f2657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611edd575b505050505090509450945094509450945091939590929450565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f6a81613543565b611f7261384f565b50565b6010602052815f5260405f208181548110611f8e575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6003602052805f5260405f205f91509050805f015f9054906101000a900464ffffffffff1690805f0160059054906101000a900464ffffffffff1690805f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f01601e9054906101000a900461ffff16908060010180546120a390615459565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf90615459565b801561211a5780601f106120f15761010080835404028352916020019161211a565b820191905f5260205f20905b8154815290600101906020018083116120fd57829003601f168201915b5050505050908060020154908060030154905087565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561215a81613543565b6121626138b0565b61218d33838573ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b505050565b600e602052815f5260405f2081815481106121ab575f80fd5b905f5260205f20015f91509150505481565b5f5f1b81565b6121cb6131f8565b6121d36138f0565b5f73ffffffffffffffffffffffffffffffffffffffff1661220360035f8781526020019081526020015f20613823565b73ffffffffffffffffffffffffffffffffffffffff1603612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906154d3565b60405180910390fd5b4261227360035f8781526020019081526020015f20613791565b64ffffffffff1610156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b29061553b565b60405180910390fd5b5f83116122fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f4906155a3565b60405180910390fd5b8260055f8681526020019081526020015f205f015f82825461231f91906155c1565b925050819055508260055f8681526020019081526020015f206003015f82825461234991906155c1565b925050819055508260055f8681526020019081526020015f206004015f82825461237391906155c1565b925050819055505f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2054036124875760115f8581526020019081526020015f20828290918060018154018082558091505060019003905f5260205f20015f909192909192909192909192509182612416929190615795565b5060105f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b82600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f8282546124e291906155c1565b9250508190555061254633308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f73095116d9e21ea08dd2f8b16ed194cadd05eb470efa77ab8c63e91477d828cc85858585604051612592949392919061589c565b60405180910390a26125a2613bdc565b50505050565b5f6125b16131f8565b8764ffffffffff168964ffffffffff1610612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890615924565b60405180910390fd5b61260a84613c1b565b612649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126409061598c565b60405180910390fd5b60025f81548092919061265b906159aa565b91905055506126853360035f60025481526020019081526020015f20613c3290919063ffffffff16565b600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025481526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600254908060018154018082558091505060019003905f5260205f20015f90919091909150556127738960035f60025481526020019081526020015f20613c7890919063ffffffff16565b6127988860035f60025481526020019081526020015f20613c9f90919063ffffffff16565b61280087878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505060035f60025481526020019081526020015f20613cc790919063ffffffff16565b6128258560035f60025481526020019081526020015f20613cdd90919063ffffffff16565b5f8361ffff161115612857576128568360035f60025481526020019081526020015f20613cea90919063ffffffff16565b5b5f821115612885576128848260035f60025481526020019081526020015f20613d0c90919063ffffffff16565b5b8360045f60025481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f16002548a8a8a60405161293b94939291906159f1565b60405180910390a3600254905098975050505050505050565b6060805f60075f8581526020019081526020015f208054905067ffffffffffffffff8111156129865761298561535f565b5b6040519080825280602002602001820160405280156129bf57816020015b6129ac613eab565b8152602001906001900390816129a45790505b5090505f5b60075f8681526020019081526020015f2080549050811015612ae757600d5f60075f8881526020019081526020015f208381548110612a0657612a056152ca565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f206040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681525050828281518110612acf57612ace6152ca565b5b602002602001018190525080806001019150506129c4565b5060075f8581526020019081526020015f208181805480602002602001604051908101604052809291908181526020018280548015612b7857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612b2f575b505050505091509250925050915091565b612b9282610c06565b612b9b81613543565b612ba58383613647565b50505050565b5f612bb46131f8565b612bbc6138f0565b42612bd660035f8681526020019081526020015f20613d19565b64ffffffffff1610612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490615a79565b60405180910390fd5b42612c3760035f8681526020019081526020015f20613791565b64ffffffffff161015612c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c769061553b565b60405180910390fd5b600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900460ff1615612d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0f90615ae1565b60405180910390fd5b5f612d3260035f8681526020019081526020015f20613d35565b905080831015612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90615b49565b60405180910390fd5b80831115612e10578083612d8b9190614f3b565b60055f8681526020019081526020015f206004015f828254612dad91906155c1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f4b980b78760b02f4b4f1149bdcc168aec45990f1247e5e26860f1a6dc7a17ba4858386612df99190614f3b565b604051612e07929190614fd6565b60405180910390a25b8260055f8681526020019081526020015f205f015f828254612e3291906155c1565b925050819055508260055f8681526020019081526020015f206003015f828254612e5c91906155c1565b92505081905550612ed560065f8681526020019081526020015f2080549050600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613d4290919063ffffffff16565b60065f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150556001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f01819055506130b933308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b98585604051613101929190614fd6565b60405180910390a26001915050613116613bdc565b92915050565b6011602052815f5260405f208181548110613135575f80fd5b905f5260205f20015f9150915050805461314e90615459565b80601f016020809104026020016040519081016040528092919081815260200182805461317a90615459565b80156131c55780601f1061319c576101008083540402835291602001916131c5565b820191905f5260205f20905b8154815290600101906020018083116131a857829003601f168201915b505050505081565b6008602052815f5260405f2081815481106131e6575f80fd5b905f5260205f20015f91509150505481565b6132006113f3565b15613237576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f81600101549050919050565b5f815f01549050919050565b80826001015f82825461326591906155c1565b925050819055505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f89190614eee565b60405180910390fd5b505f5f8473ffffffffffffffffffffffffffffffffffffffff16848460405160240161332e929190615b67565b60405160208183030381529060405263a9059cbb60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133809190615bd2565b5f604051808303815f865af19150503d805f81146133b9576040519150601f19603f3d011682016040523d82523d5f602084013e6133be565b606091505b5091509150816040518060400160405280601181526020017f7472616e736665722072657665727465640000000000000000000000000000008152509061343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134329190614eee565b60405180910390fd5b505f8151148061345b57508080602001905181019061345a9190615c12565b5b6040518060400160405280601781526020017f7472616e736665722072657475726e65642066616c7365000000000000000000815250906134d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134c99190614eee565b60405180910390fd5b505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6135548161354f613640565b613d7e565b50565b5f6135628383611fbd565b6136365760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506135d3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061363a565b5f90505b92915050565b5f33905090565b5f6136528383611fbd565b15613726575f5f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506136c3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061372a565b5f90505b92915050565b6137386138b0565b5f60015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61377a613640565b6040516137879190614109565b60405180910390a1565b5f815f0160059054906101000a900464ffffffffff169050919050565b5f81600301549050919050565b42826002015f6101000a81548164ffffffffff021916908364ffffffffff16021790555080825f015f8282546137f191906155c1565b925050819055505050565b5f815f01601e9054906101000a900461ffff169050919050565b5f81600301549050919050565b5f815f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6138576131f8565b6001805f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613899613640565b6040516138a69190614109565b60405180910390a1565b6138b86113f3565b6138ee576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6138f8613dcf565b1561392f576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61396d600161395f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f8473ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f79190614eee565b60405180910390fd5b505f5f8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401613a2f93929190615c3d565b6040516020818303038152906040526323b872dd60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051613a819190615bd2565b5f604051808303815f865af19150503d805f8114613aba576040519150601f19603f3d011682016040523d82523d5f602084013e613abf565b606091505b5091509150816040518060400160405280601581526020017f7472616e7366657246726f6d207265766572746564000000000000000000000081525090613b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b339190614eee565b60405180910390fd5b505f81511480613b5c575080806020019051810190613b5b9190615c12565b5b6040518060400160405280601b81526020017f7472616e7366657246726f6d2072657475726e65642066616c7365000000000081525090613bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bca9190614eee565b60405180910390fd5b50505050505050565b613c195f613c0b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f5f823b90505f8163ffffffff1611915050919050565b80825f01600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b80825f015f6101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80825f0160056101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80826001019081613cd89190615c72565b505050565b8082600201819055505050565b80825f01601e6101000a81548161ffff021916908361ffff1602179055505050565b8082600301819055505050565b5f815f015f9054906101000a900464ffffffffff169050919050565b5f81600201549050919050565b80826002015f6101000a8154816effffffffffffffffffffffffffffff02191690836effffffffffffffffffffffffffffff1602179055505050565b613d888282611fbd565b613dcb5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401613dc2929190615d41565b60405180910390fd5b5050565b5f613e03613dfe7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e18565b905090565b5f819050919050565b80825d5050565b5f815c9050919050565b6040518060e001604052805f64ffffffffff1681526020015f64ffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f61ffff168152602001606081526020015f81526020015f81525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f64ffffffffff1681525090565b5f5ffd5b5f5ffd5b5f819050919050565b613eea81613ed8565b8114613ef4575f5ffd5b50565b5f81359050613f0581613ee1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f3482613f0b565b9050919050565b613f4481613f2a565b8114613f4e575f5ffd5b50565b5f81359050613f5f81613f3b565b92915050565b5f5f60408385031215613f7b57613f7a613ed0565b5b5f613f8885828601613ef7565b9250506020613f9985828601613f51565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613fd781613fa3565b8114613fe1575f5ffd5b50565b5f81359050613ff281613fce565b92915050565b5f6020828403121561400d5761400c613ed0565b5b5f61401a84828501613fe4565b91505092915050565b5f8115159050919050565b61403781614023565b82525050565b5f6020820190506140505f83018461402e565b92915050565b5f5f6040838503121561406c5761406b613ed0565b5b5f61407985828601613f51565b925050602061408a85828601613ef7565b9150509250929050565b61409d81613ed8565b82525050565b5f6020820190506140b65f830184614094565b92915050565b5f5f604083850312156140d2576140d1613ed0565b5b5f6140df85828601613ef7565b92505060206140f085828601613ef7565b9150509250929050565b61410381613f2a565b82525050565b5f60208201905061411c5f8301846140fa565b92915050565b5f6effffffffffffffffffffffffffffff82169050919050565b61414581614122565b82525050565b5f60a08201905061415e5f830188614094565b61416b6020830187614094565b614178604083018661413c565b614185606083018561413c565b614192608083018461402e565b9695505050505050565b5f819050919050565b6141ae8161419c565b81146141b8575f5ffd5b50565b5f813590506141c9816141a5565b92915050565b5f602082840312156141e4576141e3613ed0565b5b5f6141f1848285016141bb565b91505092915050565b6142038161419c565b82525050565b5f60208201905061421c5f8301846141fa565b92915050565b5f5f6040838503121561423857614237613ed0565b5b5f614245858286016141bb565b925050602061425685828601613f51565b9150509250929050565b5f64ffffffffff82169050919050565b61427981614260565b82525050565b5f6020820190506142925f830184614270565b92915050565b5f6060820190506142ab5f830186614094565b6142b86020830185614094565b6142c56040830184614270565b949350505050565b5f5f5f606084860312156142e4576142e3613ed0565b5b5f6142f186828701613ef7565b935050602061430286828701613f51565b925050604061431386828701613ef7565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261433e5761433d61431d565b5b8235905067ffffffffffffffff81111561435b5761435a614321565b5b60208301915083602082028301111561437757614376614325565b5b9250929050565b5f5f5f6040848603121561439557614394613ed0565b5b5f6143a286828701613ef7565b935050602084013567ffffffffffffffff8111156143c3576143c2613ed4565b5b6143cf86828701614329565b92509250509250925092565b5f602082840312156143f0576143ef613ed0565b5b5f6143fd84828501613ef7565b91505092915050565b5f60a0820190506144195f830188614094565b6144266020830187614094565b6144336040830186614094565b6144406060830185614094565b61444d6080830184614094565b9695505050505050565b5f5f83601f84011261446c5761446b61431d565b5b8235905067ffffffffffffffff81111561448957614488614321565b5b6020830191508360208202830111156144a5576144a4614325565b5b9250929050565b5f5f5f5f5f606086880312156144c5576144c4613ed0565b5b5f6144d288828901613ef7565b955050602086013567ffffffffffffffff8111156144f3576144f2613ed4565b5b6144ff88828901614329565b9450945050604086013567ffffffffffffffff81111561452257614521613ed4565b5b61452e88828901614457565b92509250509295509295909350565b5f819050919050565b5f61456061455b61455684613f0b565b61453d565b613f0b565b9050919050565b5f61457182614546565b9050919050565b5f61458282614567565b9050919050565b61459281614578565b82525050565b5f6020820190506145ab5f830184614589565b92915050565b5f602082840312156145c6576145c5613ed0565b5b5f6145d384828501613f51565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61460e81613ed8565b82525050565b5f61461f8383614605565b60208301905092915050565b5f602082019050919050565b5f614641826145dc565b61464b81856145e6565b9350614656836145f6565b805f5b8381101561468657815161466d8882614614565b97506146788361462b565b925050600181019050614659565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6146c581614023565b82525050565b5f6146d683836146bc565b60208301905092915050565b5f602082019050919050565b5f6146f882614693565b614702818561469d565b935061470d836146ad565b805f5b8381101561473d57815161472488826146cb565b975061472f836146e2565b925050600181019050614710565b5085935050505092915050565b5f6040820190508181035f8301526147628185614637565b9050818103602083015261477681846146ee565b90509392505050565b5f5f5f5f6040858703121561479757614796613ed0565b5b5f85013567ffffffffffffffff8111156147b4576147b3613ed4565b5b6147c087828801614457565b9450945050602085013567ffffffffffffffff8111156147e3576147e2613ed4565b5b6147ef87828801614329565b925092505092959194509250565b61480681614260565b82525050565b61481581613f2a565b82525050565b5f61ffff82169050919050565b6148318161481b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61487982614837565b6148838185614841565b9350614893818560208601614851565b61489c8161485f565b840191505092915050565b5f60e083015f8301516148bc5f8601826147fd565b5060208301516148cf60208601826147fd565b5060408301516148e2604086018261480c565b5060608301516148f56060860182614828565b506080830151848203608086015261490d828261486f565b91505060a083015161492260a0860182614605565b5060c083015161493560c0860182614605565b508091505092915050565b60a082015f8201516149545f850182614605565b5060208201516149676020850182614605565b50604082015161497a6040850182614605565b50606082015161498d6060850182614605565b5060808201516149a06080850182614605565b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6149da838361480c565b60208301905092915050565b5f602082019050919050565b5f6149fc826149a6565b614a0681856149b0565b9350614a11836149c0565b805f5b83811015614a41578151614a2888826149cf565b9750614a33836149e6565b925050600181019050614a14565b5085935050505092915050565b5f610120820190508181035f830152614a6781886148a7565b9050614a766020830187614940565b614a8360c08301866140fa565b81810360e0830152614a9581856149f2565b9050818103610100830152614aaa81846149f2565b90509695505050505050565b614abf8161481b565b82525050565b5f82825260208201905092915050565b5f614adf82614837565b614ae98185614ac5565b9350614af9818560208601614851565b614b028161485f565b840191505092915050565b5f60e082019050614b205f83018a614270565b614b2d6020830189614270565b614b3a60408301886140fa565b614b476060830187614ab6565b8181036080830152614b598186614ad5565b9050614b6860a0830185614094565b614b7560c0830184614094565b98975050505050505050565b5f614b8b82613f2a565b9050919050565b614b9b81614b81565b8114614ba5575f5ffd5b50565b5f81359050614bb681614b92565b92915050565b5f5f60408385031215614bd257614bd1613ed0565b5b5f614bdf85828601614ba8565b9250506020614bf085828601613ef7565b9150509250929050565b5f5f83601f840112614c0f57614c0e61431d565b5b8235905067ffffffffffffffff811115614c2c57614c2b614321565b5b602083019150836001820283011115614c4857614c47614325565b5b9250929050565b5f5f5f5f60608587031215614c6757614c66613ed0565b5b5f614c7487828801613ef7565b9450506020614c8587828801613ef7565b935050604085013567ffffffffffffffff811115614ca657614ca5613ed4565b5b614cb287828801614bfa565b925092505092959194509250565b614cc981614260565b8114614cd3575f5ffd5b50565b5f81359050614ce481614cc0565b92915050565b614cf38161481b565b8114614cfd575f5ffd5b50565b5f81359050614d0e81614cea565b92915050565b5f5f5f5f5f5f5f5f60e0898b031215614d3057614d2f613ed0565b5b5f614d3d8b828c01614cd6565b9850506020614d4e8b828c01614cd6565b975050604089013567ffffffffffffffff811115614d6f57614d6e613ed4565b5b614d7b8b828c01614bfa565b96509650506060614d8e8b828c01613ef7565b9450506080614d9f8b828c01613f51565b93505060a0614db08b828c01614d00565b92505060c0614dc18b828c01613ef7565b9150509295985092959890939650565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151614e0e5f850182614605565b506020820151614e216020850182614605565b506040820151614e3460408501826147fd565b50505050565b5f614e458383614dfa565b60608301905092915050565b5f602082019050919050565b5f614e6782614dd1565b614e718185614ddb565b9350614e7c83614deb565b805f5b83811015614eac578151614e938882614e3a565b9750614e9e83614e51565b925050600181019050614e7f565b5085935050505092915050565b5f6040820190508181035f830152614ed181856149f2565b90508181036020830152614ee58184614e5d565b90509392505050565b5f6020820190508181035f830152614f068184614ad5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614f4582613ed8565b9150614f5083613ed8565b9250828203905081811115614f6857614f67614f0e565b5b92915050565b7f4e6f2077696e6e696e67730000000000000000000000000000000000000000005f82015250565b5f614fa2600b83614ac5565b9150614fad82614f6e565b602082019050919050565b5f6020820190508181035f830152614fcf81614f96565b9050919050565b5f604082019050614fe95f830185614094565b614ff66020830184614094565b9392505050565b7f506f6f6c206e6f7420656e6465640000000000000000000000000000000000005f82015250565b5f615031600e83614ac5565b915061503c82614ffd565b602082019050919050565b5f6020820190508181035f83015261505e81615025565b9050919050565b7f4e6f742061207061727469636970616e740000000000000000000000000000005f82015250565b5f615099601183614ac5565b91506150a482615065565b602082019050919050565b5f6020820190508181035f8301526150c68161508d565b9050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f615101601283614ac5565b915061510c826150cd565b602082019050919050565b5f6020820190508181035f83015261512e816150f5565b9050919050565b7f416c726561647920636c61696d656400000000000000000000000000000000005f82015250565b5f615169600f83614ac5565b915061517482615135565b602082019050919050565b5f6020820190508181035f8301526151968161515d565b9050919050565b7f546f74616c2077696e6e657273206e6f742073657400000000000000000000005f82015250565b5f6151d1601583614ac5565b91506151dc8261519d565b602082019050919050565b5f6020820190508181035f8301526151fe816151c5565b9050919050565b7f496e76616c6964206e756d626572206f662077696e6e657273000000000000005f82015250565b5f615239601983614ac5565b915061524482615205565b602082019050919050565b5f6020820190508181035f8301526152668161522d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6152a482613ed8565b91506152af83613ed8565b9250826152bf576152be61526d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61532b600d83614ac5565b9150615336826152f7565b602082019050919050565b5f6020820190508181035f8301526153588161531f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61539682614260565b91506153a183614260565b9250828201905064ffffffffff8111156153be576153bd614f0e565b5b92915050565b7f4e6f7468696e6720746f207769746864726177000000000000000000000000005f82015250565b5f6153f8601383614ac5565b9150615403826153c4565b602082019050919050565b5f6020820190508181035f830152615425816153ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061547057607f821691505b6020821081036154835761548261542c565b5b50919050565b7f506f6f6c206e6f742063726561746564000000000000000000000000000000005f82015250565b5f6154bd601083614ac5565b91506154c882615489565b602082019050919050565b5f6020820190508181035f8301526154ea816154b1565b9050919050565b7f506f6f6c20656e646564000000000000000000000000000000000000000000005f82015250565b5f615525600a83614ac5565b9150615530826154f1565b602082019050919050565b5f6020820190508181035f83015261555281615519565b9050919050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f61558d600e83614ac5565b915061559882615559565b602082019050919050565b5f6020820190508181035f8301526155ba81615581565b9050919050565b5f6155cb82613ed8565b91506155d683613ed8565b92508282019050808211156155ee576155ed614f0e565b5b92915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261565a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261561f565b615664868361561f565b95508019841693508086168417925050509392505050565b5f61569661569161568c84613ed8565b61453d565b613ed8565b9050919050565b5f819050919050565b6156af8361567c565b6156c36156bb8261569d565b84845461562b565b825550505050565b5f5f905090565b6156da6156cb565b6156e58184846156a6565b505050565b5b81811015615708576156fd5f826156d2565b6001810190506156eb565b5050565b601f82111561574d5761571e816155fe565b61572784615610565b81016020851015615736578190505b61574a61574285615610565b8301826156ea565b50505b505050565b5f82821c905092915050565b5f61576d5f1984600802615752565b1980831691505092915050565b5f615785838361575e565b9150826002028217905092915050565b61579f83836155f4565b67ffffffffffffffff8111156157b8576157b761535f565b5b6157c28254615459565b6157cd82828561570c565b5f601f8311600181146157fa575f84156157e8578287013590505b6157f2858261577a565b865550615859565b601f198416615808866155fe565b5f5b8281101561582f5784890135825560018201915060208501945060208101905061580a565b8683101561584c5784890135615848601f89168261575e565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f61587b8385614ac5565b9350615888838584615862565b6158918361485f565b840190509392505050565b5f6060820190506158af5f830187614094565b6158bc6020830186614094565b81810360408301526158cf818486615870565b905095945050505050565b7f496e76616c69642074696d696e670000000000000000000000000000000000005f82015250565b5f61590e600e83614ac5565b9150615919826158da565b602082019050919050565b5f6020820190508181035f83015261593b81615902565b9050919050565b7f546f6b656e206e6f7420636f6e747261637400000000000000000000000000005f82015250565b5f615976601283614ac5565b915061598182615942565b602082019050919050565b5f6020820190508181035f8301526159a38161596a565b9050919050565b5f6159b482613ed8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036159e6576159e5614f0e565b5b600182019050919050565b5f606082019050615a045f830187614094565b8181036020830152615a17818587615870565b9050615a266040830184614094565b95945050505050565b7f506f6f6c206e6f742073746172746564000000000000000000000000000000005f82015250565b5f615a63601083614ac5565b9150615a6e82615a2f565b602082019050919050565b5f6020820190508181035f830152615a9081615a57565b9050919050565b7f416c726561647920696e20706f6f6c00000000000000000000000000000000005f82015250565b5f615acb600f83614ac5565b9150615ad682615a97565b602082019050919050565b5f6020820190508181035f830152615af881615abf565b9050919050565b7f496e73756666696369656e7420616d6f756e74000000000000000000000000005f82015250565b5f615b33601383614ac5565b9150615b3e82615aff565b602082019050919050565b5f6020820190508181035f830152615b6081615b27565b9050919050565b5f604082019050615b7a5f8301856140fa565b615b876020830184614094565b9392505050565b5f81519050919050565b5f81905092915050565b5f615bac82615b8e565b615bb68185615b98565b9350615bc6818560208601614851565b80840191505092915050565b5f615bdd8284615ba2565b915081905092915050565b615bf181614023565b8114615bfb575f5ffd5b50565b5f81519050615c0c81615be8565b92915050565b5f60208284031215615c2757615c26613ed0565b5b5f615c3484828501615bfe565b91505092915050565b5f606082019050615c505f8301866140fa565b615c5d60208301856140fa565b615c6a6040830184614094565b949350505050565b615c7b82614837565b67ffffffffffffffff811115615c9457615c9361535f565b5b615c9e8254615459565b615ca982828561570c565b5f60209050601f831160018114615cda575f8415615cc8578287015190505b615cd2858261577a565b865550615d39565b601f198416615ce8866155fe565b5f5b82811015615d0f57848901518255600182019150602085019450602081019050615cea565b86831015615d2c5784890151615d28601f89168261575e565b8355505b6001600288020188555050505b505050505050565b5f604082019050615d545f8301856140fa565b615d6160208301846141fa565b939250505056fea2646970667358221220ebd06702f9baca21d503971a086887c568d391b64d59939edb105c1315d3548064736f6c634300081e0033", - "nonce": "0x10", + "nonce": "0x92", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x9017aab14e52af516f4b350e7533076ee58babae7b38ca5f0d19f01589f81621", + "hash": "0xff16c64cb7b66c4b54ad15d2eac08e3ae0e8e4cf7933751db40f46cc658fe487", "transactionType": "CALL", "contractName": "Pool", - "contractAddress": "0x85e1111510ec0fef2ed7015efe1c975d6361e16f", + "contractAddress": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", "function": "createPool(uint40,uint40,string,uint256,address,uint16,uint256)", "arguments": [ - "1747476559", - "1747498159", + "1747590737", + "1747612337", "Test pool", "1000", "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", @@ -34,12 +34,12 @@ "1000" ], "transaction": { - "from": "0xf8fbeb78c5584a0152cf32d8dff94a3570a4d5c7", - "to": "0x85e1111510ec0fef2ed7015efe1c975d6361e16f", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", "gas": "0x4fbf7", "value": "0x0", - "input": "0xb4620397000000000000000000000000000000000000000000000000000000006828604f000000000000000000000000000000000000000000000000000000006828b4af00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", - "nonce": "0x11", + "input": "0xb462039700000000000000000000000000000000000000000000000000000000682a1e5100000000000000000000000000000000000000000000000000000000682a72b100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "nonce": "0x93", "chainId": "0x2105" }, "additionalContracts": [], @@ -49,105 +49,102 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x446cbd6", + "cumulativeGasUsed": "0x2cfd396", "logs": [ { - "address": "0x85e1111510ec0fef2ed7015efe1c975d6361e16f", + "address": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000f8fbeb78c5584a0152cf32d8dff94a3570a4d5c7", - "0x000000000000000000000000f8fbeb78c5584a0152cf32d8dff94a3570a4d5c7" + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" ], "data": "0x", - "blockHash": "0xafc83fefd52e6505523134a2cd9f0bac155c54b113f30f421635d6b84ab6eb0e", - "blockNumber": "0x1cdb039", - "blockTimestamp": "0x6825bd55", - "transactionHash": "0x2aaf9e8627e69bdd5abb4c3bce0aab51aa305522325b0b50273f74dc3718cd20", - "transactionIndex": "0xdf", - "logIndex": "0x22c", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", + "transactionHash": "0x459c5edad5565daff505f23d3de8c362d7009566fbfa81ecae9eb011a938ab3c", + "transactionIndex": "0xa7", + "logIndex": "0x35d", "removed": false }, { - "address": "0x85e1111510ec0fef2ed7015efe1c975d6361e16f", + "address": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0xa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775", - "0x000000000000000000000000f8fbeb78c5584a0152cf32d8dff94a3570a4d5c7", - "0x000000000000000000000000f8fbeb78c5584a0152cf32d8dff94a3570a4d5c7" + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" ], "data": "0x", - "blockHash": "0xafc83fefd52e6505523134a2cd9f0bac155c54b113f30f421635d6b84ab6eb0e", - "blockNumber": "0x1cdb039", - "blockTimestamp": "0x6825bd55", - "transactionHash": "0x2aaf9e8627e69bdd5abb4c3bce0aab51aa305522325b0b50273f74dc3718cd20", - "transactionIndex": "0xdf", - "logIndex": "0x22d", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", + "transactionHash": "0x459c5edad5565daff505f23d3de8c362d7009566fbfa81ecae9eb011a938ab3c", + "transactionIndex": "0xa7", + "logIndex": "0x35e", "removed": false } ], - "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000200000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000020080000000000000000800000000000000000800000000020000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000002000000000000000010000000000000000000000000000000000000100000000000020000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000000000000000000000000100020000000000000000000004000040000020000000000000000000800000000000000000800000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000008000000000000000000000000000000000000100000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x2aaf9e8627e69bdd5abb4c3bce0aab51aa305522325b0b50273f74dc3718cd20", - "transactionIndex": "0xdf", - "blockHash": "0xafc83fefd52e6505523134a2cd9f0bac155c54b113f30f421635d6b84ab6eb0e", - "blockNumber": "0x1cdb039", + "transactionHash": "0x459c5edad5565daff505f23d3de8c362d7009566fbfa81ecae9eb011a938ab3c", + "transactionIndex": "0xa7", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", "gasUsed": "0x507804", - "effectiveGasPrice": "0x1fe8ef", - "from": "0xf8fbeb78c5584a0152cf32d8dff94a3570a4d5c7", + "effectiveGasPrice": "0x190a2a", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", "to": null, - "contractAddress": "0x85e1111510ec0fef2ed7015efe1c975d6361e16f", + "contractAddress": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x86296f646b", - "l1GasPrice": "0x6373678b", - "l1GasUsed": "0x2528c" + "l1Fee": "0x8cee9b7a38", + "l1GasPrice": "0x6875cf4e", + "l1GasUsed": "0x25299" }, { "status": "0x1", - "cumulativeGasUsed": "0x44a679d", + "cumulativeGasUsed": "0x2d36f5d", "logs": [ { - "address": "0x85e1111510ec0fef2ed7015efe1c975d6361e16f", + "address": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", "topics": [ "0x827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f1", - "0x000000000000000000000000f8fbeb78c5584a0152cf32d8dff94a3570a4d5c7", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", "0x000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", - "blockHash": "0xafc83fefd52e6505523134a2cd9f0bac155c54b113f30f421635d6b84ab6eb0e", - "blockNumber": "0x1cdb039", - "blockTimestamp": "0x6825bd55", - "transactionHash": "0x9017aab14e52af516f4b350e7533076ee58babae7b38ca5f0d19f01589f81621", - "transactionIndex": "0xe0", - "logIndex": "0x22e", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", + "transactionHash": "0xff16c64cb7b66c4b54ad15d2eac08e3ae0e8e4cf7933751db40f46cc658fe487", + "transactionIndex": "0xa8", + "logIndex": "0x35f", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000200000000000000001000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000010000000000000000000000020000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000010000000000001000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000040000000000000000000000100000000000000000000000004000040000000000000000000000000000010000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000008000000000001000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x9017aab14e52af516f4b350e7533076ee58babae7b38ca5f0d19f01589f81621", - "transactionIndex": "0xe0", - "blockHash": "0xafc83fefd52e6505523134a2cd9f0bac155c54b113f30f421635d6b84ab6eb0e", - "blockNumber": "0x1cdb039", + "transactionHash": "0xff16c64cb7b66c4b54ad15d2eac08e3ae0e8e4cf7933751db40f46cc658fe487", + "transactionIndex": "0xa8", + "blockHash": "0xc096bf3130b56d3e834c63e4c02ae6a6536439cbcacae1c16b06b5b95c1acce3", + "blockNumber": "0x1ce8f3d", "gasUsed": "0x39bc7", - "effectiveGasPrice": "0x1fe8ef", - "from": "0xf8fbeb78c5584a0152cf32d8dff94a3570a4d5c7", - "to": "0x85e1111510ec0fef2ed7015efe1c975d6361e16f", + "effectiveGasPrice": "0x190a2a", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xa2cd9ccd89c3c8760a701dadd11174393443e495", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", - "l1Fee": "0x1ef942fd0", - "l1GasPrice": "0x6373678b", - "l1GasUsed": "0x894" + "l1Fee": "0x20bb6b73c", + "l1GasPrice": "0x6875cf4e", + "l1GasUsed": "0x8a1" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1747303795, + "timestamp": 1747417978, "chain": 8453, - "commit": "6801f65" + "commit": "0d0018b" } \ No newline at end of file diff --git a/broadcast/Pool.s.sol/84532/run-1747417548.json b/broadcast/Pool.s.sol/84532/run-1747417548.json new file mode 100644 index 0000000..a7f0ffb --- /dev/null +++ b/broadcast/Pool.s.sol/84532/run-1747417548.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Pool", + "contractAddress": "0x5b73c5498c1e3b4dba84de0f1833c4a029d90519", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x689c05", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506100225f5f1b3361005960201b60201c565b506100537fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217753361005960201b60201c565b506101b8565b5f61006a838361014e60201b60201c565b6101445760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506100e16101b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610148565b5f90505b92915050565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b615d9e806101c55f395ff3fe608060405234801561000f575f5ffd5b5060043610610251575f3560e01c80636f527aed116101445780639294a9a0116100c1578063b462039711610085578063b46203971461078c578063b6c8f0ea146107bc578063d547741f146107ed578063e2bbb15814610809578063fc43a10d14610839578063fe240bed1461086957610251565b80639294a9a0146106d057806395ccea67146107065780639d5292f714610722578063a217fddf14610752578063b103dbbb1461077057610251565b806382ef7b641161010857806382ef7b641461061657806383a06e5b146106325780638456cb59146106665780638486910a1461067057806391d14854146106a057610251565b80636f527aed1461054b57806371311f5d1461057b57806375b238fc146105ac5780637946ec5e146105ca57806381fb1fb4146105e657610251565b806348e8f215116101d25780635c975abb116101965780635c975abb1461047d578063686108fc1461049b5780636a6d964e146104cb5780636cb0b567146104ff5780636e7d40191461051b57610251565b806348e8f215146103c55780634c7d819b146103e357806351b422831461041557806355062d2b14610431578063589a0fe91461046157610251565b8063248a9ca311610219578063248a9ca3146103355780632f2ff15d1461036557806336568abe146103815780633f4ba83a1461039d57806346541a24146103a757610251565b8063016c85371461025557806301ffc9a7146102715780630e339f39146102a15780630efc8865146102d15780631f0c049914610301575b5f5ffd5b61026f600480360381019061026a9190613f65565b610899565b005b61028b60048036038101906102869190613ff8565b610aa6565b604051610298919061403d565b60405180910390f35b6102bb60048036038101906102b69190614056565b610b1f565b6040516102c891906140a3565b60405180910390f35b6102eb60048036038101906102e691906140bc565b610b3f565b6040516102f89190614109565b60405180910390f35b61031b60048036038101906103169190614056565b610b87565b60405161032c95949392919061414b565b60405180910390f35b61034f600480360381019061034a91906141cf565b610c06565b60405161035c9190614209565b60405180910390f35b61037f600480360381019061037a9190614222565b610c22565b005b61039b60048036038101906103969190614222565b610c44565b005b6103a5610cbf565b005b6103af610cf4565b6040516103bc91906140a3565b60405180910390f35b6103cd610cfa565b6040516103da919061427f565b60405180910390f35b6103fd60048036038101906103f89190614056565b610d01565b60405161040c93929190614298565b60405180910390f35b61042f600480360381019061042a91906142cd565b610d42565b005b61044b60048036038101906104469190614056565b6111d7565b604051610458919061403d565b60405180910390f35b61047b6004803603810190610476919061437e565b611201565b005b6104856113f3565b604051610492919061403d565b60405180910390f35b6104b560048036038101906104b09190614056565b611408565b6040516104c291906140a3565b60405180910390f35b6104e560048036038101906104e091906143db565b611433565b6040516104f6959493929190614406565b60405180910390f35b610519600480360381019061051491906144ac565b611465565b005b610535600480360381019061053091906143db565b6115be565b6040516105429190614598565b60405180910390f35b61056560048036038101906105609190614056565b6115ee565b604051610572919061403d565b60405180910390f35b610595600480360381019061059091906145b1565b611618565b6040516105a392919061474a565b60405180910390f35b6105b4611869565b6040516105c19190614209565b60405180910390f35b6105e460048036038101906105df919061477f565b61188d565b005b61060060048036038101906105fb91906140bc565b611948565b60405161060d9190614109565b60405180910390f35b610630600480360381019061062b91906143db565b611990565b005b61064c600480360381019061064791906143db565b611be6565b60405161065d959493929190614a4e565b60405180910390f35b61066e611f40565b005b61068a600480360381019061068591906140bc565b611f75565b6040516106979190614109565b60405180910390f35b6106ba60048036038101906106b59190614222565b611fbd565b6040516106c7919061403d565b60405180910390f35b6106ea60048036038101906106e591906143db565b612020565b6040516106fd9796959493929190614b0d565b60405180910390f35b610720600480360381019061071b9190614bbc565b612130565b005b61073c60048036038101906107379190614056565b612192565b60405161074991906140a3565b60405180910390f35b61075a6121bd565b6040516107679190614209565b60405180910390f35b61078a60048036038101906107859190614c4f565b6121c3565b005b6107a660048036038101906107a19190614d14565b6125a8565b6040516107b391906140a3565b60405180910390f35b6107d660048036038101906107d191906143db565b612954565b6040516107e4929190614eb9565b60405180910390f35b61080760048036038101906108029190614222565b612b89565b005b610823600480360381019061081e91906140bc565b612bab565b604051610830919061403d565b60405180910390f35b610853600480360381019061084e91906140bc565b61311c565b6040516108609190614eee565b60405180910390f35b610883600480360381019061087e9190614056565b6131cd565b60405161089091906140a3565b60405180910390f35b6108a16131f8565b5f6108f6600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20613239565b61094a600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f20613246565b6109549190614f3b565b90505f8111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90614fb8565b60405180910390fd5b6109f681600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2061325290919063ffffffff16565b610a51828260045f8781526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f5380cf6fe903b40c6d5a9e0dfbca2f3a423f0a21520b4d5947ed5169bdba946d8483604051610a99929190614fd6565b60405180910390a2505050565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b185750610b17826134da565b5b9050919050565b600f602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f208181548110610b58575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a90046effffffffffffffffffffffffffffff169080600201600f9054906101000a90046effffffffffffffffffffffffffffff169080600201601e9054906101000a900460ff16905085565b5f5f5f8381526020019081526020015f20600101549050919050565b610c2b82610c06565b610c3481613543565b610c3e8383613557565b50505050565b610c4c613640565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cb0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba8282613647565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ce981613543565b610cf1613730565b50565b60025481565b62093a8081565b600d602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a900464ffffffffff16905083565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16610ddd57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401610dd49190614109565b60405180910390fd5b610de56131f8565b42610dff60035f8781526020019081526020015f20613791565b64ffffffffff1610610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90615047565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed5906150af565b60405180910390fd5b610ef760055f8681526020019081526020015f206137ae565b821115610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090615117565b60405180910390fd5b5f610f8e600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613239565b14610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc59061517f565b60405180910390fd5b8160055f8681526020019081526020015f206003015f828254610ff19190614f3b565b9250508190555061105682600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f206137bb90919063ffffffff16565b5f6110ab600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613246565b036111815760075f8581526020019081526020015f2083908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150555b8273ffffffffffffffffffffffffffffffffffffffff167f86c416066bc80b64ebce6090a491b86f879b69c8a018bfc62da9549e2c618e5a85846040516111c9929190614fd6565b60405180910390a250505050565b6009602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661129c57336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016112939190614109565b60405180910390fd5b6112a46131f8565b5f6112be60035f8781526020019081526020015f206137fc565b90505f6112da60035f8881526020019081526020015f20613816565b90505f8261ffff1611611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906151e7565b60405180910390fd5b8161ffff16858590501461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061524f565b60405180910390fd5b5f810361139d578161ffff1661139060055f8981526020019081526020015f206137ae565b61139a919061529a565b90505b5f5b8261ffff168110156113ea576113dd878787848181106113c2576113c16152ca565b5b90506020020160208101906113d791906145b1565b84610d42565b808060010191505061139f565b50505050505050565b5f60015f9054906101000a900460ff16905090565b600a602052815f5260405f208181548110611421575f80fd5b905f5260205f20015f91509150505481565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b8460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661150057336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016114f79190614109565b60405180910390fd5b6115086131f8565b828290508585905014611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790615341565b60405180910390fd5b5f5b858590508110156115b5576115a887878784818110611574576115736152ca565b5b905060200201602081019061158991906145b1565b86868581811061159c5761159b6152ca565b5b90506020020135610d42565b8080600101915050611552565b50505050505050565b6004602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b6060805f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905067ffffffffffffffff8111156116765761167561535f565b5b6040519080825280602002602001820160405280156116a45781602001602082028036833780820191505090505b5090505f5b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156117d0575f61179d600d5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208581548110611782576117816152ca565b5b905f5260205f20015481526020019081526020015f20613239565b118282815181106117b1576117b06152ca565b5b60200260200101901515908115158152505080806001019150506116a9565b50600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818180548060200260200160405190810160405280929190818152602001828054801561185857602002820191905f5260205f20905b815481526020019060010190808311611844575b505050505091509250925050915091565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6118956131f8565b8383905084849050146118dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d490615341565b60405180910390fd5b5f5b8484905081101561194157611934858583818110611900576118ff6152ca565b5b9050602002013584848481811061191a576119196152ca565b5b905060200201602081019061192f91906145b1565b610899565b80806001019150506118df565b5050505050565b6006602052815f5260405f208181548110611961575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16611a2b57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401611a229190614109565b60405180910390fd5b611a336131f8565b4262093a80611a5160035f8681526020019081526020015f20613791565b611a5b919061538c565b64ffffffffff1610611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990615047565b60405180910390fd5b5f611abc60055f8581526020019081526020015f206137ae565b90505f8111611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79061540e565b60405180910390fd5b5f60055f8581526020019081526020015f20600301819055505f611b3360035f8681526020019081526020015f20613823565b9050611b90818360045f8881526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0d8b7f535379cc0ea989891df832f4201d074cd58a544b15f916d2ebf1d3639c8584604051611bd8929190614fd6565b60405180910390a250505050565b611bee613e22565b611bf6613e81565b5f60608060035f8781526020019081526020015f2060055f8881526020019081526020015f2060045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f8a81526020019081526020015f2060075f8b81526020019081526020015f20846040518060e00160405290815f82015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f820160059054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f8201600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f8201601e9054906101000a900461ffff1661ffff1661ffff168152602001600182018054611d4e90615459565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7a90615459565b8015611dc55780601f10611d9c57610100808354040283529160200191611dc5565b820191905f5260205f20905b815481529060010190602001808311611da857829003601f168201915b50505050508152602001600282015481526020016003820154815250509450836040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050935081805480602002602001604051908101604052809291908181526020018280548015611ea157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611e58575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015611f2657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611edd575b505050505090509450945094509450945091939590929450565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f6a81613543565b611f7261384f565b50565b6010602052815f5260405f208181548110611f8e575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6003602052805f5260405f205f91509050805f015f9054906101000a900464ffffffffff1690805f0160059054906101000a900464ffffffffff1690805f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f01601e9054906101000a900461ffff16908060010180546120a390615459565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf90615459565b801561211a5780601f106120f15761010080835404028352916020019161211a565b820191905f5260205f20905b8154815290600101906020018083116120fd57829003601f168201915b5050505050908060020154908060030154905087565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561215a81613543565b6121626138b0565b61218d33838573ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b505050565b600e602052815f5260405f2081815481106121ab575f80fd5b905f5260205f20015f91509150505481565b5f5f1b81565b6121cb6131f8565b6121d36138f0565b5f73ffffffffffffffffffffffffffffffffffffffff1661220360035f8781526020019081526020015f20613823565b73ffffffffffffffffffffffffffffffffffffffff1603612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906154d3565b60405180910390fd5b4261227360035f8781526020019081526020015f20613791565b64ffffffffff1610156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b29061553b565b60405180910390fd5b5f83116122fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f4906155a3565b60405180910390fd5b8260055f8681526020019081526020015f205f015f82825461231f91906155c1565b925050819055508260055f8681526020019081526020015f206003015f82825461234991906155c1565b925050819055508260055f8681526020019081526020015f206004015f82825461237391906155c1565b925050819055505f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2054036124875760115f8581526020019081526020015f20828290918060018154018082558091505060019003905f5260205f20015f909192909192909192909192509182612416929190615795565b5060105f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b82600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f8282546124e291906155c1565b9250508190555061254633308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f73095116d9e21ea08dd2f8b16ed194cadd05eb470efa77ab8c63e91477d828cc85858585604051612592949392919061589c565b60405180910390a26125a2613bdc565b50505050565b5f6125b16131f8565b8764ffffffffff168964ffffffffff1610612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890615924565b60405180910390fd5b61260a84613c1b565b612649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126409061598c565b60405180910390fd5b60025f81548092919061265b906159aa565b91905055506126853360035f60025481526020019081526020015f20613c3290919063ffffffff16565b600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025481526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600254908060018154018082558091505060019003905f5260205f20015f90919091909150556127738960035f60025481526020019081526020015f20613c7890919063ffffffff16565b6127988860035f60025481526020019081526020015f20613c9f90919063ffffffff16565b61280087878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505060035f60025481526020019081526020015f20613cc790919063ffffffff16565b6128258560035f60025481526020019081526020015f20613cdd90919063ffffffff16565b5f8361ffff161115612857576128568360035f60025481526020019081526020015f20613cea90919063ffffffff16565b5b5f821115612885576128848260035f60025481526020019081526020015f20613d0c90919063ffffffff16565b5b8360045f60025481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f16002548a8a8a60405161293b94939291906159f1565b60405180910390a3600254905098975050505050505050565b6060805f60075f8581526020019081526020015f208054905067ffffffffffffffff8111156129865761298561535f565b5b6040519080825280602002602001820160405280156129bf57816020015b6129ac613eab565b8152602001906001900390816129a45790505b5090505f5b60075f8681526020019081526020015f2080549050811015612ae757600d5f60075f8881526020019081526020015f208381548110612a0657612a056152ca565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f206040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681525050828281518110612acf57612ace6152ca565b5b602002602001018190525080806001019150506129c4565b5060075f8581526020019081526020015f208181805480602002602001604051908101604052809291908181526020018280548015612b7857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612b2f575b505050505091509250925050915091565b612b9282610c06565b612b9b81613543565b612ba58383613647565b50505050565b5f612bb46131f8565b612bbc6138f0565b42612bd660035f8681526020019081526020015f20613d19565b64ffffffffff1610612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490615a79565b60405180910390fd5b42612c3760035f8681526020019081526020015f20613791565b64ffffffffff161015612c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c769061553b565b60405180910390fd5b600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900460ff1615612d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0f90615ae1565b60405180910390fd5b5f612d3260035f8681526020019081526020015f20613d35565b905080831015612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90615b49565b60405180910390fd5b80831115612e10578083612d8b9190614f3b565b60055f8681526020019081526020015f206004015f828254612dad91906155c1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f4b980b78760b02f4b4f1149bdcc168aec45990f1247e5e26860f1a6dc7a17ba4858386612df99190614f3b565b604051612e07929190614fd6565b60405180910390a25b8260055f8681526020019081526020015f205f015f828254612e3291906155c1565b925050819055508260055f8681526020019081526020015f206003015f828254612e5c91906155c1565b92505081905550612ed560065f8681526020019081526020015f2080549050600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613d4290919063ffffffff16565b60065f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150556001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f01819055506130b933308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b98585604051613101929190614fd6565b60405180910390a26001915050613116613bdc565b92915050565b6011602052815f5260405f208181548110613135575f80fd5b905f5260205f20015f9150915050805461314e90615459565b80601f016020809104026020016040519081016040528092919081815260200182805461317a90615459565b80156131c55780601f1061319c576101008083540402835291602001916131c5565b820191905f5260205f20905b8154815290600101906020018083116131a857829003601f168201915b505050505081565b6008602052815f5260405f2081815481106131e6575f80fd5b905f5260205f20015f91509150505481565b6132006113f3565b15613237576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f81600101549050919050565b5f815f01549050919050565b80826001015f82825461326591906155c1565b925050819055505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f89190614eee565b60405180910390fd5b505f5f8473ffffffffffffffffffffffffffffffffffffffff16848460405160240161332e929190615b67565b60405160208183030381529060405263a9059cbb60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133809190615bd2565b5f604051808303815f865af19150503d805f81146133b9576040519150601f19603f3d011682016040523d82523d5f602084013e6133be565b606091505b5091509150816040518060400160405280601181526020017f7472616e736665722072657665727465640000000000000000000000000000008152509061343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134329190614eee565b60405180910390fd5b505f8151148061345b57508080602001905181019061345a9190615c12565b5b6040518060400160405280601781526020017f7472616e736665722072657475726e65642066616c7365000000000000000000815250906134d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134c99190614eee565b60405180910390fd5b505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6135548161354f613640565b613d7e565b50565b5f6135628383611fbd565b6136365760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506135d3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061363a565b5f90505b92915050565b5f33905090565b5f6136528383611fbd565b15613726575f5f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506136c3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061372a565b5f90505b92915050565b6137386138b0565b5f60015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61377a613640565b6040516137879190614109565b60405180910390a1565b5f815f0160059054906101000a900464ffffffffff169050919050565b5f81600301549050919050565b42826002015f6101000a81548164ffffffffff021916908364ffffffffff16021790555080825f015f8282546137f191906155c1565b925050819055505050565b5f815f01601e9054906101000a900461ffff169050919050565b5f81600301549050919050565b5f815f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6138576131f8565b6001805f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613899613640565b6040516138a69190614109565b60405180910390a1565b6138b86113f3565b6138ee576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6138f8613dcf565b1561392f576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61396d600161395f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f8473ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f79190614eee565b60405180910390fd5b505f5f8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401613a2f93929190615c3d565b6040516020818303038152906040526323b872dd60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051613a819190615bd2565b5f604051808303815f865af19150503d805f8114613aba576040519150601f19603f3d011682016040523d82523d5f602084013e613abf565b606091505b5091509150816040518060400160405280601581526020017f7472616e7366657246726f6d207265766572746564000000000000000000000081525090613b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b339190614eee565b60405180910390fd5b505f81511480613b5c575080806020019051810190613b5b9190615c12565b5b6040518060400160405280601b81526020017f7472616e7366657246726f6d2072657475726e65642066616c7365000000000081525090613bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bca9190614eee565b60405180910390fd5b50505050505050565b613c195f613c0b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f5f823b90505f8163ffffffff1611915050919050565b80825f01600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b80825f015f6101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80825f0160056101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80826001019081613cd89190615c72565b505050565b8082600201819055505050565b80825f01601e6101000a81548161ffff021916908361ffff1602179055505050565b8082600301819055505050565b5f815f015f9054906101000a900464ffffffffff169050919050565b5f81600201549050919050565b80826002015f6101000a8154816effffffffffffffffffffffffffffff02191690836effffffffffffffffffffffffffffff1602179055505050565b613d888282611fbd565b613dcb5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401613dc2929190615d41565b60405180910390fd5b5050565b5f613e03613dfe7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e18565b905090565b5f819050919050565b80825d5050565b5f815c9050919050565b6040518060e001604052805f64ffffffffff1681526020015f64ffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f61ffff168152602001606081526020015f81526020015f81525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f64ffffffffff1681525090565b5f5ffd5b5f5ffd5b5f819050919050565b613eea81613ed8565b8114613ef4575f5ffd5b50565b5f81359050613f0581613ee1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f3482613f0b565b9050919050565b613f4481613f2a565b8114613f4e575f5ffd5b50565b5f81359050613f5f81613f3b565b92915050565b5f5f60408385031215613f7b57613f7a613ed0565b5b5f613f8885828601613ef7565b9250506020613f9985828601613f51565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613fd781613fa3565b8114613fe1575f5ffd5b50565b5f81359050613ff281613fce565b92915050565b5f6020828403121561400d5761400c613ed0565b5b5f61401a84828501613fe4565b91505092915050565b5f8115159050919050565b61403781614023565b82525050565b5f6020820190506140505f83018461402e565b92915050565b5f5f6040838503121561406c5761406b613ed0565b5b5f61407985828601613f51565b925050602061408a85828601613ef7565b9150509250929050565b61409d81613ed8565b82525050565b5f6020820190506140b65f830184614094565b92915050565b5f5f604083850312156140d2576140d1613ed0565b5b5f6140df85828601613ef7565b92505060206140f085828601613ef7565b9150509250929050565b61410381613f2a565b82525050565b5f60208201905061411c5f8301846140fa565b92915050565b5f6effffffffffffffffffffffffffffff82169050919050565b61414581614122565b82525050565b5f60a08201905061415e5f830188614094565b61416b6020830187614094565b614178604083018661413c565b614185606083018561413c565b614192608083018461402e565b9695505050505050565b5f819050919050565b6141ae8161419c565b81146141b8575f5ffd5b50565b5f813590506141c9816141a5565b92915050565b5f602082840312156141e4576141e3613ed0565b5b5f6141f1848285016141bb565b91505092915050565b6142038161419c565b82525050565b5f60208201905061421c5f8301846141fa565b92915050565b5f5f6040838503121561423857614237613ed0565b5b5f614245858286016141bb565b925050602061425685828601613f51565b9150509250929050565b5f64ffffffffff82169050919050565b61427981614260565b82525050565b5f6020820190506142925f830184614270565b92915050565b5f6060820190506142ab5f830186614094565b6142b86020830185614094565b6142c56040830184614270565b949350505050565b5f5f5f606084860312156142e4576142e3613ed0565b5b5f6142f186828701613ef7565b935050602061430286828701613f51565b925050604061431386828701613ef7565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261433e5761433d61431d565b5b8235905067ffffffffffffffff81111561435b5761435a614321565b5b60208301915083602082028301111561437757614376614325565b5b9250929050565b5f5f5f6040848603121561439557614394613ed0565b5b5f6143a286828701613ef7565b935050602084013567ffffffffffffffff8111156143c3576143c2613ed4565b5b6143cf86828701614329565b92509250509250925092565b5f602082840312156143f0576143ef613ed0565b5b5f6143fd84828501613ef7565b91505092915050565b5f60a0820190506144195f830188614094565b6144266020830187614094565b6144336040830186614094565b6144406060830185614094565b61444d6080830184614094565b9695505050505050565b5f5f83601f84011261446c5761446b61431d565b5b8235905067ffffffffffffffff81111561448957614488614321565b5b6020830191508360208202830111156144a5576144a4614325565b5b9250929050565b5f5f5f5f5f606086880312156144c5576144c4613ed0565b5b5f6144d288828901613ef7565b955050602086013567ffffffffffffffff8111156144f3576144f2613ed4565b5b6144ff88828901614329565b9450945050604086013567ffffffffffffffff81111561452257614521613ed4565b5b61452e88828901614457565b92509250509295509295909350565b5f819050919050565b5f61456061455b61455684613f0b565b61453d565b613f0b565b9050919050565b5f61457182614546565b9050919050565b5f61458282614567565b9050919050565b61459281614578565b82525050565b5f6020820190506145ab5f830184614589565b92915050565b5f602082840312156145c6576145c5613ed0565b5b5f6145d384828501613f51565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61460e81613ed8565b82525050565b5f61461f8383614605565b60208301905092915050565b5f602082019050919050565b5f614641826145dc565b61464b81856145e6565b9350614656836145f6565b805f5b8381101561468657815161466d8882614614565b97506146788361462b565b925050600181019050614659565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6146c581614023565b82525050565b5f6146d683836146bc565b60208301905092915050565b5f602082019050919050565b5f6146f882614693565b614702818561469d565b935061470d836146ad565b805f5b8381101561473d57815161472488826146cb565b975061472f836146e2565b925050600181019050614710565b5085935050505092915050565b5f6040820190508181035f8301526147628185614637565b9050818103602083015261477681846146ee565b90509392505050565b5f5f5f5f6040858703121561479757614796613ed0565b5b5f85013567ffffffffffffffff8111156147b4576147b3613ed4565b5b6147c087828801614457565b9450945050602085013567ffffffffffffffff8111156147e3576147e2613ed4565b5b6147ef87828801614329565b925092505092959194509250565b61480681614260565b82525050565b61481581613f2a565b82525050565b5f61ffff82169050919050565b6148318161481b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61487982614837565b6148838185614841565b9350614893818560208601614851565b61489c8161485f565b840191505092915050565b5f60e083015f8301516148bc5f8601826147fd565b5060208301516148cf60208601826147fd565b5060408301516148e2604086018261480c565b5060608301516148f56060860182614828565b506080830151848203608086015261490d828261486f565b91505060a083015161492260a0860182614605565b5060c083015161493560c0860182614605565b508091505092915050565b60a082015f8201516149545f850182614605565b5060208201516149676020850182614605565b50604082015161497a6040850182614605565b50606082015161498d6060850182614605565b5060808201516149a06080850182614605565b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6149da838361480c565b60208301905092915050565b5f602082019050919050565b5f6149fc826149a6565b614a0681856149b0565b9350614a11836149c0565b805f5b83811015614a41578151614a2888826149cf565b9750614a33836149e6565b925050600181019050614a14565b5085935050505092915050565b5f610120820190508181035f830152614a6781886148a7565b9050614a766020830187614940565b614a8360c08301866140fa565b81810360e0830152614a9581856149f2565b9050818103610100830152614aaa81846149f2565b90509695505050505050565b614abf8161481b565b82525050565b5f82825260208201905092915050565b5f614adf82614837565b614ae98185614ac5565b9350614af9818560208601614851565b614b028161485f565b840191505092915050565b5f60e082019050614b205f83018a614270565b614b2d6020830189614270565b614b3a60408301886140fa565b614b476060830187614ab6565b8181036080830152614b598186614ad5565b9050614b6860a0830185614094565b614b7560c0830184614094565b98975050505050505050565b5f614b8b82613f2a565b9050919050565b614b9b81614b81565b8114614ba5575f5ffd5b50565b5f81359050614bb681614b92565b92915050565b5f5f60408385031215614bd257614bd1613ed0565b5b5f614bdf85828601614ba8565b9250506020614bf085828601613ef7565b9150509250929050565b5f5f83601f840112614c0f57614c0e61431d565b5b8235905067ffffffffffffffff811115614c2c57614c2b614321565b5b602083019150836001820283011115614c4857614c47614325565b5b9250929050565b5f5f5f5f60608587031215614c6757614c66613ed0565b5b5f614c7487828801613ef7565b9450506020614c8587828801613ef7565b935050604085013567ffffffffffffffff811115614ca657614ca5613ed4565b5b614cb287828801614bfa565b925092505092959194509250565b614cc981614260565b8114614cd3575f5ffd5b50565b5f81359050614ce481614cc0565b92915050565b614cf38161481b565b8114614cfd575f5ffd5b50565b5f81359050614d0e81614cea565b92915050565b5f5f5f5f5f5f5f5f60e0898b031215614d3057614d2f613ed0565b5b5f614d3d8b828c01614cd6565b9850506020614d4e8b828c01614cd6565b975050604089013567ffffffffffffffff811115614d6f57614d6e613ed4565b5b614d7b8b828c01614bfa565b96509650506060614d8e8b828c01613ef7565b9450506080614d9f8b828c01613f51565b93505060a0614db08b828c01614d00565b92505060c0614dc18b828c01613ef7565b9150509295985092959890939650565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151614e0e5f850182614605565b506020820151614e216020850182614605565b506040820151614e3460408501826147fd565b50505050565b5f614e458383614dfa565b60608301905092915050565b5f602082019050919050565b5f614e6782614dd1565b614e718185614ddb565b9350614e7c83614deb565b805f5b83811015614eac578151614e938882614e3a565b9750614e9e83614e51565b925050600181019050614e7f565b5085935050505092915050565b5f6040820190508181035f830152614ed181856149f2565b90508181036020830152614ee58184614e5d565b90509392505050565b5f6020820190508181035f830152614f068184614ad5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614f4582613ed8565b9150614f5083613ed8565b9250828203905081811115614f6857614f67614f0e565b5b92915050565b7f4e6f2077696e6e696e67730000000000000000000000000000000000000000005f82015250565b5f614fa2600b83614ac5565b9150614fad82614f6e565b602082019050919050565b5f6020820190508181035f830152614fcf81614f96565b9050919050565b5f604082019050614fe95f830185614094565b614ff66020830184614094565b9392505050565b7f506f6f6c206e6f7420656e6465640000000000000000000000000000000000005f82015250565b5f615031600e83614ac5565b915061503c82614ffd565b602082019050919050565b5f6020820190508181035f83015261505e81615025565b9050919050565b7f4e6f742061207061727469636970616e740000000000000000000000000000005f82015250565b5f615099601183614ac5565b91506150a482615065565b602082019050919050565b5f6020820190508181035f8301526150c68161508d565b9050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f615101601283614ac5565b915061510c826150cd565b602082019050919050565b5f6020820190508181035f83015261512e816150f5565b9050919050565b7f416c726561647920636c61696d656400000000000000000000000000000000005f82015250565b5f615169600f83614ac5565b915061517482615135565b602082019050919050565b5f6020820190508181035f8301526151968161515d565b9050919050565b7f546f74616c2077696e6e657273206e6f742073657400000000000000000000005f82015250565b5f6151d1601583614ac5565b91506151dc8261519d565b602082019050919050565b5f6020820190508181035f8301526151fe816151c5565b9050919050565b7f496e76616c6964206e756d626572206f662077696e6e657273000000000000005f82015250565b5f615239601983614ac5565b915061524482615205565b602082019050919050565b5f6020820190508181035f8301526152668161522d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6152a482613ed8565b91506152af83613ed8565b9250826152bf576152be61526d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61532b600d83614ac5565b9150615336826152f7565b602082019050919050565b5f6020820190508181035f8301526153588161531f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61539682614260565b91506153a183614260565b9250828201905064ffffffffff8111156153be576153bd614f0e565b5b92915050565b7f4e6f7468696e6720746f207769746864726177000000000000000000000000005f82015250565b5f6153f8601383614ac5565b9150615403826153c4565b602082019050919050565b5f6020820190508181035f830152615425816153ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061547057607f821691505b6020821081036154835761548261542c565b5b50919050565b7f506f6f6c206e6f742063726561746564000000000000000000000000000000005f82015250565b5f6154bd601083614ac5565b91506154c882615489565b602082019050919050565b5f6020820190508181035f8301526154ea816154b1565b9050919050565b7f506f6f6c20656e646564000000000000000000000000000000000000000000005f82015250565b5f615525600a83614ac5565b9150615530826154f1565b602082019050919050565b5f6020820190508181035f83015261555281615519565b9050919050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f61558d600e83614ac5565b915061559882615559565b602082019050919050565b5f6020820190508181035f8301526155ba81615581565b9050919050565b5f6155cb82613ed8565b91506155d683613ed8565b92508282019050808211156155ee576155ed614f0e565b5b92915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261565a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261561f565b615664868361561f565b95508019841693508086168417925050509392505050565b5f61569661569161568c84613ed8565b61453d565b613ed8565b9050919050565b5f819050919050565b6156af8361567c565b6156c36156bb8261569d565b84845461562b565b825550505050565b5f5f905090565b6156da6156cb565b6156e58184846156a6565b505050565b5b81811015615708576156fd5f826156d2565b6001810190506156eb565b5050565b601f82111561574d5761571e816155fe565b61572784615610565b81016020851015615736578190505b61574a61574285615610565b8301826156ea565b50505b505050565b5f82821c905092915050565b5f61576d5f1984600802615752565b1980831691505092915050565b5f615785838361575e565b9150826002028217905092915050565b61579f83836155f4565b67ffffffffffffffff8111156157b8576157b761535f565b5b6157c28254615459565b6157cd82828561570c565b5f601f8311600181146157fa575f84156157e8578287013590505b6157f2858261577a565b865550615859565b601f198416615808866155fe565b5f5b8281101561582f5784890135825560018201915060208501945060208101905061580a565b8683101561584c5784890135615848601f89168261575e565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f61587b8385614ac5565b9350615888838584615862565b6158918361485f565b840190509392505050565b5f6060820190506158af5f830187614094565b6158bc6020830186614094565b81810360408301526158cf818486615870565b905095945050505050565b7f496e76616c69642074696d696e670000000000000000000000000000000000005f82015250565b5f61590e600e83614ac5565b9150615919826158da565b602082019050919050565b5f6020820190508181035f83015261593b81615902565b9050919050565b7f546f6b656e206e6f7420636f6e747261637400000000000000000000000000005f82015250565b5f615976601283614ac5565b915061598182615942565b602082019050919050565b5f6020820190508181035f8301526159a38161596a565b9050919050565b5f6159b482613ed8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036159e6576159e5614f0e565b5b600182019050919050565b5f606082019050615a045f830187614094565b8181036020830152615a17818587615870565b9050615a266040830184614094565b95945050505050565b7f506f6f6c206e6f742073746172746564000000000000000000000000000000005f82015250565b5f615a63601083614ac5565b9150615a6e82615a2f565b602082019050919050565b5f6020820190508181035f830152615a9081615a57565b9050919050565b7f416c726561647920696e20706f6f6c00000000000000000000000000000000005f82015250565b5f615acb600f83614ac5565b9150615ad682615a97565b602082019050919050565b5f6020820190508181035f830152615af881615abf565b9050919050565b7f496e73756666696369656e7420616d6f756e74000000000000000000000000005f82015250565b5f615b33601383614ac5565b9150615b3e82615aff565b602082019050919050565b5f6020820190508181035f830152615b6081615b27565b9050919050565b5f604082019050615b7a5f8301856140fa565b615b876020830184614094565b9392505050565b5f81519050919050565b5f81905092915050565b5f615bac82615b8e565b615bb68185615b98565b9350615bc6818560208601614851565b80840191505092915050565b5f615bdd8284615ba2565b915081905092915050565b615bf181614023565b8114615bfb575f5ffd5b50565b5f81519050615c0c81615be8565b92915050565b5f60208284031215615c2757615c26613ed0565b5b5f615c3484828501615bfe565b91505092915050565b5f606082019050615c505f8301866140fa565b615c5d60208301856140fa565b615c6a6040830184614094565b949350505050565b615c7b82614837565b67ffffffffffffffff811115615c9457615c9361535f565b5b615c9e8254615459565b615ca982828561570c565b5f60209050601f831160018114615cda575f8415615cc8578287015190505b615cd2858261577a565b865550615d39565b601f198416615ce8866155fe565b5f5b82811015615d0f57848901518255600182019150602085019450602081019050615cea565b86831015615d2c5784890151615d28601f89168261575e565b8355505b6001600288020188555050505b505050505050565b5f604082019050615d545f8301856140fa565b615d6160208301846141fa565b939250505056fea2646970667358221220ebd06702f9baca21d503971a086887c568d391b64d59939edb105c1315d3548064736f6c634300081e0033", + "nonce": "0x0", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Droplet", + "contractAddress": "0x7fa9385be102ac3eac297483dd6233d62b3e1496", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x1366d0", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506040518060400160405280600781526020017f44726f706c6574000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f44524f5000000000000000000000000000000000000000000000000000000000815250816003908161008b9190610598565b50806004908161009b9190610598565b5050506100b83369d3c21bcecceda10000006100bd60201b60201c565b61077c565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361012d575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161012491906106a6565b60405180910390fd5b61013e5f838361014260201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610192578060025f82825461018691906106ec565b92505081905550610260565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561021b578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016102129392919061072e565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036102a7578060025f82825403925050819055506102f1565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161034e9190610763565b60405180910390a3505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806103d657607f821691505b6020821081036103e9576103e8610392565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261044b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610410565b6104558683610410565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61049961049461048f8461046d565b610476565b61046d565b9050919050565b5f819050919050565b6104b28361047f565b6104c66104be826104a0565b84845461041c565b825550505050565b5f5f905090565b6104dd6104ce565b6104e88184846104a9565b505050565b5b8181101561050b576105005f826104d5565b6001810190506104ee565b5050565b601f82111561055057610521816103ef565b61052a84610401565b81016020851015610539578190505b61054d61054585610401565b8301826104ed565b50505b505050565b5f82821c905092915050565b5f6105705f1984600802610555565b1980831691505092915050565b5f6105888383610561565b9150826002028217905092915050565b6105a18261035b565b67ffffffffffffffff8111156105ba576105b9610365565b5b6105c482546103bf565b6105cf82828561050f565b5f60209050601f831160018114610600575f84156105ee578287015190505b6105f8858261057d565b86555061065f565b601f19841661060e866103ef565b5f5b8281101561063557848901518255600182019150602085019450602081019050610610565b86831015610652578489015161064e601f891682610561565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61069082610667565b9050919050565b6106a081610686565b82525050565b5f6020820190506106b95f830184610697565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6106f68261046d565b91506107018361046d565b9250828201905080821115610719576107186106bf565b5b92915050565b6107288161046d565b82525050565b5f6060820190506107415f830186610697565b61074e602083018561071f565b61075b604083018461071f565b949350505050565b5f6020820190506107765f83018461071f565b92915050565b610e96806107895f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c806340c10f191161006457806340c10f191461015a57806370a082311461017657806395d89b41146101a6578063a9059cbb146101c4578063dd62ed3e146101f45761009c565b806306fdde03146100a0578063095ea7b3146100be57806318160ddd146100ee57806323b872dd1461010c578063313ce5671461013c575b5f5ffd5b6100a8610224565b6040516100b59190610b0f565b60405180910390f35b6100d860048036038101906100d39190610bc0565b6102b4565b6040516100e59190610c18565b60405180910390f35b6100f66102d6565b6040516101039190610c40565b60405180910390f35b61012660048036038101906101219190610c59565b6102df565b6040516101339190610c18565b60405180910390f35b61014461030d565b6040516101519190610cc4565b60405180910390f35b610174600480360381019061016f9190610bc0565b610315565b005b610190600480360381019061018b9190610cdd565b610323565b60405161019d9190610c40565b60405180910390f35b6101ae610368565b6040516101bb9190610b0f565b60405180910390f35b6101de60048036038101906101d99190610bc0565b6103f8565b6040516101eb9190610c18565b60405180910390f35b61020e60048036038101906102099190610d08565b61041a565b60405161021b9190610c40565b60405180910390f35b60606003805461023390610d73565b80601f016020809104026020016040519081016040528092919081815260200182805461025f90610d73565b80156102aa5780601f10610281576101008083540402835291602001916102aa565b820191905f5260205f20905b81548152906001019060200180831161028d57829003601f168201915b5050505050905090565b5f5f6102be61049c565b90506102cb8185856104a3565b600191505092915050565b5f600254905090565b5f5f6102e961049c565b90506102f68582856104b5565b610301858585610548565b60019150509392505050565b5f6012905090565b61031f8282610638565b5050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461037790610d73565b80601f01602080910402602001604051908101604052809291908181526020018280546103a390610d73565b80156103ee5780601f106103c5576101008083540402835291602001916103ee565b820191905f5260205f20905b8154815290600101906020018083116103d157829003601f168201915b5050505050905090565b5f5f61040261049c565b905061040f818585610548565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b6104b083838360016106b7565b505050565b5f6104c0848461041a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105425781811015610533578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161052a93929190610db2565b60405180910390fd5b61054184848484035f6106b7565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105b8575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016105af9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610628575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161061f9190610de7565b60405180910390fd5b610633838383610886565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106a8575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161069f9190610de7565b60405180910390fd5b6106b35f8383610886565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610727575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161071e9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610797575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161078e9190610de7565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610880578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108779190610c40565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108d6578060025f8282546108ca9190610e2d565b925050819055506109a4565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561095f578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161095693929190610db2565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109eb578060025f8282540392505081905550610a35565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a929190610c40565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610ae182610a9f565b610aeb8185610aa9565b9350610afb818560208601610ab9565b610b0481610ac7565b840191505092915050565b5f6020820190508181035f830152610b278184610ad7565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b5c82610b33565b9050919050565b610b6c81610b52565b8114610b76575f5ffd5b50565b5f81359050610b8781610b63565b92915050565b5f819050919050565b610b9f81610b8d565b8114610ba9575f5ffd5b50565b5f81359050610bba81610b96565b92915050565b5f5f60408385031215610bd657610bd5610b2f565b5b5f610be385828601610b79565b9250506020610bf485828601610bac565b9150509250929050565b5f8115159050919050565b610c1281610bfe565b82525050565b5f602082019050610c2b5f830184610c09565b92915050565b610c3a81610b8d565b82525050565b5f602082019050610c535f830184610c31565b92915050565b5f5f5f60608486031215610c7057610c6f610b2f565b5b5f610c7d86828701610b79565b9350506020610c8e86828701610b79565b9250506040610c9f86828701610bac565b9150509250925092565b5f60ff82169050919050565b610cbe81610ca9565b82525050565b5f602082019050610cd75f830184610cb5565b92915050565b5f60208284031215610cf257610cf1610b2f565b5b5f610cff84828501610b79565b91505092915050565b5f5f60408385031215610d1e57610d1d610b2f565b5b5f610d2b85828601610b79565b9250506020610d3c85828601610b79565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610d8a57607f821691505b602082108103610d9d57610d9c610d46565b5b50919050565b610dac81610b52565b82525050565b5f606082019050610dc55f830186610da3565b610dd26020830185610c31565b610ddf6040830184610c31565b949350505050565b5f602082019050610dfa5f830184610da3565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610e3782610b8d565b9150610e4283610b8d565b9250828201905080821115610e5a57610e59610e00565b5b9291505056fea2646970667358221220d5863ff08848b1a47ced0ceea756c47ffdd0bfd0587d0adc92a905b4b04cb15d64736f6c634300081e0033", + "nonce": "0x1", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Droplet", + "contractAddress": "0x7fa9385be102ac3eac297483dd6233d62b3e1496", + "function": "mint(address,uint256)", + "arguments": [ + "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "1000000000000000000000000" + ], + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "to": "0x7fa9385be102ac3eac297483dd6233d62b3e1496", + "gas": "0xbb68", + "value": "0x0", + "input": "0x40c10f190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f3800000000000000000000000000000000000000000000d3c21bcecceda1000000", + "nonce": "0x2", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "Pool", + "contractAddress": "0x5b73c5498c1e3b4dba84de0f1833c4a029d90519", + "function": "createPool(uint40,uint40,string,uint256,address,uint16,uint256)", + "arguments": [ + "1747590342", + "1747611942", + "Test pool", + "1000", + "0x7FA9385bE102ac3EAc297483Dd6233D62b3e1496", + "1", + "1000" + ], + "transaction": { + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "to": "0x5b73c5498c1e3b4dba84de0f1833c4a029d90519", + "gas": "0x4fbf7", + "value": "0x0", + "input": "0xb462039700000000000000000000000000000000000000000000000000000000682a1cc600000000000000000000000000000000000000000000000000000000682a712600000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000007fa9385be102ac3eac297483dd6233d62b3e1496000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "nonce": "0x3", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1747417548, + "chain": 84532, + "commit": "0d0018b" +} \ No newline at end of file diff --git a/broadcast/Pool.s.sol/84532/run-1747417739.json b/broadcast/Pool.s.sol/84532/run-1747417739.json new file mode 100644 index 0000000..5fc0044 --- /dev/null +++ b/broadcast/Pool.s.sol/84532/run-1747417739.json @@ -0,0 +1,271 @@ +{ + "transactions": [ + { + "hash": "0x80bc0b1b14bbf4b40c29c37c8e232dccd507d150ad8515e9cd74d53f13590da3", + "transactionType": "CREATE", + "contractName": "Pool", + "contractAddress": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "function": null, + "arguments": null, + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "gas": "0x689c05", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506100225f5f1b3361005960201b60201c565b506100537fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217753361005960201b60201c565b506101b8565b5f61006a838361014e60201b60201c565b6101445760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506100e16101b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610148565b5f90505b92915050565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b615d9e806101c55f395ff3fe608060405234801561000f575f5ffd5b5060043610610251575f3560e01c80636f527aed116101445780639294a9a0116100c1578063b462039711610085578063b46203971461078c578063b6c8f0ea146107bc578063d547741f146107ed578063e2bbb15814610809578063fc43a10d14610839578063fe240bed1461086957610251565b80639294a9a0146106d057806395ccea67146107065780639d5292f714610722578063a217fddf14610752578063b103dbbb1461077057610251565b806382ef7b641161010857806382ef7b641461061657806383a06e5b146106325780638456cb59146106665780638486910a1461067057806391d14854146106a057610251565b80636f527aed1461054b57806371311f5d1461057b57806375b238fc146105ac5780637946ec5e146105ca57806381fb1fb4146105e657610251565b806348e8f215116101d25780635c975abb116101965780635c975abb1461047d578063686108fc1461049b5780636a6d964e146104cb5780636cb0b567146104ff5780636e7d40191461051b57610251565b806348e8f215146103c55780634c7d819b146103e357806351b422831461041557806355062d2b14610431578063589a0fe91461046157610251565b8063248a9ca311610219578063248a9ca3146103355780632f2ff15d1461036557806336568abe146103815780633f4ba83a1461039d57806346541a24146103a757610251565b8063016c85371461025557806301ffc9a7146102715780630e339f39146102a15780630efc8865146102d15780631f0c049914610301575b5f5ffd5b61026f600480360381019061026a9190613f65565b610899565b005b61028b60048036038101906102869190613ff8565b610aa6565b604051610298919061403d565b60405180910390f35b6102bb60048036038101906102b69190614056565b610b1f565b6040516102c891906140a3565b60405180910390f35b6102eb60048036038101906102e691906140bc565b610b3f565b6040516102f89190614109565b60405180910390f35b61031b60048036038101906103169190614056565b610b87565b60405161032c95949392919061414b565b60405180910390f35b61034f600480360381019061034a91906141cf565b610c06565b60405161035c9190614209565b60405180910390f35b61037f600480360381019061037a9190614222565b610c22565b005b61039b60048036038101906103969190614222565b610c44565b005b6103a5610cbf565b005b6103af610cf4565b6040516103bc91906140a3565b60405180910390f35b6103cd610cfa565b6040516103da919061427f565b60405180910390f35b6103fd60048036038101906103f89190614056565b610d01565b60405161040c93929190614298565b60405180910390f35b61042f600480360381019061042a91906142cd565b610d42565b005b61044b60048036038101906104469190614056565b6111d7565b604051610458919061403d565b60405180910390f35b61047b6004803603810190610476919061437e565b611201565b005b6104856113f3565b604051610492919061403d565b60405180910390f35b6104b560048036038101906104b09190614056565b611408565b6040516104c291906140a3565b60405180910390f35b6104e560048036038101906104e091906143db565b611433565b6040516104f6959493929190614406565b60405180910390f35b610519600480360381019061051491906144ac565b611465565b005b610535600480360381019061053091906143db565b6115be565b6040516105429190614598565b60405180910390f35b61056560048036038101906105609190614056565b6115ee565b604051610572919061403d565b60405180910390f35b610595600480360381019061059091906145b1565b611618565b6040516105a392919061474a565b60405180910390f35b6105b4611869565b6040516105c19190614209565b60405180910390f35b6105e460048036038101906105df919061477f565b61188d565b005b61060060048036038101906105fb91906140bc565b611948565b60405161060d9190614109565b60405180910390f35b610630600480360381019061062b91906143db565b611990565b005b61064c600480360381019061064791906143db565b611be6565b60405161065d959493929190614a4e565b60405180910390f35b61066e611f40565b005b61068a600480360381019061068591906140bc565b611f75565b6040516106979190614109565b60405180910390f35b6106ba60048036038101906106b59190614222565b611fbd565b6040516106c7919061403d565b60405180910390f35b6106ea60048036038101906106e591906143db565b612020565b6040516106fd9796959493929190614b0d565b60405180910390f35b610720600480360381019061071b9190614bbc565b612130565b005b61073c60048036038101906107379190614056565b612192565b60405161074991906140a3565b60405180910390f35b61075a6121bd565b6040516107679190614209565b60405180910390f35b61078a60048036038101906107859190614c4f565b6121c3565b005b6107a660048036038101906107a19190614d14565b6125a8565b6040516107b391906140a3565b60405180910390f35b6107d660048036038101906107d191906143db565b612954565b6040516107e4929190614eb9565b60405180910390f35b61080760048036038101906108029190614222565b612b89565b005b610823600480360381019061081e91906140bc565b612bab565b604051610830919061403d565b60405180910390f35b610853600480360381019061084e91906140bc565b61311c565b6040516108609190614eee565b60405180910390f35b610883600480360381019061087e9190614056565b6131cd565b60405161089091906140a3565b60405180910390f35b6108a16131f8565b5f6108f6600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20613239565b61094a600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f20613246565b6109549190614f3b565b90505f8111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90614fb8565b60405180910390fd5b6109f681600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2061325290919063ffffffff16565b610a51828260045f8781526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f5380cf6fe903b40c6d5a9e0dfbca2f3a423f0a21520b4d5947ed5169bdba946d8483604051610a99929190614fd6565b60405180910390a2505050565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b185750610b17826134da565b5b9050919050565b600f602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f208181548110610b58575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a90046effffffffffffffffffffffffffffff169080600201600f9054906101000a90046effffffffffffffffffffffffffffff169080600201601e9054906101000a900460ff16905085565b5f5f5f8381526020019081526020015f20600101549050919050565b610c2b82610c06565b610c3481613543565b610c3e8383613557565b50505050565b610c4c613640565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cb0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba8282613647565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ce981613543565b610cf1613730565b50565b60025481565b62093a8081565b600d602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a900464ffffffffff16905083565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16610ddd57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401610dd49190614109565b60405180910390fd5b610de56131f8565b42610dff60035f8781526020019081526020015f20613791565b64ffffffffff1610610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90615047565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed5906150af565b60405180910390fd5b610ef760055f8681526020019081526020015f206137ae565b821115610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090615117565b60405180910390fd5b5f610f8e600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613239565b14610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc59061517f565b60405180910390fd5b8160055f8681526020019081526020015f206003015f828254610ff19190614f3b565b9250508190555061105682600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f206137bb90919063ffffffff16565b5f6110ab600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613246565b036111815760075f8581526020019081526020015f2083908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150555b8273ffffffffffffffffffffffffffffffffffffffff167f86c416066bc80b64ebce6090a491b86f879b69c8a018bfc62da9549e2c618e5a85846040516111c9929190614fd6565b60405180910390a250505050565b6009602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661129c57336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016112939190614109565b60405180910390fd5b6112a46131f8565b5f6112be60035f8781526020019081526020015f206137fc565b90505f6112da60035f8881526020019081526020015f20613816565b90505f8261ffff1611611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906151e7565b60405180910390fd5b8161ffff16858590501461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061524f565b60405180910390fd5b5f810361139d578161ffff1661139060055f8981526020019081526020015f206137ae565b61139a919061529a565b90505b5f5b8261ffff168110156113ea576113dd878787848181106113c2576113c16152ca565b5b90506020020160208101906113d791906145b1565b84610d42565b808060010191505061139f565b50505050505050565b5f60015f9054906101000a900460ff16905090565b600a602052815f5260405f208181548110611421575f80fd5b905f5260205f20015f91509150505481565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b8460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661150057336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016114f79190614109565b60405180910390fd5b6115086131f8565b828290508585905014611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790615341565b60405180910390fd5b5f5b858590508110156115b5576115a887878784818110611574576115736152ca565b5b905060200201602081019061158991906145b1565b86868581811061159c5761159b6152ca565b5b90506020020135610d42565b8080600101915050611552565b50505050505050565b6004602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b6060805f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905067ffffffffffffffff8111156116765761167561535f565b5b6040519080825280602002602001820160405280156116a45781602001602082028036833780820191505090505b5090505f5b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156117d0575f61179d600d5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208581548110611782576117816152ca565b5b905f5260205f20015481526020019081526020015f20613239565b118282815181106117b1576117b06152ca565b5b60200260200101901515908115158152505080806001019150506116a9565b50600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818180548060200260200160405190810160405280929190818152602001828054801561185857602002820191905f5260205f20905b815481526020019060010190808311611844575b505050505091509250925050915091565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6118956131f8565b8383905084849050146118dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d490615341565b60405180910390fd5b5f5b8484905081101561194157611934858583818110611900576118ff6152ca565b5b9050602002013584848481811061191a576119196152ca565b5b905060200201602081019061192f91906145b1565b610899565b80806001019150506118df565b5050505050565b6006602052815f5260405f208181548110611961575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16611a2b57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401611a229190614109565b60405180910390fd5b611a336131f8565b4262093a80611a5160035f8681526020019081526020015f20613791565b611a5b919061538c565b64ffffffffff1610611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990615047565b60405180910390fd5b5f611abc60055f8581526020019081526020015f206137ae565b90505f8111611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79061540e565b60405180910390fd5b5f60055f8581526020019081526020015f20600301819055505f611b3360035f8681526020019081526020015f20613823565b9050611b90818360045f8881526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0d8b7f535379cc0ea989891df832f4201d074cd58a544b15f916d2ebf1d3639c8584604051611bd8929190614fd6565b60405180910390a250505050565b611bee613e22565b611bf6613e81565b5f60608060035f8781526020019081526020015f2060055f8881526020019081526020015f2060045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f8a81526020019081526020015f2060075f8b81526020019081526020015f20846040518060e00160405290815f82015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f820160059054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f8201600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f8201601e9054906101000a900461ffff1661ffff1661ffff168152602001600182018054611d4e90615459565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7a90615459565b8015611dc55780601f10611d9c57610100808354040283529160200191611dc5565b820191905f5260205f20905b815481529060010190602001808311611da857829003601f168201915b50505050508152602001600282015481526020016003820154815250509450836040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050935081805480602002602001604051908101604052809291908181526020018280548015611ea157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611e58575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015611f2657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611edd575b505050505090509450945094509450945091939590929450565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f6a81613543565b611f7261384f565b50565b6010602052815f5260405f208181548110611f8e575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6003602052805f5260405f205f91509050805f015f9054906101000a900464ffffffffff1690805f0160059054906101000a900464ffffffffff1690805f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f01601e9054906101000a900461ffff16908060010180546120a390615459565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf90615459565b801561211a5780601f106120f15761010080835404028352916020019161211a565b820191905f5260205f20905b8154815290600101906020018083116120fd57829003601f168201915b5050505050908060020154908060030154905087565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561215a81613543565b6121626138b0565b61218d33838573ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b505050565b600e602052815f5260405f2081815481106121ab575f80fd5b905f5260205f20015f91509150505481565b5f5f1b81565b6121cb6131f8565b6121d36138f0565b5f73ffffffffffffffffffffffffffffffffffffffff1661220360035f8781526020019081526020015f20613823565b73ffffffffffffffffffffffffffffffffffffffff1603612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906154d3565b60405180910390fd5b4261227360035f8781526020019081526020015f20613791565b64ffffffffff1610156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b29061553b565b60405180910390fd5b5f83116122fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f4906155a3565b60405180910390fd5b8260055f8681526020019081526020015f205f015f82825461231f91906155c1565b925050819055508260055f8681526020019081526020015f206003015f82825461234991906155c1565b925050819055508260055f8681526020019081526020015f206004015f82825461237391906155c1565b925050819055505f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2054036124875760115f8581526020019081526020015f20828290918060018154018082558091505060019003905f5260205f20015f909192909192909192909192509182612416929190615795565b5060105f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b82600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f8282546124e291906155c1565b9250508190555061254633308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f73095116d9e21ea08dd2f8b16ed194cadd05eb470efa77ab8c63e91477d828cc85858585604051612592949392919061589c565b60405180910390a26125a2613bdc565b50505050565b5f6125b16131f8565b8764ffffffffff168964ffffffffff1610612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890615924565b60405180910390fd5b61260a84613c1b565b612649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126409061598c565b60405180910390fd5b60025f81548092919061265b906159aa565b91905055506126853360035f60025481526020019081526020015f20613c3290919063ffffffff16565b600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025481526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600254908060018154018082558091505060019003905f5260205f20015f90919091909150556127738960035f60025481526020019081526020015f20613c7890919063ffffffff16565b6127988860035f60025481526020019081526020015f20613c9f90919063ffffffff16565b61280087878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505060035f60025481526020019081526020015f20613cc790919063ffffffff16565b6128258560035f60025481526020019081526020015f20613cdd90919063ffffffff16565b5f8361ffff161115612857576128568360035f60025481526020019081526020015f20613cea90919063ffffffff16565b5b5f821115612885576128848260035f60025481526020019081526020015f20613d0c90919063ffffffff16565b5b8360045f60025481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f16002548a8a8a60405161293b94939291906159f1565b60405180910390a3600254905098975050505050505050565b6060805f60075f8581526020019081526020015f208054905067ffffffffffffffff8111156129865761298561535f565b5b6040519080825280602002602001820160405280156129bf57816020015b6129ac613eab565b8152602001906001900390816129a45790505b5090505f5b60075f8681526020019081526020015f2080549050811015612ae757600d5f60075f8881526020019081526020015f208381548110612a0657612a056152ca565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f206040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681525050828281518110612acf57612ace6152ca565b5b602002602001018190525080806001019150506129c4565b5060075f8581526020019081526020015f208181805480602002602001604051908101604052809291908181526020018280548015612b7857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612b2f575b505050505091509250925050915091565b612b9282610c06565b612b9b81613543565b612ba58383613647565b50505050565b5f612bb46131f8565b612bbc6138f0565b42612bd660035f8681526020019081526020015f20613d19565b64ffffffffff1610612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490615a79565b60405180910390fd5b42612c3760035f8681526020019081526020015f20613791565b64ffffffffff161015612c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c769061553b565b60405180910390fd5b600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900460ff1615612d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0f90615ae1565b60405180910390fd5b5f612d3260035f8681526020019081526020015f20613d35565b905080831015612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90615b49565b60405180910390fd5b80831115612e10578083612d8b9190614f3b565b60055f8681526020019081526020015f206004015f828254612dad91906155c1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f4b980b78760b02f4b4f1149bdcc168aec45990f1247e5e26860f1a6dc7a17ba4858386612df99190614f3b565b604051612e07929190614fd6565b60405180910390a25b8260055f8681526020019081526020015f205f015f828254612e3291906155c1565b925050819055508260055f8681526020019081526020015f206003015f828254612e5c91906155c1565b92505081905550612ed560065f8681526020019081526020015f2080549050600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613d4290919063ffffffff16565b60065f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150556001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f01819055506130b933308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b98585604051613101929190614fd6565b60405180910390a26001915050613116613bdc565b92915050565b6011602052815f5260405f208181548110613135575f80fd5b905f5260205f20015f9150915050805461314e90615459565b80601f016020809104026020016040519081016040528092919081815260200182805461317a90615459565b80156131c55780601f1061319c576101008083540402835291602001916131c5565b820191905f5260205f20905b8154815290600101906020018083116131a857829003601f168201915b505050505081565b6008602052815f5260405f2081815481106131e6575f80fd5b905f5260205f20015f91509150505481565b6132006113f3565b15613237576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f81600101549050919050565b5f815f01549050919050565b80826001015f82825461326591906155c1565b925050819055505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f89190614eee565b60405180910390fd5b505f5f8473ffffffffffffffffffffffffffffffffffffffff16848460405160240161332e929190615b67565b60405160208183030381529060405263a9059cbb60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133809190615bd2565b5f604051808303815f865af19150503d805f81146133b9576040519150601f19603f3d011682016040523d82523d5f602084013e6133be565b606091505b5091509150816040518060400160405280601181526020017f7472616e736665722072657665727465640000000000000000000000000000008152509061343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134329190614eee565b60405180910390fd5b505f8151148061345b57508080602001905181019061345a9190615c12565b5b6040518060400160405280601781526020017f7472616e736665722072657475726e65642066616c7365000000000000000000815250906134d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134c99190614eee565b60405180910390fd5b505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6135548161354f613640565b613d7e565b50565b5f6135628383611fbd565b6136365760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506135d3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061363a565b5f90505b92915050565b5f33905090565b5f6136528383611fbd565b15613726575f5f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506136c3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061372a565b5f90505b92915050565b6137386138b0565b5f60015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61377a613640565b6040516137879190614109565b60405180910390a1565b5f815f0160059054906101000a900464ffffffffff169050919050565b5f81600301549050919050565b42826002015f6101000a81548164ffffffffff021916908364ffffffffff16021790555080825f015f8282546137f191906155c1565b925050819055505050565b5f815f01601e9054906101000a900461ffff169050919050565b5f81600301549050919050565b5f815f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6138576131f8565b6001805f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613899613640565b6040516138a69190614109565b60405180910390a1565b6138b86113f3565b6138ee576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6138f8613dcf565b1561392f576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61396d600161395f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f8473ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f79190614eee565b60405180910390fd5b505f5f8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401613a2f93929190615c3d565b6040516020818303038152906040526323b872dd60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051613a819190615bd2565b5f604051808303815f865af19150503d805f8114613aba576040519150601f19603f3d011682016040523d82523d5f602084013e613abf565b606091505b5091509150816040518060400160405280601581526020017f7472616e7366657246726f6d207265766572746564000000000000000000000081525090613b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b339190614eee565b60405180910390fd5b505f81511480613b5c575080806020019051810190613b5b9190615c12565b5b6040518060400160405280601b81526020017f7472616e7366657246726f6d2072657475726e65642066616c7365000000000081525090613bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bca9190614eee565b60405180910390fd5b50505050505050565b613c195f613c0b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f5f823b90505f8163ffffffff1611915050919050565b80825f01600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b80825f015f6101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80825f0160056101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80826001019081613cd89190615c72565b505050565b8082600201819055505050565b80825f01601e6101000a81548161ffff021916908361ffff1602179055505050565b8082600301819055505050565b5f815f015f9054906101000a900464ffffffffff169050919050565b5f81600201549050919050565b80826002015f6101000a8154816effffffffffffffffffffffffffffff02191690836effffffffffffffffffffffffffffff1602179055505050565b613d888282611fbd565b613dcb5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401613dc2929190615d41565b60405180910390fd5b5050565b5f613e03613dfe7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e18565b905090565b5f819050919050565b80825d5050565b5f815c9050919050565b6040518060e001604052805f64ffffffffff1681526020015f64ffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f61ffff168152602001606081526020015f81526020015f81525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f64ffffffffff1681525090565b5f5ffd5b5f5ffd5b5f819050919050565b613eea81613ed8565b8114613ef4575f5ffd5b50565b5f81359050613f0581613ee1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f3482613f0b565b9050919050565b613f4481613f2a565b8114613f4e575f5ffd5b50565b5f81359050613f5f81613f3b565b92915050565b5f5f60408385031215613f7b57613f7a613ed0565b5b5f613f8885828601613ef7565b9250506020613f9985828601613f51565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613fd781613fa3565b8114613fe1575f5ffd5b50565b5f81359050613ff281613fce565b92915050565b5f6020828403121561400d5761400c613ed0565b5b5f61401a84828501613fe4565b91505092915050565b5f8115159050919050565b61403781614023565b82525050565b5f6020820190506140505f83018461402e565b92915050565b5f5f6040838503121561406c5761406b613ed0565b5b5f61407985828601613f51565b925050602061408a85828601613ef7565b9150509250929050565b61409d81613ed8565b82525050565b5f6020820190506140b65f830184614094565b92915050565b5f5f604083850312156140d2576140d1613ed0565b5b5f6140df85828601613ef7565b92505060206140f085828601613ef7565b9150509250929050565b61410381613f2a565b82525050565b5f60208201905061411c5f8301846140fa565b92915050565b5f6effffffffffffffffffffffffffffff82169050919050565b61414581614122565b82525050565b5f60a08201905061415e5f830188614094565b61416b6020830187614094565b614178604083018661413c565b614185606083018561413c565b614192608083018461402e565b9695505050505050565b5f819050919050565b6141ae8161419c565b81146141b8575f5ffd5b50565b5f813590506141c9816141a5565b92915050565b5f602082840312156141e4576141e3613ed0565b5b5f6141f1848285016141bb565b91505092915050565b6142038161419c565b82525050565b5f60208201905061421c5f8301846141fa565b92915050565b5f5f6040838503121561423857614237613ed0565b5b5f614245858286016141bb565b925050602061425685828601613f51565b9150509250929050565b5f64ffffffffff82169050919050565b61427981614260565b82525050565b5f6020820190506142925f830184614270565b92915050565b5f6060820190506142ab5f830186614094565b6142b86020830185614094565b6142c56040830184614270565b949350505050565b5f5f5f606084860312156142e4576142e3613ed0565b5b5f6142f186828701613ef7565b935050602061430286828701613f51565b925050604061431386828701613ef7565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261433e5761433d61431d565b5b8235905067ffffffffffffffff81111561435b5761435a614321565b5b60208301915083602082028301111561437757614376614325565b5b9250929050565b5f5f5f6040848603121561439557614394613ed0565b5b5f6143a286828701613ef7565b935050602084013567ffffffffffffffff8111156143c3576143c2613ed4565b5b6143cf86828701614329565b92509250509250925092565b5f602082840312156143f0576143ef613ed0565b5b5f6143fd84828501613ef7565b91505092915050565b5f60a0820190506144195f830188614094565b6144266020830187614094565b6144336040830186614094565b6144406060830185614094565b61444d6080830184614094565b9695505050505050565b5f5f83601f84011261446c5761446b61431d565b5b8235905067ffffffffffffffff81111561448957614488614321565b5b6020830191508360208202830111156144a5576144a4614325565b5b9250929050565b5f5f5f5f5f606086880312156144c5576144c4613ed0565b5b5f6144d288828901613ef7565b955050602086013567ffffffffffffffff8111156144f3576144f2613ed4565b5b6144ff88828901614329565b9450945050604086013567ffffffffffffffff81111561452257614521613ed4565b5b61452e88828901614457565b92509250509295509295909350565b5f819050919050565b5f61456061455b61455684613f0b565b61453d565b613f0b565b9050919050565b5f61457182614546565b9050919050565b5f61458282614567565b9050919050565b61459281614578565b82525050565b5f6020820190506145ab5f830184614589565b92915050565b5f602082840312156145c6576145c5613ed0565b5b5f6145d384828501613f51565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61460e81613ed8565b82525050565b5f61461f8383614605565b60208301905092915050565b5f602082019050919050565b5f614641826145dc565b61464b81856145e6565b9350614656836145f6565b805f5b8381101561468657815161466d8882614614565b97506146788361462b565b925050600181019050614659565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6146c581614023565b82525050565b5f6146d683836146bc565b60208301905092915050565b5f602082019050919050565b5f6146f882614693565b614702818561469d565b935061470d836146ad565b805f5b8381101561473d57815161472488826146cb565b975061472f836146e2565b925050600181019050614710565b5085935050505092915050565b5f6040820190508181035f8301526147628185614637565b9050818103602083015261477681846146ee565b90509392505050565b5f5f5f5f6040858703121561479757614796613ed0565b5b5f85013567ffffffffffffffff8111156147b4576147b3613ed4565b5b6147c087828801614457565b9450945050602085013567ffffffffffffffff8111156147e3576147e2613ed4565b5b6147ef87828801614329565b925092505092959194509250565b61480681614260565b82525050565b61481581613f2a565b82525050565b5f61ffff82169050919050565b6148318161481b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61487982614837565b6148838185614841565b9350614893818560208601614851565b61489c8161485f565b840191505092915050565b5f60e083015f8301516148bc5f8601826147fd565b5060208301516148cf60208601826147fd565b5060408301516148e2604086018261480c565b5060608301516148f56060860182614828565b506080830151848203608086015261490d828261486f565b91505060a083015161492260a0860182614605565b5060c083015161493560c0860182614605565b508091505092915050565b60a082015f8201516149545f850182614605565b5060208201516149676020850182614605565b50604082015161497a6040850182614605565b50606082015161498d6060850182614605565b5060808201516149a06080850182614605565b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6149da838361480c565b60208301905092915050565b5f602082019050919050565b5f6149fc826149a6565b614a0681856149b0565b9350614a11836149c0565b805f5b83811015614a41578151614a2888826149cf565b9750614a33836149e6565b925050600181019050614a14565b5085935050505092915050565b5f610120820190508181035f830152614a6781886148a7565b9050614a766020830187614940565b614a8360c08301866140fa565b81810360e0830152614a9581856149f2565b9050818103610100830152614aaa81846149f2565b90509695505050505050565b614abf8161481b565b82525050565b5f82825260208201905092915050565b5f614adf82614837565b614ae98185614ac5565b9350614af9818560208601614851565b614b028161485f565b840191505092915050565b5f60e082019050614b205f83018a614270565b614b2d6020830189614270565b614b3a60408301886140fa565b614b476060830187614ab6565b8181036080830152614b598186614ad5565b9050614b6860a0830185614094565b614b7560c0830184614094565b98975050505050505050565b5f614b8b82613f2a565b9050919050565b614b9b81614b81565b8114614ba5575f5ffd5b50565b5f81359050614bb681614b92565b92915050565b5f5f60408385031215614bd257614bd1613ed0565b5b5f614bdf85828601614ba8565b9250506020614bf085828601613ef7565b9150509250929050565b5f5f83601f840112614c0f57614c0e61431d565b5b8235905067ffffffffffffffff811115614c2c57614c2b614321565b5b602083019150836001820283011115614c4857614c47614325565b5b9250929050565b5f5f5f5f60608587031215614c6757614c66613ed0565b5b5f614c7487828801613ef7565b9450506020614c8587828801613ef7565b935050604085013567ffffffffffffffff811115614ca657614ca5613ed4565b5b614cb287828801614bfa565b925092505092959194509250565b614cc981614260565b8114614cd3575f5ffd5b50565b5f81359050614ce481614cc0565b92915050565b614cf38161481b565b8114614cfd575f5ffd5b50565b5f81359050614d0e81614cea565b92915050565b5f5f5f5f5f5f5f5f60e0898b031215614d3057614d2f613ed0565b5b5f614d3d8b828c01614cd6565b9850506020614d4e8b828c01614cd6565b975050604089013567ffffffffffffffff811115614d6f57614d6e613ed4565b5b614d7b8b828c01614bfa565b96509650506060614d8e8b828c01613ef7565b9450506080614d9f8b828c01613f51565b93505060a0614db08b828c01614d00565b92505060c0614dc18b828c01613ef7565b9150509295985092959890939650565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151614e0e5f850182614605565b506020820151614e216020850182614605565b506040820151614e3460408501826147fd565b50505050565b5f614e458383614dfa565b60608301905092915050565b5f602082019050919050565b5f614e6782614dd1565b614e718185614ddb565b9350614e7c83614deb565b805f5b83811015614eac578151614e938882614e3a565b9750614e9e83614e51565b925050600181019050614e7f565b5085935050505092915050565b5f6040820190508181035f830152614ed181856149f2565b90508181036020830152614ee58184614e5d565b90509392505050565b5f6020820190508181035f830152614f068184614ad5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614f4582613ed8565b9150614f5083613ed8565b9250828203905081811115614f6857614f67614f0e565b5b92915050565b7f4e6f2077696e6e696e67730000000000000000000000000000000000000000005f82015250565b5f614fa2600b83614ac5565b9150614fad82614f6e565b602082019050919050565b5f6020820190508181035f830152614fcf81614f96565b9050919050565b5f604082019050614fe95f830185614094565b614ff66020830184614094565b9392505050565b7f506f6f6c206e6f7420656e6465640000000000000000000000000000000000005f82015250565b5f615031600e83614ac5565b915061503c82614ffd565b602082019050919050565b5f6020820190508181035f83015261505e81615025565b9050919050565b7f4e6f742061207061727469636970616e740000000000000000000000000000005f82015250565b5f615099601183614ac5565b91506150a482615065565b602082019050919050565b5f6020820190508181035f8301526150c68161508d565b9050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f615101601283614ac5565b915061510c826150cd565b602082019050919050565b5f6020820190508181035f83015261512e816150f5565b9050919050565b7f416c726561647920636c61696d656400000000000000000000000000000000005f82015250565b5f615169600f83614ac5565b915061517482615135565b602082019050919050565b5f6020820190508181035f8301526151968161515d565b9050919050565b7f546f74616c2077696e6e657273206e6f742073657400000000000000000000005f82015250565b5f6151d1601583614ac5565b91506151dc8261519d565b602082019050919050565b5f6020820190508181035f8301526151fe816151c5565b9050919050565b7f496e76616c6964206e756d626572206f662077696e6e657273000000000000005f82015250565b5f615239601983614ac5565b915061524482615205565b602082019050919050565b5f6020820190508181035f8301526152668161522d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6152a482613ed8565b91506152af83613ed8565b9250826152bf576152be61526d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61532b600d83614ac5565b9150615336826152f7565b602082019050919050565b5f6020820190508181035f8301526153588161531f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61539682614260565b91506153a183614260565b9250828201905064ffffffffff8111156153be576153bd614f0e565b5b92915050565b7f4e6f7468696e6720746f207769746864726177000000000000000000000000005f82015250565b5f6153f8601383614ac5565b9150615403826153c4565b602082019050919050565b5f6020820190508181035f830152615425816153ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061547057607f821691505b6020821081036154835761548261542c565b5b50919050565b7f506f6f6c206e6f742063726561746564000000000000000000000000000000005f82015250565b5f6154bd601083614ac5565b91506154c882615489565b602082019050919050565b5f6020820190508181035f8301526154ea816154b1565b9050919050565b7f506f6f6c20656e646564000000000000000000000000000000000000000000005f82015250565b5f615525600a83614ac5565b9150615530826154f1565b602082019050919050565b5f6020820190508181035f83015261555281615519565b9050919050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f61558d600e83614ac5565b915061559882615559565b602082019050919050565b5f6020820190508181035f8301526155ba81615581565b9050919050565b5f6155cb82613ed8565b91506155d683613ed8565b92508282019050808211156155ee576155ed614f0e565b5b92915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261565a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261561f565b615664868361561f565b95508019841693508086168417925050509392505050565b5f61569661569161568c84613ed8565b61453d565b613ed8565b9050919050565b5f819050919050565b6156af8361567c565b6156c36156bb8261569d565b84845461562b565b825550505050565b5f5f905090565b6156da6156cb565b6156e58184846156a6565b505050565b5b81811015615708576156fd5f826156d2565b6001810190506156eb565b5050565b601f82111561574d5761571e816155fe565b61572784615610565b81016020851015615736578190505b61574a61574285615610565b8301826156ea565b50505b505050565b5f82821c905092915050565b5f61576d5f1984600802615752565b1980831691505092915050565b5f615785838361575e565b9150826002028217905092915050565b61579f83836155f4565b67ffffffffffffffff8111156157b8576157b761535f565b5b6157c28254615459565b6157cd82828561570c565b5f601f8311600181146157fa575f84156157e8578287013590505b6157f2858261577a565b865550615859565b601f198416615808866155fe565b5f5b8281101561582f5784890135825560018201915060208501945060208101905061580a565b8683101561584c5784890135615848601f89168261575e565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f61587b8385614ac5565b9350615888838584615862565b6158918361485f565b840190509392505050565b5f6060820190506158af5f830187614094565b6158bc6020830186614094565b81810360408301526158cf818486615870565b905095945050505050565b7f496e76616c69642074696d696e670000000000000000000000000000000000005f82015250565b5f61590e600e83614ac5565b9150615919826158da565b602082019050919050565b5f6020820190508181035f83015261593b81615902565b9050919050565b7f546f6b656e206e6f7420636f6e747261637400000000000000000000000000005f82015250565b5f615976601283614ac5565b915061598182615942565b602082019050919050565b5f6020820190508181035f8301526159a38161596a565b9050919050565b5f6159b482613ed8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036159e6576159e5614f0e565b5b600182019050919050565b5f606082019050615a045f830187614094565b8181036020830152615a17818587615870565b9050615a266040830184614094565b95945050505050565b7f506f6f6c206e6f742073746172746564000000000000000000000000000000005f82015250565b5f615a63601083614ac5565b9150615a6e82615a2f565b602082019050919050565b5f6020820190508181035f830152615a9081615a57565b9050919050565b7f416c726561647920696e20706f6f6c00000000000000000000000000000000005f82015250565b5f615acb600f83614ac5565b9150615ad682615a97565b602082019050919050565b5f6020820190508181035f830152615af881615abf565b9050919050565b7f496e73756666696369656e7420616d6f756e74000000000000000000000000005f82015250565b5f615b33601383614ac5565b9150615b3e82615aff565b602082019050919050565b5f6020820190508181035f830152615b6081615b27565b9050919050565b5f604082019050615b7a5f8301856140fa565b615b876020830184614094565b9392505050565b5f81519050919050565b5f81905092915050565b5f615bac82615b8e565b615bb68185615b98565b9350615bc6818560208601614851565b80840191505092915050565b5f615bdd8284615ba2565b915081905092915050565b615bf181614023565b8114615bfb575f5ffd5b50565b5f81519050615c0c81615be8565b92915050565b5f60208284031215615c2757615c26613ed0565b5b5f615c3484828501615bfe565b91505092915050565b5f606082019050615c505f8301866140fa565b615c5d60208301856140fa565b615c6a6040830184614094565b949350505050565b615c7b82614837565b67ffffffffffffffff811115615c9457615c9361535f565b5b615c9e8254615459565b615ca982828561570c565b5f60209050601f831160018114615cda575f8415615cc8578287015190505b615cd2858261577a565b865550615d39565b601f198416615ce8866155fe565b5f5b82811015615d0f57848901518255600182019150602085019450602081019050615cea565b86831015615d2c5784890151615d28601f89168261575e565b8355505b6001600288020188555050505b505050505050565b5f604082019050615d545f8301856140fa565b615d6160208301846141fa565b939250505056fea2646970667358221220ebd06702f9baca21d503971a086887c568d391b64d59939edb105c1315d3548064736f6c634300081e0033", + "nonce": "0x5", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa9f34fa9fbc3c513e9e280e66d2aa451fa9e75e8723d22619bb4df766bc1f5ba", + "transactionType": "CREATE", + "contractName": "Droplet", + "contractAddress": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "function": null, + "arguments": null, + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "gas": "0x1366d0", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506040518060400160405280600781526020017f44726f706c6574000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f44524f5000000000000000000000000000000000000000000000000000000000815250816003908161008b9190610598565b50806004908161009b9190610598565b5050506100b83369d3c21bcecceda10000006100bd60201b60201c565b61077c565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361012d575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161012491906106a6565b60405180910390fd5b61013e5f838361014260201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610192578060025f82825461018691906106ec565b92505081905550610260565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561021b578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016102129392919061072e565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036102a7578060025f82825403925050819055506102f1565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161034e9190610763565b60405180910390a3505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806103d657607f821691505b6020821081036103e9576103e8610392565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261044b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610410565b6104558683610410565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61049961049461048f8461046d565b610476565b61046d565b9050919050565b5f819050919050565b6104b28361047f565b6104c66104be826104a0565b84845461041c565b825550505050565b5f5f905090565b6104dd6104ce565b6104e88184846104a9565b505050565b5b8181101561050b576105005f826104d5565b6001810190506104ee565b5050565b601f82111561055057610521816103ef565b61052a84610401565b81016020851015610539578190505b61054d61054585610401565b8301826104ed565b50505b505050565b5f82821c905092915050565b5f6105705f1984600802610555565b1980831691505092915050565b5f6105888383610561565b9150826002028217905092915050565b6105a18261035b565b67ffffffffffffffff8111156105ba576105b9610365565b5b6105c482546103bf565b6105cf82828561050f565b5f60209050601f831160018114610600575f84156105ee578287015190505b6105f8858261057d565b86555061065f565b601f19841661060e866103ef565b5f5b8281101561063557848901518255600182019150602085019450602081019050610610565b86831015610652578489015161064e601f891682610561565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61069082610667565b9050919050565b6106a081610686565b82525050565b5f6020820190506106b95f830184610697565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6106f68261046d565b91506107018361046d565b9250828201905080821115610719576107186106bf565b5b92915050565b6107288161046d565b82525050565b5f6060820190506107415f830186610697565b61074e602083018561071f565b61075b604083018461071f565b949350505050565b5f6020820190506107765f83018461071f565b92915050565b610e96806107895f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c806340c10f191161006457806340c10f191461015a57806370a082311461017657806395d89b41146101a6578063a9059cbb146101c4578063dd62ed3e146101f45761009c565b806306fdde03146100a0578063095ea7b3146100be57806318160ddd146100ee57806323b872dd1461010c578063313ce5671461013c575b5f5ffd5b6100a8610224565b6040516100b59190610b0f565b60405180910390f35b6100d860048036038101906100d39190610bc0565b6102b4565b6040516100e59190610c18565b60405180910390f35b6100f66102d6565b6040516101039190610c40565b60405180910390f35b61012660048036038101906101219190610c59565b6102df565b6040516101339190610c18565b60405180910390f35b61014461030d565b6040516101519190610cc4565b60405180910390f35b610174600480360381019061016f9190610bc0565b610315565b005b610190600480360381019061018b9190610cdd565b610323565b60405161019d9190610c40565b60405180910390f35b6101ae610368565b6040516101bb9190610b0f565b60405180910390f35b6101de60048036038101906101d99190610bc0565b6103f8565b6040516101eb9190610c18565b60405180910390f35b61020e60048036038101906102099190610d08565b61041a565b60405161021b9190610c40565b60405180910390f35b60606003805461023390610d73565b80601f016020809104026020016040519081016040528092919081815260200182805461025f90610d73565b80156102aa5780601f10610281576101008083540402835291602001916102aa565b820191905f5260205f20905b81548152906001019060200180831161028d57829003601f168201915b5050505050905090565b5f5f6102be61049c565b90506102cb8185856104a3565b600191505092915050565b5f600254905090565b5f5f6102e961049c565b90506102f68582856104b5565b610301858585610548565b60019150509392505050565b5f6012905090565b61031f8282610638565b5050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461037790610d73565b80601f01602080910402602001604051908101604052809291908181526020018280546103a390610d73565b80156103ee5780601f106103c5576101008083540402835291602001916103ee565b820191905f5260205f20905b8154815290600101906020018083116103d157829003601f168201915b5050505050905090565b5f5f61040261049c565b905061040f818585610548565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b6104b083838360016106b7565b505050565b5f6104c0848461041a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105425781811015610533578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161052a93929190610db2565b60405180910390fd5b61054184848484035f6106b7565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105b8575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016105af9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610628575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161061f9190610de7565b60405180910390fd5b610633838383610886565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106a8575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161069f9190610de7565b60405180910390fd5b6106b35f8383610886565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610727575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161071e9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610797575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161078e9190610de7565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610880578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108779190610c40565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108d6578060025f8282546108ca9190610e2d565b925050819055506109a4565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561095f578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161095693929190610db2565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109eb578060025f8282540392505081905550610a35565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a929190610c40565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610ae182610a9f565b610aeb8185610aa9565b9350610afb818560208601610ab9565b610b0481610ac7565b840191505092915050565b5f6020820190508181035f830152610b278184610ad7565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b5c82610b33565b9050919050565b610b6c81610b52565b8114610b76575f5ffd5b50565b5f81359050610b8781610b63565b92915050565b5f819050919050565b610b9f81610b8d565b8114610ba9575f5ffd5b50565b5f81359050610bba81610b96565b92915050565b5f5f60408385031215610bd657610bd5610b2f565b5b5f610be385828601610b79565b9250506020610bf485828601610bac565b9150509250929050565b5f8115159050919050565b610c1281610bfe565b82525050565b5f602082019050610c2b5f830184610c09565b92915050565b610c3a81610b8d565b82525050565b5f602082019050610c535f830184610c31565b92915050565b5f5f5f60608486031215610c7057610c6f610b2f565b5b5f610c7d86828701610b79565b9350506020610c8e86828701610b79565b9250506040610c9f86828701610bac565b9150509250925092565b5f60ff82169050919050565b610cbe81610ca9565b82525050565b5f602082019050610cd75f830184610cb5565b92915050565b5f60208284031215610cf257610cf1610b2f565b5b5f610cff84828501610b79565b91505092915050565b5f5f60408385031215610d1e57610d1d610b2f565b5b5f610d2b85828601610b79565b9250506020610d3c85828601610b79565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610d8a57607f821691505b602082108103610d9d57610d9c610d46565b5b50919050565b610dac81610b52565b82525050565b5f606082019050610dc55f830186610da3565b610dd26020830185610c31565b610ddf6040830184610c31565b949350505050565b5f602082019050610dfa5f830184610da3565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610e3782610b8d565b9150610e4283610b8d565b9250828201905080821115610e5a57610e59610e00565b5b9291505056fea2646970667358221220d5863ff08848b1a47ced0ceea756c47ffdd0bfd0587d0adc92a905b4b04cb15d64736f6c634300081e0033", + "nonce": "0x6", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0e6a3860f303fd137659a06fb49cc770072ab9b14aa9c8cdad6d07494d169f01", + "transactionType": "CALL", + "contractName": "Droplet", + "contractAddress": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "function": "mint(address,uint256)", + "arguments": [ + "0xB343880DC01517DcfCbb528864d567e3389753E1", + "1000000000000000000000000" + ], + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "gas": "0xbb68", + "value": "0x0", + "input": "0x40c10f19000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e100000000000000000000000000000000000000000000d3c21bcecceda1000000", + "nonce": "0x7", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3944263fe0a3da39581554f034bae4fd7240f5576e8dd8af301f99346a1651b7", + "transactionType": "CALL", + "contractName": "Pool", + "contractAddress": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "function": "createPool(uint40,uint40,string,uint256,address,uint16,uint256)", + "arguments": [ + "1747590500", + "1747612100", + "Test pool", + "1000", + "0x1bdffEBF62E16660d01e805F3529eBA1B982a864", + "1", + "1000" + ], + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "gas": "0x4fbf7", + "value": "0x0", + "input": "0xb462039700000000000000000000000000000000000000000000000000000000682a1d6400000000000000000000000000000000000000000000000000000000682a71c400000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000001bdffebf62e16660d01e805f3529eba1b982a864000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "nonce": "0x8", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x5fe194", + "logs": [ + { + "address": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0x80bc0b1b14bbf4b40c29c37c8e232dccd507d150ad8515e9cd74d53f13590da3", + "transactionIndex": "0x9", + "logIndex": "0x29", + "removed": false + }, + { + "address": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0x80bc0b1b14bbf4b40c29c37c8e232dccd507d150ad8515e9cd74d53f13590da3", + "transactionIndex": "0x9", + "logIndex": "0x2a", + "removed": false + } + ], + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000400000000000000000000800000000000000000000000000000000000000000000100020000000000000000000000000000000022000000000000000000800000000000000000800000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x80bc0b1b14bbf4b40c29c37c8e232dccd507d150ad8515e9cd74d53f13590da3", + "transactionIndex": "0x9", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "gasUsed": "0x507804", + "effectiveGasPrice": "0xf05b4", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": null, + "contractAddress": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "l1BaseFeeScalar": "0x44d", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0xa118b", + "l1Fee": "0x35f24cadd0a", + "l1GasPrice": "0x52679281a", + "l1GasUsed": "0x25299" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6ece34", + "logs": [ + { + "address": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000", + "blockHash": "0xcdebbcf020ee73cd56228736c5c453a78ac7b453e880057bc0c8d9a48b9afe96", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0xa9f34fa9fbc3c513e9e280e66d2aa451fa9e75e8723d22619bb4df766bc1f5ba", + "transactionIndex": "0xa", + "logIndex": "0x2b", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000002000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000000000008000000000000100000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000800000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa9f34fa9fbc3c513e9e280e66d2aa451fa9e75e8723d22619bb4df766bc1f5ba", + "transactionIndex": "0xa", + "blockHash": "0xcdebbcf020ee73cd56228736c5c453a78ac7b453e880057bc0c8d9a48b9afe96", + "blockNumber": "0x18a0dca", + "gasUsed": "0xeeca0", + "effectiveGasPrice": "0xf05b4", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": null, + "contractAddress": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "l1BaseFeeScalar": "0x44d", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0xa118b", + "l1Fee": "0xdcc7f5b18f", + "l1GasPrice": "0x52679281a", + "l1GasUsed": "0x9817" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6f55e3", + "logs": [ + { + "address": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0x0e6a3860f303fd137659a06fb49cc770072ab9b14aa9c8cdad6d07494d169f01", + "transactionIndex": "0xb", + "logIndex": "0x2c", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000002000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000000000008000000000000100000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000800000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0e6a3860f303fd137659a06fb49cc770072ab9b14aa9c8cdad6d07494d169f01", + "transactionIndex": "0xb", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "gasUsed": "0x87af", + "effectiveGasPrice": "0xf05b4", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "contractAddress": null, + "l1BaseFeeScalar": "0x44d", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0xa118b", + "l1Fee": "0x9129f5d04", + "l1GasPrice": "0x52679281a", + "l1GasUsed": "0x640" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x72f1aa", + "logs": [ + { + "address": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "topics": [ + "0x827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x0000000000000000000000001bdffebf62e16660d01e805f3529eba1b982a864" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "blockHash": "0xcdebbcf020ee73cd56228736c5c453a78ac7b453e880057bc0c8d9a48b9afe96", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0x3944263fe0a3da39581554f034bae4fd7240f5576e8dd8af301f99346a1651b7", + "transactionIndex": "0xc", + "logIndex": "0x2d", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000008000000000000000000000000000000000000000000084000000000000000400000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000001000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3944263fe0a3da39581554f034bae4fd7240f5576e8dd8af301f99346a1651b7", + "transactionIndex": "0xc", + "blockHash": "0xcdebbcf020ee73cd56228736c5c453a78ac7b453e880057bc0c8d9a48b9afe96", + "blockNumber": "0x18a0dca", + "gasUsed": "0x39bc7", + "effectiveGasPrice": "0xf05b4", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "contractAddress": null, + "l1BaseFeeScalar": "0x44d", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0xa118b", + "l1Fee": "0xc60a5a554", + "l1GasPrice": "0x52679281a", + "l1GasUsed": "0x886" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1747417739, + "chain": 84532, + "commit": "0d0018b" +} \ No newline at end of file diff --git a/broadcast/Pool.s.sol/84532/run-latest.json b/broadcast/Pool.s.sol/84532/run-latest.json index 167c0f4..5fc0044 100644 --- a/broadcast/Pool.s.sol/84532/run-latest.json +++ b/broadcast/Pool.s.sol/84532/run-latest.json @@ -1,22 +1,86 @@ { "transactions": [ { - "hash": "0xae6ad9ef080968c9bd783b89560b94b3705f72fe47f713044e62b783dbd1d358", + "hash": "0x80bc0b1b14bbf4b40c29c37c8e232dccd507d150ad8515e9cd74d53f13590da3", "transactionType": "CREATE", "contractName": "Pool", - "contractAddress": "0xde54beb534efb7da0ba8116dd44926cfb3e1d1f4", + "contractAddress": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", "function": null, "arguments": null, "transaction": { - "from": "0xbe92f2692f42580300fd8d0ee198b5bbbe303e78", - "to": null, - "gas": "0x527a7b", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "gas": "0x689c05", "value": "0x0", - "input": "0x6080604052348015600f57600080fd5b50338080603657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b603d816050565b50506001805460ff60a01b1916905560ba565b600180546001600160a01b0319169055606781606a565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6149b7806100c96000396000f3fe608060405234801561001057600080fd5b50600436106103a45760003560e01c80637b482eaa116101e9578063b6c8f0ea1161010f578063e4e64531116100ad578063f665d10b1161007c578063f665d10b14610bc7578063f6c2d29214610bf7578063f8f192b914610c0a578063fe240bed14610c1d57600080fd5b8063e4e6453114610b7b578063eaccc6ed14610b8e578063ed1375d514610ba1578063f2fde38b14610bb457600080fd5b8063c964ee9f116100e9578063c964ee9f14610a3e578063c9e9af1914610a51578063e2bbb15814610b57578063e30c397814610b6a57600080fd5b8063b6c8f0ea146109f7578063bb32b69c14610a18578063c1e3bd3e14610a2b57600080fd5b8063917dd1c0116101875780639d5292f7116101565780639d5292f71461099e578063a7c0d8d4146109b1578063a901d15c146109d1578063b17acdcd146109e457600080fd5b8063917dd1c01461092f5780639294a9a01461095557806393fae2431461097857806395ccea671461098b57600080fd5b806383a06e5b116101c357806383a06e5b146108dd5780638456cb59146109035780638da5cb5b1461090b57806390cb68b31461091c57600080fd5b80637b482eaa146108a457806381fb1fb4146108b757806382ef7b64146108ca57600080fd5b80634c7d819b116102ce5780636b1426a41161026c57806371311f5d1161023b57806371311f5d14610860578063715018a6146108815780637946ec5e1461088957806379ba50971461089c57600080fd5b80636b1426a4146107d65780636cb0b567146107f65780636e7d4019146108095780636f527aed1461083257600080fd5b80635530324d116102a85780635530324d146107395780635c975abb1461074c578063686108fc1461075e5780636a6d964e1461077157600080fd5b80634c7d819b1461065b57806351b42283146106e857806355062d2b146106fb57600080fd5b80631f0c0499116103465780633dfd95e4116103155780633dfd95e4146105df5780633f4ba83a146105f257806346541a24146105fa5780634b17640c1461060357600080fd5b80631f0c04991461045b5780632827c699146104ec5780633a8b28bb146104ff5780633bfa94cf1461051f57600080fd5b806312b4dd8e1161038257806312b4dd8e1461040f57806318806da7146104225780631ae36af5146104355780631be461241461044857600080fd5b806301285261146103a9578063016c8537146103cf5780630efc8865146103e4575b600080fd5b6103bc6103b7366004613f60565b610c30565b6040519081526020015b60405180910390f35b6103e26103dd36600461401f565b610ec0565b005b6103f76103f236600461404f565b611036565b6040516001600160a01b0390911681526020016103c6565b6103bc61041d366004614071565b61106e565b6103e261043036600461408a565b611087565b6103bc610443366004614071565b611194565b6103e2610456366004614071565b6111ab565b6104b66104693660046140b6565b600e6020908152600092835260408084209091529082529020805460018201546002909201549091906001600160781b0380821691600160781b810490911690600160f01b900460ff1685565b6040805195865260208601949094526001600160781b03928316938501939093521660608301521515608082015260a0016103c6565b6103e26104fa36600461401f565b61129f565b61051261050d366004614071565b6114da565b6040516103c6919061417a565b6105d261052d36600461401f565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160a01b0381166000908152600f60209081526040808320858452825291829020825160a081018452815481526001820154928101929092526002015464ffffffffff81169282019290925260ff600160281b8304811615156060830152600160301b9092049091161515608082015292915050565b6040516103c6919061418d565b6103f76105ed366004614071565b6115f4565b6103e2611611565b6103bc60025481565b610639610611366004614071565b6003602052600090815260409020546001600160a01b03811690600160a01b900461ffff1682565b604080516001600160a01b03909316835261ffff9091166020830152016103c6565b6106b26106693660046140b6565b600f60209081526000928352604080842090915290825290208054600182015460029092015490919064ffffffffff81169060ff600160281b8204811691600160301b90041685565b60408051958652602086019490945264ffffffffff9092169284019290925290151560608301521515608082015260a0016103c6565b6103e26106f63660046141d1565b611623565b6107296107093660046140b6565b600b60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020016103c6565b6103bc61074736600461401f565b61188f565b600154600160a01b900460ff16610729565b6103bc61076c3660046140b6565b6118bb565b6107ae61077f366004614071565b600660205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a0016103c6565b6107e96107e4366004614071565b6118ec565b6040516103c6919061424e565b6103e26108043660046142ad565b611958565b6103f7610817366004614071565b6005602052600090815260409020546001600160a01b031681565b6107296108403660046140b6565b600d60209081526000928352604080842090915290825290205460ff1681565b61087361086e366004614327565b611a43565b6040516103c6929190614375565b6103e2611bda565b6103e26108973660046143ce565b611bec565b6103e2611c51565b6103e26108b23660046141d1565b611c95565b6103f76108c536600461404f565b611df6565b6103e26108d8366004614071565b611e12565b6108f06108eb366004614071565b611f9e565b6040516103c69796959493929190614472565b6103e2612247565b6000546001600160a01b03166103f7565b6103e261092a366004614071565b612257565b61094261093d366004614071565b612468565b60405161ffff90911681526020016103c6565b610968610963366004614071565b612487565b6040516103c6949392919061452b565b6103bc610986366004614071565b612545565b6103e26109993660046140b6565b61255c565b6103bc6109ac3660046140b6565b612584565b6109c46109bf366004614327565b6125a0565b6040516103c69190614566565b6103e26109df366004614071565b61260b565b6103e26109f2366004614071565b612711565b610a0a610a05366004614071565b612843565b6040516103c6929190614579565b6103bc610a263660046140b6565b612a26565b6107e9610a39366004614071565b612a4f565b6103e2610a4c366004614071565b612ab9565b610b04610a5f3660046140b6565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160a01b03919091166000908152600e6020908152604080832093835292815290829020825160a08101845281548152600182015492810192909252600201546001600160781b0380821693830193909352600160781b81049092166060820152600160f01b90910460ff161515608082015290565b6040516103c69190600060a082019050825182526020830151602083015260408301516001600160781b038082166040850152806060860151166060850152505060808301511515608083015292915050565b610729610b6536600461404f565b612bb2565b6001546001600160a01b03166103f7565b6103e2610b8936600461408a565b612f1c565b6103e2610b9c366004614071565b61301e565b6103bc610baf366004614071565b6130cb565b6103e2610bc2366004614327565b6130e2565b610bea610bd5366004614071565b60076020526000908152604090205460ff1681565b6040516103c69190614603565b6103e2610c05366004614071565b613153565b6109c4610c18366004614327565b6131d6565b6103bc610c2b3660046140b6565b613240565b6000610c3a61325c565b8664ffffffffff168864ffffffffff1610610c8d5760405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642074696d696e6760901b60448201526064015b60405180910390fd5b61271061ffff84161115610cd75760405162461bcd60e51b8152602060048201526011602482015270496e76616c69642066656573207261746560781b6044820152606401610c84565b813b63ffffffff16610d205760405162461bcd60e51b8152602060048201526012602482015271151bdad95b881b9bdd0818dbdb9d1c9858dd60721b6044820152606401610c84565b60028054906000610d3083614627565b90915550506002546000908152600460205260409020610d509089613287565b6002546000908152600460205260409020610d6b90886132a0565b610db986868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506002548152600460205260409020939250506132c59050565b60028054600090815260046020908152604080832084018890558354835260038252808320805461ffff60a01b1916600160a01b61ffff8a16021790558354835280832080546001600160a01b031990811633908117909255818552600b8452828520865486528452828520805460ff19166001908117909155828652600a8552838620875481549283018255908752858720909101558554855260059093529281902080546001600160a01b0388169316831790559254925190927f62cf78dd3c1528a147e40a8e7413f29c3deed8603e2ee1d0c5284b052dae722191610ea991908b908b908b908b90614640565b60405180910390a350600254979650505050505050565b610ec861325c565b6001600160a01b0381166000908152600f60209081526040808320858452909152902060020154600160281b900460ff1615610f385760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606401610c84565b6001600160a01b0381166000908152600f6020908152604080832085845290915290205480610f975760405162461bcd60e51b815260206004820152600b60248201526a4e6f2077696e6e696e677360a81b6044820152606401610c84565b6001600160a01b038281166000908152600f60209081526040808320878452825280832060028101805465ff00000000001916600160281b1790556001018590556005909152902054610fec911683836132d8565b60408051848152602081018390526001600160a01b038416917f2235d3737edbaa6f1f53953988ba08ed1156b2fa3d5adccff4994f361c9ecbb791015b60405180910390a2505050565b6009602052816000526040600020818154811061105257600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000818152600660205260408120600201545b92915050565b336000908152600b60209081526040808320858452909152902054829060ff166110c65760405163472511eb60e11b8152336004820152602401610c84565b6110ce61325c565b600260008481526007602052604090205460ff1660048111156110f3576110f361443a565b036111375760405162461bcd60e51b8152602060048201526014602482015273141bdbdb08185b1c9958591e481cdd185c9d195960621b6044820152606401610c84565b600083815260046020526040902061114f9083613287565b6040805184815264ffffffffff841660208201527fb8a6489b7f7447f932fffdc3c3472eb54218b939444821792933567f8b46dbfc91015b60405180910390a1505050565b600081815260066020526040812060040154611081565b336000908152600b60209081526040808320848452909152902054819060ff166111ea5760405163472511eb60e11b8152336004820152602401610c84565b6111f261325c565b600260008381526007602052604090205460ff1660048111156112175761121761443a565b146112575760405162461bcd60e51b815260206004820152601060248201526f141bdbdb081b9bdd081cdd185c9d195960821b6044820152606401610c84565b60008281526007602052604090819020805460ff191660019081179091559051600080516020614962833981519152916112939185919061468b565b60405180910390a15050565b336000908152600b60209081526040808320858452909152902054829060ff166112de5760405163472511eb60e11b8152336004820152602401610c84565b6112e661325c565b600360008481526007602052604090205460ff16600481111561130b5761130b61443a565b146113285760405162461bcd60e51b8152600401610c849061469f565b600083815260046020526040902054600160281b900464ffffffffff1642116113635760405162461bcd60e51b8152600401610c849061469f565b6001600160a01b0382166000908152600f60209081526040808320868452909152902060020154600160281b900460ff16156113d35760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606401610c84565b6001600160a01b0382166000908152600f60209081526040808320868452909152902054806114325760405162461bcd60e51b815260206004820152600b60248201526a4e6f2077696e6e696e677360a81b6044820152606401610c84565b6001600160a01b0383166000908152600f60209081526040808320878452825280832060028101805466ff0000000000001916600160301b17905583905560069091528120600301805483929061148a9084906146c7565b909155505060408051858152602081018390526001600160a01b038516917fd840ce428f0497df2b24959630df9071d7a9848c376a7ee85c9f71d0318c7e0f91015b60405180910390a250505050565b6115136040518060800160405280600064ffffffffff168152602001600064ffffffffff16815260200160608152602001600081525090565b6000828152600460209081526040918290208251608081018452815464ffffffffff8082168352600160281b90910416928101929092526001810180549293919291840191611561906146da565b80601f016020809104026020016040519081016040528092919081815260200182805461158d906146da565b80156115da5780601f106115af576101008083540402835291602001916115da565b820191906000526020600020905b8154815290600101906020018083116115bd57829003601f168201915b505050505081526020016002820154815250509050919050565b6000818152600360205260408120546001600160a01b0316611081565b611619613483565b6116216134b0565b565b336000908152600b60209081526040808320868452909152902054839060ff166116625760405163472511eb60e11b8152336004820152602401610c84565b61166a61325c565b60008481526007602052604081205460ff16600481111561168d5761168d61443a565b141580156116be5750600460008581526007602052604090205460ff1660048111156116bb576116bb61443a565b14155b6117005760405162461bcd60e51b8152602060048201526013602482015272141bdbdb081cdd185d1d5cc81a5b9d985b1a59606a1b6044820152606401610c84565b6001600160a01b0383166000908152600d6020908152604080832087845290915290205460ff166117435760405162461bcd60e51b8152600401610c8490614714565b6000848152600660205260409020600301548211156117995760405162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f7567682062616c616e636560701b6044820152606401610c84565b600084815260066020526040812060030180548492906117ba90849061473f565b90915550506001600160a01b0383166000908152600f602090815260408083208784529091529020611804908360028201805464ffffffffff19164264ffffffffff161790559055565b60008481526009602090815260408083208054600180820183559185528385200180546001600160a01b0319166001600160a01b03891690811790915580855260108452828520805492830181558552938390200187905580518781529182018590527f86c416066bc80b64ebce6090a491b86f879b69c8a018bfc62da9549e2c618e5a91016114cc565b6001600160a01b0381166000908152600f602090815260408083208584529091528120545b9392505050565b600c60205281600052604060002081815481106118d757600080fd5b90600052602060002001600091509150505481565b60008181526009602090815260409182902080548351818402810184019094528084526060939283018282801561194c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161192e575b50505050509050919050565b336000908152600b60209081526040808320888452909152902054859060ff166119975760405163472511eb60e11b8152336004820152602401610c84565b61199f61325c565b8382146119de5760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610c84565b60005b84811015611a3a57611a32878787848181106119ff576119ff614752565b9050602002016020810190611a149190614327565b868685818110611a2657611a26614752565b90506020020135611623565b6001016119e1565b50505050505050565b6001600160a01b038116600090815260106020526040812054606091829167ffffffffffffffff811115611a7957611a79614768565b604051908082528060200260200182016040528015611aa2578160200160208202803683370190505b50905060005b6001600160a01b038516600090815260106020526040902054811015611b57576001600160a01b0385166000908152600f60209081526040808320601090925282208054611b2d93919085908110611b0257611b02614752565b906000526020600020015481526020019081526020016000206002015460ff600160281b9091041690565b828281518110611b3f57611b3f614752565b91151560209283029190910190910152600101611aa8565b5060106000856001600160a01b03166001600160a01b031681526020019081526020016000208181805480602002602001604051908101604052809291908181526020018280548015611bc957602002820191906000526020600020905b815481526020019060010190808311611bb5575b505050505091509250925050915091565b611be2613483565b6116216000613505565b611bf461325c565b60005b83811015611c4a57611c42858583818110611c1457611c14614752565b90506020020135848484818110611c2d57611c2d614752565b90506020020160208101906103dd9190614327565b600101611bf7565b5050505050565b60015433906001600160a01b03168114611c895760405163118cdaa760e01b81526001600160a01b0382166004820152602401610c84565b611c9281613505565b50565b336000908152600b60209081526040808320868452909152902054839060ff16611cd45760405163472511eb60e11b8152336004820152602401610c84565b611cdc61325c565b6001600160a01b0383166000908152600d6020908152604080832087845290915290205460ff16611d1f5760405162461bcd60e51b8152600401610c8490614714565b6001600160a01b0383166000908152600e60209081526040808320878452909152902060020154600160f01b900460ff1615611d905760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481c99599d5b99195960821b6044820152606401610c84565b60008481526006602052604081206003015411611de55760405162461bcd60e51b8152602060048201526013602482015272506f6f6c20686173206e6f2062616c616e636560681b6044820152606401610c84565b611df084848461351e565b50505050565b6008602052816000526040600020818154811061105257600080fd5b336000908152600b60209081526040808320848452909152902054819060ff16611e515760405163472511eb60e11b8152336004820152602401610c84565b611e5961325c565b600360008381526007602052604090205460ff166004811115611e7e57611e7e61443a565b1480611eac5750600460008381526007602052604090205460ff166004811115611eaa57611eaa61443a565b145b611ec85760405162461bcd60e51b8152600401610c849061469f565b60008281526006602052604090206003015480611f1d5760405162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20776974686472617760681b6044820152606401610c84565b600083815260066020908152604080832060039081018490558252808320546005909252909120546001600160a01b0391821691611f5d911682846132d8565b60408051858152602081018490526001600160a01b038316917f0d8b7f535379cc0ea989891df832f4201d074cd58a544b15f916d2ebf1d3639c91016114cc565b604080518082018252600080825260208083018290528351608081018552828152908101829052606093810184905292830152906120046040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b600084815260036020908152604080832060048352818420600684528285206007855283862054600586528487205460088752858820600988528689208751808901895296546001600160a01b038082168952600160a01b90910461ffff16888b01528851608081018a52875464ffffffffff8082168352600160281b909104169a81019a909a526001870180548c9b60609b8c9b9a999860ff16979490941695949390928992918401916120b8906146da565b80601f01602080910402602001604051908101604052809291908181526020018280546120e4906146da565b80156121315780601f1061210657610100808354040283529160200191612131565b820191906000526020600020905b81548152906001019060200180831161211457829003601f168201915b50505091835250506002918201546020918201526040805160a0810182528954815260018a0154818401529289015483820152600389015460608401526004909801546080830152845488518183028101830190995280895292985090969184918301828280156121cb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116121ad575b505050505091508080548060200260200160405190810160405280929190818152602001828054801561222757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612209575b505050505090509650965096509650965096509650919395979092949650565b61224f613483565b6116216136c3565b61225f61325c565b600260008281526007602052604090205460ff1660048111156122845761228461443a565b036122c05760405162461bcd60e51b815260206004820152600c60248201526b141bdbdb081cdd185c9d195960a21b6044820152606401610c84565b600360008281526007602052604090205460ff1660048111156122e5576122e561443a565b0361231f5760405162461bcd60e51b815260206004820152600a602482015269141bdbdb08195b99195960b21b6044820152606401610c84565b336000908152600d6020908152604080832084845290915290205460ff166123595760405162461bcd60e51b8152600401610c8490614714565b336000908152600e60209081526040808320848452909152902060020154600160f01b900460ff16156123c15760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481c99599d5b99195960821b6044820152606401610c84565b336000908152600f60209081526040808320848452909152902054156124295760405162461bcd60e51b815260206004820152601760248201527f57696e6e65722063616e6e6f7420646f20726566756e640000000000000000006044820152606401610c84565b600460008281526007602052604090205460ff16600481111561244e5761244e61443a565b1461245c5761245c81613706565b611c928133600061351e565b600081815260036020526040812054600160a01b900461ffff16611081565b6004602052600090815260409020805460018201805464ffffffffff80841694600160281b909404169291906124bc906146da565b80601f01602080910402602001604051908101604052809291908181526020018280546124e8906146da565b80156125355780601f1061250a57610100808354040283529160200191612535565b820191906000526020600020905b81548152906001019060200180831161251857829003601f168201915b5050505050908060020154905084565b600081815260066020526040812060010154611081565b612564613483565b61256c6138d6565b6125806001600160a01b03831633836132d8565b5050565b601060205281600052604060002081815481106118d757600080fd5b6001600160a01b0381166000908152600c602090815260409182902080548351818402810184019094528084526060939283018282801561194c57602002820191906000526020600020905b8154815260200190600101908083116125ec5750505050509050919050565b336000908152600b60209081526040808320848452909152902054819060ff1661264a5760405163472511eb60e11b8152336004820152602401610c84565b61265261325c565b600160008381526007602052604090205460ff1660048111156126775761267761443a565b146126c45760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420656e61626c6564207965740000000000000000006044820152606401610c84565b6000828152600760209081526040808320805460ff19166002179055600490915290206126f19042613287565b60008051602061496283398151915282600260405161129392919061468b565b61271961325c565b6000818152600660205260408120600281015460019091015461273c919061473f565b9050806000036127835760405162461bcd60e51b8152602060048201526012602482015271139bc81999595cc81d1bc818dbdb1b1958dd60721b6044820152606401610c84565b600082815260066020526040812060030180548392906127a490849061473f565b9091555050600082815260066020526040812060020180548392906127ca9084906146c7565b90915550506000828152600360209081526040808320546005909252909120546001600160a01b0391821691612802911682846132d8565b60408051848152602081018490526001600160a01b038316917f72015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499f9101611029565b600081815260096020526040812054606091829167ffffffffffffffff81111561286f5761286f614768565b6040519080825280602002602001820160405280156128c857816020015b6040805160a08101825260008082526020808301829052928201819052606082018190526080820152825260001990920191018161288d5790505b50905060005b6000858152600960205260409020548110156129ac5760008581526009602052604081208054600f9291908490811061290957612909614752565b60009182526020808320909101546001600160a01b0316835282810193909352604091820181208882528352819020815160a081018352815481526001820154938101939093526002015464ffffffffff81169183019190915260ff600160281b8204811615156060840152600160301b9091041615156080820152825183908390811061299957612999614752565b60209081029190910101526001016128ce565b50600960008581526020019081526020016000208181805480602002602001604051908101604052809291908181526020018280548015611bc957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116129f857505050505091509250925050915091565b6001600160a01b0382166000908152600e602090815260408083208484529091528120546118b4565b60008181526008602090815260409182902080548351818402810184019094528084526060939283018282801561194c576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161192e5750505050509050919050565b336000908152600b60209081526040808320848452909152902054819060ff16612af85760405163472511eb60e11b8152336004820152602401610c84565b612b0061325c565b600260008381526007602052604090205460ff166004811115612b2557612b2561443a565b14612b655760405162461bcd60e51b815260206004820152601060248201526f141bdbdb081b9bdd081cdd185c9d195960821b6044820152606401610c84565b6000828152600760209081526040808320805460ff1916600317905560049091529020612b9290426132a0565b60008051602061496283398151915282600360405161129392919061468b565b6000612bbc61325c565b600160008481526007602052604090205460ff166004811115612be157612be161443a565b14612c245760405162461bcd60e51b815260206004820152601360248201527211195c1bdcda5d081b9bdd08195b98589b1959606a1b6044820152606401610c84565b336000908152600d6020908152604080832086845290915290205460ff1615612c815760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481a5b881c1bdbdb608a1b6044820152606401610c84565b60008381526004602052604090206002015480831015612cd65760405162461bcd60e51b815260206004820152601060248201526f125b98dbdc9c9958dd08185b5bdd5b9d60821b6044820152606401610c84565b600084815260056020526040902054612cfa906001600160a01b0316333086613900565b80831115612d7957612d0c818461473f565b60008581526006602052604081206004018054909190612d2d9084906146c7565b909155503390507f4b980b78760b02f4b4f1149bdcc168aec45990f1247e5e26860f1a6dc7a17ba485612d60848761473f565b6040805192835260208301919091520160405180910390a25b60008481526006602052604081208054859290612d979084906146c7565b909155505060008481526006602052604081206003018054859290612dbd9084906146c7565b9091555050600084815260086020908152604080832054338452600e8352818420888552909252909120612df091613aaf565b600084815260086020908152604080832080546001810182559084528284200180546001600160a01b031916339081179091558352600c825280832054600e8352818420888552909252909120612e4691613adc565b336000818152600c6020908152604080832080546001808201835591855283852001899055848452600d83528184208985528352818420805460ff19169091179055928252600e815282822087835290522081815560020154600160f01b900460ff1615612ed757336000908152600e602090815260408083208784529091529020600201805460ff60f01b191690555b604080518581526020810185905233917feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b9910160405180910390a25060019392505050565b336000908152600b60209081526040808320858452909152902054829060ff16612f5b5760405163472511eb60e11b8152336004820152602401610c84565b612f6361325c565b600360008481526007602052604090205460ff166004811115612f8857612f8861443a565b03612fca5760405162461bcd60e51b8152602060048201526012602482015271141bdbdb08185b1c9958591e48195b99195960721b6044820152606401610c84565b6000838152600460205260409020612fe290836132a0565b6040805184815264ffffffffff841660208201527f83c0995d7f1fc1d9c1d04dd63ebde842d2caf94ece2531c9d9ea68a916e381b09101611187565b336000908152600b60209081526040808320848452909152902054819060ff1661305d5760405163472511eb60e11b8152336004820152602401610c84565b61306561325c565b60008281526007602052604081205460ff1660048111156130885761308861443a565b146112575760405162461bcd60e51b8152602060048201526013602482015272506f6f6c20616c72656164792061637469766560681b6044820152606401610c84565b600081815260066020526040812060030154611081565b6130ea613483565b600180546001600160a01b0383166001600160a01b0319909116811790915561311b6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b336000908152600b60209081526040808320848452909152902054819060ff166131925760405163472511eb60e11b8152336004820152602401610c84565b61319a61325c565b60008281526007602052604090819020805460ff191660049081179091559051600080516020614962833981519152916112939185919061468b565b6001600160a01b0381166000908152600a602090815260409182902080548351818402810184019094528084526060939283018282801561194c57602002820191906000526020600020908154815260200190600101908083116125ec5750505050509050919050565b600a60205281600052604060002081815481106118d757600080fd5b600154600160a01b900460ff16156116215760405163d93c066560e01b815260040160405180910390fd5b815464ffffffffff191664ffffffffff91909116179055565b815464ffffffffff909116600160281b0269ffffffffff000000000019909116179055565b600182016132d382826147c6565b505050565b6040805180820190915260078152666e6f20636f646560c81b60208201526001600160a01b0384163b61331e5760405162461bcd60e51b8152600401610c849190614886565b506040516001600160a01b03838116602483015260448201839052600091829186169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b179052516133799190614899565b6000604051808303816000865af19150503d80600081146133b6576040519150601f19603f3d011682016040523d82523d6000602084013e6133bb565b606091505b509150915081604051806040016040528060118152602001701d1c985b9cd9995c881c995d995c9d1959607a1b815250906134095760405162461bcd60e51b8152600401610c849190614886565b508051158061342757508080602001905181019061342791906148b5565b6040518060400160405280601781526020017f7472616e736665722072657475726e65642066616c73650000000000000000008152509061347b5760405162461bcd60e51b8152600401610c849190614886565b505050505050565b6000546001600160a01b031633146116215760405163118cdaa760e01b8152336004820152602401610c84565b6134b86138d6565b6001805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600180546001600160a01b0319169055611c9281613b13565b6001600160a01b0382166000908152600e602090815260408083208684529091528120549082900361357e576001600160a01b0383166000908152600e6020908152604080832087845290915290206001015461357b908261473f565b91505b808211156135c35760405162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f7567682062616c616e636560701b6044820152606401610c84565b6001600160a01b0383166000908152600e60209081526040808320878452825280832060028101805460ff60f01b1916600160f01b17905583905560069091528120600301805484929061361890849061473f565b90915550506000848152600660205260408120805484929061363b90849061473f565b909155506136519050600e6008600d8688613b63565b61365f600e600c8587613d45565b600084815260056020526040902054613682906001600160a01b031684846132d8565b60408051858152602081018490526001600160a01b038516917f21e12a7cad0da5928167e1084ea4d5fdf8d9af66657a2543a9ac76a0ca08147791016114cc565b6136cb61325c565b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586134e83390565b60008181526004602052604090205464ffffffffff1661372962015180826148d7565b64ffffffffff16421015801561374657508064ffffffffff164211155b1561381b57600061271061375a3385612a26565b61376385612468565b61ffff1661377191906148fc565b61377b9190614913565b336000908152600e602090815260408083208784529091528120600101805492935083929091906137ad9084906146c7565b9091555050600083815260066020526040812060010180548392906137d39084906146c7565b9091555050604080518481526020810183905260009181019190915233907f91e70b531ad5a24521e08b51cd971ba40fe890590859cd4e240cabc688861d4190606001611029565b8064ffffffffff164211156125805760006138363384612a26565b336000908152600e602090815260408083208784529091528120600101805492935083929091906138689084906146c7565b90915550506000838152600660205260408120600101805483929061388e9084906146c7565b9091555050604080518481526020810183905260019181019190915233907f91e70b531ad5a24521e08b51cd971ba40fe890590859cd4e240cabc688861d4190606001611029565b600154600160a01b900460ff1661162157604051638dfc202b60e01b815260040160405180910390fd5b6040805180820190915260078152666e6f20636f646560c81b60208201526001600160a01b0385163b6139465760405162461bcd60e51b8152600401610c849190614886565b506040516001600160a01b038481166024830152838116604483015260648201839052600091829187169060840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b179052516139a99190614899565b6000604051808303816000865af19150503d80600081146139e6576040519150601f19603f3d011682016040523d82523d6000602084013e6139eb565b606091505b509150915081604051806040016040528060158152602001741d1c985b9cd9995c919c9bdb481c995d995c9d1959605a1b81525090613a3d5760405162461bcd60e51b8152600401610c849190614886565b5080511580613a5b575080806020019051810190613a5b91906148b5565b6040518060400160405280601b81526020017f7472616e7366657246726f6d2072657475726e65642066616c7365000000000081525090611a3a5760405162461bcd60e51b8152600401610c849190614886565b60029190910180546effffffffffffffffffffffffffffff19166001600160781b03909216919091179055565b600290910180546001600160781b03909216600160781b026effffffffffffffffffffffffffffff60781b19909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166000908152602086815260408083208484528252808320600201549187905290912080546001600160781b039092169182908110613bad57613bad614752565b6000918252602090912001546001600160a01b03848116911614613bd357613bd3614935565b600082815260208690526040902054613bee9060019061473f565b811015613ca45760008281526020869052604081208054613c119060019061473f565b81548110613c2157613c21614752565b600091825260208083209091015485835290889052604090912080546001600160a01b039092169250829184908110613c5c57613c5c614752565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152888252604080822086835290925220613ca29083613aaf565b505b6000828152602086905260409020805480613cc157613cc161494b565b60008281526020808220600019908401810180546001600160a01b03191690559092019092556001600160a01b0385168083528682526040808420868552835292839020805460ff1916905591518481527fcef8fac05afb87995942422eac900de6af11a555d80d075340af81db492119fe910160405180910390a2505050505050565b6001600160a01b0382166000818152602086815260408083208584528252808320600201549383529086905290208054600160781b9092046001600160781b03169182908110613d9757613d97614752565b90600052602060002001548214613db057613db0614935565b6001600160a01b038316600090815260208590526040902054613dd59060019061473f565b811015613e8d576001600160a01b03831660009081526020859052604081208054613e029060019061473f565b81548110613e1257613e12614752565b9060005260206000200154905080856000866001600160a01b03166001600160a01b031681526020019081526020016000208381548110613e5557613e55614752565b60009182526020808320909101929092556001600160a01b0386168152878252604080822084835290925220613e8b9083613adc565b505b6001600160a01b0383166000908152602085905260409020805480613eb457613eb461494b565b60019003818190600052602060002001600090559055826001600160a01b03167ff0b3f080b2f718fff5676317c118cb60a324d72090440b3000b9881724fce95183604051613f0591815260200190565b60405180910390a25050505050565b803564ffffffffff81168114613f2957600080fd5b919050565b803561ffff81168114613f2957600080fd5b6001600160a01b0381168114611c9257600080fd5b8035613f2981613f40565b600080600080600080600060c0888a031215613f7b57600080fd5b613f8488613f14565b9650613f9260208901613f14565b9550604088013567ffffffffffffffff80821115613faf57600080fd5b818a0191508a601f830112613fc357600080fd5b813581811115613fd257600080fd5b8b6020828501011115613fe457600080fd5b6020830197508096505050506060880135925061400360808901613f2e565b915061401160a08901613f55565b905092959891949750929550565b6000806040838503121561403257600080fd5b82359150602083013561404481613f40565b809150509250929050565b6000806040838503121561406257600080fd5b50508035926020909101359150565b60006020828403121561408357600080fd5b5035919050565b6000806040838503121561409d57600080fd5b823591506140ad60208401613f14565b90509250929050565b600080604083850312156140c957600080fd5b82356140d481613f40565b946020939093013593505050565b60005b838110156140fd5781810151838201526020016140e5565b50506000910152565b6000815180845261411e8160208601602086016140e2565b601f01601f19169290920160200192915050565b600064ffffffffff808351168452806020840151166020850152506040820151608060408501526141666080850182614106565b606093840151949093019390935250919050565b6020815260006118b46020830184614132565b60a081016110818284805182526020810151602083015264ffffffffff60408201511660408301526060810151151560608301526080810151151560808301525050565b6000806000606084860312156141e657600080fd5b8335925060208401356141f881613f40565b929592945050506040919091013590565b60008151808452602080850194506020840160005b838110156142435781516001600160a01b03168752958201959082019060010161421e565b509495945050505050565b6020815260006118b46020830184614209565b60008083601f84011261427357600080fd5b50813567ffffffffffffffff81111561428b57600080fd5b6020830191508360208260051b85010111156142a657600080fd5b9250929050565b6000806000806000606086880312156142c557600080fd5b85359450602086013567ffffffffffffffff808211156142e457600080fd5b6142f089838a01614261565b9096509450604088013591508082111561430957600080fd5b5061431688828901614261565b969995985093965092949392505050565b60006020828403121561433957600080fd5b81356118b481613f40565b60008151808452602080850194506020840160005b8381101561424357815187529582019590820190600101614359565b6040815260006143886040830185614344565b82810360208481019190915284518083528582019282019060005b818110156143c15784511515835293830193918301916001016143a3565b5090979650505050505050565b600080600080604085870312156143e457600080fd5b843567ffffffffffffffff808211156143fc57600080fd5b61440888838901614261565b9096509450602087013591508082111561442157600080fd5b5061442e87828801614261565b95989497509550505050565b634e487b7160e01b600052602160045260246000fd5b6005811061446e57634e487b7160e01b600052602160045260246000fd5b9052565b87516001600160a01b0316815260208089015161ffff1690820152610180604082018190526000906144a68382018a614132565b90508751606084015260208801516080840152604088015160a0840152606088015160c0840152608088015160e08401526144e5610100840188614450565b6001600160a01b0386166101208401528281036101408401526145088186614209565b905082810361016084015261451d8185614209565b9a9950505050505050505050565b600064ffffffffff8087168352808616602084015250608060408301526145556080830185614106565b905082606083015295945050505050565b6020815260006118b46020830184614344565b60408152600061458c6040830185614209565b82810360208481019190915284518083528582019282019060005b818110156143c1576145f0838651805182526020810151602083015264ffffffffff60408201511660408301526060810151151560608301526080810151151560808301525050565b9383019360a092909201916001016145a7565b602081016110818284614450565b634e487b7160e01b600052601160045260246000fd5b60006001820161463957614639614611565b5060010190565b85815260806020820152836080820152838560a0830137600060a08583010152600060a0601f19601f870116830101905083604083015261ffff831660608301529695505050505050565b828152604081016118b46020830184614450565b6020808252600e908201526d141bdbdb081b9bdd08195b99195960921b604082015260600190565b8082018082111561108157611081614611565b600181811c908216806146ee57607f821691505b60208210810361470e57634e487b7160e01b600052602260045260246000fd5b50919050565b602080825260119082015270139bdd0818481c185c9d1a58da5c185b9d607a1b604082015260600190565b8181038181111561108157611081614611565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b601f8211156132d3576000816000526020600020601f850160051c810160208610156147a75750805b601f850160051c820191505b8181101561347b578281556001016147b3565b815167ffffffffffffffff8111156147e0576147e0614768565b6147f4816147ee84546146da565b8461477e565b602080601f83116001811461482957600084156148115750858301515b600019600386901b1c1916600185901b17855561347b565b600085815260208120601f198616915b8281101561485857888601518255948401946001909101908401614839565b50858210156148765787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260006118b46020830184614106565b600082516148ab8184602087016140e2565b9190910192915050565b6000602082840312156148c757600080fd5b815180151581146118b457600080fd5b64ffffffffff8281168282160390808211156148f5576148f5614611565b5092915050565b808202811582820484141761108157611081614611565b60008261493057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603160045260246000fdfe31a9dc34623b73afced82caba571a54d1c45d5fdeb4aacfd33ed0cb5df28e172a26469706673582212207611dd7fd63ae170d40427ae6f8c14445d6571cce2b29550f167e178af84954664736f6c63430008190033", - "nonce": "0x27", - "chainId": "0x14a34", - "accessList": null, - "type": null + "input": "0x608060405234801561000f575f5ffd5b506100225f5f1b3361005960201b60201c565b506100537fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217753361005960201b60201c565b506101b8565b5f61006a838361014e60201b60201c565b6101445760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506100e16101b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610148565b5f90505b92915050565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b615d9e806101c55f395ff3fe608060405234801561000f575f5ffd5b5060043610610251575f3560e01c80636f527aed116101445780639294a9a0116100c1578063b462039711610085578063b46203971461078c578063b6c8f0ea146107bc578063d547741f146107ed578063e2bbb15814610809578063fc43a10d14610839578063fe240bed1461086957610251565b80639294a9a0146106d057806395ccea67146107065780639d5292f714610722578063a217fddf14610752578063b103dbbb1461077057610251565b806382ef7b641161010857806382ef7b641461061657806383a06e5b146106325780638456cb59146106665780638486910a1461067057806391d14854146106a057610251565b80636f527aed1461054b57806371311f5d1461057b57806375b238fc146105ac5780637946ec5e146105ca57806381fb1fb4146105e657610251565b806348e8f215116101d25780635c975abb116101965780635c975abb1461047d578063686108fc1461049b5780636a6d964e146104cb5780636cb0b567146104ff5780636e7d40191461051b57610251565b806348e8f215146103c55780634c7d819b146103e357806351b422831461041557806355062d2b14610431578063589a0fe91461046157610251565b8063248a9ca311610219578063248a9ca3146103355780632f2ff15d1461036557806336568abe146103815780633f4ba83a1461039d57806346541a24146103a757610251565b8063016c85371461025557806301ffc9a7146102715780630e339f39146102a15780630efc8865146102d15780631f0c049914610301575b5f5ffd5b61026f600480360381019061026a9190613f65565b610899565b005b61028b60048036038101906102869190613ff8565b610aa6565b604051610298919061403d565b60405180910390f35b6102bb60048036038101906102b69190614056565b610b1f565b6040516102c891906140a3565b60405180910390f35b6102eb60048036038101906102e691906140bc565b610b3f565b6040516102f89190614109565b60405180910390f35b61031b60048036038101906103169190614056565b610b87565b60405161032c95949392919061414b565b60405180910390f35b61034f600480360381019061034a91906141cf565b610c06565b60405161035c9190614209565b60405180910390f35b61037f600480360381019061037a9190614222565b610c22565b005b61039b60048036038101906103969190614222565b610c44565b005b6103a5610cbf565b005b6103af610cf4565b6040516103bc91906140a3565b60405180910390f35b6103cd610cfa565b6040516103da919061427f565b60405180910390f35b6103fd60048036038101906103f89190614056565b610d01565b60405161040c93929190614298565b60405180910390f35b61042f600480360381019061042a91906142cd565b610d42565b005b61044b60048036038101906104469190614056565b6111d7565b604051610458919061403d565b60405180910390f35b61047b6004803603810190610476919061437e565b611201565b005b6104856113f3565b604051610492919061403d565b60405180910390f35b6104b560048036038101906104b09190614056565b611408565b6040516104c291906140a3565b60405180910390f35b6104e560048036038101906104e091906143db565b611433565b6040516104f6959493929190614406565b60405180910390f35b610519600480360381019061051491906144ac565b611465565b005b610535600480360381019061053091906143db565b6115be565b6040516105429190614598565b60405180910390f35b61056560048036038101906105609190614056565b6115ee565b604051610572919061403d565b60405180910390f35b610595600480360381019061059091906145b1565b611618565b6040516105a392919061474a565b60405180910390f35b6105b4611869565b6040516105c19190614209565b60405180910390f35b6105e460048036038101906105df919061477f565b61188d565b005b61060060048036038101906105fb91906140bc565b611948565b60405161060d9190614109565b60405180910390f35b610630600480360381019061062b91906143db565b611990565b005b61064c600480360381019061064791906143db565b611be6565b60405161065d959493929190614a4e565b60405180910390f35b61066e611f40565b005b61068a600480360381019061068591906140bc565b611f75565b6040516106979190614109565b60405180910390f35b6106ba60048036038101906106b59190614222565b611fbd565b6040516106c7919061403d565b60405180910390f35b6106ea60048036038101906106e591906143db565b612020565b6040516106fd9796959493929190614b0d565b60405180910390f35b610720600480360381019061071b9190614bbc565b612130565b005b61073c60048036038101906107379190614056565b612192565b60405161074991906140a3565b60405180910390f35b61075a6121bd565b6040516107679190614209565b60405180910390f35b61078a60048036038101906107859190614c4f565b6121c3565b005b6107a660048036038101906107a19190614d14565b6125a8565b6040516107b391906140a3565b60405180910390f35b6107d660048036038101906107d191906143db565b612954565b6040516107e4929190614eb9565b60405180910390f35b61080760048036038101906108029190614222565b612b89565b005b610823600480360381019061081e91906140bc565b612bab565b604051610830919061403d565b60405180910390f35b610853600480360381019061084e91906140bc565b61311c565b6040516108609190614eee565b60405180910390f35b610883600480360381019061087e9190614056565b6131cd565b60405161089091906140a3565b60405180910390f35b6108a16131f8565b5f6108f6600d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f20613239565b61094a600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f20613246565b6109549190614f3b565b90505f8111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90614fb8565b60405180910390fd5b6109f681600d5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2061325290919063ffffffff16565b610a51828260045f8781526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f5380cf6fe903b40c6d5a9e0dfbca2f3a423f0a21520b4d5947ed5169bdba946d8483604051610a99929190614fd6565b60405180910390a2505050565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b185750610b17826134da565b5b9050919050565b600f602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f208181548110610b58575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a90046effffffffffffffffffffffffffffff169080600201600f9054906101000a90046effffffffffffffffffffffffffffff169080600201601e9054906101000a900460ff16905085565b5f5f5f8381526020019081526020015f20600101549050919050565b610c2b82610c06565b610c3481613543565b610c3e8383613557565b50505050565b610c4c613640565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cb0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba8282613647565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610ce981613543565b610cf1613730565b50565b60025481565b62093a8081565b600d602052815f5260405f20602052805f5260405f205f9150915050805f015490806001015490806002015f9054906101000a900464ffffffffff16905083565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16610ddd57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401610dd49190614109565b60405180910390fd5b610de56131f8565b42610dff60035f8781526020019081526020015f20613791565b64ffffffffff1610610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d90615047565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed5906150af565b60405180910390fd5b610ef760055f8681526020019081526020015f206137ae565b821115610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090615117565b60405180910390fd5b5f610f8e600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613239565b14610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc59061517f565b60405180910390fd5b8160055f8681526020019081526020015f206003015f828254610ff19190614f3b565b9250508190555061105682600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f206137bb90919063ffffffff16565b5f6110ab600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613246565b036111815760075f8581526020019081526020015f2083908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150555b8273ffffffffffffffffffffffffffffffffffffffff167f86c416066bc80b64ebce6090a491b86f879b69c8a018bfc62da9549e2c618e5a85846040516111c9929190614fd6565b60405180910390a250505050565b6009602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b8260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661129c57336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016112939190614109565b60405180910390fd5b6112a46131f8565b5f6112be60035f8781526020019081526020015f206137fc565b90505f6112da60035f8881526020019081526020015f20613816565b90505f8261ffff1611611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906151e7565b60405180910390fd5b8161ffff16858590501461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113629061524f565b60405180910390fd5b5f810361139d578161ffff1661139060055f8981526020019081526020015f206137ae565b61139a919061529a565b90505b5f5b8261ffff168110156113ea576113dd878787848181106113c2576113c16152ca565b5b90506020020160208101906113d791906145b1565b84610d42565b808060010191505061139f565b50505050505050565b5f60015f9054906101000a900460ff16905090565b600a602052815f5260405f208181548110611421575f80fd5b905f5260205f20015f91509150505481565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b8460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff1661150057336040517f8e4a23d60000000000000000000000000000000000000000000000000000000081526004016114f79190614109565b60405180910390fd5b6115086131f8565b828290508585905014611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790615341565b60405180910390fd5b5f5b858590508110156115b5576115a887878784818110611574576115736152ca565b5b905060200201602081019061158991906145b1565b86868581811061159c5761159b6152ca565b5b90506020020135610d42565b8080600101915050611552565b50505050505050565b6004602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b6060805f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905067ffffffffffffffff8111156116765761167561535f565b5b6040519080825280602002602001820160405280156116a45781602001602082028036833780820191505090505b5090505f5b600e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490508110156117d0575f61179d600d5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208581548110611782576117816152ca565b5b905f5260205f20015481526020019081526020015f20613239565b118282815181106117b1576117b06152ca565b5b60200260200101901515908115158152505080806001019150506116a9565b50600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818180548060200260200160405190810160405280929190818152602001828054801561185857602002820191905f5260205f20905b815481526020019060010190808311611844575b505050505091509250925050915091565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6118956131f8565b8383905084849050146118dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d490615341565b60405180910390fd5b5f5b8484905081101561194157611934858583818110611900576118ff6152ca565b5b9050602002013584848481811061191a576119196152ca565b5b905060200201602081019061192f91906145b1565b610899565b80806001019150506118df565b5050505050565b6006602052815f5260405f208181548110611961575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8281526020019081526020015f205f9054906101000a900460ff16611a2b57336040517f8e4a23d6000000000000000000000000000000000000000000000000000000008152600401611a229190614109565b60405180910390fd5b611a336131f8565b4262093a80611a5160035f8681526020019081526020015f20613791565b611a5b919061538c565b64ffffffffff1610611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990615047565b60405180910390fd5b5f611abc60055f8581526020019081526020015f206137ae565b90505f8111611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79061540e565b60405180910390fd5b5f60055f8581526020019081526020015f20600301819055505f611b3360035f8681526020019081526020015f20613823565b9050611b90818360045f8881526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0d8b7f535379cc0ea989891df832f4201d074cd58a544b15f916d2ebf1d3639c8584604051611bd8929190614fd6565b60405180910390a250505050565b611bee613e22565b611bf6613e81565b5f60608060035f8781526020019081526020015f2060055f8881526020019081526020015f2060045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660065f8a81526020019081526020015f2060075f8b81526020019081526020015f20846040518060e00160405290815f82015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f820160059054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681526020015f8201600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f8201601e9054906101000a900461ffff1661ffff1661ffff168152602001600182018054611d4e90615459565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7a90615459565b8015611dc55780601f10611d9c57610100808354040283529160200191611dc5565b820191905f5260205f20905b815481529060010190602001808311611da857829003601f168201915b50505050508152602001600282015481526020016003820154815250509450836040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050935081805480602002602001604051908101604052809291908181526020018280548015611ea157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611e58575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015611f2657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611edd575b505050505090509450945094509450945091939590929450565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f6a81613543565b611f7261384f565b50565b6010602052815f5260405f208181548110611f8e575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6003602052805f5260405f205f91509050805f015f9054906101000a900464ffffffffff1690805f0160059054906101000a900464ffffffffff1690805f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f01601e9054906101000a900461ffff16908060010180546120a390615459565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf90615459565b801561211a5780601f106120f15761010080835404028352916020019161211a565b820191905f5260205f20905b8154815290600101906020018083116120fd57829003601f168201915b5050505050908060020154908060030154905087565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561215a81613543565b6121626138b0565b61218d33838573ffffffffffffffffffffffffffffffffffffffff166132709092919063ffffffff16565b505050565b600e602052815f5260405f2081815481106121ab575f80fd5b905f5260205f20015f91509150505481565b5f5f1b81565b6121cb6131f8565b6121d36138f0565b5f73ffffffffffffffffffffffffffffffffffffffff1661220360035f8781526020019081526020015f20613823565b73ffffffffffffffffffffffffffffffffffffffff1603612259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612250906154d3565b60405180910390fd5b4261227360035f8781526020019081526020015f20613791565b64ffffffffff1610156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b29061553b565b60405180910390fd5b5f83116122fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f4906155a3565b60405180910390fd5b8260055f8681526020019081526020015f205f015f82825461231f91906155c1565b925050819055508260055f8681526020019081526020015f206003015f82825461234991906155c1565b925050819055508260055f8681526020019081526020015f206004015f82825461237391906155c1565b925050819055505f600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f2054036124875760115f8581526020019081526020015f20828290918060018154018082558091505060019003905f5260205f20015f909192909192909192909192509182612416929190615795565b5060105f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b82600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f8282546124e291906155c1565b9250508190555061254633308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f73095116d9e21ea08dd2f8b16ed194cadd05eb470efa77ab8c63e91477d828cc85858585604051612592949392919061589c565b60405180910390a26125a2613bdc565b50505050565b5f6125b16131f8565b8764ffffffffff168964ffffffffff1610612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890615924565b60405180910390fd5b61260a84613c1b565b612649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126409061598c565b60405180910390fd5b60025f81548092919061265b906159aa565b91905055506126853360035f60025481526020019081526020015f20613c3290919063ffffffff16565b600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025481526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600254908060018154018082558091505060019003905f5260205f20015f90919091909150556127738960035f60025481526020019081526020015f20613c7890919063ffffffff16565b6127988860035f60025481526020019081526020015f20613c9f90919063ffffffff16565b61280087878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505060035f60025481526020019081526020015f20613cc790919063ffffffff16565b6128258560035f60025481526020019081526020015f20613cdd90919063ffffffff16565b5f8361ffff161115612857576128568360035f60025481526020019081526020015f20613cea90919063ffffffff16565b5b5f821115612885576128848260035f60025481526020019081526020015f20613d0c90919063ffffffff16565b5b8360045f60025481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f16002548a8a8a60405161293b94939291906159f1565b60405180910390a3600254905098975050505050505050565b6060805f60075f8581526020019081526020015f208054905067ffffffffffffffff8111156129865761298561535f565b5b6040519080825280602002602001820160405280156129bf57816020015b6129ac613eab565b8152602001906001900390816129a45790505b5090505f5b60075f8681526020019081526020015f2080549050811015612ae757600d5f60075f8881526020019081526020015f208381548110612a0657612a056152ca565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f206040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900464ffffffffff1664ffffffffff1664ffffffffff1681525050828281518110612acf57612ace6152ca565b5b602002602001018190525080806001019150506129c4565b5060075f8581526020019081526020015f208181805480602002602001604051908101604052809291908181526020018280548015612b7857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612b2f575b505050505091509250925050915091565b612b9282610c06565b612b9b81613543565b612ba58383613647565b50505050565b5f612bb46131f8565b612bbc6138f0565b42612bd660035f8681526020019081526020015f20613d19565b64ffffffffff1610612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490615a79565b60405180910390fd5b42612c3760035f8681526020019081526020015f20613791565b64ffffffffff161015612c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c769061553b565b60405180910390fd5b600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205f9054906101000a900460ff1615612d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0f90615ae1565b60405180910390fd5b5f612d3260035f8681526020019081526020015f20613d35565b905080831015612d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e90615b49565b60405180910390fd5b80831115612e10578083612d8b9190614f3b565b60055f8681526020019081526020015f206004015f828254612dad91906155c1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f4b980b78760b02f4b4f1149bdcc168aec45990f1247e5e26860f1a6dc7a17ba4858386612df99190614f3b565b604051612e07929190614fd6565b60405180910390a25b8260055f8681526020019081526020015f205f015f828254612e3291906155c1565b925050819055508260055f8681526020019081526020015f206003015f828254612e5c91906155c1565b92505081905550612ed560065f8681526020019081526020015f2080549050600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8781526020019081526020015f20613d4290919063ffffffff16565b60065f8581526020019081526020015f2033908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2084908060018154018082558091505060019003905f5260205f20015f90919091909150556001600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8681526020019081526020015f205f01819055506130b933308560045f8981526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661396f909392919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b98585604051613101929190614fd6565b60405180910390a26001915050613116613bdc565b92915050565b6011602052815f5260405f208181548110613135575f80fd5b905f5260205f20015f9150915050805461314e90615459565b80601f016020809104026020016040519081016040528092919081815260200182805461317a90615459565b80156131c55780601f1061319c576101008083540402835291602001916131c5565b820191905f5260205f20905b8154815290600101906020018083116131a857829003601f168201915b505050505081565b6008602052815f5260405f2081815481106131e6575f80fd5b905f5260205f20015f91509150505481565b6132006113f3565b15613237576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f81600101549050919050565b5f815f01549050919050565b80826001015f82825461326591906155c1565b925050819055505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f89190614eee565b60405180910390fd5b505f5f8473ffffffffffffffffffffffffffffffffffffffff16848460405160240161332e929190615b67565b60405160208183030381529060405263a9059cbb60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516133809190615bd2565b5f604051808303815f865af19150503d805f81146133b9576040519150601f19603f3d011682016040523d82523d5f602084013e6133be565b606091505b5091509150816040518060400160405280601181526020017f7472616e736665722072657665727465640000000000000000000000000000008152509061343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134329190614eee565b60405180910390fd5b505f8151148061345b57508080602001905181019061345a9190615c12565b5b6040518060400160405280601781526020017f7472616e736665722072657475726e65642066616c7365000000000000000000815250906134d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134c99190614eee565b60405180910390fd5b505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6135548161354f613640565b613d7e565b50565b5f6135628383611fbd565b6136365760015f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506135d3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061363a565b5f90505b92915050565b5f33905090565b5f6136528383611fbd565b15613726575f5f5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506136c3613640565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061372a565b5f90505b92915050565b6137386138b0565b5f60015f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61377a613640565b6040516137879190614109565b60405180910390a1565b5f815f0160059054906101000a900464ffffffffff169050919050565b5f81600301549050919050565b42826002015f6101000a81548164ffffffffff021916908364ffffffffff16021790555080825f015f8282546137f191906155c1565b925050819055505050565b5f815f01601e9054906101000a900461ffff169050919050565b5f81600301549050919050565b5f815f01600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6138576131f8565b6001805f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613899613640565b6040516138a69190614109565b60405180910390a1565b6138b86113f3565b6138ee576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6138f8613dcf565b1561392f576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61396d600161395f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f8473ffffffffffffffffffffffffffffffffffffffff163b116040518060400160405280600781526020017f6e6f20636f64650000000000000000000000000000000000000000000000000081525090613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f79190614eee565b60405180910390fd5b505f5f8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401613a2f93929190615c3d565b6040516020818303038152906040526323b872dd60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051613a819190615bd2565b5f604051808303815f865af19150503d805f8114613aba576040519150601f19603f3d011682016040523d82523d5f602084013e613abf565b606091505b5091509150816040518060400160405280601581526020017f7472616e7366657246726f6d207265766572746564000000000000000000000081525090613b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b339190614eee565b60405180910390fd5b505f81511480613b5c575080806020019051810190613b5b9190615c12565b5b6040518060400160405280601b81526020017f7472616e7366657246726f6d2072657475726e65642066616c7365000000000081525090613bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bca9190614eee565b60405180910390fd5b50505050505050565b613c195f613c0b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e1190919063ffffffff16565b565b5f5f823b90505f8163ffffffff1611915050919050565b80825f01600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b80825f015f6101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80825f0160056101000a81548164ffffffffff021916908364ffffffffff1602179055505050565b80826001019081613cd89190615c72565b505050565b8082600201819055505050565b80825f01601e6101000a81548161ffff021916908361ffff1602179055505050565b8082600301819055505050565b5f815f015f9054906101000a900464ffffffffff169050919050565b5f81600201549050919050565b80826002015f6101000a8154816effffffffffffffffffffffffffffff02191690836effffffffffffffffffffffffffffff1602179055505050565b613d888282611fbd565b613dcb5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401613dc2929190615d41565b60405180910390fd5b5050565b5f613e03613dfe7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005f1b613e08565b613e18565b905090565b5f819050919050565b80825d5050565b5f815c9050919050565b6040518060e001604052805f64ffffffffff1681526020015f64ffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f61ffff168152602001606081526020015f81526020015f81525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f64ffffffffff1681525090565b5f5ffd5b5f5ffd5b5f819050919050565b613eea81613ed8565b8114613ef4575f5ffd5b50565b5f81359050613f0581613ee1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f3482613f0b565b9050919050565b613f4481613f2a565b8114613f4e575f5ffd5b50565b5f81359050613f5f81613f3b565b92915050565b5f5f60408385031215613f7b57613f7a613ed0565b5b5f613f8885828601613ef7565b9250506020613f9985828601613f51565b9150509250929050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613fd781613fa3565b8114613fe1575f5ffd5b50565b5f81359050613ff281613fce565b92915050565b5f6020828403121561400d5761400c613ed0565b5b5f61401a84828501613fe4565b91505092915050565b5f8115159050919050565b61403781614023565b82525050565b5f6020820190506140505f83018461402e565b92915050565b5f5f6040838503121561406c5761406b613ed0565b5b5f61407985828601613f51565b925050602061408a85828601613ef7565b9150509250929050565b61409d81613ed8565b82525050565b5f6020820190506140b65f830184614094565b92915050565b5f5f604083850312156140d2576140d1613ed0565b5b5f6140df85828601613ef7565b92505060206140f085828601613ef7565b9150509250929050565b61410381613f2a565b82525050565b5f60208201905061411c5f8301846140fa565b92915050565b5f6effffffffffffffffffffffffffffff82169050919050565b61414581614122565b82525050565b5f60a08201905061415e5f830188614094565b61416b6020830187614094565b614178604083018661413c565b614185606083018561413c565b614192608083018461402e565b9695505050505050565b5f819050919050565b6141ae8161419c565b81146141b8575f5ffd5b50565b5f813590506141c9816141a5565b92915050565b5f602082840312156141e4576141e3613ed0565b5b5f6141f1848285016141bb565b91505092915050565b6142038161419c565b82525050565b5f60208201905061421c5f8301846141fa565b92915050565b5f5f6040838503121561423857614237613ed0565b5b5f614245858286016141bb565b925050602061425685828601613f51565b9150509250929050565b5f64ffffffffff82169050919050565b61427981614260565b82525050565b5f6020820190506142925f830184614270565b92915050565b5f6060820190506142ab5f830186614094565b6142b86020830185614094565b6142c56040830184614270565b949350505050565b5f5f5f606084860312156142e4576142e3613ed0565b5b5f6142f186828701613ef7565b935050602061430286828701613f51565b925050604061431386828701613ef7565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261433e5761433d61431d565b5b8235905067ffffffffffffffff81111561435b5761435a614321565b5b60208301915083602082028301111561437757614376614325565b5b9250929050565b5f5f5f6040848603121561439557614394613ed0565b5b5f6143a286828701613ef7565b935050602084013567ffffffffffffffff8111156143c3576143c2613ed4565b5b6143cf86828701614329565b92509250509250925092565b5f602082840312156143f0576143ef613ed0565b5b5f6143fd84828501613ef7565b91505092915050565b5f60a0820190506144195f830188614094565b6144266020830187614094565b6144336040830186614094565b6144406060830185614094565b61444d6080830184614094565b9695505050505050565b5f5f83601f84011261446c5761446b61431d565b5b8235905067ffffffffffffffff81111561448957614488614321565b5b6020830191508360208202830111156144a5576144a4614325565b5b9250929050565b5f5f5f5f5f606086880312156144c5576144c4613ed0565b5b5f6144d288828901613ef7565b955050602086013567ffffffffffffffff8111156144f3576144f2613ed4565b5b6144ff88828901614329565b9450945050604086013567ffffffffffffffff81111561452257614521613ed4565b5b61452e88828901614457565b92509250509295509295909350565b5f819050919050565b5f61456061455b61455684613f0b565b61453d565b613f0b565b9050919050565b5f61457182614546565b9050919050565b5f61458282614567565b9050919050565b61459281614578565b82525050565b5f6020820190506145ab5f830184614589565b92915050565b5f602082840312156145c6576145c5613ed0565b5b5f6145d384828501613f51565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61460e81613ed8565b82525050565b5f61461f8383614605565b60208301905092915050565b5f602082019050919050565b5f614641826145dc565b61464b81856145e6565b9350614656836145f6565b805f5b8381101561468657815161466d8882614614565b97506146788361462b565b925050600181019050614659565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6146c581614023565b82525050565b5f6146d683836146bc565b60208301905092915050565b5f602082019050919050565b5f6146f882614693565b614702818561469d565b935061470d836146ad565b805f5b8381101561473d57815161472488826146cb565b975061472f836146e2565b925050600181019050614710565b5085935050505092915050565b5f6040820190508181035f8301526147628185614637565b9050818103602083015261477681846146ee565b90509392505050565b5f5f5f5f6040858703121561479757614796613ed0565b5b5f85013567ffffffffffffffff8111156147b4576147b3613ed4565b5b6147c087828801614457565b9450945050602085013567ffffffffffffffff8111156147e3576147e2613ed4565b5b6147ef87828801614329565b925092505092959194509250565b61480681614260565b82525050565b61481581613f2a565b82525050565b5f61ffff82169050919050565b6148318161481b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61487982614837565b6148838185614841565b9350614893818560208601614851565b61489c8161485f565b840191505092915050565b5f60e083015f8301516148bc5f8601826147fd565b5060208301516148cf60208601826147fd565b5060408301516148e2604086018261480c565b5060608301516148f56060860182614828565b506080830151848203608086015261490d828261486f565b91505060a083015161492260a0860182614605565b5060c083015161493560c0860182614605565b508091505092915050565b60a082015f8201516149545f850182614605565b5060208201516149676020850182614605565b50604082015161497a6040850182614605565b50606082015161498d6060850182614605565b5060808201516149a06080850182614605565b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6149da838361480c565b60208301905092915050565b5f602082019050919050565b5f6149fc826149a6565b614a0681856149b0565b9350614a11836149c0565b805f5b83811015614a41578151614a2888826149cf565b9750614a33836149e6565b925050600181019050614a14565b5085935050505092915050565b5f610120820190508181035f830152614a6781886148a7565b9050614a766020830187614940565b614a8360c08301866140fa565b81810360e0830152614a9581856149f2565b9050818103610100830152614aaa81846149f2565b90509695505050505050565b614abf8161481b565b82525050565b5f82825260208201905092915050565b5f614adf82614837565b614ae98185614ac5565b9350614af9818560208601614851565b614b028161485f565b840191505092915050565b5f60e082019050614b205f83018a614270565b614b2d6020830189614270565b614b3a60408301886140fa565b614b476060830187614ab6565b8181036080830152614b598186614ad5565b9050614b6860a0830185614094565b614b7560c0830184614094565b98975050505050505050565b5f614b8b82613f2a565b9050919050565b614b9b81614b81565b8114614ba5575f5ffd5b50565b5f81359050614bb681614b92565b92915050565b5f5f60408385031215614bd257614bd1613ed0565b5b5f614bdf85828601614ba8565b9250506020614bf085828601613ef7565b9150509250929050565b5f5f83601f840112614c0f57614c0e61431d565b5b8235905067ffffffffffffffff811115614c2c57614c2b614321565b5b602083019150836001820283011115614c4857614c47614325565b5b9250929050565b5f5f5f5f60608587031215614c6757614c66613ed0565b5b5f614c7487828801613ef7565b9450506020614c8587828801613ef7565b935050604085013567ffffffffffffffff811115614ca657614ca5613ed4565b5b614cb287828801614bfa565b925092505092959194509250565b614cc981614260565b8114614cd3575f5ffd5b50565b5f81359050614ce481614cc0565b92915050565b614cf38161481b565b8114614cfd575f5ffd5b50565b5f81359050614d0e81614cea565b92915050565b5f5f5f5f5f5f5f5f60e0898b031215614d3057614d2f613ed0565b5b5f614d3d8b828c01614cd6565b9850506020614d4e8b828c01614cd6565b975050604089013567ffffffffffffffff811115614d6f57614d6e613ed4565b5b614d7b8b828c01614bfa565b96509650506060614d8e8b828c01613ef7565b9450506080614d9f8b828c01613f51565b93505060a0614db08b828c01614d00565b92505060c0614dc18b828c01613ef7565b9150509295985092959890939650565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151614e0e5f850182614605565b506020820151614e216020850182614605565b506040820151614e3460408501826147fd565b50505050565b5f614e458383614dfa565b60608301905092915050565b5f602082019050919050565b5f614e6782614dd1565b614e718185614ddb565b9350614e7c83614deb565b805f5b83811015614eac578151614e938882614e3a565b9750614e9e83614e51565b925050600181019050614e7f565b5085935050505092915050565b5f6040820190508181035f830152614ed181856149f2565b90508181036020830152614ee58184614e5d565b90509392505050565b5f6020820190508181035f830152614f068184614ad5565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614f4582613ed8565b9150614f5083613ed8565b9250828203905081811115614f6857614f67614f0e565b5b92915050565b7f4e6f2077696e6e696e67730000000000000000000000000000000000000000005f82015250565b5f614fa2600b83614ac5565b9150614fad82614f6e565b602082019050919050565b5f6020820190508181035f830152614fcf81614f96565b9050919050565b5f604082019050614fe95f830185614094565b614ff66020830184614094565b9392505050565b7f506f6f6c206e6f7420656e6465640000000000000000000000000000000000005f82015250565b5f615031600e83614ac5565b915061503c82614ffd565b602082019050919050565b5f6020820190508181035f83015261505e81615025565b9050919050565b7f4e6f742061207061727469636970616e740000000000000000000000000000005f82015250565b5f615099601183614ac5565b91506150a482615065565b602082019050919050565b5f6020820190508181035f8301526150c68161508d565b9050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f615101601283614ac5565b915061510c826150cd565b602082019050919050565b5f6020820190508181035f83015261512e816150f5565b9050919050565b7f416c726561647920636c61696d656400000000000000000000000000000000005f82015250565b5f615169600f83614ac5565b915061517482615135565b602082019050919050565b5f6020820190508181035f8301526151968161515d565b9050919050565b7f546f74616c2077696e6e657273206e6f742073657400000000000000000000005f82015250565b5f6151d1601583614ac5565b91506151dc8261519d565b602082019050919050565b5f6020820190508181035f8301526151fe816151c5565b9050919050565b7f496e76616c6964206e756d626572206f662077696e6e657273000000000000005f82015250565b5f615239601983614ac5565b915061524482615205565b602082019050919050565b5f6020820190508181035f8301526152668161522d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6152a482613ed8565b91506152af83613ed8565b9250826152bf576152be61526d565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f496e76616c696420696e707574000000000000000000000000000000000000005f82015250565b5f61532b600d83614ac5565b9150615336826152f7565b602082019050919050565b5f6020820190508181035f8301526153588161531f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61539682614260565b91506153a183614260565b9250828201905064ffffffffff8111156153be576153bd614f0e565b5b92915050565b7f4e6f7468696e6720746f207769746864726177000000000000000000000000005f82015250565b5f6153f8601383614ac5565b9150615403826153c4565b602082019050919050565b5f6020820190508181035f830152615425816153ec565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061547057607f821691505b6020821081036154835761548261542c565b5b50919050565b7f506f6f6c206e6f742063726561746564000000000000000000000000000000005f82015250565b5f6154bd601083614ac5565b91506154c882615489565b602082019050919050565b5f6020820190508181035f8301526154ea816154b1565b9050919050565b7f506f6f6c20656e646564000000000000000000000000000000000000000000005f82015250565b5f615525600a83614ac5565b9150615530826154f1565b602082019050919050565b5f6020820190508181035f83015261555281615519565b9050919050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f61558d600e83614ac5565b915061559882615559565b602082019050919050565b5f6020820190508181035f8301526155ba81615581565b9050919050565b5f6155cb82613ed8565b91506155d683613ed8565b92508282019050808211156155ee576155ed614f0e565b5b92915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261565a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261561f565b615664868361561f565b95508019841693508086168417925050509392505050565b5f61569661569161568c84613ed8565b61453d565b613ed8565b9050919050565b5f819050919050565b6156af8361567c565b6156c36156bb8261569d565b84845461562b565b825550505050565b5f5f905090565b6156da6156cb565b6156e58184846156a6565b505050565b5b81811015615708576156fd5f826156d2565b6001810190506156eb565b5050565b601f82111561574d5761571e816155fe565b61572784615610565b81016020851015615736578190505b61574a61574285615610565b8301826156ea565b50505b505050565b5f82821c905092915050565b5f61576d5f1984600802615752565b1980831691505092915050565b5f615785838361575e565b9150826002028217905092915050565b61579f83836155f4565b67ffffffffffffffff8111156157b8576157b761535f565b5b6157c28254615459565b6157cd82828561570c565b5f601f8311600181146157fa575f84156157e8578287013590505b6157f2858261577a565b865550615859565b601f198416615808866155fe565b5f5b8281101561582f5784890135825560018201915060208501945060208101905061580a565b8683101561584c5784890135615848601f89168261575e565b8355505b6001600288020188555050505b50505050505050565b828183375f83830152505050565b5f61587b8385614ac5565b9350615888838584615862565b6158918361485f565b840190509392505050565b5f6060820190506158af5f830187614094565b6158bc6020830186614094565b81810360408301526158cf818486615870565b905095945050505050565b7f496e76616c69642074696d696e670000000000000000000000000000000000005f82015250565b5f61590e600e83614ac5565b9150615919826158da565b602082019050919050565b5f6020820190508181035f83015261593b81615902565b9050919050565b7f546f6b656e206e6f7420636f6e747261637400000000000000000000000000005f82015250565b5f615976601283614ac5565b915061598182615942565b602082019050919050565b5f6020820190508181035f8301526159a38161596a565b9050919050565b5f6159b482613ed8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036159e6576159e5614f0e565b5b600182019050919050565b5f606082019050615a045f830187614094565b8181036020830152615a17818587615870565b9050615a266040830184614094565b95945050505050565b7f506f6f6c206e6f742073746172746564000000000000000000000000000000005f82015250565b5f615a63601083614ac5565b9150615a6e82615a2f565b602082019050919050565b5f6020820190508181035f830152615a9081615a57565b9050919050565b7f416c726561647920696e20706f6f6c00000000000000000000000000000000005f82015250565b5f615acb600f83614ac5565b9150615ad682615a97565b602082019050919050565b5f6020820190508181035f830152615af881615abf565b9050919050565b7f496e73756666696369656e7420616d6f756e74000000000000000000000000005f82015250565b5f615b33601383614ac5565b9150615b3e82615aff565b602082019050919050565b5f6020820190508181035f830152615b6081615b27565b9050919050565b5f604082019050615b7a5f8301856140fa565b615b876020830184614094565b9392505050565b5f81519050919050565b5f81905092915050565b5f615bac82615b8e565b615bb68185615b98565b9350615bc6818560208601614851565b80840191505092915050565b5f615bdd8284615ba2565b915081905092915050565b615bf181614023565b8114615bfb575f5ffd5b50565b5f81519050615c0c81615be8565b92915050565b5f60208284031215615c2757615c26613ed0565b5b5f615c3484828501615bfe565b91505092915050565b5f606082019050615c505f8301866140fa565b615c5d60208301856140fa565b615c6a6040830184614094565b949350505050565b615c7b82614837565b67ffffffffffffffff811115615c9457615c9361535f565b5b615c9e8254615459565b615ca982828561570c565b5f60209050601f831160018114615cda575f8415615cc8578287015190505b615cd2858261577a565b865550615d39565b601f198416615ce8866155fe565b5f5b82811015615d0f57848901518255600182019150602085019450602081019050615cea565b86831015615d2c5784890151615d28601f89168261575e565b8355505b6001600288020188555050505b505050505050565b5f604082019050615d545f8301856140fa565b615d6160208301846141fa565b939250505056fea2646970667358221220ebd06702f9baca21d503971a086887c568d391b64d59939edb105c1315d3548064736f6c634300081e0033", + "nonce": "0x5", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa9f34fa9fbc3c513e9e280e66d2aa451fa9e75e8723d22619bb4df766bc1f5ba", + "transactionType": "CREATE", + "contractName": "Droplet", + "contractAddress": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "function": null, + "arguments": null, + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "gas": "0x1366d0", + "value": "0x0", + "input": "0x608060405234801561000f575f5ffd5b506040518060400160405280600781526020017f44726f706c6574000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f44524f5000000000000000000000000000000000000000000000000000000000815250816003908161008b9190610598565b50806004908161009b9190610598565b5050506100b83369d3c21bcecceda10000006100bd60201b60201c565b61077c565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361012d575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161012491906106a6565b60405180910390fd5b61013e5f838361014260201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610192578060025f82825461018691906106ec565b92505081905550610260565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561021b578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016102129392919061072e565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036102a7578060025f82825403925050819055506102f1565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161034e9190610763565b60405180910390a3505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806103d657607f821691505b6020821081036103e9576103e8610392565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261044b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610410565b6104558683610410565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61049961049461048f8461046d565b610476565b61046d565b9050919050565b5f819050919050565b6104b28361047f565b6104c66104be826104a0565b84845461041c565b825550505050565b5f5f905090565b6104dd6104ce565b6104e88184846104a9565b505050565b5b8181101561050b576105005f826104d5565b6001810190506104ee565b5050565b601f82111561055057610521816103ef565b61052a84610401565b81016020851015610539578190505b61054d61054585610401565b8301826104ed565b50505b505050565b5f82821c905092915050565b5f6105705f1984600802610555565b1980831691505092915050565b5f6105888383610561565b9150826002028217905092915050565b6105a18261035b565b67ffffffffffffffff8111156105ba576105b9610365565b5b6105c482546103bf565b6105cf82828561050f565b5f60209050601f831160018114610600575f84156105ee578287015190505b6105f8858261057d565b86555061065f565b601f19841661060e866103ef565b5f5b8281101561063557848901518255600182019150602085019450602081019050610610565b86831015610652578489015161064e601f891682610561565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61069082610667565b9050919050565b6106a081610686565b82525050565b5f6020820190506106b95f830184610697565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6106f68261046d565b91506107018361046d565b9250828201905080821115610719576107186106bf565b5b92915050565b6107288161046d565b82525050565b5f6060820190506107415f830186610697565b61074e602083018561071f565b61075b604083018461071f565b949350505050565b5f6020820190506107765f83018461071f565b92915050565b610e96806107895f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c806340c10f191161006457806340c10f191461015a57806370a082311461017657806395d89b41146101a6578063a9059cbb146101c4578063dd62ed3e146101f45761009c565b806306fdde03146100a0578063095ea7b3146100be57806318160ddd146100ee57806323b872dd1461010c578063313ce5671461013c575b5f5ffd5b6100a8610224565b6040516100b59190610b0f565b60405180910390f35b6100d860048036038101906100d39190610bc0565b6102b4565b6040516100e59190610c18565b60405180910390f35b6100f66102d6565b6040516101039190610c40565b60405180910390f35b61012660048036038101906101219190610c59565b6102df565b6040516101339190610c18565b60405180910390f35b61014461030d565b6040516101519190610cc4565b60405180910390f35b610174600480360381019061016f9190610bc0565b610315565b005b610190600480360381019061018b9190610cdd565b610323565b60405161019d9190610c40565b60405180910390f35b6101ae610368565b6040516101bb9190610b0f565b60405180910390f35b6101de60048036038101906101d99190610bc0565b6103f8565b6040516101eb9190610c18565b60405180910390f35b61020e60048036038101906102099190610d08565b61041a565b60405161021b9190610c40565b60405180910390f35b60606003805461023390610d73565b80601f016020809104026020016040519081016040528092919081815260200182805461025f90610d73565b80156102aa5780601f10610281576101008083540402835291602001916102aa565b820191905f5260205f20905b81548152906001019060200180831161028d57829003601f168201915b5050505050905090565b5f5f6102be61049c565b90506102cb8185856104a3565b600191505092915050565b5f600254905090565b5f5f6102e961049c565b90506102f68582856104b5565b610301858585610548565b60019150509392505050565b5f6012905090565b61031f8282610638565b5050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461037790610d73565b80601f01602080910402602001604051908101604052809291908181526020018280546103a390610d73565b80156103ee5780601f106103c5576101008083540402835291602001916103ee565b820191905f5260205f20905b8154815290600101906020018083116103d157829003601f168201915b5050505050905090565b5f5f61040261049c565b905061040f818585610548565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b6104b083838360016106b7565b505050565b5f6104c0848461041a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105425781811015610533578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161052a93929190610db2565b60405180910390fd5b61054184848484035f6106b7565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105b8575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016105af9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610628575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161061f9190610de7565b60405180910390fd5b610633838383610886565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106a8575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161069f9190610de7565b60405180910390fd5b6106b35f8383610886565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610727575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161071e9190610de7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610797575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161078e9190610de7565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610880578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108779190610c40565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108d6578060025f8282546108ca9190610e2d565b925050819055506109a4565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561095f578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161095693929190610db2565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109eb578060025f8282540392505081905550610a35565b805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a929190610c40565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610ae182610a9f565b610aeb8185610aa9565b9350610afb818560208601610ab9565b610b0481610ac7565b840191505092915050565b5f6020820190508181035f830152610b278184610ad7565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b5c82610b33565b9050919050565b610b6c81610b52565b8114610b76575f5ffd5b50565b5f81359050610b8781610b63565b92915050565b5f819050919050565b610b9f81610b8d565b8114610ba9575f5ffd5b50565b5f81359050610bba81610b96565b92915050565b5f5f60408385031215610bd657610bd5610b2f565b5b5f610be385828601610b79565b9250506020610bf485828601610bac565b9150509250929050565b5f8115159050919050565b610c1281610bfe565b82525050565b5f602082019050610c2b5f830184610c09565b92915050565b610c3a81610b8d565b82525050565b5f602082019050610c535f830184610c31565b92915050565b5f5f5f60608486031215610c7057610c6f610b2f565b5b5f610c7d86828701610b79565b9350506020610c8e86828701610b79565b9250506040610c9f86828701610bac565b9150509250925092565b5f60ff82169050919050565b610cbe81610ca9565b82525050565b5f602082019050610cd75f830184610cb5565b92915050565b5f60208284031215610cf257610cf1610b2f565b5b5f610cff84828501610b79565b91505092915050565b5f5f60408385031215610d1e57610d1d610b2f565b5b5f610d2b85828601610b79565b9250506020610d3c85828601610b79565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610d8a57607f821691505b602082108103610d9d57610d9c610d46565b5b50919050565b610dac81610b52565b82525050565b5f606082019050610dc55f830186610da3565b610dd26020830185610c31565b610ddf6040830184610c31565b949350505050565b5f602082019050610dfa5f830184610da3565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610e3782610b8d565b9150610e4283610b8d565b9250828201905080821115610e5a57610e59610e00565b5b9291505056fea2646970667358221220d5863ff08848b1a47ced0ceea756c47ffdd0bfd0587d0adc92a905b4b04cb15d64736f6c634300081e0033", + "nonce": "0x6", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0e6a3860f303fd137659a06fb49cc770072ab9b14aa9c8cdad6d07494d169f01", + "transactionType": "CALL", + "contractName": "Droplet", + "contractAddress": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "function": "mint(address,uint256)", + "arguments": [ + "0xB343880DC01517DcfCbb528864d567e3389753E1", + "1000000000000000000000000" + ], + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "gas": "0xbb68", + "value": "0x0", + "input": "0x40c10f19000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e100000000000000000000000000000000000000000000d3c21bcecceda1000000", + "nonce": "0x7", + "chainId": "0x14a34" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3944263fe0a3da39581554f034bae4fd7240f5576e8dd8af301f99346a1651b7", + "transactionType": "CALL", + "contractName": "Pool", + "contractAddress": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "function": "createPool(uint40,uint40,string,uint256,address,uint16,uint256)", + "arguments": [ + "1747590500", + "1747612100", + "Test pool", + "1000", + "0x1bdffEBF62E16660d01e805F3529eBA1B982a864", + "1", + "1000" + ], + "transaction": { + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "gas": "0x4fbf7", + "value": "0x0", + "input": "0xb462039700000000000000000000000000000000000000000000000000000000682a1d6400000000000000000000000000000000000000000000000000000000682a71c400000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000001bdffebf62e16660d01e805f3529eba1b982a864000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "nonce": "0x8", + "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false @@ -25,44 +89,183 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x47f360", + "cumulativeGasUsed": "0x5fe194", "logs": [ { - "address": "0xde54beb534efb7da0ba8116dd44926cfb3e1d1f4", + "address": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000be92f2692f42580300fd8d0ee198b5bbbe303e78" + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" ], "data": "0x", - "blockHash": "0x195975ae0ee49ce18cc825538ae2024f533d070450b569df499ea1c52ddc4453", - "blockNumber": "0x9779ff", - "transactionHash": "0xae6ad9ef080968c9bd783b89560b94b3705f72fe47f713044e62b783dbd1d358", - "transactionIndex": "0xd", - "logIndex": "0x3", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0x80bc0b1b14bbf4b40c29c37c8e232dccd507d150ad8515e9cd74d53f13590da3", + "transactionIndex": "0x9", + "logIndex": "0x29", + "removed": false + }, + { + "address": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0x80bc0b1b14bbf4b40c29c37c8e232dccd507d150ad8515e9cd74d53f13590da3", + "transactionIndex": "0x9", + "logIndex": "0x2a", + "removed": false + } + ], + "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000400000000000000000000800000000000000000000000000000000000000000000100020000000000000000000000000000000022000000000000000000800000000000000000800000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000100000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x80bc0b1b14bbf4b40c29c37c8e232dccd507d150ad8515e9cd74d53f13590da3", + "transactionIndex": "0x9", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "gasUsed": "0x507804", + "effectiveGasPrice": "0xf05b4", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": null, + "contractAddress": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "l1BaseFeeScalar": "0x44d", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0xa118b", + "l1Fee": "0x35f24cadd0a", + "l1GasPrice": "0x52679281a", + "l1GasUsed": "0x25299" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6ece34", + "logs": [ + { + "address": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000", + "blockHash": "0xcdebbcf020ee73cd56228736c5c453a78ac7b453e880057bc0c8d9a48b9afe96", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0xa9f34fa9fbc3c513e9e280e66d2aa451fa9e75e8723d22619bb4df766bc1f5ba", + "transactionIndex": "0xa", + "logIndex": "0x2b", "removed": false } ], - "logsBloom": "0x00000000000000000000000020000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000001000000000000000000000000000800000000020000000000000000000800000000000000000000000000000000400000000000000000000000020000000001000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000002000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000000000008000000000000100000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000800000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xae6ad9ef080968c9bd783b89560b94b3705f72fe47f713044e62b783dbd1d358", - "transactionIndex": "0xd", - "blockHash": "0x195975ae0ee49ce18cc825538ae2024f533d070450b569df499ea1c52ddc4453", - "blockNumber": "0x9779ff", - "gasUsed": "0x3f7691", - "effectiveGasPrice": "0xf435c", - "from": "0xbe92f2692f42580300fd8d0ee198b5bbbe303e78", + "transactionHash": "0xa9f34fa9fbc3c513e9e280e66d2aa451fa9e75e8723d22619bb4df766bc1f5ba", + "transactionIndex": "0xa", + "blockHash": "0xcdebbcf020ee73cd56228736c5c453a78ac7b453e880057bc0c8d9a48b9afe96", + "blockNumber": "0x18a0dca", + "gasUsed": "0xeeca0", + "effectiveGasPrice": "0xf05b4", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", "to": null, - "contractAddress": "0xde54beb534efb7da0ba8116dd44926cfb3e1d1f4", - "l1Fee": "0x436bf430cedc", - "l1GasPrice": "0x33f5e93bb1", - "l1GasUsed": "0x49a84" + "contractAddress": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "l1BaseFeeScalar": "0x44d", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0xa118b", + "l1Fee": "0xdcc7f5b18f", + "l1GasPrice": "0x52679281a", + "l1GasUsed": "0x9817" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6f55e3", + "logs": [ + { + "address": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1" + ], + "data": "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0x0e6a3860f303fd137659a06fb49cc770072ab9b14aa9c8cdad6d07494d169f01", + "transactionIndex": "0xb", + "logIndex": "0x2c", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000002000000000000000000000000000000080000000000000000000000000000000000000800000000000000000000000000000008000000000000100000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000800000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0e6a3860f303fd137659a06fb49cc770072ab9b14aa9c8cdad6d07494d169f01", + "transactionIndex": "0xb", + "blockHash": "0x82fa6c5037e254f083802f87150d7648ece6bb32b597b55e3d72d155c0155bb8", + "blockNumber": "0x18a0dca", + "gasUsed": "0x87af", + "effectiveGasPrice": "0xf05b4", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0x1bdffebf62e16660d01e805f3529eba1b982a864", + "contractAddress": null, + "l1BaseFeeScalar": "0x44d", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0xa118b", + "l1Fee": "0x9129f5d04", + "l1GasPrice": "0x52679281a", + "l1GasUsed": "0x640" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x72f1aa", + "logs": [ + { + "address": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "topics": [ + "0x827fdcffd095b289c622df4e2a2a294a360d902e1b2b99e5e0081b8eac1363f1", + "0x000000000000000000000000b343880dc01517dcfcbb528864d567e3389753e1", + "0x0000000000000000000000001bdffebf62e16660d01e805f3529eba1b982a864" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000095465737420706f6f6c0000000000000000000000000000000000000000000000", + "blockHash": "0xcdebbcf020ee73cd56228736c5c453a78ac7b453e880057bc0c8d9a48b9afe96", + "blockNumber": "0x18a0dca", + "blockTimestamp": "0x68277a74", + "transactionHash": "0x3944263fe0a3da39581554f034bae4fd7240f5576e8dd8af301f99346a1651b7", + "transactionIndex": "0xc", + "logIndex": "0x2d", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000008000000000000000000000000000000000000000000084000000000000000400000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000001000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3944263fe0a3da39581554f034bae4fd7240f5576e8dd8af301f99346a1651b7", + "transactionIndex": "0xc", + "blockHash": "0xcdebbcf020ee73cd56228736c5c453a78ac7b453e880057bc0c8d9a48b9afe96", + "blockNumber": "0x18a0dca", + "gasUsed": "0x39bc7", + "effectiveGasPrice": "0xf05b4", + "from": "0xb343880dc01517dcfcbb528864d567e3389753e1", + "to": "0xd571c6e319d13637a1dff6f6e9fdb8d2803af3ae", + "contractAddress": null, + "l1BaseFeeScalar": "0x44d", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0xa118b", + "l1Fee": "0xc60a5a554", + "l1GasPrice": "0x52679281a", + "l1GasUsed": "0x886" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1715622650, + "timestamp": 1747417739, "chain": 84532, - "commit": "0d70a16" + "commit": "0d0018b" } \ No newline at end of file diff --git a/script/Droplet.s.sol b/script/Droplet.s.sol new file mode 100644 index 0000000..74fd088 --- /dev/null +++ b/script/Droplet.s.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.30; + +import {Script, console} from "forge-std/Script.sol"; +import {Droplet} from "../src/mock/MockERC20.sol"; + +contract DropletScript is Script { + Droplet public token; + + function setUp() public {} + + function run() public { + uint256 deployerPrivateKey; + try vm.envUint("PRIVATE_KEY") returns (uint256 key) { + deployerPrivateKey = key; + } catch { + revert("Please set the PRIVATE_KEY environment variable"); + } + + vm.startBroadcast(deployerPrivateKey); + + // Deploy the Droplet token + token = new Droplet(); + + // Initial mint to deployer + token.mint(vm.addr(deployerPrivateKey), 1000000e18); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/script/Pool.s.sol b/script/Pool.s.sol index 4900e67..d2c74df 100644 --- a/script/Pool.s.sol +++ b/script/Pool.s.sol @@ -11,12 +11,40 @@ contract PoolScript is Script { Droplet public token; IERC20 public usdc; + // Token addresses for different networks + address constant USDC_BASE_MAINNET = 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913; + function setUp() public {} function run() public { - vm.startBroadcast(vm.envUint("PRIVATE_KEY")); + uint256 deployerPrivateKey; + try vm.envUint("PRIVATE_KEY") returns (uint256 key) { + deployerPrivateKey = key; + } catch { + revert("Please set the PRIVATE_KEY environment variable"); + } + + vm.startBroadcast(deployerPrivateKey); + + // Deploy the Pool contract pool = new Pool(); - usdc = IERC20(0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913); + + // Get the chain ID + uint256 chainId = block.chainid; + + // Handle token setup based on network + if (chainId == 8453) { // Base Mainnet + usdc = IERC20(USDC_BASE_MAINNET); + } else { // Sepolia or Local + // Deploy a mock token for testing + token = new Droplet(); + usdc = IERC20(address(token)); + + // Mint some tokens to the deployer for testing + token.mint(vm.addr(deployerPrivateKey), 1000000e18); + } + + // Create the pool pool.createPool( uint40(block.timestamp + 2 days), uint40(block.timestamp + 2 days + 6 hours), @@ -26,11 +54,12 @@ contract PoolScript is Script { 1, 1000 ); + vm.stopBroadcast(); } function run_withMock() public { - vm.startBroadcast(vm.envUint("PRIVATE_KEY")); + vm.startBroadcast(msg.sender); pool = new Pool(); token = new Droplet(); vm.stopBroadcast();