101.6k txs
162.6k calls
constructor
constructor(address _storage)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
OPERATOR
viewfunction OPERATOR() view returns (bytes32)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
addOperator
nonpayablefunction addOperator(address operator)
buyMartketItem
nonpayablefunction buyMartketItem(uint256 _nftId, uint256 _ranking, string _orderId, bytes _signature, uint256 _nftType, uint256 _currencyType, uint256 _sellOrderId, tuple priceByTimestamp)
cancelOrder
nonpayablefunction cancelOrder(uint256 _nftId, uint256 _nftType)
createMartketItem
nonpayablefunction createMartketItem(uint256 _nftId, uint256 _price, uint256 _nftType, uint256 currencyType, bool isExchangePrice)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
pause
nonpayablefunction pause()
removeOperator
nonpayablefunction removeOperator(address operator)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setCommissionAddressByNftType
nonpayablefunction setCommissionAddressByNftType(uint256[] _nftTypes, address[] _commissionAddresses)
setCommissionFeeByCurrencyType
nonpayablefunction setCommissionFeeByCurrencyType(uint256[] currencyExchanges, uint256[] feePerCurrency)
setCreatorFeeByNftType
nonpayablefunction setCreatorFeeByNftType(uint256[] _nftTypes, uint256[] _creatorFees, address[] _creatorAddresses)
unpause
nonpayablefunction unpause()
events
BUYMARKETITEM
event BUYMARKETITEM(uint256 orderId, uint256 nftId, uint256 price, address seller, address buyer, uint256 nftType, uint256 currencyType, uint256 transactionFee, uint256 timeStamp)
CANCELSELLORDER
event CANCELSELLORDER(uint256 orderId, uint256 nftId, uint256 price, address seller, uint256 nftType, uint256 timeStamp)
Paused
event Paused(address account)
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)
SELLORDER
event SELLORDER(uint256 orderId, uint256 nftId, uint256 price, address seller, uint256 nftType, uint256 timeStamp, uint256 ranking, uint256 currencyType, bool isExchangePrice)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50604051620031f8380380620031f8833981016040819052620000349162000122565b60018055600280546001600160a81b0319166101006001600160a01b038416021790556200006b6000620000653390565b62000072565b5062000152565b6200007e828262000082565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200007e576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000de3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006020828403121562000134578081fd5b81516001600160a01b03811681146200014b578182fd5b9392505050565b61309680620001626000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806391d14854116100ad578063a8edaa8011610071578063a8edaa8014610292578063ac8a584a146102a5578063b6ed0632146102b8578063c8191904146102cb578063d547741f146102de57600080fd5b806391d148541461022a578063983d27371461023d5780639870d7fe14610264578063a0c5a5d114610277578063a217fddf1461028a57600080fd5b806336568abe116100f457806336568abe146101e95780633f4ba83a146101fc5780635c975abb1461020457806373f305241461020f5780638456cb591461022257600080fd5b806301ffc9a714610131578063150b7a0214610159578063248a9ca3146101905780632b979bcc146101c15780632f2ff15d146101d6575b600080fd5b61014461013f366004612a59565b6102f1565b60405190151581526020015b60405180910390f35b61017761016736600461288d565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610150565b6101b361019e366004612a12565b60009081526020819052604090206001015490565b604051908152602001610150565b6101d46101cf3660046128f7565b610328565b005b6101d46101e4366004612a2a565b61042e565b6101d46101f7366004612a2a565b610458565b6101d46104d6565b60025460ff16610144565b6101d461021d366004612c2f565b610507565b6101d4610a05565b610144610238366004612a2a565b610a34565b6101b37f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c81565b6101d4610272366004612855565b610a5d565b6101d4610285366004612960565b610ab1565b6101b3600081565b6101d46102a03660046128f7565b610ceb565b6101d46102b3366004612855565b610db3565b6101d46102c6366004612b55565b610e04565b6101d46102d9366004612b76565b61113f565b6101d46102ec366004612a2a565b6118c0565b60006001600160e01b03198216637965db0b60e01b148061032257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610333600033610a34565b6103585760405162461bcd60e51b815260040161034f90612e18565b60405180910390fd5b8281146103775760405162461bcd60e51b815260040161034f90612e4f565b60005b83811015610427578282828181106103a257634e487b7160e01b600052603260045260246000fd5b90506020020160208101906103b79190612855565b600560008787858181106103db57634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808061041f90612ff6565b91505061037a565b5050505050565b600082815260208190526040902060010154610449816118e5565b61045383836118ef565b505050565b6001600160a01b03811633146104c85760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161034f565b6104d28282611973565b5050565b6104e1600033610a34565b6104fd5760405162461bcd60e51b815260040161034f90612e18565b6105056119d8565b565b6002600154141561052a5760405162461bcd60e51b815260040161034f90612e76565b6002600155610537611a2a565b6000600260019054906101000a90046001600160a01b03166001600160a01b031663f2b677fe6040518163ffffffff1660e01b815260040160c06040518083038186803b15801561058757600080fd5b505afa15801561059b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bf9190612ae2565b90508060a00151831061060c5760405162461bcd60e51b8152602060048201526015602482015274496e76616c69642063757272656e6379207479706560581b604482015260640161034f565b600254604051633a01caf560e21b81526004810186905260009161010090046001600160a01b03169063e8072bd49060240160206040518083038186803b15801561065657600080fd5b505afa15801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068e9190612871565b825190915085106106b15760405162461bcd60e51b815260040161034f90612ead565b336040516331a9108f60e11b8152600481018990526001600160a01b0391821691831690636352211e9060240160206040518083038186803b1580156106f657600080fd5b505afa15801561070a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072e9190612871565b6001600160a01b0316146107845760405162461bcd60e51b815260206004820152601760248201527f4f776e657220746f6b656e3a206e6f74206f776e657221000000000000000000604482015260640161034f565b600087116107d45760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e206964206d7573742062652067726561746572207468616e203000604482015260640161034f565b60025461010090046001600160a01b031663e75658fb336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561082a57600080fd5b505afa15801561083e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086291906129f6565b1561087f5760405162461bcd60e51b815260040161034f90612dd5565b33866108d85760405162461bcd60e51b815260206004820152602260248201527f4f72646572207072696365206d7573742062652067726561746572207468616e604482015261020360f41b606482015260840161034f565b60025460405163efba9bff60e01b8152600481018a905260248101899052604481018890526001600160a01b0383811660648301526000926101009004169063efba9bff9060840160c060405180830381600087803b15801561093a57600080fd5b505af115801561094e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109729190612a81565b905061098082308b8a611a70565b805160408051918252602082018b905281018990526001600160a01b0383166060820152608081018890524260a0820152600060c082015260e081018790528515156101008201527fb7928112cb47e957db9b39427aa9def38071f3fa27d306d0036873875580dee3906101200160405180910390a150506001805550505050505050565b610a10600033610a34565b610a2c5760405162461bcd60e51b815260040161034f90612e18565b610505611b68565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b610a68600033610a34565b610a845760405162461bcd60e51b815260040161034f90612e18565b610aae7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c82611ba5565b50565b610abc600033610a34565b610ad85760405162461bcd60e51b815260040161034f90612e18565b8483148015610ae657508481145b610b3e5760405162461bcd60e51b8152602060048201526024808201527f496e76616c696420496e7075743a204172726179206c656e677468206d69736d6044820152630c2e8c6d60e31b606482015260840161034f565b60005b85811015610ce2576000858583818110610b6b57634e487b7160e01b600052603260045260246000fd5b90506020020135118015610bbd57506000838383818110610b9c57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610bb19190612855565b6001600160a01b031614155b610bd95760405162461bcd60e51b815260040161034f90612e4f565b848482818110610bf957634e487b7160e01b600052603260045260246000fd5b9050602002013560036000898985818110610c2457634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002081905550828282818110610c5d57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c729190612855565b60046000898985818110610c9657634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508080610cda90612ff6565b915050610b41565b50505050505050565b610cf6600033610a34565b610d125760405162461bcd60e51b815260040161034f90612e18565b828114610d315760405162461bcd60e51b815260040161034f90612e4f565b60005b8381101561042757828282818110610d5c57634e487b7160e01b600052603260045260246000fd5b9050602002013560066000878785818110610d8757634e487b7160e01b600052603260045260246000fd5b905060200201358152602001908152602001600020819055508080610dab90612ff6565b915050610d34565b610dbe600033610a34565b610dda5760405162461bcd60e51b815260040161034f90612e18565b610aae7f523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0c826118c0565b60026001541415610e275760405162461bcd60e51b815260040161034f90612e76565b60026001819055506000600260019054906101000a90046001600160a01b03166001600160a01b031663f2b677fe6040518163ffffffff1660e01b815260040160c06040518083038186803b158015610e7f57600080fd5b505afa158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb79190612ae2565b80519091508210610eda5760405162461bcd60e51b815260040161034f90612ead565b60008311610f2a5760405162461bcd60e51b815260206004820152601c60248201527f496e646578206d7573742062652067726561746572207468616e203000000000604482015260640161034f565b600033600254604051635e1a357360e01b815260048101879052602481018690529192506000916101009091046001600160a01b031690635e1a35739060440160c06040518083038186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba9190612a81565b805190915015801590610fd05750848160200151145b610fec5760405162461bcd60e51b815260040161034f90612ed7565b816001600160a01b031681608001516001600160a01b0316146110515760405162461bcd60e51b815260206004820152601d60248201527f5468652073656e646572206d757374206265207468652073656c6c6572000000604482015260640161034f565b60025460405163345c3d4d60e21b815260048101879052602481018690526101009091046001600160a01b03169063d170f53490604401600060405180830381600087803b1580156110a257600080fd5b505af11580156110b6573d6000803e3d6000fd5b505050506110ca3082608001518787611a70565b805160608083015160808085015160408051958652602086018b9052858101939093526001600160a01b0316928401929092529082018690524260a0830152517f685cc92fd0fcebf7c9a7f33c658d41d580fe2202da26d23091109248decbb7449181900360c00190a1505060018055505050565b600260015414156111625760405162461bcd60e51b815260040161034f90612e76565b600260015561116f611a2a565b6000600260019054906101000a90046001600160a01b03166001600160a01b031663f2b677fe6040518163ffffffff1660e01b815260040160c06040518083038186803b1580156111bf57600080fd5b505afa1580156111d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f79190612ae2565b9050428160400151836020015161120e9190612f45565b116112515760405162461bcd60e51b81526020600482015260136024820152724558434545445f57414954494e475f54494d4560681b604482015260640161034f565b805185106112715760405162461bcd60e51b815260040161034f90612ead565b6002546040516314b0729f60e31b81526101009091046001600160a01b03169063a58394f8906112a5908a90600401612d9e565b60206040518083038186803b1580156112bd57600080fd5b505afa1580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f591906129f6565b156113365760405162461bcd60e51b815260206004820152601160248201527013d491115497d254d7d1561150d5551151607a1b604482015260640161034f565b61135589848a8a8a338b89600001518a602001518d8b60600151611baf565b6113915760405162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f504152414d60981b604482015260640161034f565b600089116113e15760405162461bcd60e51b815260206004820152601c60248201527f496e646578206d7573742062652067726561746572207468616e203000000000604482015260640161034f565b60025461010090046001600160a01b031663e75658fb336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561143757600080fd5b505afa15801561144b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146f91906129f6565b1561148c5760405162461bcd60e51b815260040161034f90612dd5565b600254604051631652fc0f60e01b8152339161010090046001600160a01b031690631652fc0f906114c4908b90600190600401612db1565b600060405180830381600087803b1580156114de57600080fd5b505af11580156114f2573d6000803e3d6000fd5b5050600254604051635e1a357360e01b8152600481018e9052602481018a9052600093506101009091046001600160a01b03169150635e1a35739060440160c06040518083038186803b15801561154857600080fd5b505afa15801561155c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115809190612a81565b60025460405163e7fe395160e01b8152600481018990529192506000916101009091046001600160a01b03169063e7fe39519060240160206040518083038186803b1580156115ce57600080fd5b505afa1580156115e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116069190612871565b6000888152600660205260409020548351919250908714801561162c57508c8360200151145b6116485760405162461bcd60e51b815260040161034f90612ed7565b8260a001518c10156116935760405162461bcd60e51b815260206004820152601460248201527352616e6b696e673a206e6f7420656e6f7567682160601b604482015260640161034f565b60808301516001600160a01b03166116de5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b63632b960911b604482015260640161034f565b836001600160a01b031683608001516001600160a01b031614156117345760405162461bcd60e51b815260206004820152600d60248201526c213abc90313c9039b2b63632b960991b604482015260640161034f565b855161178e5760405162461bcd60e51b8152602060048201526024808201527f43757272656e74207072696365206d75737420626520677265617465722074686044820152630616e20360e41b606482015260840161034f565b61179c823388513090611c70565b60025460405163345c3d4d60e21b8152600481018f9052602481018b90526101009091046001600160a01b03169063d170f53490604401600060405180830381600087803b1580156117ed57600080fd5b505af1158015611801573d6000803e3d6000fd5b5050505061181b8287600001518686608001518d86611dad565b61182b308585602001518c611a70565b825160208085015188516080808801516040805196875294860193909352928401526001600160a01b03908116606084015286169082015260a081018a905260c0810189905260e08101829052426101008201527fe44840f4aaeb8ec3188de39dec6b348890a47265219af27fbd656676e0599393906101200160405180910390a15050600180555050505050505050505050565b6000828152602081905260409020600101546118db816118e5565b6104538383611973565b610aae8133611e89565b6118f98282610a34565b6104d2576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561192f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61197d8282610a34565b156104d2576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6119e0611eed565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60025460ff16156105055760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161034f565b600254604051633a01caf560e21b81526004810183905260009161010090046001600160a01b03169063e8072bd49060240160206040518083038186803b158015611aba57600080fd5b505afa158015611ace573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af29190612871565b604051632142170760e11b81526001600160a01b038781166004830152868116602483015260448201869052919250908216906342842e0e90606401600060405180830381600087803b158015611b4857600080fd5b505af1158015611b5c573d6000803e3d6000fd5b50505050505b50505050565b611b70611a2a565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611a0d3390565b6104d282826118ef565b6000808c8c8b8d8b8b8b8a8c604051602001611bd399989796959493929190612d38565b6040516020818303038152906040528051906020012090506000611c4e8a611c48846040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90611f36565b6001600160a01b0390811690851614925050509b9a5050505050505050505050565b604080516001600160a01b03858116602483015284811660448084019190915283518084039091018152606490920183526020820180516001600160e01b0316636eb1769f60e11b1790529151600092839290881691611cd09190612ca7565b6000604051808303816000865af19150503d8060008114611d0d576040519150601f19603f3d011682016040523d82523d6000602084013e611d12565b606091505b5091509150818015611d3757508281806020019051810190611d349190612b3d565b10155b611d9a5760405162461bcd60e51b815260206004820152602e60248201527f45786368616e67652063757272656e637920616c6c6f77616e6365206f66207560448201526d73657220697320746f6f206c6f7760901b606482015260840161034f565b611da5868685611f5a565b505050505050565b60006103e8611dbc8388612f7d565b611dc69190612f5d565b600084815260056020526040902054909150611def90889087906001600160a01b031684612079565b60008381526003602052604090205415611e79576000838152600360205260408120546103e890611e209089612f7d565b611e2a9190612f5d565b600085815260046020526040902054909150611e5390899088906001600160a01b031684612079565b611e7388878784611e64878d612f9c565b611e6e9190612f9c565b612079565b50610ce2565b610ce2878686611e6e858b612f9c565b611e938282610a34565b6104d257611eab816001600160a01b031660146121af565b611eb68360206121af565b604051602001611ec7929190612cc3565b60408051601f198184030181529082905262461bcd60e51b825261034f91600401612d9e565b60025460ff166105055760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161034f565b6000806000611f458585612398565b91509150611f5281612408565b509392505050565b604080516001600160a01b0384811660248084019190915283518084039091018152604490920183526020820180516001600160e01b03166370a0823160e01b1790529151600092839290871691611fb29190612ca7565b6000604051808303816000865af19150503d8060008114611fef576040519150601f19603f3d011682016040523d82523d6000602084013e611ff4565b606091505b5091509150818015612018575082818060200190518101906120169190612b3d565b115b6104275760405162461bcd60e51b815260206004820152602c60248201527f45786368616e67652063757272656e63792062616c616e6365206f662075736560448201526b7220697320746f6f206c6f7760a01b606482015260840161034f565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916120dd9190612ca7565b6000604051808303816000865af19150503d806000811461211a576040519150601f19603f3d011682016040523d82523d6000602084013e61211f565b606091505b509150915081801561214957508051158061214957508080602001905181019061214991906129f6565b611da55760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b606482015260840161034f565b606060006121be836002612f7d565b6121c9906002612f45565b67ffffffffffffffff8111156121ef57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612219576020820181803683370190505b509050600360fc1b8160008151811061224257634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061227f57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006122a3846002612f7d565b6122ae906001612f45565b90505b6001811115612342576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106122f057634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061231457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361233b81612fdf565b90506122b1565b5083156123915760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161034f565b9392505050565b6000808251604114156123cf5760208301516040840151606085015160001a6123c387828585612609565b94509450505050612401565b8251604014156123f957602083015160408401516123ee8683836126f6565b935093505050612401565b506000905060025b9250929050565b600081600481111561242a57634e487b7160e01b600052602160045260246000fd5b14156124335750565b600181600481111561245557634e487b7160e01b600052602160045260246000fd5b14156124a35760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161034f565b60028160048111156124c557634e487b7160e01b600052602160045260246000fd5b14156125135760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161034f565b600381600481111561253557634e487b7160e01b600052602160045260246000fd5b141561258e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161034f565b60048160048111156125b057634e487b7160e01b600052602160045260246000fd5b1415610aae5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840161034f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561264057506000905060036126ed565b8460ff16601b1415801561265857508460ff16601c14155b1561266957506000905060046126ed565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156126bd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166126e6576000600192509250506126ed565b9150600090505b94509492505050565b6000806001600160ff1b0383168161271360ff86901c601b612f45565b905061272187828885612609565b935093505050935093915050565b600067ffffffffffffffff8084111561274a5761274a613027565b604051601f8501601f19908116603f0116810190828211818310171561277257612772613027565b8160405280935085815286868601111561278b57600080fd5b858560208301376000602087830101525050509392505050565b60008083601f8401126127b6578182fd5b50813567ffffffffffffffff8111156127cd578182fd5b6020830191508360208260051b850101111561240157600080fd5b600082601f8301126127f8578081fd5b6123918383356020850161272f565b600060408284031215612818578081fd5b6040516040810181811067ffffffffffffffff8211171561283b5761283b613027565b604052823581526020928301359281019290925250919050565b600060208284031215612866578081fd5b81356123918161303d565b600060208284031215612882578081fd5b81516123918161303d565b600080600080608085870312156128a2578283fd5b84356128ad8161303d565b935060208501356128bd8161303d565b925060408501359150606085013567ffffffffffffffff8111156128df578182fd5b6128eb878288016127e8565b91505092959194509250565b6000806000806040858703121561290c578384fd5b843567ffffffffffffffff80821115612923578586fd5b61292f888389016127a5565b90965094506020870135915080821115612947578384fd5b50612954878288016127a5565b95989497509550505050565b60008060008060008060608789031215612978578384fd5b863567ffffffffffffffff8082111561298f578586fd5b61299b8a838b016127a5565b909850965060208901359150808211156129b3578586fd5b6129bf8a838b016127a5565b909650945060408901359150808211156129d7578384fd5b506129e489828a016127a5565b979a9699509497509295939492505050565b600060208284031215612a07578081fd5b815161239181613052565b600060208284031215612a23578081fd5b5035919050565b60008060408385031215612a3c578182fd5b823591506020830135612a4e8161303d565b809150509250929050565b600060208284031215612a6a578081fd5b81356001600160e01b031981168114612391578182fd5b600060c08284031215612a92578081fd5b612a9a612f1c565b825181526020830151602082015260408301516040820152606083015160608201526080830151612aca8161303d565b608082015260a0928301519281019290925250919050565b600060c08284031215612af3578081fd5b612afb612f1c565b825181526020830151612b0d8161303d565b6020820152604083810151908201526060830151612b2a8161303d565b60608201526080830151612aca8161303d565b600060208284031215612b4e578081fd5b5051919050565b60008060408385031215612b67578182fd5b50508035926020909101359150565b600080600080600080600080610120898b031215612b92578586fd5b8835975060208901359650604089013567ffffffffffffffff80821115612bb7578788fd5b818b0191508b601f830112612bca578788fd5b612bd98c83356020850161272f565b975060608b0135915080821115612bee578384fd5b50612bfb8b828c016127e8565b9550506080890135935060a0890135925060c08901359150612c208a60e08b01612807565b90509295985092959890939650565b600080600080600060a08688031215612c46578283fd5b853594506020860135935060408601359250606086013591506080860135612c6d81613052565b809150509295509295909350565b60008151808452612c93816020860160208601612fb3565b601f01601f19169290920160200192915050565b60008251612cb9818460208701612fb3565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612cfb816017850160208801612fb3565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612d2c816028840160208801612fb3565b01602801949350505050565b89815288602082015260008851612d56816040850160208d01612fb3565b9091016040810197909752506bffffffffffffffffffffffff19606095861b16948601949094526074850192909252609484015260b483015260d482015260f4019392505050565b6020815260006123916020830184612c7b565b604081526000612dc46040830185612c7b565b905082151560208301529392505050565b60208082526023908201527f416464726573733a20416464726573732063616e206e6f7420696d706163742060408201526269742160e81b606082015260800190565b60208082526017908201527f43616c6c6572206973206e6f74207468652061646d696e000000000000000000604082015260600190565b6020808252600d908201526c125b9d985b1a59081a5b9c1d5d609a1b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526010908201526f494e56414c49445f4e46545f5459504560801b604082015260600190565b60208082526025908201527f4f7264657220646f6573206e6f74206578697374206f7220696e76616c69642060408201526437b93232b960d91b606082015260800190565b60405160c0810167ffffffffffffffff81118282101715612f3f57612f3f613027565b60405290565b60008219821115612f5857612f58613011565b500190565b600082612f7857634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612f9757612f97613011565b500290565b600082821015612fae57612fae613011565b500390565b60005b83811015612fce578181015183820152602001612fb6565b83811115611b625750506000910152565b600081612fee57612fee613011565b506000190190565b600060001982141561300a5761300a613011565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610aae57600080fd5b8015158114610aae57600080fdfea2646970667358221220a0fefcfc060ccb25f92635414c819565307ce3d8d17f876681ae1acd5ff84b8564736f6c634300080400330000000000000000000000004b4151c1e9ecfb837695623fe7fc7a7c5f62a9bc