14.5k txs
1.68m calls
constructor
constructor(string _uri)
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
creatorOfConsumption
viewfunction creatorOfConsumption(uint256) view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getBalance
viewfunction getBalance(address _wallet, uint256 _nftId) view returns (uint256)
getCreatorOfConsumption
viewfunction getCreatorOfConsumption(uint256 _nftId) view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getTokensOfUser
viewfunction getTokensOfUser(address _user) view returns (uint256[], uint256[], string[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
isUGCItem
viewfunction isUGCItem(uint256) view returns (bool)
limitAmountByNftId
viewfunction limitAmountByNftId(uint256) view returns (uint256)
mintedAmountByNftId
viewfunction mintedAmountByNftId(uint256) view returns (uint256)
name
purefunction name() pure returns (string)
nftIdToIndexOfUsers
viewfunction nftIdToIndexOfUsers(address, uint256) view returns (uint256)
nftIndexToIdOfUsers
viewfunction nftIndexToIdOfUsers(address, uint256) view returns (uint256)
OPERATOR
viewfunction OPERATOR() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalNftIdOfUser
viewfunction totalNftIdOfUser(address) view returns (uint256)
uri
viewfunction uri(uint256 _tokenId) view returns (string)
addOperator
nonpayablefunction addOperator(address operator)
burnBatch
nonpayablefunction burnBatch(uint256[] _nftIds, uint256[] _amounts, address[] _addresses)
burnItem
nonpayablefunction burnItem(uint256 _nftId, uint256 _amount, address _wallet)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
minBatch
nonpayablefunction minBatch(uint256[] _nftIds, uint256[] _amounts, address[] _addresses)
mintItem
nonpayablefunction mintItem(uint256 _nftId, uint256 _amount, address _wallet, bool _isUGC)
minUGCItem
nonpayablefunction minUGCItem(uint256[] _rootIds, uint256[] _ugcIds, uint256[] _amounts, address[] _addresses)
removeOperator
nonpayablefunction removeOperator(address operator)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseUri
nonpayablefunction setBaseUri(string _baseUri)
setLimitAmountByNftId
nonpayablefunction setLimitAmountByNftId(uint256[] nftIds, uint256[] limit)
transfer
nonpayablefunction transfer(address _from, address _to, uint256 _nftId, uint256 _amount)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
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)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
URI
event URI(string value, uint256 indexed id)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162003683380380620036838339810160408190526200003491620001d7565b8062000040816200006b565b5080516200005690600b90602084019062000131565b506200006460003362000084565b5062000300565b80516200008090600290602084019062000131565b5050565b60008281526003602090815260408083206001600160a01b038516845290915290205462000080908390839060ff16620000805760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620000ed3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b8280546200013f90620002ad565b90600052602060002090601f016020900481019282620001635760008555620001ae565b82601f106200017e57805160ff1916838001178555620001ae565b82800160010185558215620001ae579182015b82811115620001ae57825182559160200191906001019062000191565b50620001bc929150620001c0565b5090565b5b80821115620001bc5760008155600101620001c1565b60006020808385031215620001ea578182fd5b82516001600160401b038082111562000201578384fd5b818501915085601f83011262000215578384fd5b8151818111156200022a576200022a620002ea565b604051601f8201601f19908116603f01168101908382118183101715620002555762000255620002ea565b8160405282815288868487010111156200026d578687fd5b8693505b8284101562000290578484018601518185018701529285019262000271565b82841115620002a157868684830101525b98975050505050505050565b600181811c90821680620002c257607f821691505b60208210811415620002e457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b61337380620003106000396000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c806391d1485411610125578063b8b31cc3116100ad578063e16118cb1161007c578063e16118cb14610565578063e6425f1314610585578063e985e9c5146105ae578063f1e67f84146105ea578063f242432a146105fd57600080fd5b8063b8b31cc31461050a578063d547741f1461051d578063ddaa0f0414610530578063e037ed631461054357600080fd5b8063a0bcfc7f116100f4578063a0bcfc7f14610488578063a217fddf1461049b578063a22cb465146104a3578063ac8a584a146104b6578063aee2d0b9146104c957600080fd5b806391d148541461043a5780639824d39f1461044d578063983d2737146104605780639870d7fe1461047557600080fd5b80632b57ebc0116101a857806341563b691161017757806341563b69146103995780634e1273f4146103bc57806357841074146103dc578063702204781461040757806378fc7ea51461041a57600080fd5b80632b57ebc01461034d5780632eb2c2d6146103605780632f2ff15d1461037357806336568abe1461038657600080fd5b80630cbd1c00116101ef5780630cbd1c00146102b95780630e89341c146102e45780631a32e20c146102f7578063248a9ca3146103175780632b04e8401461033a57600080fd5b8062fdd58e1461022057806301ffc9a7146102465780630411b2521461026957806306fdde031461027e575b600080fd5b61023361022e36600461282c565b610610565b6040519081526020015b60405180910390f35b610259610254366004612b14565b6106a6565b604051901515815260200161023d565b61027c610277366004612760565b6106b7565b005b60408051808201909152601681527547656e736f6b697368694f6e6c696e652e4974656d7360501b60208201525b60405161023d9190612f2f565b6102336102c736600461282c565b600a60209081526000928352604080842090915290825290205481565b6102ac6102f2366004612ada565b6106d9565b61023361030536600461266f565b60076020526000908152604090205481565b610233610325366004612ada565b60009081526003602052604090206001015490565b61023361034836600461282c565b61070d565b61027c61035b366004612bb8565b610720565b61027c61036e3660046126bb565b6107d6565b61027c610381366004612af2565b610822565b61027c610394366004612af2565b610847565b6102596103a7366004612ada565b60066020526000908152604090205460ff1681565b6103cf6103ca366004612855565b6108c5565b60405161023d9190612e71565b6102336103ea36600461282c565b600960209081526000928352604080842090915290825290205481565b61027c610415366004612987565b610a26565b610233610428366004612ada565b60046020526000908152604090205481565b610259610448366004612af2565b610b25565b61027c61045b366004612a1c565b610b50565b61023360008051602061331e83398151915281565b61027c61048336600461266f565b610c91565b61027c610496366004612b4c565b610cd3565b610233600081565b61027c6104b1366004612803565b610d06565b61027c6104c436600461266f565b610d11565b6104f26104d7366004612ada565b6008602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161023d565b61027c610518366004612bec565b610d50565b61027c61052b366004612af2565b610f5d565b61027c61053e36600461291f565b610f82565b61055661055136600461266f565b61106a565b60405161023d93929190612ea9565b610233610573366004612ada565b60056020526000908152604090205481565b6104f2610593366004612ada565b6000908152600860205260409020546001600160a01b031690565b6102596105bc366004612689565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b61027c6105f8366004612987565b611339565b61027c61060b3660046127a1565b611436565b60006001600160a01b0383166106805760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006106b18261147b565b92915050565b6106d38484848460405180602001604052806000815250611436565b50505050565b6060600b6106e6836114a0565b6040516020016106f7929190612cb3565b6040516020818303038152906040529050919050565b60006107198383610610565b9392505050565b61073860008051602061331e83398151915233610b25565b6107545760405162461bcd60e51b815260040161067790613007565b8161075f8285610610565b10156107a25760405162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f7567682062616c616e636560701b6044820152606401610677565b600083815260056020526040812080548492906107c090849061315e565b909155506107d19050818484611542565b505050565b6001600160a01b0385163314806107f257506107f285336105bc565b61080e5760405162461bcd60e51b815260040161067790612fb9565b61081b85858585856116d2565b5050505050565b60008281526003602052604090206001015461083d816118d9565b6107d183836118e3565b6001600160a01b03811633146108b75760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610677565b6108c18282611969565b5050565b6060815183511461092a5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610677565b600083516001600160401b0381111561095357634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561097c578160200160208202803683370190505b50905060005b8451811015610a1e576109e38582815181106109ae57634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106109d657634e487b7160e01b600052603260045260246000fd5b6020026020010151610610565b828281518110610a0357634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610a178161321f565b9050610982565b509392505050565b610a3e60008051602061331e83398151915233610b25565b610a5a5760405162461bcd60e51b815260040161067790613007565b848314610a795760405162461bcd60e51b815260040161067790612f8a565b60005b85811015610b1c57610b0a878783818110610aa757634e487b7160e01b600052603260045260246000fd5b90506020020135868684818110610ace57634e487b7160e01b600052603260045260246000fd5b90506020020135858585818110610af557634e487b7160e01b600052603260045260246000fd5b905060200201602081019061035b919061266f565b80610b148161321f565b915050610a7c565b50505050505050565b60009182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b610b6860008051602061331e83398151915233610b25565b610b845760405162461bcd60e51b815260040161067790613007565b8685148015610b9257508683145b8015610b9d57508681145b610bb95760405162461bcd60e51b815260040161067790612f8a565b60005b87811015610c8657610be7898983818110610aa757634e487b7160e01b600052603260045260246000fd5b610c74878783818110610c0a57634e487b7160e01b600052603260045260246000fd5b90506020020135868684818110610c3157634e487b7160e01b600052603260045260246000fd5b90506020020135858585818110610c5857634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c6d919061266f565b6001610d50565b80610c7e8161321f565b915050610bbc565b505050505050505050565b610c9c600033610b25565b610cb85760405162461bcd60e51b8152600401610677906130cd565b610cd060008051602061331e833981519152826119d0565b50565b610cde600033610b25565b610cfa5760405162461bcd60e51b8152600401610677906130cd565b6107d1600b838361247f565b6108c13383836119da565b610d1c600033610b25565b610d385760405162461bcd60e51b8152600401610677906130cd565b610cd060008051602061331e83398151915282610f5d565b610d6860008051602061331e83398151915233610b25565b610d845760405162461bcd60e51b815260040161067790613007565b60008481526006602052604090205460ff16151581151514610dd85760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610677565b6000848152600460205260409020548015610e63576000858152600560205260409020548190610e09908690613127565b1115610e635760405162461bcd60e51b815260206004820152602360248201527f457863656564206d6178696d756d206974656d20737570706c79206f66206e666044820152621d125960ea1b6064820152608401610677565b8115610f1d576000858152600560205260409020541580610e92575060008581526006602052604090205460ff165b610ede5760405162461bcd60e51b815260206004820152601760248201527f6e66744964206973206e6f74206120554743206974656d0000000000000000006044820152606401610677565b6000858152600660209081526040808320805460ff191660011790556008909152902080546001600160a01b0385166001600160a01b03199091161790555b60008581526005602052604081208054869290610f3b908490613127565b9250508190555061081b83868660405180602001604052806000815250611abb565b600082815260036020526040902060010154610f78816118d9565b6107d18383611969565b610f8d600033610b25565b610fa95760405162461bcd60e51b8152600401610677906130cd565b828114610fe85760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610677565b60005b8381101561081b5782828281811061101357634e487b7160e01b600052603260045260246000fd5b905060200201356004600087878581811061103e57634e487b7160e01b600052603260045260246000fd5b9050602002013581526020019081526020016000208190555080806110629061321f565b915050610feb565b6001600160a01b0381166000908152600760205260408120546060918291829160015b8281116110e8576001600160a01b03871660009081526009602090815260408083208484529091529020546110c3908890610610565b156110d657816110d28161321f565b9250505b806110e08161321f565b91505061108d565b506000816001600160401b0381111561111157634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561113a578160200160208202803683370190505b5090506000826001600160401b0381111561116557634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561119857816020015b60608152602001906001900390816111835790505b5090506000836001600160401b038111156111c357634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156111ec578160200160208202803683370190505b509050600060015b868111611328576001600160a01b038b16600090815260096020908152604080832084845290915281205461122a908d90610610565b90508015611315576001600160a01b038c166000908152600960209081526040808320858452909152902054865187908590811061127857634e487b7160e01b600052603260045260246000fd5b6020908102919091018101919091526001600160a01b038d16600090815260098252604080822085835290925220546112b0906106d9565b8584815181106112d057634e487b7160e01b600052603260045260246000fd5b6020026020010181905250808484815181106112fc57634e487b7160e01b600052603260045260246000fd5b6020908102919091010152826113118161321f565b9350505b50806113208161321f565b9150506111f4565b509299909850909650945050505050565b61135160008051602061331e83398151915233610b25565b61136d5760405162461bcd60e51b815260040161067790613007565b84831461138c5760405162461bcd60e51b815260040161067790612f8a565b60005b85811015610b1c576114248787838181106113ba57634e487b7160e01b600052603260045260246000fd5b905060200201358686848181106113e157634e487b7160e01b600052603260045260246000fd5b9050602002013585858581811061140857634e487b7160e01b600052603260045260246000fd5b905060200201602081019061141d919061266f565b6000610d50565b8061142e8161321f565b91505061138f565b6001600160a01b038516331480611452575061145285336105bc565b61146e5760405162461bcd60e51b815260040161067790612fb9565b61081b8585858585611bd5565b60006001600160e01b03198216637965db0b60e01b14806106b157506106b182611d02565b606060006114ad83611d52565b60010190506000816001600160401b038111156114da57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611504576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461153d57610a1e565b61150e565b6001600160a01b0383166115a45760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610677565b3360006115b084611e2a565b905060006115bd84611e2a565b90506115dd83876000858560405180602001604052806000815250611e83565b6000858152602081815260408083206001600160a01b038a1684529091529020548481101561165a5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610677565b6000868152602081815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610b1c565b81518351146117345760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610677565b6001600160a01b03841661175a5760405162461bcd60e51b81526004016106779061303e565b33611769818787878787611e83565b60005b845181101561186b57600085828151811061179757634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008583815181106117c357634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156118135760405162461bcd60e51b815260040161067790613083565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611850908490613127565b92505081905550505050806118649061321f565b905061176c565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516118bb929190612e84565b60405180910390a46118d1818787878787611fc9565b505050505050565b610cd08133612134565b6118ed8282610b25565b6108c15760008281526003602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119253390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6119738282610b25565b156108c15760008281526003602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6108c182826118e3565b816001600160a01b0316836001600160a01b03161415611a4e5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610677565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b038416611b1b5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610677565b336000611b2785611e2a565b90506000611b3485611e2a565b9050611b4583600089858589611e83565b6000868152602081815260408083206001600160a01b038b16845290915281208054879290611b75908490613127565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610b1c8360008989898961218d565b6001600160a01b038416611bfb5760405162461bcd60e51b81526004016106779061303e565b336000611c0785611e2a565b90506000611c1485611e2a565b9050611c24838989858589611e83565b6000868152602081815260408083206001600160a01b038c16845290915290205485811015611c655760405162461bcd60e51b815260040161067790613083565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611ca2908490613127565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610c86848a8a8a8a8a61218d565b60006001600160e01b03198216636cdb3d1360e11b1480611d3357506001600160e01b031982166303a24d0760e21b145b806106b157506301ffc9a760e01b6001600160e01b03198316146106b1565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611d915772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611dbd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611ddb57662386f26fc10000830492506010015b6305f5e1008310611df3576305f5e100830492506008015b6127108310611e0757612710830492506004015b60648310611e19576064830492506002015b600a83106106b15760010192915050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611e7257634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6001600160a01b03841615611fc45760005b8351811015611fc257611ecf848281518110611ec157634e487b7160e01b600052603260045260246000fd5b602002602001015186612257565b611fb0576001600160a01b038516600090815260076020526040812054611ef7906001613127565b9050848281518110611f1957634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b0388166000818152600984526040808220868352855280822093909355908152600a90925281208651839290889086908110611f7857634e487b7160e01b600052603260045260246000fd5b60209081029190910181015182528181019290925260409081016000908120939093556001600160a01b038916835260079091529020555b80611fba8161321f565b915050611e95565b505b6118d1565b6001600160a01b0384163b156118d15760405163bc197c8160e01b81526001600160a01b0385169063bc197c819061200d9089908990889088908890600401612dce565b602060405180830381600087803b15801561202757600080fd5b505af1925050508015612057575060408051601f3d908101601f1916820190925261205491810190612b30565b60015b61210457612063613266565b806308c379a0141561209d575061207861327e565b80612083575061209f565b8060405162461bcd60e51b81526004016106779190612f2f565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610677565b6001600160e01b0319811663bc197c8160e01b14610b1c5760405162461bcd60e51b815260040161067790612f42565b61213e8282610b25565b6108c15761214b8161228c565b61215683602061229e565b604051602001612167929190612d59565b60408051601f198184030181529082905262461bcd60e51b825261067791600401612f2f565b6001600160a01b0384163b156118d15760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906121d19089908990889088908890600401612e2c565b602060405180830381600087803b1580156121eb57600080fd5b505af192505050801561221b575060408051601f3d908101601f1916820190925261221891810190612b30565b60015b61222757612063613266565b6001600160e01b0319811663f23a6e6160e01b14610b1c5760405162461bcd60e51b815260040161067790612f42565b6001600160a01b0381166000908152600a60209081526040808320858452909152812054819015610719575060019392505050565b60606106b16001600160a01b03831660145b606060006122ad83600261313f565b6122b8906002613127565b6001600160401b038111156122dd57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612307576020820181803683370190505b509050600360fc1b8160008151811061233057634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061236d57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600061239184600261313f565b61239c906001613127565b90505b6001811115612430576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106123de57634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061240257634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c93612429816131a1565b905061239f565b5083156107195760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610677565b82805461248b906131b8565b90600052602060002090601f0160209004810192826124ad57600085556124f3565b82601f106124c65782800160ff198235161785556124f3565b828001600101855582156124f3579182015b828111156124f35782358255916020019190600101906124d8565b506124ff929150612503565b5090565b5b808211156124ff5760008155600101612504565b80356001600160a01b038116811461252f57600080fd5b919050565b60008083601f840112612545578182fd5b5081356001600160401b0381111561255b578182fd5b6020830191508360208260051b850101111561257657600080fd5b9250929050565b600082601f83011261258d578081fd5b8135602061259a82613104565b6040516125a782826131f3565b8381528281019150858301600585901b870184018810156125c6578586fd5b855b858110156125e4578135845292840192908401906001016125c8565b5090979650505050505050565b8035801515811461252f57600080fd5b600082601f830112612611578081fd5b81356001600160401b0381111561262a5761262a613250565b604051612641601f8301601f1916602001826131f3565b818152846020838601011115612655578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215612680578081fd5b61071982612518565b6000806040838503121561269b578081fd5b6126a483612518565b91506126b260208401612518565b90509250929050565b600080600080600060a086880312156126d2578081fd5b6126db86612518565b94506126e960208701612518565b935060408601356001600160401b0380821115612704578283fd5b61271089838a0161257d565b94506060880135915080821115612725578283fd5b61273189838a0161257d565b93506080880135915080821115612746578283fd5b5061275388828901612601565b9150509295509295909350565b60008060008060808587031215612775578384fd5b61277e85612518565b935061278c60208601612518565b93969395505050506040820135916060013590565b600080600080600060a086880312156127b8578081fd5b6127c186612518565b94506127cf60208701612518565b9350604086013592506060860135915060808601356001600160401b038111156127f7578182fd5b61275388828901612601565b60008060408385031215612815578182fd5b61281e83612518565b91506126b2602084016125f1565b6000806040838503121561283e578081fd5b61284783612518565b946020939093013593505050565b60008060408385031215612867578182fd5b82356001600160401b038082111561287d578384fd5b818501915085601f830112612890578384fd5b8135602061289d82613104565b6040516128aa82826131f3565b8381528281019150858301600585901b870184018b10156128c9578889fd5b8896505b848710156128f2576128de81612518565b8352600196909601959183019183016128cd565b5096505086013592505080821115612908578283fd5b506129158582860161257d565b9150509250929050565b60008060008060408587031215612934578182fd5b84356001600160401b038082111561294a578384fd5b61295688838901612534565b9096509450602087013591508082111561296e578384fd5b5061297b87828801612534565b95989497509550505050565b6000806000806000806060878903121561299f578384fd5b86356001600160401b03808211156129b5578586fd5b6129c18a838b01612534565b909850965060208901359150808211156129d9578586fd5b6129e58a838b01612534565b909650945060408901359150808211156129fd578283fd5b50612a0a89828a01612534565b979a9699509497509295939492505050565b6000806000806000806000806080898b031215612a37578586fd5b88356001600160401b0380821115612a4d578788fd5b612a598c838d01612534565b909a50985060208b0135915080821115612a71578788fd5b612a7d8c838d01612534565b909850965060408b0135915080821115612a95578384fd5b612aa18c838d01612534565b909650945060608b0135915080821115612ab9578384fd5b50612ac68b828c01612534565b999c989b5096995094979396929594505050565b600060208284031215612aeb578081fd5b5035919050565b60008060408385031215612b04578182fd5b823591506126b260208401612518565b600060208284031215612b25578081fd5b813561071981613307565b600060208284031215612b41578081fd5b815161071981613307565b60008060208385031215612b5e578182fd5b82356001600160401b0380821115612b74578384fd5b818501915085601f830112612b87578384fd5b813581811115612b95578485fd5b866020828501011115612ba6578485fd5b60209290920196919550909350505050565b600080600060608486031215612bcc578081fd5b8335925060208401359150612be360408501612518565b90509250925092565b60008060008060808587031215612c01578182fd5b8435935060208501359250612c1860408601612518565b9150612c26606086016125f1565b905092959194509250565b6000815180845260208085019450808401835b83811015612c6057815187529582019590820190600101612c44565b509495945050505050565b60008151808452612c83816020860160208601613175565b601f01601f19169290920160200192915050565b60008151612ca9818560208601613175565b9290920192915050565b600080845482600182811c915080831680612ccf57607f831692505b6020808410821415612cef57634e487b7160e01b87526022600452602487fd5b818015612d035760018114612d1457612d40565b60ff19861689528489019650612d40565b60008b815260209020885b86811015612d385781548b820152908501908301612d1f565b505084890196505b505050505050612d508185612c97565b95945050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612d91816017850160208801613175565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612dc2816028840160208801613175565b01602801949350505050565b6001600160a01b0386811682528516602082015260a060408201819052600090612dfa90830186612c31565b8281036060840152612e0c8186612c31565b90508281036080840152612e208185612c6b565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090612e6690830184612c6b565b979650505050505050565b6020815260006107196020830184612c31565b604081526000612e976040830185612c31565b8281036020840152612d508185612c31565b606081526000612ebc6060830186612c31565b602083820381850152612ecf8287612c31565b915083820360408501528185518084528284019150828160051b850101838801865b83811015612f1f57601f19878403018552612f0d838351612c6b565b94860194925090850190600101612ef1565b50909a9950505050505050505050565b6020815260006107196020830184612c6b565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b602080825260159082015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b604082015260600190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252601a908201527f43616c6c6572206973206e6f7420746865206f70657261746f72000000000000604082015260600190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526017908201527f43616c6c6572206973206e6f74207468652061646d696e000000000000000000604082015260600190565b60006001600160401b0382111561311d5761311d613250565b5060051b60200190565b6000821982111561313a5761313a61323a565b500190565b60008160001904831182151516156131595761315961323a565b500290565b6000828210156131705761317061323a565b500390565b60005b83811015613190578181015183820152602001613178565b838111156106d35750506000910152565b6000816131b0576131b061323a565b506000190190565b600181811c908216806131cc57607f821691505b602082108114156131ed57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f191681016001600160401b038111828210171561321857613218613250565b6040525050565b60006000198214156132335761323361323a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d111561327b57600481823e5160e01c5b90565b600060443d101561328c5790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156132bb57505050505090565b82850191508151818111156132d35750505050505090565b843d87010160208285010111156132ed5750505050505090565b6132fc602082860101876131f3565b509095945050505050565b6001600160e01b031981168114610cd057600080fdfe523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0ca264697066735822122041f2546f6b1722c0dadf5a8728a1869f31bbfdf85caacc9b0a2629544aeacd1264736f6c634300080400330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002f68747470733a2f2f6170692d6d61726b65742e67656e736f2e67616d652f67616d652f636f6e73756d7074696f6e2f0000000000000000000000000000000000