0 txs
0 calls
constructor
constructor(address _consumptionItem, address _consumptionManagement)
functions
_executedOrderIds
viewfunction _executedOrderIds(string) view returns (bool)
_nonceByAddress
viewfunction _nonceByAddress(address) view returns (uint256)
CONSUMPTION_MANAGEMENT
viewfunction CONSUMPTION_MANAGEMENT() view returns (bytes32)
consumptionItem
viewfunction consumptionItem() view returns (address)
consumptionManagement
viewfunction consumptionManagement() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getNonce
viewfunction getNonce(address account) view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
lastExportByUser
viewfunction lastExportByUser(address) view returns (uint256)
OPERATOR
viewfunction OPERATOR() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
timeout
viewfunction timeout() view returns (uint256)
verifyAddress
viewfunction verifyAddress() view returns (address)
addOperator
nonpayablefunction addOperator(address operator)
cancelExport
nonpayablefunction cancelExport(string _orderId, bytes _signature)
depositConsumption
nonpayablefunction depositConsumption(string _orderId, uint256[] _nftIds, uint256[] _amounts, uint256 _timestamp, bytes _signature)
exportConsumption
nonpayablefunction exportConsumption(string _orderId, uint256[] _nftIds, uint256[] _amounts, uint256 _timestamp, address _address, bytes _signature)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address, uint256, uint256, bytes) returns (bytes4)
removeOperator
nonpayablefunction removeOperator(address operator)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setConsumptionItem
nonpayablefunction setConsumptionItem(address _consumptionItem)
setConsumptionManagement
nonpayablefunction setConsumptionManagement(address _consumptionManagement)
setTimeout
nonpayablefunction setTimeout(uint256 _timeout)
setVerifyAddress
nonpayablefunction setVerifyAddress(address _verifyAddress)
withdrawEmergency
nonpayablefunction withdrawEmergency(uint256[] nftIds, uint256[] amountUsed)
events
CancelExport
event CancelExport(string orderId, address indexed user, uint256 timestamp)
ConsumptionDeposited
event ConsumptionDeposited(address indexed user, string orderId, uint256[] consumptionType, uint256[] amount, uint256 nonce, uint256 timestamp)
ConsumptionExported
event ConsumptionExported(address indexed user, string orderId, uint256[] consumptionType, uint256[] amount, uint256 nonce, uint256 timestamp)
EmergencyWithdraw
event EmergencyWithdraw(uint256 timestamp, address indexed _address)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162002ddf38038062002ddf83398101604081905262000034916200023e565b600180556200004382620000b3565b600480546001600160a01b038085166001600160a01b0319928316179092556003805492841692909116821790556200009e907f4e4adc6cf055e7c1a35f9ee181525fa5373340a13a9d2e26233f982c30efde7d906200017f565b620000ab6000336200017f565b505062000292565b6001600160a01b0381166200010f5760405162461bcd60e51b815260206004820152601f60248201527f416464726573732063616e206e6f74206265207a65726f20616464726573730060448201526064015b60405180910390fd5b6200012e816001600160a01b03166200018f60201b6200180f1760201c565b6200017c5760405162461bcd60e51b815260206004820152601a60248201527f41646472657373206d757374206265206120636f6e7472616374000000000000604482015260640162000106565b50565b6200018b82826200019e565b5050565b6001600160a01b03163b151590565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200018b576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001fa3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000806040838503121562000251578182fd5b82516200025e816200027c565b602084015190925062000271816200027c565b809150509250929050565b6001600160a01b03811681146200017c57600080fd5b612b3d80620002a26000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806392536de511610104578063c58a34cc116100a2578063d547741f11610071578063d547741f14610460578063e23542db14610473578063e2c92a2114610486578063f23a6e61146104a657600080fd5b8063c58a34cc146103f9578063ccff35671461040c578063ce9c98881461041f578063d3fcbdc01461044d57600080fd5b8063a217fddf116100de578063a217fddf14610393578063ac8a584a1461039b578063b6e66b16146103ae578063bc197c81146103c157600080fd5b806392536de514610346578063983d2737146103595780639870d7fe1461038057600080fd5b806365925b9011610171578063851f94d41161014b578063851f94d4146102fa57806386cffca41461030d578063916b16cb1461032057806391d148541461033357600080fd5b806365925b90146102a657806370dea79a146102d157806382f67e4a146102da57600080fd5b80632f2ff15d116101ad5780632f2ff15d1461025657806336568abe1461026b57806358330b9a1461027e578063591d33001461029157600080fd5b806301ffc9a7146101d4578063248a9ca3146101fc5780632d0335ab1461022d575b600080fd5b6101e76101e23660046123f1565b6104c5565b60405190151581526020015b60405180910390f35b61021f61020a3660046123aa565b60009081526020819052604090206001015490565b6040519081526020016101f3565b61021f61023b3660046121fb565b6001600160a01b031660009081526002602052604090205490565b6102696102643660046123c2565b6104d6565b005b6102696102793660046123c2565b610500565b61026961028c3660046121fb565b610583565b61021f600080516020612ae883398151915281565b6005546102b9906001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b61021f60065481565b61021f6102e83660046121fb565b60086020526000908152604090205481565b6004546102b9906001600160a01b031681565b6003546102b9906001600160a01b031681565b61026961032e3660046124f7565b6105cc565b6101e76103413660046123c2565b610a2e565b6102696103543660046125c1565b610a57565b61021f7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c81565b61026961038e3660046121fb565b610c83565b61021f600081565b6102696103a93660046121fb565b610cd7565b6102696103bc3660046121fb565b610d28565b6103e06103cf366004612233565b63bc197c8160e01b95945050505050565b6040516001600160e01b031990911681526020016101f3565b6102696104073660046123aa565b610d71565b61026961041a366004612342565b610d9d565b6101e761042d36600461261d565b805160208183018101805160078252928201919093012091525460ff1681565b61026961045b366004612419565b6110f6565b61026961046e3660046123c2565b611767565b6102696104813660046121fb565b61178c565b61021f6104943660046121fb565b60026020526000908152604090205481565b6103e06104b43660046122dc565b63f23a6e6160e01b95945050505050565b60006104d08261181e565b92915050565b6000828152602081905260409020600101546104f181611843565b6104fb838361184d565b505050565b6001600160a01b03811633146105755760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61057f82826118d1565b5050565b61058e600033610a2e565b6105aa5760405162461bcd60e51b815260040161056c9061295c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600789896040516105de929190612799565b9081526040519081900360200190205460ff16156106315760405162461bcd60e51b815260206004820152601060248201526f13dc99195c881a5cc8195e18dd5d195960821b604482015260640161056c565b60098989604051610643929190612799565b9081526040519081900360200190205460ff16156106735760405162461bcd60e51b815260040161056c90612993565b426006548461068291906129fa565b10156106bc5760405162461bcd60e51b815260206004820152600960248201526854696d656f7574212160b81b604482015260640161056c565b8584146106db5760405162461bcd60e51b815260040161056c90612918565b3360009081526002602052604090205461070c9088908890889088906107029060016129fa565b8e8e8a8a8a611936565b6107495760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f504152414d5360901b604482015260640161056c565b600160078a8a60405161075d929190612799565b908152604051908190036020019020805491151560ff1990921691909117905560016002600061078a3390565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546107b991906129fa565b90915550600090505b868110156109bc578585828181106107ea57634e487b7160e01b600052603260045260246000fd5b60045460209091029290920135916001600160a01b03169050632b04e84061080f3390565b8b8b8681811061082f57634e487b7160e01b600052603260045260246000fd5b6040516001600160e01b031960e087901b1681526001600160a01b039094166004850152602002919091013560248301525060440160206040518083038186803b15801561087c57600080fd5b505afa158015610890573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b4919061266a565b10156108f75760405162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f7567682062616c616e636560701b604482015260640161056c565b6004546001600160a01b0316630411b25233308b8b8681811061092a57634e487b7160e01b600052603260045260246000fd5b905060200201358a8a8781811061095157634e487b7160e01b600052603260045260246000fd5b905060200201356040518563ffffffff1660e01b81526004016109779493929190612844565b600060405180830381600087803b15801561099157600080fd5b505af11580156109a5573d6000803e3d6000fd5b5050505080806109b490612a8b565b9150506107c2565b50336000818152600260205260409020547f13963ced5b46bf27b5ea075308391c94a5fbb72595adb6337910f749cb177f57908b908b908b908b908b908b90610a069060016129fa565b42604051610a1b98979695949392919061286d565b60405180910390a2505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b610a5f6119d9565b60098484604051610a71929190612799565b9081526040519081900360200190205460ff1615610aa15760405162461bcd60e51b815260040161056c90612993565b60078484604051610ab3929190612799565b9081526040519081900360200190205460ff1615610b0c5760405162461bcd60e51b8152602060048201526016602482015275151a19481bdc99195c881dd85cc8195e1958dd5d195960521b604482015260640161056c565b6000848433604051602001610b23939291906127a9565b6040516020818303038152906040528051906020012090506000610b8884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b829250869150611a339050565b90611a86565b6005549091506001600160a01b03808316911614610bf35760405162461bcd60e51b815260206004820152602260248201527f4d657373616765206d757374206265207369676e65642062792056657269666960448201526132b960f11b606482015260840161056c565b600160098787604051610c07929190612799565b908152604051908190036020019020805491151560ff19909216919091179055610c2e3390565b6001600160a01b03167f62de1da516b3902598f6cfe18e17c59cc6a077809d70747cb97f9df953ef7636878742604051610c6a939291906128c1565b60405180910390a25050610c7d60018055565b50505050565b610c8e600033610a2e565b610caa5760405162461bcd60e51b815260040161056c9061295c565b610cd47f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c82611aaa565b50565b610ce2600033610a2e565b610cfe5760405162461bcd60e51b815260040161056c9061295c565b610cd47f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c82611767565b610d33600033610a2e565b610d4f5760405162461bcd60e51b815260040161056c9061295c565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b610d7c600033610a2e565b610d985760405162461bcd60e51b815260040161056c9061295c565b600655565b610da56119d9565b610dbd600080516020612ae883398151915233610a2e565b610e1a5760405162461bcd60e51b815260206004820152602860248201527f43616c6c6572206973206e6f742074686520636f6e73756d7074696f6e206d616044820152671b9859d95b595b9d60c21b606482015260840161056c565b828114610e595760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b604482015260640161056c565b60005b838110156110aa576004546000906001600160a01b031663e6425f13878785818110610e9857634e487b7160e01b600052603260045260246000fd5b905060200201356040518263ffffffff1660e01b8152600401610ebd91815260200190565b60206040518083038186803b158015610ed557600080fd5b505afa158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d9190612217565b6001600160a01b031614610fdd576004546001600160a01b0316632b57ebc0868684818110610f4c57634e487b7160e01b600052603260045260246000fd5b90506020020135858585818110610f7357634e487b7160e01b600052603260045260246000fd5b6040516001600160e01b031960e087901b16815260048101949094526020029190910135602483015250306044820152606401600060405180830381600087803b158015610fc057600080fd5b505af1158015610fd4573d6000803e3d6000fd5b50505050611098565b6004546003546001600160a01b0391821691630411b2529130911688888681811061101857634e487b7160e01b600052603260045260246000fd5b9050602002013587878781811061103f57634e487b7160e01b600052603260045260246000fd5b905060200201356040518563ffffffff1660e01b81526004016110659493929190612844565b600060405180830381600087803b15801561107f57600080fd5b505af1158015611093573d6000803e3d6000fd5b505050505b806110a281612a8b565b915050610e5c565b506003546040514281526001600160a01b03909116907fbb43d2e6a13f52d71a3a836cf197fa240fb4ef40914b6e13cc966fd6dfb19b689060200160405180910390a2610c7d60018055565b6110fe6119d9565b60078a8a604051611110929190612799565b9081526040519081900360200190205460ff16156111635760405162461bcd60e51b815260206004820152601060248201526f13dc99195c881a5cc8195e18dd5d195960821b604482015260640161056c565b60098a8a604051611175929190612799565b9081526040519081900360200190205460ff16156111a55760405162461bcd60e51b815260040161056c90612993565b42600654856111b491906129fa565b10156111ee5760405162461bcd60e51b815260206004820152600960248201526854696d656f7574212160b81b604482015260640161056c565b86851461120d5760405162461bcd60e51b815260040161056c90612918565b6001600160a01b03831660009081526002602052604090205461124890899089908990899061123d9060016129fa565b8f8f8a8c8b8b611ab4565b6112855760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f504152414d5360901b604482015260640161056c565b600160078b8b604051611299929190612799565b9081526040805160209281900383019020805460ff1916931515939093179092556001600160a01b038516600090815260029091529081208054600192906112e29084906129fa565b90915550506001600160a01b03831660009081526008602052604081204290555b878110156116e2576004546000906001600160a01b0316632b04e840308c8c8681811061134057634e487b7160e01b600052603260045260246000fd5b6040516001600160e01b031960e087901b1681526001600160a01b039094166004850152602002919091013560248301525060440160206040518083038186803b15801561138d57600080fd5b505afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c5919061266a565b9050808888848181106113e857634e487b7160e01b600052603260045260246000fd5b90506020020135111561161c576004546000906001600160a01b031663e6425f138c8c8681811061142957634e487b7160e01b600052603260045260246000fd5b905060200201356040518263ffffffff1660e01b815260040161144e91815260200190565b60206040518083038186803b15801561146657600080fd5b505afa15801561147a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149e9190612217565b6001600160a01b03161415611584576004546001600160a01b031663b8b31cc38b8b858181106114de57634e487b7160e01b600052603260045260246000fd5b90506020020135838b8b8781811061150657634e487b7160e01b600052603260045260246000fd5b905060200201356115179190612a31565b6040516001600160e01b031960e085901b168152600481019290925260248201526001600160a01b038816604482015260006064820152608401600060405180830381600087803b15801561156b57600080fd5b505af115801561157f573d6000803e3d6000fd5b505050505b8015611617576004546001600160a01b0316630411b25230878d8d878181106115bd57634e487b7160e01b600052603260045260246000fd5b90506020020135856040518563ffffffff1660e01b81526004016115e49493929190612844565b600060405180830381600087803b1580156115fe57600080fd5b505af1158015611612573d6000803e3d6000fd5b505050505b6116cf565b6004546001600160a01b0316630411b25230878d8d8781811061164f57634e487b7160e01b600052603260045260246000fd5b905060200201358c8c8881811061167657634e487b7160e01b600052603260045260246000fd5b905060200201356040518563ffffffff1660e01b815260040161169c9493929190612844565b600060405180830381600087803b1580156116b657600080fd5b505af11580156116ca573d6000803e3d6000fd5b505050505b50806116da81612a8b565b915050611303565b506001600160a01b0383166000818152600260205260409020547ffea7564980c2849f8151642e67a01e49de94a8e12171badc876cfc62e8b6caaf908c908c908c908c908c908c906117359060016129fa565b4260405161174a98979695949392919061286d565b60405180910390a261175b60018055565b50505050505050505050565b60008281526020819052604090206001015461178281611843565b6104fb83836118d1565b611797600033610a2e565b6117b35760405162461bcd60e51b815260040161056c9061295c565b6003546117d890600080516020612ae8833981519152906001600160a01b0316611767565b600380546001600160a01b0319166001600160a01b038316908117909155610cd490600080516020612ae883398151915290611aaa565b6001600160a01b03163b151590565b60006001600160e01b03198216637965db0b60e01b14806104d057506104d082611b5a565b610cd48133611b8f565b6118578282610a2e565b61057f576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561188d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6118db8282610a2e565b1561057f576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000808b8b8b8b8b8b8b8b60405160200161195898979695949392919061275e565b60405160208183030381529060405280519060200120905060006119b785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b829250869150611a339050565b6005546001600160a01b039081169116149d9c50505050505050505050505050565b60026001541415611a2c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161056c565b6002600155565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b6000806000611a958585611be8565b91509150611aa281611c2e565b509392505050565b61057f828261184d565b6000808c8c8c8c8c8a8d8d8c604051602001611ad89998979695949392919061270a565b6040516020818303038152906040528051906020012090506000611b3785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b829250869150611a339050565b6005546001600160a01b039081169116149e9d5050505050505050505050505050565b60006001600160e01b03198216630271189760e51b14806104d057506301ffc9a760e01b6001600160e01b03198316146104d0565b611b998282610a2e565b61057f57611ba681611db4565b611bb1836020611dc6565b604051602001611bc29291906127cf565b60408051601f198184030181529082905262461bcd60e51b825261056c916004016128e5565b600080825160411415611c1f5760208301516040840151606085015160001a611c1387828585611fae565b94509450505050611c27565b506000905060025b9250929050565b6000816004811115611c5057634e487b7160e01b600052602160045260246000fd5b1415611c595750565b6001816004811115611c7b57634e487b7160e01b600052602160045260246000fd5b1415611cc95760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161056c565b6002816004811115611ceb57634e487b7160e01b600052602160045260246000fd5b1415611d395760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161056c565b6003816004811115611d5b57634e487b7160e01b600052602160045260246000fd5b1415610cd45760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161056c565b60606104d06001600160a01b03831660145b60606000611dd5836002612a12565b611de09060026129fa565b6001600160401b03811115611e0557634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611e2f576020820181803683370190505b509050600360fc1b81600081518110611e5857634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611e9557634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000611eb9846002612a12565b611ec49060016129fa565b90505b6001811115611f58576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611f0657634e487b7160e01b600052603260045260246000fd5b1a60f81b828281518110611f2a57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c93611f5181612a74565b9050611ec7565b508315611fa75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161056c565b9392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe55750600090506003612069565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612039573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661206257600060019250925050612069565b9150600090505b94509492505050565b60006001600160401b0383111561208b5761208b612abc565b61209e601f8401601f19166020016129ca565b90508281528383830111156120b257600080fd5b828260208301376000602084830101529392505050565b80356120d481612ad2565b919050565b60008083601f8401126120ea578182fd5b5081356001600160401b03811115612100578182fd5b6020830191508360208260051b8501011115611c2757600080fd5b600082601f83011261212b578081fd5b813560206001600160401b0382111561214657612146612abc565b8160051b6121558282016129ca565b83815282810190868401838801850189101561216f578687fd5b8693505b85841015612191578035835260019390930192918401918401612173565b50979650505050505050565b60008083601f8401126121ae578182fd5b5081356001600160401b038111156121c4578182fd5b602083019150836020828501011115611c2757600080fd5b600082601f8301126121ec578081fd5b611fa783833560208501612072565b60006020828403121561220c578081fd5b8135611fa781612ad2565b600060208284031215612228578081fd5b8151611fa781612ad2565b600080600080600060a0868803121561224a578081fd5b853561225581612ad2565b9450602086013561226581612ad2565b935060408601356001600160401b0380821115612280578283fd5b61228c89838a0161211b565b945060608801359150808211156122a1578283fd5b6122ad89838a0161211b565b935060808801359150808211156122c2578283fd5b506122cf888289016121dc565b9150509295509295909350565b600080600080600060a086880312156122f3578081fd5b85356122fe81612ad2565b9450602086013561230e81612ad2565b9350604086013592506060860135915060808601356001600160401b03811115612336578182fd5b6122cf888289016121dc565b60008060008060408587031215612357578384fd5b84356001600160401b038082111561236d578586fd5b612379888389016120d9565b90965094506020870135915080821115612391578384fd5b5061239e878288016120d9565b95989497509550505050565b6000602082840312156123bb578081fd5b5035919050565b600080604083850312156123d4578182fd5b8235915060208301356123e681612ad2565b809150509250929050565b600060208284031215612402578081fd5b81356001600160e01b031981168114611fa7578182fd5b60008060008060008060008060008060c08b8d031215612437578788fd5b8a356001600160401b038082111561244d57898afd5b6124598e838f0161219d565b909c509a5060208d013591508082111561247157898afd5b61247d8e838f016120d9565b909a50985060408d0135915080821115612495578687fd5b6124a18e838f016120d9565b909850965060608d013595508691506124bc60808e016120c9565b945060a08d01359150808211156124d1578384fd5b506124de8d828e0161219d565b915080935050809150509295989b9194979a5092959850565b600080600080600080600080600060a08a8c031215612514578283fd5b89356001600160401b038082111561252a578485fd5b6125368d838e0161219d565b909b50995060208c013591508082111561254e578485fd5b61255a8d838e016120d9565b909950975060408c0135915080821115612572578485fd5b61257e8d838e016120d9565b909750955060608c0135945060808c013591508082111561259d578384fd5b506125aa8c828d0161219d565b915080935050809150509295985092959850929598565b600080600080604085870312156125d6578182fd5b84356001600160401b03808211156125ec578384fd5b6125f88883890161219d565b90965094506020870135915080821115612610578384fd5b5061239e8782880161219d565b60006020828403121561262e578081fd5b81356001600160401b03811115612643578182fd5b8201601f81018413612653578182fd5b61266284823560208401612072565b949350505050565b60006020828403121561267b578081fd5b5051919050565b81835260006001600160fb1b0383111561269a578081fd5b8260051b80836020870137939093016020019283525090919050565b60006001600160fb1b038311156126cb578081fd5b8260051b80838637939093019283525090919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061272161271a838c8e6126b6565b898b6126b6565b8781526bffffffffffffffffffffffff198760601b1660208201528486603483013760349401938401929092525050605401979650505050505050565b600061277561276e838b8d6126b6565b888a6126b6565b86815284866020830137602094019384019290925250506040019695505050505050565b8183823760009101908152919050565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612807816017850160208801612a48565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612838816028840160208801612a48565b01602801949350505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60a08152600061288160a083018a8c6126e1565b828103602084015261289481898b612682565b905082810360408401526128a9818789612682565b60608401959095525050608001529695505050505050565b6040815260006128d56040830185876126e1565b9050826020830152949350505050565b6020815260008251806020840152612904816040850160208701612a48565b601f01601f19169190910160400192915050565b60208082526024908201527f5f6e667449647320616e64205f616d6f756e7473206c656e677468206d69736d6040820152630c2e8c6d60e31b606082015260800190565b60208082526017908201527f43616c6c6572206973206e6f74207468652061646d696e000000000000000000604082015260600190565b60208082526017908201527f546865206f72646572207761732063616e63656c6c6564000000000000000000604082015260600190565b604051601f8201601f191681016001600160401b03811182821017156129f2576129f2612abc565b604052919050565b60008219821115612a0d57612a0d612aa6565b500190565b6000816000190483118215151615612a2c57612a2c612aa6565b500290565b600082821015612a4357612a43612aa6565b500390565b60005b83811015612a63578181015183820152602001612a4b565b83811115610c7d5750506000910152565b600081612a8357612a83612aa6565b506000190190565b6000600019821415612a9f57612a9f612aa6565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610cd457600080fdfe4e4adc6cf055e7c1a35f9ee181525fa5373340a13a9d2e26233f982c30efde7da2646970667358221220f119bd1d56ae47a77106c4b1a9b56bfc76b7133590f6023473988a2a3c797b5364736f6c63430008040033000000000000000000000000a72815200ba44a2472b24ebe22e453e49904ec3300000000000000000000000098f4e1b4997d772b1deeac22ac68f9251255f327