0 txs
76 calls
constructor
constructor()
functions
getAssetIndex
viewfunction getAssetIndex(address _contractAddress, uint256 _tokenId, address _signer) view returns (uint256)
getContractIndex
viewfunction getContractIndex() view returns (uint256)
getFee
viewfunction getFee() view returns (uint256)
getFeeCollector
viewfunction getFeeCollector() view returns (address)
getIsRented
viewfunction getIsRented(address _contractAddress, uint256 _tokenId) view returns (bool)
getNonce
viewfunction getNonce(address _signer) view returns (uint256)
getRental
viewfunction getRental(address _contractAddress, uint256 _tokenId) view returns (tuple)
getSignerIndex
viewfunction getSignerIndex(address _signer) view returns (uint256)
getToken
viewfunction getToken() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
acceptListing
nonpayablefunction acceptListing(tuple _listing, address _operator, uint256 _conditionIndex, uint256 _rentalDays, bytes32 _fingerprint)
acceptOffer
nonpayablefunction acceptOffer(tuple _offer)
bumpAssetIndex
nonpayablefunction bumpAssetIndex(address _contractAddress, uint256 _tokenId)
bumpContractIndex
nonpayablefunction bumpContractIndex()
bumpSignerIndex
nonpayablefunction bumpSignerIndex()
claim
nonpayablefunction claim(address[] _contractAddresses, uint256[] _tokenIds)
executeMetaTransaction
payablefunction executeMetaTransaction(address _userAddress, bytes _functionData, bytes _signature) payable returns (bytes)
initialize
nonpayablefunction initialize(address _owner, address _token, address _feeCollector, uint256 _fee)
onERC721Received
nonpayablefunction onERC721Received(address _operator, address, uint256 _tokenId, bytes _data) returns (bytes4)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setFee
nonpayablefunction setFee(uint256 _fee)
setFeeCollector
nonpayablefunction setFeeCollector(address _feeCollector)
setManyLandUpdateOperator
nonpayablefunction setManyLandUpdateOperator(address _contractAddress, uint256 _tokenId, uint256[][] _landTokenIds, address[] _operators)
setUpdateOperator
nonpayablefunction setUpdateOperator(address[] _contractAddresses, uint256[] _tokenIds, address[] _operators)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
events
AssetClaimed
event AssetClaimed(address indexed _contractAddress, uint256 indexed _tokenId, address _sender)
AssetIndexUpdated
event AssetIndexUpdated(address indexed _signer, address indexed _contractAddress, uint256 indexed _tokenId, uint256 _newIndex, address _sender)
AssetRented
event AssetRented(address indexed _contractAddress, uint256 indexed _tokenId, address _lessor, address _tenant, address _operator, uint256 _rentalDays, uint256 _pricePerDay, bool _isExtension, address _sender, bytes _signature)
ContractIndexUpdated
event ContractIndexUpdated(uint256 _newIndex, address _sender)
FeeCollectorUpdated
event FeeCollectorUpdated(address _from, address _to, address _sender)
FeeUpdated
event FeeUpdated(uint256 _from, uint256 _to, address _sender)
Initialized
event Initialized(uint8 version)
MetaTransactionExecuted
event MetaTransactionExecuted(address indexed _userAddress, address indexed _relayerAddress, bytes _functionData)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SignerIndexUpdated
event SignerIndexUpdated(address indexed _signer, uint256 _newIndex, address _sender)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61452280620000f46000396000f3fe6080604052600436106101b75760003560e01c8063715018a6116100ec578063a42dce801161008a578063d124fa8511610064578063d124fa85146105a1578063d409c9d6146105c1578063d8ed1acc146105e1578063f2fde38b1461060157600080fd5b8063a42dce801461054b578063ced72f871461056b578063cf756fdf1461058157600080fd5b80638456cb59116100c65780638456cb59146104525780638729e422146104675780638adbc85d146105185780638da5cb5b1461052d57600080fd5b8063715018a6146103fd578063747250011461041257806381b221f01461043257600080fd5b80633788938b116101595780635c975abb116101335780635c975abb1461037a5780635cda3b5c1461039257806369fe0e2d146103a75780636e143720146103c757600080fd5b80633788938b1461033057806337f81abb146103455780633f4ba83a1461036557600080fd5b80631882497a116101955780631882497a1461024f57806321df0da71461027f5780632674ec7c1461029e5780632d0335ab146102fa57600080fd5b8063061f7a02146101bc57806312fde4b7146101de578063150b7a0214610216575b600080fd5b3480156101c857600080fd5b506101dc6101d7366004613de9565b610621565b005b3480156101ea57600080fd5b50610103546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561022257600080fd5b506102366102313660046139ac565b61065a565b6040516001600160e01b0319909116815260200161020d565b34801561025b57600080fd5b5061026f61026a366004613ae0565b61073d565b604051901515815260200161020d565b34801561028b57600080fd5b50610101546001600160a01b03166101f9565b3480156102aa57600080fd5b506102ec6102b9366004613b0c565b6001600160a01b039283166000908152606760209081526040808320948352938152838220929094168152925290205490565b60405190815260200161020d565b34801561030657600080fd5b506102ec61031536600461396b565b6001600160a01b03166000908152609c602052604090205490565b34801561033c57600080fd5b506101dc61076c565b34801561035157600080fd5b506101dc610360366004613c44565b61077e565b34801561037157600080fd5b506101dc610a0c565b34801561038657600080fd5b5060cf5460ff1661026f565b34801561039e57600080fd5b506065546102ec565b3480156103b357600080fd5b506101dc6103c2366004613e59565b610a1c565b3480156103d357600080fd5b506102ec6103e236600461396b565b6001600160a01b031660009081526066602052604090205490565b34801561040957600080fd5b506101dc610a2d565b34801561041e57600080fd5b506101dc61042d366004613bd9565b610a3f565b34801561043e57600080fd5b506101dc61044d366004613d80565b610cec565b34801561045e57600080fd5b506101dc61137e565b34801561047357600080fd5b506104e8610482366004613ae0565b6040805160608082018352600080835260208084018290529284018190526001600160a01b039586168152610102835283812094815293825292829020825193840183528054851684526001810154909416908301526002909201549181019190915290565b6040805182516001600160a01b03908116825260208085015190911690820152918101519082015260600161020d565b34801561052457600080fd5b506101dc61138e565b34801561053957600080fd5b506033546001600160a01b03166101f9565b34801561055757600080fd5b506101dc61056636600461396b565b61139e565b34801561057757600080fd5b50610104546102ec565b34801561058d57600080fd5b506101dc61059c366004613a8f565b6113af565b3480156105ad57600080fd5b506101dc6105bc366004613b4e565b61154d565b3480156105cd57600080fd5b506101dc6105dc366004613ae0565b6117b7565b6105f46105ef366004613a1e565b6117cd565b60405161020d9190614023565b34801561060d57600080fd5b506101dc61061c36600461396b565b611a24565b61063e610634604083016020840161396b565b8260400135611a9a565b61065761064a82614291565b610652611bcd565b611bdc565b50565b60006001600160a01b038616301461071257600061067a83850185613e25565b905080602001516001600160a01b0316336001600160a01b03161480156106a45750848160400151145b6107065760405162461bcd60e51b815260206004820152602860248201527f52656e74616c73236f6e45524337323152656365697665643a2041535345545f60448201526709a92a69a82a886960c31b60648201526084015b60405180910390fd5b6107108188611bdc565b505b507f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f95945050505050565b6001600160a01b0391909116600090815261010260209081526040808320938352929052206002015442111590565b610774611ea7565b61077c611f20565b565b6002609d5414156107a15760405162461bcd60e51b81526004016106fd90614081565b6002609d556107ae611f80565b84831480156107bc57508481145b61081b5760405162461bcd60e51b815260206004820152602a60248201527f52656e74616c73237365745570646174654f70657261746f723a204c454e4754604482015269090be9a92a69a82a886960b31b60648201526084016106fd565b6000610825611bcd565b90508360005b818110156109fc57600089898381811061084757610847614310565b905060200201602081019061085c919061396b565b9050600088888481811061087257610872614310565b6001600160a01b03851660009081526101026020908152604080832093820295909501358083529290529283209093509190506108af848461073d565b90508080156108cd575060018201546001600160a01b038881169116145b806108ed5750801580156108ed575081546001600160a01b038881169116145b6109575760405162461bcd60e51b815260206004820152603560248201527f52656e74616c73237365745570646174654f70657261746f723a2043414e4e4f6044820152742a2fa9a2aa2faaa82220aa22afa7a822a920aa27a960591b60648201526084016106fd565b836001600160a01b031663b0b02c60848b8b8981811061097957610979614310565b905060200201602081019061098e919061396b565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156109d557600080fd5b505af11580156109e9573d6000803e3d6000fd5b505050508460010194505050505061082b565b50506001609d5550505050505050565b610a14611ea7565b61077c611fc6565b610a24611ea7565b61065781612019565b610a35611ea7565b61077c60006120d7565b6002609d541415610a625760405162461bcd60e51b81526004016106fd90614081565b6002609d55610a6f611f80565b828114610abe5760405162461bcd60e51b815260206004820152601e60248201527f52656e74616c7323636c61696d3a204c454e4754485f4d49534d41544348000060448201526064016106fd565b6000610ac8611bcd565b90508360005b81811015610cde576000878783818110610aea57610aea614310565b9050602002016020810190610aff919061396b565b90506000868684818110610b1557610b15614310565b905060200201359050610b28828261073d565b15610b755760405162461bcd60e51b815260206004820152601f60248201527f52656e74616c7323636c61696d3a2043555252454e544c595f52454e5445440060448201526064016106fd565b6001600160a01b0380831660009081526101026020908152604080832085845290915290205481169086168114610bee5760405162461bcd60e51b815260206004820152601960248201527f52656e74616c7323636c61696d3a204e4f545f4c4553534f520000000000000060448201526064016106fd565b6001600160a01b03831660008181526101026020908152604080832086845290915280822080546001600160a01b0319908116825560018201805490911690556002019190915551632142170760e11b81528491906342842e0e90610c5b9030908b908890600401613fb7565b600060405180830381600087803b158015610c7557600080fd5b505af1158015610c89573d6000803e3d6000fd5b50506040516001600160a01b038a81168252869350871691507f64fcb03e7c10d3b0ae8a1bac00b1e9e9cdf6b593ef0e757797d21977f80183a49060200160405180910390a384600101945050505050610ace565b50506001609d555050505050565b6002609d541415610d0f5760405162461bcd60e51b81526004016106fd90614081565b6002609d55610d1c611f80565b610d39610d2f604087016020880161396b565b8660400135611a9a565b6000610d48602087018761396b565b90506000610d54611bcd565b9050816001600160a01b0316816001600160a01b03161415610dcf5760405162461bcd60e51b815260206004820152602e60248201527f52656e74616c73236163636570744c697374696e673a2043414c4c45525f434160448201526d272727aa2fa122afa9a4a3a722a960911b60648201526084016106fd565b6000610de361016089016101408a0161396b565b6001600160a01b03161480610e1a57506001600160a01b038116610e0f61016089016101408a0161396b565b6001600160a01b0316145b610e755760405162461bcd60e51b815260206004820152602660248201527f52656e74616c73236163636570744c697374696e673a205441524745545f4d496044820152650a69a82a886960d31b60648201526084016106fd565b610e826080880135612129565b610e908260a08901356121ae565b610eb3610ea36040890160208a0161396b565b60408901358460c08b013561223b565b6000610ec260e0890189614112565b9150610ed49050610100890189614112565b90508114610f3c5760405162461bcd60e51b815260206004820152602f60248201527f52656e74616c73236163636570744c697374696e673a204d41585f444159535f60448201526e0988a9c8ea890be9a92a69a82a8869608b1b60648201526084016106fd565b610f4a610120890189614112565b90508114610fb25760405162461bcd60e51b815260206004820152602f60248201527f52656e74616c73236163636570744c697374696e673a204d494e5f444159535f60448201526e0988a9c8ea890be9a92a69a82a8869608b1b60648201526084016106fd565b80861061101e5760405162461bcd60e51b815260206004820152603460248201527f52656e74616c73236163636570744c697374696e673a20434f4e444954494f4e6044820152735f494e4445585f4f55545f4f465f424f554e445360601b60648201526084016106fd565b42886060013510156110835760405162461bcd60e51b815260206004820152602860248201527f52656e74616c73236163636570744c697374696e673a20455850495245445f5360448201526749474e415455524560c01b60648201526084016106fd565b60006110936101008a018a614112565b888181106110a3576110a3614310565b9050602002013590506000898061012001906110bf9190614112565b898181106110cf576110cf614310565b905060200201359050818111156111445760405162461bcd60e51b815260206004820152603360248201527f52656e74616c73236163636570744c697374696e673a204d41585f444159535f6044820152724c4f5745525f5448414e5f4d494e5f4441595360681b60648201526084016106fd565b600081116111a45760405162461bcd60e51b815260206004820152602760248201527f52656e74616c73236163636570744c697374696e673a204d494e5f444159535f60448201526649535f5a45524f60c81b60648201526084016106fd565b8087101580156111b45750818711155b6112115760405162461bcd60e51b815260206004820152602860248201527f52656e74616c73236163636570744c697374696e673a20444159535f4e4f545f604482015267494e5f52414e474560c01b60648201526084016106fd565b618ead87111561127c5760405162461bcd60e51b815260206004820152603060248201527f52656e74616c73236163636570744c697374696e673a2052454e54414c5f444160448201526f1654d7d15610d1515114d7d31253525560821b60648201526084016106fd565b6112858a6122dd565b61136d604051806101200160405280876001600160a01b03168152602001866001600160a01b031681526020018c60200160208101906112c5919061396b565b6001600160a01b031681526040808e0135602083015281018990526060016112f060e08e018e614112565b8c81811061130057611300614310565b9050602002013581526020018981526020018b6001600160a01b031681526020018c806101600190611332919061415b565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506124da565b50506001609d555050505050505050565b611386611ea7565b61077c612a93565b61077c611399611bcd565b612ad1565b6113a6611ea7565b61065781612b47565b600054610100900460ff16158080156113cf5750600054600160ff909116105b806113e95750303b1580156113e9575060005460ff166001145b61144c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106fd565b6000805460ff19166001179055801561146f576000805461ff0019166101001790555b611477612bbc565b61147f612beb565b6114c16040518060400160405280600781526020016652656e74616c7360c81b815250604051806040016040528060018152602001603160f81b815250612c1a565b6114c9612c4b565b6114d2856120d7565b6114db83612b47565b6114e482612019565b61010180546001600160a01b0319166001600160a01b0386161790558015611546576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6002609d5414156115705760405162461bcd60e51b81526004016106fd90614081565b6002609d5561157d611f80565b8281146115e75760405162461bcd60e51b815260206004820152603260248201527f52656e74616c73237365744d616e794c616e645570646174654f70657261746f6044820152710e47440988a9c8ea890be9a92a69a82a886960731b60648201526084016106fd565b6001600160a01b038616600090815261010260209081526040808320888452909152812090611616888861073d565b90506000611622611bcd565b9050818015611640575060018301546001600160a01b038281169116145b80611660575081158015611660575082546001600160a01b038281169116145b6116e25760405162461bcd60e51b815260206004820152604760248201527f52656e74616c73237365744d616e794c616e645570646174654f70657261746f60448201527f723a2043414e4e4f545f5345545f4d414e595f4c414e445f5550444154455f4f6064820152662822a920aa27a960c91b608482015260a4016106fd565b8560005b818110156117a5578a6001600160a01b0316633dcbeb008b8b8b8581811061171057611710614310565b90506020028101906117229190614112565b8b8b8781811061173457611734614310565b9050602002016020810190611749919061396b565b6040518563ffffffff1660e01b815260040161176894939291906140b8565b600060405180830381600087803b15801561178257600080fd5b505af1158015611796573d6000803e3d6000fd5b505050508060010190506116e6565b50506001609d55505050505050505050565b6117c982826117c4611bcd565b612c7a565b5050565b606060006040518060600160405280609c60008a6001600160a01b03166001600160a01b03168152602001908152602001600020548152602001886001600160a01b0316815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250905061185c87828686612d0d565b6118e65760405162461bcd60e51b815260206004820152604f60248201527f4e61746976654d6574615472616e73616374696f6e23657865637574654d657460448201527f615472616e73616374696f6e3a205349474e45525f414e445f5349474e41545560648201526e0a48abe889ebe9c9ea8be9a82a8869608b1b608482015260a4016106fd565b6001600160a01b0387166000908152609c6020526040812080549161190a836142c9565b9190505550336001600160a01b0316876001600160a01b03167f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b8888604051611954929190613ff4565b60405180910390a3600080306001600160a01b03163489898c60405160200161197f93929190613f13565b60408051601f198184030181529082905261199991613f39565b60006040518083038185875af1925050503d80600081146119d6576040519150601f19603f3d011682016040523d82523d6000602084013e6119db565b606091505b509150915081611a1857600481019050808060200190518101906119ff9190613d0a565b60405162461bcd60e51b81526004016106fd9190614023565b98975050505050505050565b611a2c611ea7565b6001600160a01b038116611a915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106fd565b610657816120d7565b6001600160a01b038281166000818152610102602090815260408083208684529091528082205490516331a9108f60e11b815260048101869052931692909190636352211e9060240160206040518083038186803b158015611afb57600080fd5b505afa158015611b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b33919061398f565b90506001600160a01b038216158015611b5457506001600160a01b03811630145b15611bc75760405162461bcd60e51b815260206004820152603960248201527f52656e74616c73235f766572696679556e736166655472616e736665723a204160448201527f535345545f5452414e534645525245445f554e534146454c590000000000000060648201526084016106fd565b50505050565b6000611bd7612df3565b905090565b6002609d541415611bff5760405162461bcd60e51b81526004016106fd90614081565b6002609d55611c0c611f80565b81516001600160a01b038281169082161415611c805760405162461bcd60e51b815260206004820152602d60248201527f52656e74616c73235f6163636570744f666665723a2043414c4c45525f43414e60448201526c2727aa2fa122afa9a4a3a722a960991b60648201526084016106fd565b608083015151611c8f90612129565b608083015160200151611ca39082906121ae565b611cd283602001518460400151838660800151600260038110611cc857611cc8614310565b602002015161223b565b4283606001511015611d365760405162461bcd60e51b815260206004820152602760248201527f52656e74616c73235f6163636570744f666665723a20455850495245445f5349604482015266474e415455524560c81b60648201526084016106fd565b60008360c0015111611d9c5760405162461bcd60e51b815260206004820152602960248201527f52656e74616c73235f6163636570744f666665723a2052454e54414c5f444159604482015268535f49535f5a45524f60b81b60648201526084016106fd565b618ead8360c001511115611e0a5760405162461bcd60e51b815260206004820152602f60248201527f52656e74616c73235f6163636570744f666665723a2052454e54414c5f44415960448201526e14d7d15610d1515114d7d312535255608a1b60648201526084016106fd565b611e1383612e0f565b611e9d604051806101200160405280846001600160a01b03168152602001836001600160a01b0316815260200185602001516001600160a01b031681526020018560400151815260200185610100015181526020018560a0015181526020018560c0015181526020018560e001516001600160a01b031681526020018561012001518152506124da565b50506001609d5550565b611eaf611bcd565b6001600160a01b0316611eca6033546001600160a01b031690565b6001600160a01b03161461077c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106fd565b7fa6957d63c6c422962352065c3196f36c268eda93a702712ccf4c3d810da755b3606560008154611f50906142c9565b9182905550611f5d611bcd565b604080519283526001600160a01b039091166020830152015b60405180910390a1565b60cf5460ff161561077c5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016106fd565b611fce612f00565b60cf805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612001611bcd565b6040516001600160a01b039091168152602001611f76565b620f42408111156120785760405162461bcd60e51b8152602060048201526024808201527f52656e74616c73235f7365744665653a204849474845525f5448414e5f4d41586044820152635f46454560e01b60648201526084016106fd565b7f8d6ad40ad37637106f0ca2d682205c774e73f8cf7789162ce1c0b6ac0791a48461010454826101048190556120ac611bcd565b6040805193845260208401929092526001600160a01b0316908201526060015b60405180910390a150565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60655481146106575760405162461bcd60e51b815260206004820152604560248201527f436f6e7472616374496e64657856657269666961626c65235f7665726966794360448201527f6f6e7472616374496e6465783a20434f4e54524143545f494e4445585f4d495360648201526409a82a886960db1b608482015260a4016106fd565b6001600160a01b03821660009081526066602052604090205481146117c95760405162461bcd60e51b815260206004820152603f60248201527f5369676e6572496e64657856657269666961626c65235f76657269667953696760448201527f6e6572496e6465783a205349474e45525f494e4445585f4d49534d415443480060648201526084016106fd565b6001600160a01b0380851660009081526067602090815260408083208784528252808320938616835292905220548114611bc75760405162461bcd60e51b815260206004820152603c60248201527f4173736574496e64657856657269666961626c65235f7665726966794173736560448201527f74496e6465783a2041535345545f494e4445585f4d49534d415443480000000060648201526084016106fd565b60006122ec602083018361396b565b905060006124866040518060e0016040528060ae815260200161439060ae91398051906020012083856020016020810190612327919061396b565b86604001358760600135886080016040516020016123459190613e9e565b60408051601f19818403018152919052805160209091012061236a60e08b018b614112565b60405160200161237b929190613ee7565b60408051601f1981840301815291905280516020909101206123a16101008c018c614112565b6040516020016123b2929190613ee7565b60408051601f1981840301815291905280516020909101206123d86101208d018d614112565b6040516020016123e9929190613ee7565b60408051601f1981840301815291905280516020909101206124136101608e016101408f0161396b565b60408051602081019b909b526001600160a01b03998a16908b015296881660608a0152608089019590955260a088019390935260c087019190915260e086015261010085015261012084015216610140820152610160015b60405160208183030381529060405280519060200120612f49565b90506124d5828261249b61016087018761415b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f9d92505050565b505050565b60408181015190516301ffc9a760e01b8152638f9f4b6360e01b60048201526001600160a01b038216906301ffc9a79060240160206040518083038186803b15801561252557600080fd5b505afa158015612539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255d9190613cbe565b1561266057806001600160a01b0316638f9f4b638360600151846080015160405160200161258d91815260200190565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016125b9929190613fdb565b60206040518083038186803b1580156125d157600080fd5b505afa1580156125e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126099190613cbe565b6126605760405162461bcd60e51b815260206004820152602260248201527f52656e74616c73235f72656e743a20494e56414c49445f46494e474552505249604482015261139560f21b60648201526084016106fd565b604080830180516001600160a01b03166000908152610102602090815283822060608701805184529152928120915192519192909161269f919061073d565b90506000811580156126ba575082546001600160a01b031615155b905060008280156126d95750855184546001600160a01b039081169116145b80156126f95750602086015160018501546001600160a01b039081169116145b905080158015612707575081155b1561275a57821561275a5760405162461bcd60e51b815260206004820152601f60248201527f52656e74616c73235f72656e743a2043555252454e544c595f52454e5445440060448201526064016106fd565b81156127c857855184546001600160a01b039081169116146127c85760405162461bcd60e51b815260206004820152602160248201527f52656e74616c73235f72656e743a204e4f545f4f524947494e414c5f4f574e456044820152602960f91b60648201526084016106fd565b80156127f95760c08601516127e0906201518061425b565b84600201546127ef9190614221565b600285015561284d565b855184546001600160a01b039182166001600160a01b0319918216178655602088015160018701805491909316911617905560c086015161283d906201518061425b565b6128479042614221565b60028501555b612864866040015187606001518860000151612c7a565b61287b866040015187606001518860200151612c7a565b60a0860151156128a1576128a1866000015187602001518860a001518960c00151613116565b60608601516040516331a9108f60e11b815230916001600160a01b03881691636352211e916128d69160040190815260200190565b60206040518083038186803b1580156128ee57600080fd5b505afa158015612902573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612926919061398f565b6001600160a01b03161461299b5785516060870151604051632142170760e11b81526001600160a01b038816926342842e0e9261296892309190600401613fb7565b600060405180830381600087803b15801561298257600080fd5b505af1158015612996573d6000803e3d6000fd5b505050505b606086015160e0870151604051630585816360e51b81526001600160a01b0388169263b0b02c60926129e1926004019182526001600160a01b0316602082015260400190565b600060405180830381600087803b1580156129fb57600080fd5b505af1158015612a0f573d6000803e3d6000fd5b50505050856060015186604001516001600160a01b03167ffe3b2e4cd1e8ad8d90abfd715fe3d39a303e0a6e9adde116d5d10bebfa678d80886000015189602001518a60e001518b60c001518c60a0015188612a69611bcd565b8f6101000151604051612a83989796959493929190613f55565b60405180910390a3505050505050565b612a9b611f80565b60cf805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612001611bcd565b6001600160a01b038116600081815260666020526040812080547fbcdee0760cae1a36f3773c7f12f98aa0afbafa4099c256eeb87d796f2afb7d449290612b17906142c9565b9182905550612b24611bcd565b604080519283526001600160a01b0390911660208301520160405180910390a250565b61010380546001600160a01b038381166001600160a01b03198316179092557f9dfcadd14a1ddfb19c51e84b87452ca32a43c5559e9750d1575c77105cdeac1e911682612b92611bcd565b604080516001600160a01b03948516815292841660208401529216918101919091526060016120cc565b600054610100900460ff16612be35760405162461bcd60e51b81526004016106fd90614036565b61077c613267565b600054610100900460ff16612c125760405162461bcd60e51b81526004016106fd90614036565b61077c613295565b600054610100900460ff16612c415760405162461bcd60e51b81526004016106fd90614036565b6117c982826132c8565b600054610100900460ff16612c725760405162461bcd60e51b81526004016106fd90614036565b61077c6132f9565b6001600160a01b038084166000818152606760209081526040808320878452825280832094861680845294909152812080548694927f03b0084eb3c564c3928723736eeb4c38263fdce62f06c45eaa69df01c04151489291612cdb906142c9565b9182905550612ce8611bcd565b604080519283526001600160a01b0390911660208301520160405180910390a4505050565b6000806040518060600160405280603e8152602001614352603e913980516020918201208651878301516040808a01518051908601209051612d6e950193845260208401929092526001600160a01b03166040830152606082015260800190565b6040516020818303038152906040528051906020012090506000612d9182612f49565b9050612dd38186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061332892505050565b6001600160a01b0316876001600160a01b03161492505050949350505050565b600033301415612e0a575060131936013560601c90565b503390565b80516040805160e0810190915260af808252600091612eee9161443e602083013980519060200120838560200151866040015187606001518860800151604051602001612e5c9190613eb3565b604051602081830303815290604052805190602001208960a001518a60c001518b60e001518c610100015160405160200161246b9a99989796959493929190998a526001600160a01b0398891660208b015296881660408a01526060890195909552608088019390935260a087019190915260c086015260e08501529091166101008301526101208201526101400190565b90506124d58282856101200151612f9d565b60cf5460ff1661077c5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016106fd565b6000612f97612f5661334c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b92915050565b6001600160a01b0383163b61302557612fb68282613328565b6001600160a01b0316836001600160a01b0316146124d55760405162461bcd60e51b815260206004820152602660248201527f52656e74616c73235f7665726966795369676e65723a205349474e45525f4d496044820152650a69a82a886960d31b60648201526084016106fd565b604051630b135d3f60e11b81526001600160a01b03841690631626ba7e906130539085908590600401613fdb565b60206040518083038186803b15801561306b57600080fd5b505afa15801561307f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130a39190613ce0565b6001600160e01b031916630b135d3f60e11b146124d55760405162461bcd60e51b815260206004820152602b60248201527f52656e74616c73235f7665726966795369676e65723a204d414749435f56414c60448201526a0aa8abe9a92a69a82a886960ab1b60648201526084016106fd565b6000613122828461425b565b90506000620f42406101045483613139919061425b565b6131439190614239565b610101549091506001600160a01b0316806323b872dd8789613165868861427a565b6040518463ffffffff1660e01b815260040161318393929190613fb7565b602060405180830381600087803b15801561319d57600080fd5b505af11580156131b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131d59190613cbe565b50610103546040516323b872dd60e01b81526001600160a01b03808416926323b872dd9261320b928b9216908790600401613fb7565b602060405180830381600087803b15801561322557600080fd5b505af1158015613239573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325d9190613cbe565b5050505050505050565b600054610100900460ff1661328e5760405162461bcd60e51b81526004016106fd90614036565b6001609d55565b600054610100900460ff166132bc5760405162461bcd60e51b81526004016106fd90614036565b60cf805460ff19169055565b600054610100900460ff166132ef5760405162461bcd60e51b81526004016106fd90614036565b6117c982826133c7565b600054610100900460ff166133205760405162461bcd60e51b81526004016106fd90614036565b61077c613408565b6000806000613337858561343f565b9150915061334481613485565b509392505050565b6000611bd77f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61337b60685490565b6069546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b600054610100900460ff166133ee5760405162461bcd60e51b81526004016106fd90614036565b815160209283012081519190920120606891909155606955565b600054610100900460ff1661342f5760405162461bcd60e51b81526004016106fd90614036565b61077c61343a611bcd565b6120d7565b6000808251604114156134765760208301516040840151606085015160001a61346a87828585613640565b9450945050505061347e565b506000905060025b9250929050565b6000816004811115613499576134996142fa565b14156134a25750565b60018160048111156134b6576134b66142fa565b14156135045760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106fd565b6002816004811115613518576135186142fa565b14156135665760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106fd565b600381600481111561357a5761357a6142fa565b14156135d35760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016106fd565b60048160048111156135e7576135e76142fa565b14156106575760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b60648201526084016106fd565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156136775750600090506003613724565b8460ff16601b1415801561368f57508460ff16601c14155b156136a05750600090506004613724565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156136f4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661371d57600060019250925050613724565b9150600090505b94509492505050565b80356137388161433c565b919050565b60008083601f84011261374f57600080fd5b5081356001600160401b0381111561376657600080fd5b6020830191508360208260051b850101111561347e57600080fd5b600082601f83011261379257600080fd5b604051606081018181106001600160401b03821117156137b4576137b4614326565b6040528083606081018610156137c957600080fd5b60005b60038110156137eb5781358352602092830192909101906001016137cc565b509195945050505050565b60008083601f84011261380857600080fd5b5081356001600160401b0381111561381f57600080fd5b60208301915083602082850101111561347e57600080fd5b600082601f83011261384857600080fd5b813561385b613856826141fa565b6141ca565b81815284602083860101111561387057600080fd5b816020850160208301376000918101602001919091529392505050565b600061018082840312156138a057600080fd5b50919050565b600061018082840312156138b957600080fd5b6138c16141a1565b90506138cc8261372d565b81526138da6020830161372d565b602082015260408201356040820152606082013560608201526139008360808401613781565b608082015260e082013560a08201526101008083013560c083015261012061392981850161372d565b60e08401526101408401358284015261016084013591506001600160401b0382111561395457600080fd5b61396085838601613837565b908301525092915050565b60006020828403121561397d57600080fd5b81356139888161433c565b9392505050565b6000602082840312156139a157600080fd5b81516139888161433c565b6000806000806000608086880312156139c457600080fd5b85356139cf8161433c565b945060208601356139df8161433c565b93506040860135925060608601356001600160401b03811115613a0157600080fd5b613a0d888289016137f6565b969995985093965092949392505050565b600080600080600060608688031215613a3657600080fd5b8535613a418161433c565b945060208601356001600160401b0380821115613a5d57600080fd5b613a6989838a016137f6565b90965094506040880135915080821115613a8257600080fd5b50613a0d888289016137f6565b60008060008060808587031215613aa557600080fd5b8435613ab08161433c565b93506020850135613ac08161433c565b92506040850135613ad08161433c565b9396929550929360600135925050565b60008060408385031215613af357600080fd5b8235613afe8161433c565b946020939093013593505050565b600080600060608486031215613b2157600080fd5b8335613b2c8161433c565b9250602084013591506040840135613b438161433c565b809150509250925092565b60008060008060008060808789031215613b6757600080fd5b8635613b728161433c565b95506020870135945060408701356001600160401b0380821115613b9557600080fd5b613ba18a838b0161373d565b90965094506060890135915080821115613bba57600080fd5b50613bc789828a0161373d565b979a9699509497509295939492505050565b60008060008060408587031215613bef57600080fd5b84356001600160401b0380821115613c0657600080fd5b613c128883890161373d565b90965094506020870135915080821115613c2b57600080fd5b50613c388782880161373d565b95989497509550505050565b60008060008060008060608789031215613c5d57600080fd5b86356001600160401b0380821115613c7457600080fd5b613c808a838b0161373d565b90985096506020890135915080821115613c9957600080fd5b613ca58a838b0161373d565b90965094506040890135915080821115613bba57600080fd5b600060208284031215613cd057600080fd5b8151801515811461398857600080fd5b600060208284031215613cf257600080fd5b81516001600160e01b03198116811461398857600080fd5b600060208284031215613d1c57600080fd5b81516001600160401b03811115613d3257600080fd5b8201601f81018413613d4357600080fd5b8051613d51613856826141fa565b818152856020838501011115613d6657600080fd5b613d7782602083016020860161429d565b95945050505050565b600080600080600060a08688031215613d9857600080fd5b85356001600160401b03811115613dae57600080fd5b613dba8882890161388d565b9550506020860135613dcb8161433c565b94979496505050506040830135926060810135926080909101359150565b600060208284031215613dfb57600080fd5b81356001600160401b03811115613e1157600080fd5b613e1d8482850161388d565b949350505050565b600060208284031215613e3757600080fd5b81356001600160401b03811115613e4d57600080fd5b613e1d848285016138a6565b600060208284031215613e6b57600080fd5b5035919050565b60008151808452613e8a81602086016020860161429d565b601f01601f19169290920160200192915050565b60608282376000606091909101908152919050565b60008183825b6003811015613ed8578151835260209283019290910190600101613eb9565b50505060608201905092915050565b60006001600160fb1b03831115613efd57600080fd5b8260051b80858437600092019182525092915050565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b60008251613f4b81846020870161429d565b9190910192915050565b6001600160a01b03898116825288811660208301528781166040830152606082018790526080820186905284151560a0830152831660c082015261010060e08201819052600090613fa883820185613e72565b9b9a5050505050505050505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b828152604060208201526000613e1d6040830184613e72565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b6020815260006139886020830184613e72565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b848152606060208201819052810183905260006001600160fb1b038411156140df57600080fd5b8360051b8086608085013760009083016080019081526001600160a01b0393909316604090920191909152509392505050565b6000808335601e1984360301811261412957600080fd5b8301803591506001600160401b0382111561414357600080fd5b6020019150600581901b360382131561347e57600080fd5b6000808335601e1984360301811261417257600080fd5b8301803591506001600160401b0382111561418c57600080fd5b60200191503681900382131561347e57600080fd5b60405161014081016001600160401b03811182821017156141c4576141c4614326565b60405290565b604051601f8201601f191681016001600160401b03811182821017156141f2576141f2614326565b604052919050565b60006001600160401b0382111561421357614213614326565b50601f01601f191660200190565b60008219821115614234576142346142e4565b500190565b60008261425657634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615614275576142756142e4565b500290565b60008282101561428c5761428c6142e4565b500390565b6000612f9736836138a6565b60005b838110156142b85781810151838201526020016142a0565b83811115611bc75750506000910152565b60006000198214156142dd576142dd6142e4565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461065757600080fdfe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e44617461294c697374696e672861646472657373207369676e65722c6164647265737320636f6e7472616374416464726573732c75696e7432353620746f6b656e49642c75696e743235362065787069726174696f6e2c75696e743235365b335d20696e64657865732c75696e743235365b5d2070726963655065724461792c75696e743235365b5d206d6178446179732c75696e743235365b5d206d696e446179732c6164647265737320746172676574294f666665722861646472657373207369676e65722c6164647265737320636f6e7472616374416464726573732c75696e7432353620746f6b656e49642c75696e743235362065787069726174696f6e2c75696e743235365b335d20696e64657865732c75696e743235362070726963655065724461792c75696e743235362072656e74616c446179732c61646472657373206f70657261746f722c627974657333322066696e6765727072696e7429a2646970667358221220233c3fe257b0403f10fa3e527de134eee51ab6d1546d35adcb4a4cd9639a1da464736f6c63430008070033