0g-storage-node/storage-contracts-abis/ChunkLinearReward.json

620 lines
52 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "ChunkLinearReward",
"sourceName": "contracts/reward/ChunkLinearReward.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "releaseSeconds_",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "pricingIndex",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "beneficiary",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "DistributeReward",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PARAMS_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "baseReward",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "pricingIndex",
"type": "uint256"
},
{
"internalType": "address payable",
"name": "beneficiary",
"type": "address"
},
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "claimMineReward",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "donate",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "beforeLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "chargedSectors",
"type": "uint256"
}
],
"name": "fillReward",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "firstRewardableChunk",
"outputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "getRoleMember",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleMemberCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "market_",
"type": "address"
},
{
"internalType": "address",
"name": "mine_",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "initialized",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "market",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "mine",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "dest",
"type": "address"
}
],
"name": "payments",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "releaseSeconds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "pricingIndex",
"type": "uint256"
}
],
"name": "rewardDeadline",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "rewards",
"outputs": [
{
"internalType": "uint128",
"name": "lockedReward",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "claimableReward",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "distributedReward",
"type": "uint128"
},
{
"internalType": "uint40",
"name": "startTime",
"type": "uint40"
},
{
"internalType": "uint40",
"name": "lastUpdate",
"type": "uint40"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "serviceFeeRateBps",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "baseReward_",
"type": "uint256"
}
],
"name": "setBaseReward",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "bps",
"type": "uint256"
}
],
"name": "setServiceFeeRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "treasury_",
"type": "address"
}
],
"name": "setTreasury",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalBaseReward",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "treasury",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "payee",
"type": "address"
}
],
"name": "withdrawPayments",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60a060405234801561001057600080fd5b5060405161282438038061282483398101604081905261002f91610037565b608052610050565b60006020828403121561004957600080fd5b5051919050565b6080516127a4610080600039600081816102c4015281816107a501528181611620015261170401526127a46000f3fe608060405260043610620001f35760003560e01c80639010d07c116200010b578063b7a3c04c11620000a1578063e2982c21116200006c578063e2982c2114620005d9578063ed88c68e14620005fe578063f0f442601462000608578063f301af42146200062d57600080fd5b8063b7a3c04c1462000552578063c05751111462000577578063ca15c873146200058f578063d547741f14620005b457600080fd5b80639b1d309111620000e25780639b1d309114620004bf578063a217fddf14620004e4578063b15d20da14620004fb578063b3b30c1a146200052057600080fd5b80639010d07c146200045357806391d14854146200047857806399f4b251146200049d57600080fd5b806331b3eb94116200018d57806361d027b3116200015857806361d027b314620003c657806376ad03bc14620004015780637f1b5e43146200041957806380f55605146200043157600080fd5b806331b3eb94146200034057806336568abe1462000365578063485cc955146200038a57806359e9670014620003af57600080fd5b8063158ef93e11620001ce578063158ef93e146200028d5780632129593114620002b0578063248a9ca314620002e65780632f2ff15d146200031b57600080fd5b806301ffc9a714620001f85780630373a23a14620002325780630a539a191462000259575b600080fd5b3480156200020557600080fd5b506200021d6200021736600462001d6c565b620006d9565b60405190151581526020015b60405180910390f35b3480156200023f57600080fd5b50620002576200025136600462001d98565b62000707565b005b3480156200026657600080fd5b506200027e6200027836600462001d98565b62000728565b60405190815260200162000229565b3480156200029a57600080fd5b506000546200021d90600160a01b900460ff1681565b348015620002bd57600080fd5b506200027e7f000000000000000000000000000000000000000000000000000000000000000081565b348015620002f357600080fd5b506200027e6200030536600462001d98565b6000908152600160208190526040909120015490565b3480156200032857600080fd5b50620002576200033a36600462001dc8565b620007e3565b3480156200034d57600080fd5b50620002576200035f36600462001dfb565b62000812565b3480156200037257600080fd5b50620002576200038436600462001dc8565b62000876565b3480156200039757600080fd5b5062000257620003a936600462001e1b565b620008fc565b62000257620003c036600462001e4e565b62000a25565b348015620003d357600080fd5b50600954620003e8906001600160a01b031681565b6040516001600160a01b03909116815260200162000229565b3480156200040e57600080fd5b506200027e60075481565b3480156200042657600080fd5b506200027e60065481565b3480156200043e57600080fd5b50600354620003e8906001600160a01b031681565b3480156200046057600080fd5b50620003e86200047236600462001e4e565b62000e96565b3480156200048557600080fd5b506200021d6200049736600462001dc8565b62000eb0565b348015620004aa57600080fd5b50600454620003e8906001600160a01b031681565b348015620004cc57600080fd5b5062000257620004de36600462001d98565b62000edb565b348015620004f157600080fd5b506200027e600081565b3480156200050857600080fd5b506200027e6000805160206200274f83398151915281565b3480156200052d57600080fd5b506200053862000efc565b60405167ffffffffffffffff909116815260200162000229565b3480156200055f57600080fd5b50620002576200057136600462001e71565b62000fbe565b3480156200058457600080fd5b506200027e60085481565b3480156200059c57600080fd5b506200027e620005ae36600462001d98565b620011ec565b348015620005c157600080fd5b5062000257620005d336600462001dc8565b62001205565b348015620005e657600080fd5b506200027e620005f836600462001dfb565b6200122f565b62000257620012a1565b3480156200061557600080fd5b50620002576200062736600462001dfb565b620012bc565b3480156200063a57600080fd5b50620006966200064c36600462001d98565b600560205260009081526040902080546001909101546001600160801b0380831692600160801b908190048216929182169164ffffffffff918104821691600160a81b9091041685565b604080516001600160801b0396871681529486166020860152929094169183019190915264ffffffffff9081166060830152909116608082015260a00162000229565b60006001600160e01b03198216635a05180f60e01b14806200070157506200070182620012fa565b92915050565b6000805160206200274f833981519152620007228162001331565b50600755565b6000818152600560209081526040808320815160a08101835281546001600160801b038082168352600160801b918290048116958301959095526001909201549384169281019290925264ffffffffff908304811660608301819052600160a81b909304166080820152908203620007a35750600092915050565b7f0000000000000000000000000000000000000000000000000000000000000000816060015164ffffffffff16620007dc919062001ec2565b9392505050565b60008281526001602081905260409091200154620008018162001331565b6200080d838362001340565b505050565b6000546040516351cff8d960e01b81526001600160a01b038381166004830152909116906351cff8d990602401600060405180830381600087803b1580156200085a57600080fd5b505af11580156200086f573d6000803e3d6000fd5b5050505050565b6001600160a01b0381163314620008ec5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008f8828262001366565b5050565b600054600160a01b900460ff1615620009645760405162461bcd60e51b8152602060048201526024808201527f5a67496e697469616c697a61626c653a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608401620008e3565b6000805460ff60a01b1916600160a01b1781556200098a90620009843390565b62001340565b620009a56000805160206200274f8339815191523362001340565b600380546001600160a01b038085166001600160a01b0319928316179092556004805492841692909116919091179055604051620009e39062001d5e565b604051809103906000f08015801562000a00573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b03929092169190911790555050565b6003546001600160a01b0316336001600160a01b03161462000a8a5760405162461bcd60e51b815260206004820152601f60248201527f53656e64657220646f6573206e6f742068617665207065726d697373696f6e006044820152606401620008e3565b60006127106008543462000a9f919062001ed8565b62000aab919062001f10565b9050801562000acc5760095462000acc906001600160a01b0316826200138c565b600062000ada823462001f27565b90508260008161010062000af16104008062001ed8565b62000aff9061040062001ed8565b62000b0c90600862001ed8565b62000b18919062001f10565b62000b24908562001ed8565b62000b30919062001f10565b9050600062000b40838862001ec2565b9050600061010062000b556104008062001ed8565b62000b639061040062001ed8565b62000b7090600862001ed8565b62000b7c919062001f10565b62000b88908962001f3d565b61010062000b996104008062001ed8565b62000ba79061040062001ed8565b62000bb490600862001ed8565b62000bc0919062001f10565b62000bcc919062001f27565b90506000600161010062000be36104008062001ed8565b62000bf19061040062001ed8565b62000bfe90600862001ed8565b62000c0a919062001f10565b62000c16848c62001ec2565b62000c22919062001f10565b62000c2e919062001f27565b9050600061010062000c436104008062001ed8565b62000c519061040062001ed8565b62000c5e90600862001ed8565b62000c6a919062001f10565b62000c7760018662001f27565b62000c83919062001f3d565b62000c9090600162001ec2565b9050600061010062000ca56104008062001ed8565b62000cb39061040062001ed8565b62000cc090600862001ed8565b62000ccc919062001f10565b62000cd8838762001f27565b62000ce4919062001f10565b9050600061010062000cf96104008062001ed8565b62000d079061040062001ed8565b62000d1490600862001ed8565b62000d20919062001f10565b62000d2d83600162001ec2565b62000d39919062001ed8565b8614905081840362000d6657600084815260056020526040902062000d60908a83620014ab565b62000e88565b62000dd161010062000d7b6104008062001ed8565b62000d899061040062001ed8565b62000d9690600862001ed8565b62000da2919062001f10565b62000dae878a62001ed8565b62000dba919062001f10565b6000868152600560205260409020906001620014ab565b600062000de085600162001ec2565b90505b8281101562000e1d57600081815260056020526040902062000e0890896001620014ab565b8062000e148162001f54565b91505062000de3565b5062000e8861010062000e336104008062001ed8565b62000e419061040062001ed8565b62000e4e90600862001ed8565b62000e5a919062001f10565b62000e66858a62001ed8565b62000e72919062001f10565b60008481526005602052604090209083620014ab565b505050505050505050505050565b6000828152600260205260408120620007dc9083620015e6565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000805160206200274f83398151915262000ef68162001331565b50600855565b6000806104005b62000f188167ffffffffffffffff16620015f4565b1562000f365790508062000f2e60028262001f70565b905062000f03565b8067ffffffffffffffff168267ffffffffffffffff16101562000fb8576000600262000f63848462001fa3565b62000f6f919062001fc7565b62000f7b908462001ff1565b905062000f928167ffffffffffffffff16620015f4565b1562000fad5762000fa581600162001ff1565b925062000fb1565b8091505b5062000f36565b50919050565b6004546001600160a01b0316336001600160a01b031614620010235760405162461bcd60e51b815260206004820152601f60248201527f53656e64657220646f6573206e6f742068617665207065726d697373696f6e006044820152606401620008e3565b6000838152600560209081526040808320815160a08101835281546001600160801b038082168352600160801b918290048116958301959095526001909201549384169281019290925264ffffffffff90830481166060830152600160a81b909204909116608082015290620010998262001617565b9050620010a7828262001645565b6000620010b48362001698565b60008781526005602090815260408083208751928801516001600160801b03938416600160801b9185168202178255918801516001909101805460608a015160808b0151939095166001600160a81b03199091161764ffffffffff9485169093029290921764ffffffffff60a81b1916600160a81b939091169290920291909117905590915062001147878584620016ff565b9050600081600654116200115e5760065462001160565b815b90506200116e818462001ec2565b9250806006600082825462001184919062001f27565b90915550508215620011e2576200119c878462001756565b866001600160a01b0316887f83617a1b0f847971f005bd162dde513cfe93df96e6293c3bbb5fe9c40629dd4c85604051620011d991815260200190565b60405180910390a35b5050505050505050565b60008181526002602052604081206200070190620017bd565b60008281526001602081905260409091200154620012238162001331565b6200080d838362001366565b600080546040516371d4ed8d60e11b81526001600160a01b0384811660048301529091169063e3a9db1a90602401602060405180830381865afa1580156200127b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000701919062002015565b3460066000828254620012b5919062001ec2565b9091555050565b6000805160206200274f833981519152620012d78162001331565b50600980546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b14806200070157506301ffc9a760e01b6001600160e01b031983161462000701565b6200133d8133620017c8565b50565b6200134c82826200182c565b60008281526002602052604090206200080d90826200189a565b620013728282620018b1565b60008281526002602052604090206200080d90826200191b565b80471015620013de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401620008e3565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146200142d576040519150601f19603f3d011682016040523d82523d6000602084013e62001432565b606091505b50509050806200080d5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401620008e3565b6001600160801b03821115620014f65760405162461bcd60e51b815260206004820152600f60248201526e526577617264206f766572666c6f7760881b6044820152606401620008e3565b6001830154600160801b900464ffffffffff1615620015585760405162461bcd60e51b815260206004820181905260248201527f526577617264206974656d20686173206265656e20696e697469616c697a65646044820152606401620008e3565b825482908490600090620015779084906001600160801b03166200202f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080156200080d575050600101805469ffffffffffffffffffff60801b1916600160801b4264ffffffffff1690810264ffffffffff60a81b191691909117600160a81b91909102179055565b6000620007dc838362001932565b600080620016028362000728565b90508015801590620007dc5750421192915050565b600062000701827f00000000000000000000000000000000000000000000000000000000000000006200195f565b808260000181815162001659919062002052565b6001600160801b03169052506020820180518291906200167b9083906200202f565b6001600160801b03169052505064ffffffffff4216608090910152565b60008060028360200151620016ae919062002075565b90508083602001818151620016c4919062002052565b6001600160801b0316905250604083018051829190620016e69083906200202f565b6001600160801b03908116909152919091169392505050565b6000427f0000000000000000000000000000000000000000000000000000000000000000846060015164ffffffffff166200173b919062001ec2565b11156200174c5750600754620007dc565b5060009392505050565b60005460405163f340fa0160e01b81526001600160a01b0384811660048301529091169063f340fa019083906024016000604051808303818588803b1580156200179f57600080fd5b505af1158015620017b4573d6000803e3d6000fd5b50505050505050565b600062000701825490565b620017d4828262000eb0565b620008f857620017e48162001a34565b620017f183602062001a47565b60405160200162001804929190620020b8565b60408051601f198184030181529082905262461bcd60e51b8252620008e39160040162002131565b62001838828262000eb0565b620008f85760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000620007dc836001600160a01b03841662001c01565b620018bd828262000eb0565b15620008f85760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000620007dc836001600160a01b03841662001c53565b60008260000182815481106200194c576200194c62002166565b9060005260206000200154905092915050565b6000826080015164ffffffffff166000036200197e5750600062000701565b6000836040015184602001516200199691906200202f565b6001600160801b0316905060008185600001516001600160801b0316620019be919062001ec2565b90506000856060015164ffffffffff1642620019db919062001f27565b9050600085620019ec838562001ed8565b620019f8919062001f10565b90508281111562001a065750815b8381101562001a1d57600094505050505062000701565b62001a29848262001f27565b979650505050505050565b6060620007016001600160a01b03831660145b6060600062001a5883600262001ed8565b62001a6590600262001ec2565b67ffffffffffffffff81111562001a805762001a806200217c565b6040519080825280601f01601f19166020018201604052801562001aab576020820181803683370190505b509050600360fc1b8160008151811062001ac95762001ac962002166565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062001afb5762001afb62002166565b60200101906001600160f81b031916908160001a905350600062001b2184600262001ed8565b62001b2e90600162001ec2565b90505b600181111562001bb0576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062001b665762001b6662002166565b1a60f81b82828151811062001b7f5762001b7f62002166565b60200101906001600160f81b031916908160001a90535060049490941c9362001ba88162002192565b905062001b31565b508315620007dc5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620008e3565b600081815260018301602052604081205462001c4a5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000701565b50600062000701565b6000818152600183016020526040812054801562001d4c57600062001c7a60018362001f27565b855490915060009062001c909060019062001f27565b905081811462001cfc57600086600001828154811062001cb45762001cb462002166565b906000526020600020015490508087600001848154811062001cda5762001cda62002166565b6000918252602080832090910192909255918252600188019052604090208390555b855486908062001d105762001d10620021ac565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505062000701565b600091505062000701565b5092915050565b61058c80620021c383390190565b60006020828403121562001d7f57600080fd5b81356001600160e01b031981168114620007dc57600080fd5b60006020828403121562001dab57600080fd5b5035919050565b6001600160a01b03811681146200133d57600080fd5b6000806040838503121562001ddc57600080fd5b82359150602083013562001df08162001db2565b809150509250929050565b60006020828403121562001e0e57600080fd5b8135620007dc8162001db2565b6000806040838503121562001e2f57600080fd5b823562001e3c8162001db2565b9150602083013562001df08162001db2565b6000806040838503121562001e6257600080fd5b50508035926020909101359150565b60008060006060848603121562001e8757600080fd5b83359250602084013562001e9b8162001db2565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b8082018082111562000701576200070162001eac565b600081600019048311821515161562001ef55762001ef562001eac565b500290565b634e487b7160e01b600052601260045260246000fd5b60008262001f225762001f2262001efa565b500490565b8181038181111562000701576200070162001eac565b60008262001f4f5762001f4f62001efa565b500690565b60006001820162001f695762001f6962001eac565b5060010190565b600067ffffffffffffffff8083168185168183048111821515161562001f9a5762001f9a62001eac565b02949350505050565b67ffffffffffffffff82811682821603908082111562001d575762001d5762001eac565b600067ffffffffffffffff8084168062001fe55762001fe562001efa565b92169190910492915050565b67ffffffffffffffff81811683821601908082111562001d575762001d5762001eac565b6000602082840312156200202857600080fd5b5051919050565b6001600160801b0381811683821601908082111562001d575762001d5762001eac565b6001600160801b0382811682821603908082111562001d575762001d5762001eac565b60006001600160801b038084168062001fe55762001fe562001efa565b60005b83811015620020af57818101518382015260200162002095565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351620020f281601785016020880162002092565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200212581602884016020880162002092565b01602801949350505050565b60208152600082518060208401526200215281604085016020870162002092565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600081620021a457620021a462001eac565b506000190190565b634e487b7160e01b600052603160045260246000fdfe608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61050e8061007e6000396000f3fe6080604052600436106100555760003560e01c806351cff8d91461005a578063715018a61461007c5780638da5cb5b14610091578063e3a9db1a146100be578063f2fde38b14610102578063f340fa0114610122575b600080fd5b34801561006657600080fd5b5061007a61007536600461048d565b610135565b005b34801561008857600080fd5b5061007a6101ac565b34801561009d57600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b3480156100ca57600080fd5b506100f46100d936600461048d565b6001600160a01b031660009081526001602052604090205490565b6040519081526020016100b5565b34801561010e57600080fd5b5061007a61011d36600461048d565b6101c0565b61007a61013036600461048d565b61023e565b61013d6102b0565b6001600160a01b0381166000818152600160205260408120805491905590610165908261030a565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516101a091815260200190565b60405180910390a25050565b6101b46102b0565b6101be6000610428565b565b6101c86102b0565b6001600160a01b0381166102325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61023b81610428565b50565b6102466102b0565b6001600160a01b0381166000908152600160205260408120805434928392916102709084906104b1565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4906020016101a0565b6000546001600160a01b031633146101be5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610229565b8047101561035a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610229565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146103a7576040519150601f19603f3d011682016040523d82523d6000602084013e6103ac565b606091505b50509050806104235760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610229565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461023b57600080fd5b60006020828403121561049f57600080fd5b81356104aa81610478565b9392505050565b808201808211156104d257634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220e52cf2b51f0a8d14b10d6c445edb47884f6fbd6d5fbaed7572ef106f818cf48064736f6c63430008100033b9d69e0ca90be54a40811e436234a7f7908b87ff2bec27e64f878b166da8e8e5a26469706673582212202fcb2aa57ea8b0e1c6736b4b7a7390079cb2cc07a3c68367be545d615f576af364736f6c63430008100033",
"deployedBytecode": "0x608060405260043610620001f35760003560e01c80639010d07c116200010b578063b7a3c04c11620000a1578063e2982c21116200006c578063e2982c2114620005d9578063ed88c68e14620005fe578063f0f442601462000608578063f301af42146200062d57600080fd5b8063b7a3c04c1462000552578063c05751111462000577578063ca15c873146200058f578063d547741f14620005b457600080fd5b80639b1d309111620000e25780639b1d309114620004bf578063a217fddf14620004e4578063b15d20da14620004fb578063b3b30c1a146200052057600080fd5b80639010d07c146200045357806391d14854146200047857806399f4b251146200049d57600080fd5b806331b3eb94116200018d57806361d027b3116200015857806361d027b314620003c657806376ad03bc14620004015780637f1b5e43146200041957806380f55605146200043157600080fd5b806331b3eb94146200034057806336568abe1462000365578063485cc955146200038a57806359e9670014620003af57600080fd5b8063158ef93e11620001ce578063158ef93e146200028d5780632129593114620002b0578063248a9ca314620002e65780632f2ff15d146200031b57600080fd5b806301ffc9a714620001f85780630373a23a14620002325780630a539a191462000259575b600080fd5b3480156200020557600080fd5b506200021d6200021736600462001d6c565b620006d9565b60405190151581526020015b60405180910390f35b3480156200023f57600080fd5b50620002576200025136600462001d98565b62000707565b005b3480156200026657600080fd5b506200027e6200027836600462001d98565b62000728565b60405190815260200162000229565b3480156200029a57600080fd5b506000546200021d90600160a01b900460ff1681565b348015620002bd57600080fd5b506200027e7f000000000000000000000000000000000000000000000000000000000000000081565b348015620002f357600080fd5b506200027e6200030536600462001d98565b6000908152600160208190526040909120015490565b3480156200032857600080fd5b50620002576200033a36600462001dc8565b620007e3565b3480156200034d57600080fd5b50620002576200035f36600462001dfb565b62000812565b3480156200037257600080fd5b50620002576200038436600462001dc8565b62000876565b3480156200039757600080fd5b5062000257620003a936600462001e1b565b620008fc565b62000257620003c036600462001e4e565b62000a25565b348015620003d357600080fd5b50600954620003e8906001600160a01b031681565b6040516001600160a01b03909116815260200162000229565b3480156200040e57600080fd5b506200027e60075481565b3480156200042657600080fd5b506200027e60065481565b3480156200043e57600080fd5b50600354620003e8906001600160a01b031681565b3480156200046057600080fd5b50620003e86200047236600462001e4e565b62000e96565b3480156200048557600080fd5b506200021d6200049736600462001dc8565b62000eb0565b348015620004aa57600080fd5b50600454620003e8906001600160a01b031681565b348015620004cc57600080fd5b5062000257620004de36600462001d98565b62000edb565b348015620004f157600080fd5b506200027e600081565b3480156200050857600080fd5b506200027e6000805160206200274f83398151915281565b3480156200052d57600080fd5b506200053862000efc565b60405167ffffffffffffffff909116815260200162000229565b3480156200055f57600080fd5b50620002576200057136600462001e71565b62000fbe565b3480156200058457600080fd5b506200027e60085481565b3480156200059c57600080fd5b506200027e620005ae36600462001d98565b620011ec565b348015620005c157600080fd5b5062000257620005d336600462001dc8565b62001205565b348015620005e657600080fd5b506200027e620005f836600462001dfb565b6200122f565b62000257620012a1565b3480156200061557600080fd5b50620002576200062736600462001dfb565b620012bc565b3480156200063a57600080fd5b50620006966200064c36600462001d98565b600560205260009081526040902080546001909101546001600160801b0380831692600160801b908190048216929182169164ffffffffff918104821691600160a81b9091041685565b604080516001600160801b0396871681529486166020860152929094169183019190915264ffffffffff9081166060830152909116608082015260a00162000229565b60006001600160e01b03198216635a05180f60e01b14806200070157506200070182620012fa565b92915050565b6000805160206200274f833981519152620007228162001331565b50600755565b6000818152600560209081526040808320815160a08101835281546001600160801b038082168352600160801b918290048116958301959095526001909201549384169281019290925264ffffffffff908304811660608301819052600160a81b909304166080820152908203620007a35750600092915050565b7f0000000000000000000000000000000000000000000000000000000000000000816060015164ffffffffff16620007dc919062001ec2565b9392505050565b60008281526001602081905260409091200154620008018162001331565b6200080d838362001340565b505050565b6000546040516351cff8d960e01b81526001600160a01b038381166004830152909116906351cff8d990602401600060405180830381600087803b1580156200085a57600080fd5b505af11580156200086f573d6000803e3d6000fd5b5050505050565b6001600160a01b0381163314620008ec5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008f8828262001366565b5050565b600054600160a01b900460ff1615620009645760405162461bcd60e51b8152602060048201526024808201527f5a67496e697469616c697a61626c653a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608401620008e3565b6000805460ff60a01b1916600160a01b1781556200098a90620009843390565b62001340565b620009a56000805160206200274f8339815191523362001340565b600380546001600160a01b038085166001600160a01b0319928316179092556004805492841692909116919091179055604051620009e39062001d5e565b604051809103906000f08015801562000a00573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b03929092169190911790555050565b6003546001600160a01b0316336001600160a01b03161462000a8a5760405162461bcd60e51b815260206004820152601f60248201527f53656e64657220646f6573206e6f742068617665207065726d697373696f6e006044820152606401620008e3565b60006127106008543462000a9f919062001ed8565b62000aab919062001f10565b9050801562000acc5760095462000acc906001600160a01b0316826200138c565b600062000ada823462001f27565b90508260008161010062000af16104008062001ed8565b62000aff9061040062001ed8565b62000b0c90600862001ed8565b62000b18919062001f10565b62000b24908562001ed8565b62000b30919062001f10565b9050600062000b40838862001ec2565b9050600061010062000b556104008062001ed8565b62000b639061040062001ed8565b62000b7090600862001ed8565b62000b7c919062001f10565b62000b88908962001f3d565b61010062000b996104008062001ed8565b62000ba79061040062001ed8565b62000bb490600862001ed8565b62000bc0919062001f10565b62000bcc919062001f27565b90506000600161010062000be36104008062001ed8565b62000bf19061040062001ed8565b62000bfe90600862001ed8565b62000c0a919062001f10565b62000c16848c62001ec2565b62000c22919062001f10565b62000c2e919062001f27565b9050600061010062000c436104008062001ed8565b62000c519061040062001ed8565b62000c5e90600862001ed8565b62000c6a919062001f10565b62000c7760018662001f27565b62000c83919062001f3d565b62000c9090600162001ec2565b9050600061010062000ca56104008062001ed8565b62000cb39061040062001ed8565b62000cc090600862001ed8565b62000ccc919062001f10565b62000cd8838762001f27565b62000ce4919062001f10565b9050600061010062000cf96104008062001ed8565b62000d079061040062001ed8565b62000d1490600862001ed8565b62000d20919062001f10565b62000d2d83600162001ec2565b62000d39919062001ed8565b8614905081840362000d6657600084815260056020526040902062000d60908a83620014ab565b62000e88565b62000dd161010062000d7b6104008062001ed8565b62000d899061040062001ed8565b62000d9690600862001ed8565b62000da2919062001f10565b62000dae878a62001ed8565b62000dba919062001f10565b6000868152600560205260409020906001620014ab565b600062000de085600162001ec2565b90505b8281101562000e1d57600081815260056020526040902062000e0890896001620014ab565b8062000e148162001f54565b91505062000de3565b5062000e8861010062000e336104008062001ed8565b62000e419061040062001ed8565b62000e4e90600862001ed8565b62000e5a919062001f10565b62000e66858a62001ed8565b62000e72919062001f10565b60008481526005602052604090209083620014ab565b505050505050505050505050565b6000828152600260205260408120620007dc9083620015e6565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000805160206200274f83398151915262000ef68162001331565b50600855565b6000806104005b62000f188167ffffffffffffffff16620015f4565b1562000f365790508062000f2e60028262001f70565b905062000f03565b8067ffffffffffffffff168267ffffffffffffffff16101562000fb8576000600262000f63848462001fa3565b62000f6f919062001fc7565b62000f7b908462001ff1565b905062000f928167ffffffffffffffff16620015f4565b1562000fad5762000fa581600162001ff1565b925062000fb1565b8091505b5062000f36565b50919050565b6004546001600160a01b0316336001600160a01b031614620010235760405162461bcd60e51b815260206004820152601f60248201527f53656e64657220646f6573206e6f742068617665207065726d697373696f6e006044820152606401620008e3565b6000838152600560209081526040808320815160a08101835281546001600160801b038082168352600160801b918290048116958301959095526001909201549384169281019290925264ffffffffff90830481166060830152600160a81b909204909116608082015290620010998262001617565b9050620010a7828262001645565b6000620010b48362001698565b60008781526005602090815260408083208751928801516001600160801b03938416600160801b9185168202178255918801516001909101805460608a015160808b0151939095166001600160a81b03199091161764ffffffffff9485169093029290921764ffffffffff60a81b1916600160a81b939091169290920291909117905590915062001147878584620016ff565b9050600081600654116200115e5760065462001160565b815b90506200116e818462001ec2565b9250806006600082825462001184919062001f27565b90915550508215620011e2576200119c878462001756565b866001600160a01b0316887f83617a1b0f847971f005bd162dde513cfe93df96e6293c3bbb5fe9c40629dd4c85604051620011d991815260200190565b60405180910390a35b5050505050505050565b60008181526002602052604081206200070190620017bd565b60008281526001602081905260409091200154620012238162001331565b6200080d838362001366565b600080546040516371d4ed8d60e11b81526001600160a01b0384811660048301529091169063e3a9db1a90602401602060405180830381865afa1580156200127b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000701919062002015565b3460066000828254620012b5919062001ec2565b9091555050565b6000805160206200274f833981519152620012d78162001331565b50600980546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b14806200070157506301ffc9a760e01b6001600160e01b031983161462000701565b6200133d8133620017c8565b50565b6200134c82826200182c565b60008281526002602052604090206200080d90826200189a565b620013728282620018b1565b60008281526002602052604090206200080d90826200191b565b80471015620013de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401620008e3565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146200142d576040519150601f19603f3d011682016040523d82523d6000602084013e62001432565b606091505b50509050806200080d5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401620008e3565b6001600160801b03821115620014f65760405162461bcd60e51b815260206004820152600f60248201526e526577617264206f766572666c6f7760881b6044820152606401620008e3565b6001830154600160801b900464ffffffffff1615620015585760405162461bcd60e51b815260206004820181905260248201527f526577617264206974656d20686173206265656e20696e697469616c697a65646044820152606401620008e3565b825482908490600090620015779084906001600160801b03166200202f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080156200080d575050600101805469ffffffffffffffffffff60801b1916600160801b4264ffffffffff1690810264ffffffffff60a81b191691909117600160a81b91909102179055565b6000620007dc838362001932565b600080620016028362000728565b90508015801590620007dc5750421192915050565b600062000701827f00000000000000000000000000000000000000000000000000000000000000006200195f565b808260000181815162001659919062002052565b6001600160801b03169052506020820180518291906200167b9083906200202f565b6001600160801b03169052505064ffffffffff4216608090910152565b60008060028360200151620016ae919062002075565b90508083602001818151620016c4919062002052565b6001600160801b0316905250604083018051829190620016e69083906200202f565b6001600160801b03908116909152919091169392505050565b6000427f0000000000000000000000000000000000000000000000000000000000000000846060015164ffffffffff166200173b919062001ec2565b11156200174c5750600754620007dc565b5060009392505050565b60005460405163f340fa0160e01b81526001600160a01b0384811660048301529091169063f340fa019083906024016000604051808303818588803b1580156200179f57600080fd5b505af1158015620017b4573d6000803e3d6000fd5b50505050505050565b600062000701825490565b620017d4828262000eb0565b620008f857620017e48162001a34565b620017f183602062001a47565b60405160200162001804929190620020b8565b60408051601f198184030181529082905262461bcd60e51b8252620008e39160040162002131565b62001838828262000eb0565b620008f85760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000620007dc836001600160a01b03841662001c01565b620018bd828262000eb0565b15620008f85760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000620007dc836001600160a01b03841662001c53565b60008260000182815481106200194c576200194c62002166565b9060005260206000200154905092915050565b6000826080015164ffffffffff166000036200197e5750600062000701565b6000836040015184602001516200199691906200202f565b6001600160801b0316905060008185600001516001600160801b0316620019be919062001ec2565b90506000856060015164ffffffffff1642620019db919062001f27565b9050600085620019ec838562001ed8565b620019f8919062001f10565b90508281111562001a065750815b8381101562001a1d57600094505050505062000701565b62001a29848262001f27565b979650505050505050565b6060620007016001600160a01b03831660145b6060600062001a5883600262001ed8565b62001a6590600262001ec2565b67ffffffffffffffff81111562001a805762001a806200217c565b6040519080825280601f01601f19166020018201604052801562001aab576020820181803683370190505b509050600360fc1b8160008151811062001ac95762001ac962002166565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062001afb5762001afb62002166565b60200101906001600160f81b031916908160001a905350600062001b2184600262001ed8565b62001b2e90600162001ec2565b90505b600181111562001bb0576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062001b665762001b6662002166565b1a60f81b82828151811062001b7f5762001b7f62002166565b60200101906001600160f81b031916908160001a90535060049490941c9362001ba88162002192565b905062001b31565b508315620007dc5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620008e3565b600081815260018301602052604081205462001c4a5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000701565b50600062000701565b6000818152600183016020526040812054801562001d4c57600062001c7a60018362001f27565b855490915060009062001c909060019062001f27565b905081811462001cfc57600086600001828154811062001cb45762001cb462002166565b906000526020600020015490508087600001848154811062001cda5762001cda62002166565b6000918252602080832090910192909255918252600188019052604090208390555b855486908062001d105762001d10620021ac565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505062000701565b600091505062000701565b5092915050565b61058c80620021c383390190565b60006020828403121562001d7f57600080fd5b81356001600160e01b031981168114620007dc57600080fd5b60006020828403121562001dab57600080fd5b5035919050565b6001600160a01b03811681146200133d57600080fd5b6000806040838503121562001ddc57600080fd5b82359150602083013562001df08162001db2565b809150509250929050565b60006020828403121562001e0e57600080fd5b8135620007dc8162001db2565b6000806040838503121562001e2f57600080fd5b823562001e3c8162001db2565b9150602083013562001df08162001db2565b6000806040838503121562001e6257600080fd5b50508035926020909101359150565b60008060006060848603121562001e8757600080fd5b83359250602084013562001e9b8162001db2565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b8082018082111562000701576200070162001eac565b600081600019048311821515161562001ef55762001ef562001eac565b500290565b634e487b7160e01b600052601260045260246000fd5b60008262001f225762001f2262001efa565b500490565b8181038181111562000701576200070162001eac565b60008262001f4f5762001f4f62001efa565b500690565b60006001820162001f695762001f6962001eac565b5060010190565b600067ffffffffffffffff8083168185168183048111821515161562001f9a5762001f9a62001eac565b02949350505050565b67ffffffffffffffff82811682821603908082111562001d575762001d5762001eac565b600067ffffffffffffffff8084168062001fe55762001fe562001efa565b92169190910492915050565b67ffffffffffffffff81811683821601908082111562001d575762001d5762001eac565b6000602082840312156200202857600080fd5b5051919050565b6001600160801b0381811683821601908082111562001d575762001d5762001eac565b6001600160801b0382811682821603908082111562001d575762001d5762001eac565b60006001600160801b038084168062001fe55762001fe562001efa565b60005b83811015620020af57818101518382015260200162002095565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351620020f281601785016020880162002092565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200212581602884016020880162002092565b01602801949350505050565b60208152600082518060208401526200215281604085016020870162002092565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600081620021a457620021a462001eac565b506000190190565b634e487b7160e01b600052603160045260246000fdfe608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61050e8061007e6000396000f3fe6080604052600436106100555760003560e01c806351cff8d91461005a578063715018a61461007c5780638da5cb5b14610091578063e3a9db1a146100be578063f2fde38b14610102578063f340fa0114610122575b600080fd5b34801561006657600080fd5b5061007a61007536600461048d565b610135565b005b34801561008857600080fd5b5061007a6101ac565b34801561009d57600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b3480156100ca57600080fd5b506100f46100d936600461048d565b6001600160a01b031660009081526001602052604090205490565b6040519081526020016100b5565b34801561010e57600080fd5b5061007a61011d36600461048d565b6101c0565b61007a61013036600461048d565b61023e565b61013d6102b0565b6001600160a01b0381166000818152600160205260408120805491905590610165908261030a565b816001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516101a091815260200190565b60405180910390a25050565b6101b46102b0565b6101be6000610428565b565b6101c86102b0565b6001600160a01b0381166102325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61023b81610428565b50565b6102466102b0565b6001600160a01b0381166000908152600160205260408120805434928392916102709084906104b1565b90915550506040518181526001600160a01b038316907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4906020016101a0565b6000546001600160a01b031633146101be5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610229565b8047101561035a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610229565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146103a7576040519150601f19603f3d011682016040523d82523d6000602084013e6103ac565b606091505b50509050806104235760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610229565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461023b57600080fd5b60006020828403121561049f57600080fd5b81356104aa81610478565b9392505050565b808201808211156104d257634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220e52cf2b51f0a8d14b10d6c445edb47884f6fbd6d5fbaed7572ef106f818cf48064736f6c63430008100033b9d69e0ca90be54a40811e436234a7f7908b87ff2bec27e64f878b166da8e8e5a26469706673582212202fcb2aa57ea8b0e1c6736b4b7a7390079cb2cc07a3c68367be545d615f576af364736f6c63430008100033",
"linkReferences": {},
"deployedLinkReferences": {}
}