@tokamak-network/thanos-contracts
Version:
1 lines • 202 kB
JSON
{"abi":[{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Approval","inputs":[{"name":"_owner","type":"address","indexed":true,"internalType":"address"},{"name":"_approved","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"_owner","type":"address","indexed":true,"internalType":"address"},{"name":"_operator","type":"address","indexed":true,"internalType":"address"},{"name":"_approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"_from","type":"address","indexed":true,"internalType":"address"},{"name":"_to","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080604052348015600e575f80fd5b5061141c8061001c5f395ff3fe6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610252578063b88d4fde14610271578063c87b56dd14610284578063e985e9c5146102a4575f80fd5b80636352211e146101f257806370a082311461021157806395d89b411461023e575f80fd5b8063095ea7b3116100b7578063095ea7b31461019857806323b872dd146101ad57806342842e0e146101c05780634cd88b76146101d3575f80fd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610df4565b6102f8565b60405190151581526020015b60405180910390f35b34801561011c575f80fd5b506101256103dc565b6040516101089190610e62565b34801561013d575f80fd5b5061017361014c366004610e74565b5f9081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b6101ab6101a6366004610eae565b61046b565b005b6101ab6101bb366004610ed6565b6105b7565b6101ab6101ce366004610ed6565b6108a6565b3480156101de575f80fd5b506101ab6101ed366004610ff0565b6109f6565b3480156101fd575f80fd5b5061017361020c366004610e74565b610aab565b34801561021c575f80fd5b5061023061022b366004611055565b610b3b565b604051908152602001610108565b348015610249575f80fd5b50610125610be1565b34801561025d575f80fd5b506101ab61026c36600461106e565b610bf0565b6101ab61027f3660046110a7565b610c86565b34801561028f575f80fd5b5061012561029e366004610e74565b50606090565b3480156102af575f80fd5b506100fc6102be36600461111e565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061038a57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806103d657507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60605f80546103ea9061114f565b80601f01602080910402602001604051908101604052809291908181526020018280546104169061114f565b80156104615780601f1061043857610100808354040283529160200191610461565b820191905f5260205f20905b81548152906001019060200180831161044457829003601f168201915b5050505050905090565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806104cc575073ffffffffffffffffffffffffffffffffffffffff81165f90815260056020908152604080832033845290915290205460ff165b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b5f8281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff848116911614610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d00000000000000000000000000000000000000000000604482015260640161052e565b73ffffffffffffffffffffffffffffffffffffffff82166106c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e54000000000000000000000000000000604482015260640161052e565b3373ffffffffffffffffffffffffffffffffffffffff84161480610716575073ffffffffffffffffffffffffffffffffffffffff83165f90815260056020908152604080832033845290915290205460ff165b8061074357505f8181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b6107a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015260640161052e565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526003602052604081208054916107d9836111cd565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f90815260036020526040812080549161080e83611201565b90915550505f818152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108b18383836105b7565b813b158061098b57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af1158015610943573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109679190611238565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b6109f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e5400000000000000000000000000000000604482015260640161052e565b505050565b60065460ff1615610a63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a454400000000000000000000000000604482015260640161052e565b5f610a6e838261129e565b506001610a7b828261129e565b5050600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e54454400000000000000000000000000000000000000000000604482015260640161052e565b919050565b5f73ffffffffffffffffffffffffffffffffffffffff8216610bb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015260640161052e565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526003602052604090205490565b6060600180546103ea9061114f565b335f81815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c918484846105b7565b823b1580610d5857506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610cf49033908990889088906004016113b5565b6020604051808303815f875af1158015610d10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d349190611238565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610dbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e5400000000000000000000000000000000604482015260640161052e565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610df1575f80fd5b50565b5f60208284031215610e04575f80fd5b8135610e0f81610dc4565b9392505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610e0f6020830184610e16565b5f60208284031215610e84575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b36575f80fd5b5f8060408385031215610ebf575f80fd5b610ec883610e8b565b946020939093013593505050565b5f805f60608486031215610ee8575f80fd5b610ef184610e8b565b9250610eff60208501610e8b565b929592945050506040919091013590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8067ffffffffffffffff841115610f5757610f57610f10565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715610fa457610fa4610f10565b604052838152905080828401851015610fbb575f80fd5b838360208301375f60208583010152509392505050565b5f82601f830112610fe1575f80fd5b610e0f83833560208501610f3d565b5f8060408385031215611001575f80fd5b823567ffffffffffffffff811115611017575f80fd5b61102385828601610fd2565b925050602083013567ffffffffffffffff81111561103f575f80fd5b61104b85828601610fd2565b9150509250929050565b5f60208284031215611065575f80fd5b610e0f82610e8b565b5f806040838503121561107f575f80fd5b61108883610e8b565b91506020830135801515811461109c575f80fd5b809150509250929050565b5f805f80608085870312156110ba575f80fd5b6110c385610e8b565b93506110d160208601610e8b565b925060408501359150606085013567ffffffffffffffff8111156110f3575f80fd5b8501601f81018713611103575f80fd5b61111287823560208401610f3d565b91505092959194509250565b5f806040838503121561112f575f80fd5b61113883610e8b565b915061114660208401610e8b565b90509250929050565b600181811c9082168061116357607f821691505b60208210810361119a577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f816111db576111db6111a0565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611231576112316111a0565b5060010190565b5f60208284031215611248575f80fd5b8151610e0f81610dc4565b601f8211156109f157805f5260205f20601f840160051c810160208510156112785750805b601f840160051c820191505b81811015611297575f8155600101611284565b5050505050565b815167ffffffffffffffff8111156112b8576112b8610f10565b6112cc816112c6845461114f565b84611253565b6020601f82116001811461131d575f83156112e75750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455611297565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561136a578785015182556020948501946001909201910161134a565b50848210156113a657868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f6114056080830184610e16565b969550505050505056fea164736f6c634300081a000a","sourceMap":"381:7498:22:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610252578063b88d4fde14610271578063c87b56dd14610284578063e985e9c5146102a4575f80fd5b80636352211e146101f257806370a082311461021157806395d89b411461023e575f80fd5b8063095ea7b3116100b7578063095ea7b31461019857806323b872dd146101ad57806342842e0e146101c05780634cd88b76146101d3575f80fd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f80fd5b3480156100e8575f80fd5b506100fc6100f7366004610df4565b6102f8565b60405190151581526020015b60405180910390f35b34801561011c575f80fd5b506101256103dc565b6040516101089190610e62565b34801561013d575f80fd5b5061017361014c366004610e74565b5f9081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b6101ab6101a6366004610eae565b61046b565b005b6101ab6101bb366004610ed6565b6105b7565b6101ab6101ce366004610ed6565b6108a6565b3480156101de575f80fd5b506101ab6101ed366004610ff0565b6109f6565b3480156101fd575f80fd5b5061017361020c366004610e74565b610aab565b34801561021c575f80fd5b5061023061022b366004611055565b610b3b565b604051908152602001610108565b348015610249575f80fd5b50610125610be1565b34801561025d575f80fd5b506101ab61026c36600461106e565b610bf0565b6101ab61027f3660046110a7565b610c86565b34801561028f575f80fd5b5061012561029e366004610e74565b50606090565b3480156102af575f80fd5b506100fc6102be36600461111e565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061038a57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806103d657507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60605f80546103ea9061114f565b80601f01602080910402602001604051908101604052809291908181526020018280546104169061114f565b80156104615780601f1061043857610100808354040283529160200191610461565b820191905f5260205f20905b81548152906001019060200180831161044457829003601f168201915b5050505050905090565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806104cc575073ffffffffffffffffffffffffffffffffffffffff81165f90815260056020908152604080832033845290915290205460ff165b610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b5f8281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff848116911614610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d00000000000000000000000000000000000000000000604482015260640161052e565b73ffffffffffffffffffffffffffffffffffffffff82166106c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e54000000000000000000000000000000604482015260640161052e565b3373ffffffffffffffffffffffffffffffffffffffff84161480610716575073ffffffffffffffffffffffffffffffffffffffff83165f90815260056020908152604080832033845290915290205460ff165b8061074357505f8181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b6107a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a4544000000000000000000000000000000000000604482015260640161052e565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526003602052604081208054916107d9836111cd565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f90815260036020526040812080549161080e83611201565b90915550505f818152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108b18383836105b7565b813b158061098b57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af1158015610943573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109679190611238565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b6109f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e5400000000000000000000000000000000604482015260640161052e565b505050565b60065460ff1615610a63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a454400000000000000000000000000604482015260640161052e565b5f610a6e838261129e565b506001610a7b828261129e565b5050600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b5f8181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e54454400000000000000000000000000000000000000000000604482015260640161052e565b919050565b5f73ffffffffffffffffffffffffffffffffffffffff8216610bb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f414444524553530000000000000000000000000000000000000000604482015260640161052e565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526003602052604090205490565b6060600180546103ea9061114f565b335f81815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c918484846105b7565b823b1580610d5857506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610cf49033908990889088906004016113b5565b6020604051808303815f875af1158015610d10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d349190611238565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610dbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e5400000000000000000000000000000000604482015260640161052e565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610df1575f80fd5b50565b5f60208284031215610e04575f80fd5b8135610e0f81610dc4565b9392505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610e0f6020830184610e16565b5f60208284031215610e84575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b36575f80fd5b5f8060408385031215610ebf575f80fd5b610ec883610e8b565b946020939093013593505050565b5f805f60608486031215610ee8575f80fd5b610ef184610e8b565b9250610eff60208501610e8b565b929592945050506040919091013590565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8067ffffffffffffffff841115610f5757610f57610f10565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715610fa457610fa4610f10565b604052838152905080828401851015610fbb575f80fd5b838360208301375f60208583010152509392505050565b5f82601f830112610fe1575f80fd5b610e0f83833560208501610f3d565b5f8060408385031215611001575f80fd5b823567ffffffffffffffff811115611017575f80fd5b61102385828601610fd2565b925050602083013567ffffffffffffffff81111561103f575f80fd5b61104b85828601610fd2565b9150509250929050565b5f60208284031215611065575f80fd5b610e0f82610e8b565b5f806040838503121561107f575f80fd5b61108883610e8b565b91506020830135801515811461109c575f80fd5b809150509250929050565b5f805f80608085870312156110ba575f80fd5b6110c385610e8b565b93506110d160208601610e8b565b925060408501359150606085013567ffffffffffffffff8111156110f3575f80fd5b8501601f81018713611103575f80fd5b61111287823560208401610f3d565b91505092959194509250565b5f806040838503121561112f575f80fd5b61113883610e8b565b915061114660208401610e8b565b90509250929050565b600181811c9082168061116357607f821691505b60208210810361119a577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f816111db576111db6111a0565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611231576112316111a0565b5060010190565b5f60208284031215611248575f80fd5b8151610e0f81610dc4565b601f8211156109f157805f5260205f20601f840160051c810160208510156112785750805b601f840160051c820191505b81811015611297575f8155600101611284565b5050505050565b815167ffffffffffffffff8111156112b8576112b8610f10565b6112cc816112c6845461114f565b84611253565b6020601f82116001811461131d575f83156112e75750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455611297565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561136a578785015182556020948501946001909201910161134a565b50848210156113a657868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f6114056080830184610e16565b969550505050505056fea164736f6c634300081a000a","sourceMap":"381:7498:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5354:332;;;;;;;;;;-1:-1:-1;5354:332:22;;;;;:::i;:::-;;:::i;:::-;;;611:14:100;;604:22;586:41;;574:2;559:18;5354:332:22;;;;;;;;671:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1927:120::-;;;;;;;;;;-1:-1:-1;1927:120:22;;;;;:::i;:::-;1998:7;2024:16;;;:12;:16;;;;;;;;;1927:120;;;;1623:42:100;1611:55;;;1593:74;;1581:2;1566:18;1927:120:22;1447:226:100;3106:301:22;;;;;;:::i;:::-;;:::i;:::-;;3632:693;;;;;;:::i;:::-;;:::i;4331:386::-;;;;;;:::i;:::-;;:::i;2706:212::-;;;;;;;;;;-1:-1:-1;2706:212:22;;;;;:::i;:::-;;:::i;1258:158::-;;;;;;;;;;-1:-1:-1;1258:158:22;;;;;:::i;:::-;;:::i;1422:177::-;;;;;;;;;;-1:-1:-1;1422:177:22;;;;;:::i;:::-;;:::i;:::-;;;4698:25:100;;;4686:2;4671:18;1422:177:22;4552::100;769:96:22;;;;;;;;;;;;;:::i;3413:213::-;;;;;;;;;;-1:-1:-1;3413:213:22;;;;;:::i;:::-;;:::i;4723:443::-;;;;;;:::i;:::-;;:::i;871:85::-;;;;;;;;;;-1:-1:-1;871:85:22;;;;;:::i;:::-;-1:-1:-1;939:13:22;;871:85;2053:161;;;;;;;;;;-1:-1:-1;2053:161:22;;;;;:::i;:::-;2173:24;;;;2150:4;2173:24;;;:17;:24;;;;;;;;:34;;;;;;;;;;;;;;;2053:161;5354:332;5439:4;5462:25;;;;;;:100;;-1:-1:-1;5537:25:22;;;;;5462:100;:175;;;-1:-1:-1;5612:25:22;;;;;5462:175;5455:182;5354:332;-1:-1:-1;;5354:332:22:o;671:92::-;719:13;751:5;744:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:92;:::o;3106:301::-;3194:13;3210:12;;;:8;:12;;;;;;;;3241:10;:19;;;:59;;-1:-1:-1;3264:24:22;;;;;;;:17;:24;;;;;;;;3289:10;3264:36;;;;;;;;;;3241:59;3233:86;;;;;;;6713:2:100;3233:86:22;;;6695:21:100;6752:2;6732:18;;;6725:30;6791:16;6771:18;;;6764:44;6825:18;;3233:86:22;;;;;;;;;3330:16;;;;:12;:16;;;;;;:26;;;;;;;;;;;;;;3372:28;;3330:16;;3372:28;;;;;;;3184:223;3106:301;;:::o;3632:693::-;3750:12;;;;:8;:12;;;;;;;3742:20;;;3750:12;;3742:20;3734:43;;;;;;;7056:2:100;3734:43:22;;;7038:21:100;7095:2;7075:18;;;7068:30;7134:12;7114:18;;;7107:40;7164:18;;3734:43:22;6854:334:100;3734:43:22;3796:16;;;3788:46;;;;;;;7395:2:100;3788:46:22;;;7377:21:100;7434:2;7414:18;;;7407:30;7473:19;7453:18;;;7446:47;7510:18;;3788:46:22;7193:341:100;3788:46:22;3866:10;:18;;;;;:57;;-1:-1:-1;3888:23:22;;;;;;;:17;:23;;;;;;;;3912:10;3888:35;;;;;;;;;;3866:57;:91;;;-1:-1:-1;3941:16:22;;;;:12;:16;;;;;;;;3927:10;:30;3866:91;3845:152;;;;;;;6713:2:100;3845:152:22;;;6695:21:100;6752:2;6732:18;;;6725:30;6791:16;6771:18;;;6764:44;6825:18;;3845:152:22;6511:338:100;3845:152:22;4173:16;;;;;;;:10;:16;;;;;:18;;;;;;:::i;:::-;;;;-1:-1:-1;;4202:14:22;;;;;;;:10;:14;;;;;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;4229:12:22;;;;:8;:12;;;;;;;;:17;;;;;;;;;;;;;;;4264:12;:16;;;;;;4257:23;;;;;;;4296:22;;4238:2;;4229:17;;4296:22;;;;;;3632:693;;;:::o;4331:386::-;4437:26;4450:4;4456:2;4460;4437:12;:26::i;:::-;7811:18;;7856:14;;4495:173;;-1:-1:-1;4531:67:22;;4622:46;4531:67;;;4573:10;4531:67;;;8396:74:100;4531:41:22;8506:55:100;;;8486:18;;;8479:83;8578:18;;;8571:34;;;8641:3;8621:18;;;8614:31;-1:-1:-1;8661:19:100;;;8654:30;4622:46:22;;4531:41;;;;4622:46;;8701:19:100;;4531:67:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:137;;;4495:173;4474:236;;;;;;;9187:2:100;4474:236:22;;;9169:21:100;9226:2;9206:18;;;9199:30;9265:18;9245;;;9238:46;9301:18;;4474:236:22;8985:340:100;4474:236:22;4331:386;;;:::o;2706:212::-;2796:11;;;;2795:12;2787:44;;;;;;;9532:2:100;2787:44:22;;;9514:21:100;9571:2;9551:18;;;9544:30;9610:21;9590:18;;;9583:49;9649:18;;2787:44:22;9330:343:100;2787:44:22;2842:5;:13;2850:5;2842;:13;:::i;:::-;-1:-1:-1;2865:7:22;:17;2875:7;2865;:17;:::i;:::-;-1:-1:-1;;2893:11:22;:18;;;;2907:4;2893:18;;;-1:-1:-1;2706:212:22:o;1258:158::-;1325:13;1367:12;;;:8;:12;;;;;;1358:36;1367:12;;1350:59;;;;;;;12183:2:100;1350:59:22;;;12165:21:100;12222:2;12202:18;;;12195:30;12261:12;12241:18;;;12234:40;12291:18;;1350:59:22;11981:334:100;1350:59:22;1258:158;;;:::o;1422:177::-;1494:7;1521:19;;;1513:44;;;;;;;12522:2:100;1513:44:22;;;12504:21:100;12561:2;12541:18;;;12534:30;12600:14;12580:18;;;12573:42;12632:18;;1513:44:22;12320:336:100;1513:44:22;-1:-1:-1;1575:17:22;;;;;;:10;:17;;;;;;;1422:177::o;769:96::-;819:13;851:7;844:14;;;;;:::i;3413:213::-;3525:10;3507:29;;;;:17;:29;;;;;;;;;:39;;;;;;;;;;;;:50;;;;;;;;;;;;;3573:46;;586:41:100;;;3507:39:22;;3525:10;3573:46;;559:18:100;3573:46:22;;;;;;;3413:213;;:::o;4723:443::-;4884:26;4897:4;4903:2;4907;4884:12;:26::i;:::-;7811:18;;7856:14;;4942:175;;-1:-1:-1;4978:69:22;;5071:46;4978:69;;;5071:46;4978:41;;;;5071:46;;4978:69;;5020:10;;5032:4;;5038:2;;5042:4;;4978:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:139;;;4942:175;4921:238;;;;;;;9187:2:100;4921:238:22;;;9169:21:100;9226:2;9206:18;;;9199:30;9265:18;9245;;;9238:46;9301:18;;4921:238:22;8985:340:100;4921:238:22;4723:443;;;;:::o;14:177:100:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;68:117;14:177;:::o;196:245::-;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:100:o;638:348::-;680:3;718:5;712:12;745:6;740:3;733:19;801:6;794:4;787:5;783:16;776:4;771:3;767:14;761:47;853:1;846:4;837:6;832:3;828:16;824:27;817:38;975:4;905:66;900:2;892:6;888:15;884:88;879:3;875:98;871:109;864:116;;;638:348;;;;:::o;991:220::-;1140:2;1129:9;1122:21;1103:4;1160:45;1201:2;1190:9;1186:18;1178:6;1160:45;:::i;1216:226::-;1275:6;1328:2;1316:9;1307:7;1303:23;1299:32;1296:52;;;1344:1;1341;1334:12;1296:52;-1:-1:-1;1389:23:100;;1216:226;-1:-1:-1;1216:226:100:o;1678:196::-;1746:20;;1806:42;1795:54;;1785:65;;1775:93;;1864:1;1861;1854:12;1879:300;1947:6;1955;2008:2;1996:9;1987:7;1983:23;1979:32;1976:52;;;2024:1;2021;2014:12;1976:52;2047:29;2066:9;2047:29;:::i;:::-;2037:39;2145:2;2130:18;;;;2117:32;;-1:-1:-1;;;1879:300:100:o;2184:374::-;2261:6;2269;2277;2330:2;2318:9;2309:7;2305:23;2301:32;2298:52;;;2346:1;2343;2336:12;2298:52;2369:29;2388:9;2369:29;:::i;:::-;2359:39;;2417:38;2451:2;2440:9;2436:18;2417:38;:::i;:::-;2184:374;;2407:48;;-1:-1:-1;;;2524:2:100;2509:18;;;;2496:32;;2184:374::o;2563:184::-;2615:77;2612:1;2605:88;2712:4;2709:1;2702:15;2736:4;2733:1;2726:15;2752:834;2817:5;2849:1;2873:18;2865:6;2862:30;2859:56;;;2895:18;;:::i;:::-;-1:-1:-1;3109:2:100;3103:9;2959:66;2954:2;2942:15;;2938:88;;3167:2;3155:15;3151:88;3139:101;;3291:22;;;3270:18;3255:34;;3252:62;3249:88;;;3317:18;;:::i;:::-;3353:2;3346:22;3401;;;3386:6;-1:-1:-1;3386:6:100;3438:16;;;3435:25;-1:-1:-1;3432:45:100;;;3473:1;3470;3463:12;3432:45;3523:6;3518:3;3511:4;3503:6;3499:17;3486:44;3578:1;3571:4;3562:6;3554;3550:19;3546:30;3539:41;;2752:834;;;;;:::o;3591:222::-;3634:5;3687:3;3680:4;3672:6;3668:17;3664:27;3654:55;;3705:1;3702;3695:12;3654:55;3727:80;3803:3;3794:6;3781:20;3774:4;3766:6;3762:17;3727:80;:::i;3818:538::-;3906:6;3914;3967:2;3955:9;3946:7;3942:23;3938:32;3935:52;;;3983:1;3980;3973:12;3935:52;4023:9;4010:23;4056:18;4048:6;4045:30;4042:50;;;4088:1;4085;4078:12;4042:50;4111;4153:7;4144:6;4133:9;4129:22;4111:50;:::i;:::-;4101:60;;;4214:2;4203:9;4199:18;4186:32;4243:18;4233:8;4230:32;4227:52;;;4275:1;4272;4265:12;4227:52;4298;4342:7;4331:8;4320:9;4316:24;4298:52;:::i;:::-;4288:62;;;3818:538;;;;;:::o;4361:186::-;4420:6;4473:2;4461:9;4452:7;4448:23;4444:32;4441:52;;;4489:1;4486;4479:12;4441:52;4512:29;4531:9;4512:29;:::i;4734:347::-;4799:6;4807;4860:2;4848:9;4839:7;4835:23;4831:32;4828:52;;;4876:1;4873;4866:12;4828:52;4899:29;4918:9;4899:29;:::i;:::-;4889:39;;4978:2;4967:9;4963:18;4950:32;5025:5;5018:13;5011:21;5004:5;5001:32;4991:60;;5047:1;5044;5037:12;4991:60;5070:5;5060:15;;;4734:347;;;;;:::o;5086:713::-;5181:6;5189;5197;5205;5258:3;5246:9;5237:7;5233:23;5229:33;5226:53;;;5275:1;5272;5265:12;5226:53;5298:29;5317:9;5298:29;:::i;:::-;5288:39;;5346:38;5380:2;5369:9;5365:18;5346:38;:::i;:::-;5336:48;-1:-1:-1;5453:2:100;5438:18;;5425:32;;-1:-1:-1;5532:2:100;5517:18;;5504:32;5559:18;5548:30;;5545:50;;;5591:1;5588;5581:12;5545:50;5614:22;;5667:4;5659:13;;5655:27;-1:-1:-1;5645:55:100;;5696:1;5693;5686:12;5645:55;5719:74;5785:7;5780:2;5767:16;5762:2;5758;5754:11;5719:74;:::i;:::-;5709:84;;;5086:713;;;;;;;:::o;5804:260::-;5872:6;5880;5933:2;5921:9;5912:7;5908:23;5904:32;5901:52;;;5949:1;5946;5939:12;5901:52;5972:29;5991:9;5972:29;:::i;:::-;5962:39;;6020:38;6054:2;6043:9;6039:18;6020:38;:::i;:::-;6010:48;;5804:260;;;;;:::o;6069:437::-;6148:1;6144:12;;;;6191;;;6212:61;;6266:4;6258:6;6254:17;6244:27;;6212:61;6319:2;6311:6;6308:14;6288:18;6285:38;6282:218;;6356:77;6353:1;6346:88;6457:4;6454:1;6447:15;6485:4;6482:1;6475:15;6282:218;;6069:437;;;:::o;7539:184::-;7591:77;7588:1;7581:88;7688:4;7685:1;7678:15;7712:4;7709:1;7702:15;7728:196;7767:3;7795:5;7785:39;;7804:18;;:::i;:::-;-1:-1:-1;7851:66:100;7840:78;;7728:196::o;7929:195::-;7968:3;7999:66;7992:5;7989:77;7986:103;;8069:18;;:::i;:::-;-1:-1:-1;8116:1:100;8105:13;;7929:195::o;8731:249::-;8800:6;8853:2;8841:9;8832:7;8828:23;8824:32;8821:52;;;8869:1;8866;8859:12;8821:52;8901:9;8895:16;8920:30;8944:5;8920:30;:::i;9804:518::-;9906:2;9901:3;9898:11;9895:421;;;9942:5;9939:1;9932:16;9986:4;9983:1;9973:18;10056:2;10044:10;10040:19;10037:1;10033:27;10027:4;10023:38;10092:4;10080:10;10077:20;10074:47;;;-1:-1:-1;10115:4:100;10074:47;10170:2;10165:3;10161:12;10158:1;10154:20;10148:4;10144:31;10134:41;;10225:81;10243:2;10236:5;10233:13;10225:81;;;10302:1;10288:16;;10269:1;10258:13;10225:81;;;10229:3;;9804:518;;;:::o;10558:1418::-;10684:3;10678:10;10711:18;10703:6;10700:30;10697:56;;;10733:18;;:::i;:::-;10762:97;10852:6;10812:38;10844:4;10838:11;10812:38;:::i;:::-;10806:4;10762:97;:::i;:::-;10908:4;10939:2;10928:14;;10956:1;10951:768;;;;11763:1;11780:6;11777:89;;;-1:-1:-1;11832:19:100;;;11826:26;11777:89;10464:66;10455:1;10451:11;;;10447:84;10443:89;10433:100;10539:1;10535:11;;;10430:117;11879:81;;10921:1049;;10951:768;9751:1;9744:14;;;9788:4;9775:18;;10999:66;10987:79;;;11164:222;11178:7;11175:1;11172:14;11164:222;;;11260:19;;;11254:26;11239:42;;11367:4;11352:20;;;;11320:1;11308:14;;;;11194:12;11164:222;;;11168:3;11414:6;11405:7;11402:19;11399:261;;;11475:19;;;11469:26;11576:66;11558:1;11554:14;;;11570:3;11550:24;11546:97;11542:102;11527:118;11512:134;;11399:261;-1:-1:-1;;;;11706:1:100;11690:14;;;11686:22;11673:36;;-1:-1:-1;10558:1418:100:o;12661:531::-;12904:42;12896:6;12892:55;12881:9;12874:74;12996:42;12988:6;12984:55;12979:2;12968:9;12964:18;12957:83;13076:6;13071:2;13060:9;13056:18;13049:34;13119:3;13114:2;13103:9;13099:18;13092:31;12855:4;13140:46;13181:3;13170:9;13166:19;13158:6;13140:46;:::i;:::-;13132:54;12661:531;-1:-1:-1;;;;;;12661:531:100:o","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","initialize(string,string)":"4cd88b76","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"This emits when the approved address for an NFT is changed or reaffirmed. The zero address indicates there is no approved address. When a Transfer event emits, this also indicates that the approved address for that NFT (if any) is reset to none.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"This emits when an operator is enabled or disabled for an owner. The operator can manage all NFTs of the owner.\"},\"Transfer(address,address,uint256)\":{\"details\":\"This emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any number of NFTs may be created and assigned without emitting Transfer. At the time of any transfer, the approved address for that NFT (if any) is reset to none.\"}},\"kind\":\"dev\",\"methods\":{\"initialize(string,string)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"name()\":{\"notice\":\"A descriptive name for a collection of NFTs in this contract\"},\"symbol()\":{\"notice\":\"An abbreviated name for NFTs in this contract\"}},\"notice\":\"This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC721.sol\":\"MockERC721\"},\"evmVersion\":\"cancun\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address","indexed":true},{"internalType":"address","name":"_approved","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"_owner","type":"address","indexed":true},{"internalType":"address","name":"_operator","type":"address","indexed":true},{"internalType":"bool","name":"_approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"_from","type":"address","indexed":true},{"internalType":"address","name":"_to","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"initialize(string,string)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"name()":{"notice":"A descriptive name for a collection of NFTs in this contract"},"symbol()":{"notice":"An abbreviated name for NFTs in this contract"}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC721.sol":"MockERC721"},"evmVersion":"cancun","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":33086,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":33088,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":33119,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_ownerOf","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":33123,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_balanceOf","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":33174,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_getApproved","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":33180,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_isApprovedForAll","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":33213,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"initialized","offset":0,"slot":"6","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user","methods":{"name()":{"notice":"A descriptive name for a collection of NFTs in this contract"},"symbol()":{"notice":"An abbreviated name for NFTs in this contract"}},"notice":"This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production."},"devdoc":{"version":1,"kind":"dev","details":"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol","methods":{"initialize(string,string)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"events":{"Approval(address,address,uint256)":{"details":"This emits when the approved address for an NFT is changed or reaffirmed. The zero address indicates there is no approved address. When a Transfer event emits, this also indicates that the approved address for that NFT (if any) is reset to none."},"ApprovalForAll(address,address,bool)":{"details":"This emits when an operator is enabled or disabled for an owner. The operator can manage all NFTs of the owner."},"Transfer(address,address,uint256)":{"details":"This emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any number of NFTs may be created and assigned without emitting Transfer. At the time of any transfer, the approved address for that NFT (if any) is reset to none."}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC721.sol","id":33697,"exportedSymbols":{"IERC721Metadata":[32309],"IERC721TokenReceiver":[33696],"MockERC721":[33682]},"nodeType":"SourceUnit","src":"32:7984:22","nodes":[{"id":33079,"nodeType":"PragmaDirective","src":"32:31:22","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":33081,"nodeType":"ImportDirective","src":"65:58:22","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC721.sol","file":"../interfaces/IERC721.sol","nameLocation":"-1:-1:-1","scope":33697,"sourceUnit":32338,"symbolAliases":[{"foreign":{"id":33080,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32309,"src":"73:15:22","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":33682,"nodeType":"ContractDefinition","src":"381:7498:22","nodes":[{"id":33086,"nodeType":"VariableDeclaration","src":"613:21:22","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"629:5:22","scope":33682,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":33085,"name":"string","nodeType":"ElementaryTypeName","src":"613:6:22","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":33088,"nodeType":"VariableDeclaration","src":"641:23:22","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"657:7:22","scope":33682,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":33087,"name":"string","nodeType":"ElementaryTypeName","src":"641:6:22","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":33097,"nodeType":"FunctionDefinition","src":"671:92:22","nodes":[],"body":{"id":33096,"nodeType":"Block","src":"734:29:22","nodes":[],"statements":[{"expression":{"id":33094,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33086,"src":"751:5:22","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":33093,"id":33095,"nodeType":"Return","src":"744:12:22"}]},"baseFunctions":[32294],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"680:4:22","overrides":{"id":33090,"nodeType":"OverrideSpecifier","overrides":[],"src":"701:8:22"},"parameters":{"id":33089,"nodeType":"ParameterList","parameters":[],"src":"684:2:22"},"returnParameters":{"id":33093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33092,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33097,"src":"719:13:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33091,"name":"string","nodeType":"ElementaryTypeName","src":"719:6:22","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"718:15:22"},"scope":33682,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":33106,"nodeType":"FunctionDefinition","src":"769:96:22","nodes":[],"body":{"id":33105,"nodeType":"Block","src":"834:31:22","nodes":[],"statements":[{"expression":{"id":33103,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33088,"src":"851:7:22","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":33102,"id":33104,"nodeType":"Return","src":"844:14:22"}]},"baseFunctions":[32300],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"778:6:22","overrides":{"id":33099,"nodeType":"OverrideSpecifier","overrides":[],"src":"801:8:22"},"parameters":{"id":33098,"nodeType":"ParameterList","parameters":[],"src":"784:2:22"},"returnParameters":{"id":33102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33101,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33106,"src":"819:13:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33100,"name":"string","nodeType":"ElementaryTypeName","src":"819:6:22","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"818:15:22"},"scope":33682,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":33115,"nodeType":"FunctionDefinition","src":"871:85:22","nodes":[],"body":{"id":33114,"nodeType":"Block","src":"954:2:22","nodes":[],"statements":[]},"baseFunctions":[32308],"functionSelector":"c87b56dd","implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"880:8:22","overrides":{"id":33110,"nodeType":"OverrideSpecifier","overrides":[],"src":"921:8:22"},"parameters":{"id":33109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33108,"mutability":"mutable","name":"id","nameLocation":"897:2:22","nodeType":"VariableDeclaration","scope":33115,"src":"889:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33107,"name":"uint256","nodeType":"ElementaryTypeName","src":"889:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"888:12:22"},"returnParameters":{"id":33113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33115,"src":"939:13:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33111,"name":"string","nodeType":"ElementaryTypeName","src":"939:6:22","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"938:15:22"},"scope":33682,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33119,"nodeType":"VariableDeclaration","src":"1152:45:22","nodes":[],"constant":false,"mutability":"mutable","name":"_ownerOf","nameLocation":"1189:8:22","scope":33682,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":33118,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":33116,"name":"uint256","nodeType":"ElementaryTypeName","src":"1160:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1152:27:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":33117,"name":"address","nodeType":"ElementaryTypeName","src":"1171:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"id":33123,"nodeType":"VariableDeclaration","src":"1204:47:22","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1241:10:22","scope":33682,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":33122,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":33120,"name":"address","nodeType":"ElementaryTypeName","src":"1212:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1204:27:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":33121,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":33147,"nodeType":"FunctionDefinition","src":"1258:158:22","nodes":[],"body":{"id":33146,"nodeType":"Block","src":"1340:76:22","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"id":33136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":33132,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33129,"src":"1359:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":33133,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33119,"src":"1367:8:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33135,"indexExpression":{"id":33134,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33125,"src":"1376:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1367:12:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1359:20:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":33137,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1358:22:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1392:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1384:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33138,"name":"address","nodeType":"ElementaryTypeName","src":"1384:7:22","typeDescriptions":{}}},"id":33141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1358:36:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4d494e544544","id":33143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1396:12:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""},"value":"NOT_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""}],"id":33131,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1350:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1350:59:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33145,"nodeType":"ExpressionStatement","src":"1350:59:22"}]},"baseFunctions":[32202],"functionSelector":"6352211e","implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1267:7:22","overrides":{"id":33127,"nodeType":"OverrideSpecifier","overrides":[],"src":"1307:8:22"},"parameters":{"id":33126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33125,"mutability":"mutable","name":"id","nameLocation":"1283:2:22","nodeType":"VariableDeclaration","scope":33147,"src":"1275:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33124,"name":"uint256","nodeType":"ElementaryTypeName","src":"1275:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1274:12:22"},"returnParameters":{"id":33130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33129,"mutability":"mutable","name":"owner","nameLocation":"1333:5:22","nodeType":"VariableDeclaration","scope":33147,"src":"1325:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33128,"name":"address","nodeType":"ElementaryTypeName","src":"1325:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1324:15:22"},"scope":33682,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33170,"nodeType":"FunctionDefinition","src":"1422:177:22","nodes":[],"body":{"id":33169,"nodeType":"Block","src":"1503:96:22","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33156,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33149,"src":"1521:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1538:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1530:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33157,"name":"address","nodeType":"ElementaryTypeName","src":"1530:7:22","typeDescriptions":{}}},"id":33160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1530:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1521:19:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f41444452455353","id":33162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1542:14:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af","typeString":"literal_string \"ZERO_ADDRESS\""},"value":"ZERO_ADDRESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af","typeString":"literal_string \"ZERO_ADDRESS\""}],"id":33155,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1513:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1513:44:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33164,"nodeType":"ExpressionStatement","src":"1513:44:22"},{"expression":{"baseExpression":{"id":33165,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33123,"src":"1575:10:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":33167,"indexExpression":{"id":33166,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33149,"src":"1586:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1575:17:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":33154,"id":33168,"nodeType":"Return","src":"1568:24:22"}]},"baseFunctions":[32194],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1431:9:22","overrides":{"id":33151,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:22"},"parameters":{"id":33150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33149,"mutability":"mutable","name":"owner","nameLocation":"1449:5:22","nodeType":"VariableDeclaration","scope":33170,"src":"1441:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33148,"name":"address","nodeType":"ElementaryTypeName","src":"1441:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1440:15:22"},"returnParameters":{"id":33154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33170,"src":"1494:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33152,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:22"},"scope":33682,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33174,"nodeType":"VariableDeclaration","src":"1793:49:22","nodes":[],"constant":false,"mutability":"mutable","name":"_getApproved","nameLocation":"1830:12:22","scope":33682,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":33173,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":33171,"name":"uint256","nodeType":"ElementaryTypeName","src":"1801:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1793:27:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":33172,"name":"address","nodeType":"ElementaryTypeName","src":"1812:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"id":33180,"nodeType":"VariableDeclaration","src":"1849:71:22","nodes":[],"constant":false,"mutability":"mutable","name":"_isApprovedForAll","nameLocation":"1903:17:22","scope":33682,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":33179,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":33175,"name":"address","nodeType":"ElementaryTypeName","src":"1857:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1849:44:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":33178,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":33176,"name":"address","nodeType":"ElementaryTypeName","src":"1876:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1868:24:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":33177,"name":"bool","nodeType":"ElementaryTypeName","src":"1887:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"},{"id":33193,"nodeType":"FunctionDefinition","src":"1927:120:22","nodes":[],"body":{"id":33192,"nodeType":"Block","src":"2007:40:22","nodes":[],"statements":[{"expression":{"baseExpression":{"id":33188,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33174,"src":"2024:12:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33190,"indexExpression":{"id":33189,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33182,"src":"2037:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2024:16:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":33187,"id":33191,"nodeType":"Return","src":"2017:23:22"}]},"baseFunctions":[32258],"functionSelector":"081812fc","implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"1936:11:22","overrides":{"id":33184,"nodeType":"OverrideSpecifier","overrides":[],"src":"1980:8:22"},"parameters":{"id":33183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33182,"mutability":"mutable","name":"id","nameLocation":"1956:2:22","nodeType":"VariableDeclaration","scope":33193,"src":"1948:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33181,"name":"uint256","nodeType":"ElementaryTypeName","src":"1948:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1947:12:22"},"returnParameters":{"id":33187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33186,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33193,"src":"1998:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33185,"name":"address","nodeType":"ElementaryTypeName","src":"1998:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1997:9:22"},"scope":33682,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33210,"nodeType":"FunctionDefinition","src":"2053:161:22","nodes":[],"body":{"id":33209,"nodeType":"Block","src":"2156:58:22","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":33203,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33180,"src":"2173:17:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":33205,"indexExpression":{"id":33204,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33195,"src":"2191:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2173:24:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":33207,"indexExpression":{"id":33206,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33197,"src":"2198:8:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2173:34:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":33202,"id":33208,"nodeType":"Return","src":"2166:41:22"}]},"baseFunctions":[32268],"functionSelector":"e985e9c5","implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"2062:16:22","overrides":{"id":33199,"nodeType":"OverrideSpecifier","overrides":[],"src":"2132:8:22"},"parameters":{"id":33198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33195,"mutability":"mutable","name":"owner","nameLocation":"2087:5:22","nodeType":"VariableDeclaration","scope":33210,"src":"2079:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33194,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33197,"mutability":"mutable","name":"operator","nameLocation":"2102:8:22","nodeType":"VariableDeclaration","scope":33210,"src":"2094:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33196,"name":"address","nodeType":"ElementaryTypeName","src":"2094:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2078:33:22"},"returnParameters":{"id":33202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33210,"src":"2150:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33200,"name":"bool","nodeType":"ElementaryTypeName","src":"2150:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2149:6:22"},"scope":33682,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33213,"nodeType":"VariableDeclaration","src":"2473:24:22","nodes":[],"constant":false,"documentation":{"id":33211,"nodeType":"StructuredDocumentation","src":"2401:67:22","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2486:11:22","scope":33682,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33212,"name":"bool","nodeType":"ElementaryTypeName","src":"2473:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":33240,"nodeType":"FunctionDefinition","src":"2706:212:22","nodes":[],"body":{"id":33239,"nodeType":"Block","src":"2777:141:22","nodes":[],"statements":[{"expression":{"arguments":[{"id":33223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2795:12:22","subExpression":{"id":33222,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33213,"src":"2796:11:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":33224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2809:21:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":33221,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2787:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2787:44:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33226,"nodeType":"ExpressionStatement","src":"2787:44:22"},{"expression":{"id":33229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":33227,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33086,"src":"2842:5:22","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33228,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33216,"src":"2850:5:22","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2842:13:22","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":33230,"nodeType":"ExpressionStatement","src":"2842:13:22"},{"expression":{"id":33233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":33231,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33088,"src":"2865:7:22","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33232,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33218,"src":"2875:7:22","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2865:17:22","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":33234,"nodeType":"ExpressionStatement","src":"2865:17:22"},{"expression":{"id":33237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":33235,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33213,"src":"2893:11:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":33236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2907:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2893:18:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33238,"nodeType":"ExpressionStatement","src":"2893:18:22"}]},"documentation":{"id":33214,"nodeType":"StructuredDocumentation","src":"2504:197:22","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"4cd88b76","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2715:10:22","parameters":{"id":33219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33216,"mutability":"mutable","name":"name_","nameLocation":"2740:5:22","nodeType":"VariableDeclaration","scope":33240,"src":"2726:19:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33215,"name":"string","nodeType":"ElementaryTypeName","src":"2726:6:22","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":33218,"mutability":"mutable","name":"symbol_","nameLocation":"2761:7:22","nodeType":"VariableDeclaration","scope":33240,"src":"2747:21:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33217,"name":"string","nodeType":"ElementaryTypeName","src":"2747:6:22","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2725:44:22"},"returnParameters":{"id":33220,"nodeType":"ParameterList","parameters":[],"src":"2777:0:22"},"scope":33682,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":33282,"nodeType":"FunctionDefinition","src":"3106:301:22","nodes":[],"body":{"id":33281,"nodeType":"Block","src":"3184:223:22","nodes":[],"statements":[{"assignments":[33249],"declarations":[{"constant":false,"id":33249,"mutability":"mutable","name":"owner","nameLocation":"3202:5:22","nodeType":"VariableDeclaration","scope":33281,"src":"3194:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33248,"name":"address","nodeType":"ElementaryTypeName","src":"3194:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":33253,"initialValue":{"baseExpression":{"id":33250,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33119,"src":"3210:8:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33252,"indexExpression":{"id":33251,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33244,"src":"3219:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3210:12:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3194:28:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33255,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3241:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3245:6:22","memberName":"sender","nodeType":"MemberAccess","src":"3241:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":33257,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33249,"src":"3255:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3241:19:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"baseExpression":{"id":33259,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33180,"src":"3264:17:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":33261,"indexExpression":{"id":33260,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33249,"src":"3282:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3264:24:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":33264,"indexExpression":{"expression":{"id":33262,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3289:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3293:6:22","memberName":"sender","nodeType":"MemberAccess","src":"3289:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3264:36:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3241:59:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f415554484f52495a4544","id":33266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3302:16:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""},"value":"NOT_AUTHORIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""}],"id":33254,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3233:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3233:86:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33268,"nodeType":"ExpressionStatement","src":"3233:86:22"},{"expression":{"id":33273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":33269,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33174,"src":"3330:12:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33271,"indexExpression":{"id":33270,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33244,"src":"3343:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3330:16:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33272,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33242,"src":"3349:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3330:26:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33274,"nodeType":"ExpressionStatement","src":"3330:26:22"},{"eventCall":{"arguments":[{"id":33276,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33249,"src":"3381:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33277,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33242,"src":"3388:7:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33278,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33244,"src":"3397:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33275,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32177,"src":"3372:8:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3372:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33280,"nodeType":"EmitStatement","src":"3367:33:22"}]},"baseFunctions":[32242],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3115:7:22","overrides":{"id":33246,"nodeType":"OverrideSpecifier","overrides":[],"src":"3175:8:22"},"parameters":{"id":33245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33242,"mutability":"mutable","name":"spender","nameLocation":"3131:7:22","nodeType":"VariableDeclaration","scope":33282,"src":"3123:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33241,"name":"address","nodeType":"ElementaryTypeName","src":"3123:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33244,"mutability":"mutable","name":"id","nameLocation":"3148:2:22","nodeType":"VariableDeclaration","scope":33282,"src":"3140:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33243,"name":"uint256","nodeType":"ElementaryTypeName","src":"3140:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3122:29:22"},"returnParameters":{"id":33247,"nodeType":"ParameterList","parameters":[],"src":"3184:0:22"},"scope":33682,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":33307,"nodeType":"FunctionDefinition","src":"3413:213:22","nodes":[],"body":{"id":33306,"nodeType":"Block","src":"3497:129:22","nodes":[],"statements":[{"expression":{"id":33297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":33290,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33180,"src":"3507:17:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":33294,"indexExpression":{"expression":{"id":33291,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3525:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3529:6:22","memberName":"sender","nodeType":"MemberAccess","src":"3525:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3507:29:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":33295,"indexExpression":{"id":33293,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33284,"src":"3537:8:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3507:39:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33296,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33286,"src":"3549:8:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3507:50:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33298,"nodeType":"ExpressionStatement","src":"3507:50:22"},{"eventCall":{"arguments":[{"expression":{"id":33300,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3588:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3592:6:22","memberName":"sender","nodeType":"MemberAccess","src":"3588:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33302,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33284,"src":"3600:8:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33303,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33286,"src":"3610:8:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":33299,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32186,"src":"3573:14:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":33304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3573:46:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33305,"nodeType":"EmitStatement","src":"3568:51:22"}]},"baseFunctions":[32250],"functionSelector":"a22cb465","implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"3422:17:22","overrides":{"id":33288,"nodeType":"OverrideSpecifier","overrides":[],"src":"3488:8:22"},"parameters":{"id":33287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33284,"mutability":"mutable","name":"operator","nameLocation":"3448:8:22","nodeType":"VariableDeclaration","scope":33307,"src":"3440:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33283,"name":"address","nodeType":"ElementaryTypeName","src":"3440:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33286,"mutability":"mutable","name":"approved","nameLocation":"3463:8:22","nodeType":"VariableDeclaration","scope":33307,"src":"3458:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33285,"name":"bool","nodeType":"ElementaryTypeName","src":"3458:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3439:33:22"},"returnParameters":{"id":33289,"nodeType":"ParameterList","parameters":[],"src":"3497:0:22"},"scope":33682,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":33386,"nodeType":"FunctionDefinition","src":"3632:693:22","nodes":[],"body":{"id":33385,"nodeType":"Block","src":"3724:601:22","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33318,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33309,"src":"3742:4:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":33319,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33119,"src":"3750:8:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33321,"indexExpression":{"id":33320,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33313,"src":"3759:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3750:12:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3742:20:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"57524f4e475f46524f4d","id":33323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3764:12:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93","typeString":"literal_string \"WRONG_FROM\""},"value":"WRONG_FROM"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93","typeString":"literal_string \"WRONG_FROM\""}],"id":33317,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3734:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3734:43:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33325,"nodeType":"ExpressionStatement","src":"3734:43:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33327,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33311,"src":"3796:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3810:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3802:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33328,"name":"address","nodeType":"ElementaryTypeName","src":"3802:7:22","typeDescriptions":{}}},"id":33331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3802:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3796:16:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f524543495049454e54","id":33333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3814:19:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""},"value":"INVALID_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""}],"id":33326,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3788:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3788:46:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33335,"nodeType":"ExpressionStatement","src":"3788:46:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33337,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3866:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3870:6:22","memberName":"sender","nodeType":"MemberAccess","src":"3866:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":33339,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33309,"src":"3880:4:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3866:18:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"baseExpression":{"id":33341,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33180,"src":"3888:17:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":33343,"indexExpression":{"id":33342,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33309,"src":"3906:4:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3888:23:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":33346,"indexExpression":{"expression":{"id":33344,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3912:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3916:6:22","memberName":"sender","nodeType":"MemberAccess","src":"3912:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3888:35:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3866:57:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33348,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3927:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3931:6:22","memberName":"sender","nodeType":"MemberAccess","src":"3927:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":33350,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33174,"src":"3941:12:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33352,"indexExpression":{"id":33351,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33313,"src":"3954:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3941:16:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3927:30:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3866:91:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f415554484f52495a4544","id":33355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3971:16:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""},"value":"NOT_AUTHORIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""}],"id":33336,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3845:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3845:152:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33357,"nodeType":"ExpressionStatement","src":"3845:152:22"},{"expression":{"id":33361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"4173:18:22","subExpression":{"baseExpression":{"id":33358,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33123,"src":"4173:10:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":33360,"indexExpression":{"id":33359,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33309,"src":"4184:4:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4173:16:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33362,"nodeType":"ExpressionStatement","src":"4173:18:22"},{"expression":{"id":33366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4202:16:22","subExpression":{"baseExpression":{"id":33363,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33123,"src":"4202:10:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":33365,"indexExpression":{"id":33364,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33311,"src":"4213:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4202:14:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33367,"nodeType":"ExpressionStatement","src":"4202:16:22"},{"expression":{"id":33372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":33368,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33119,"src":"4229:8:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33370,"indexExpression":{"id":33369,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33313,"src":"4238:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4229:12:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33371,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33311,"src":"4244:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4229:17:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33373,"nodeType":"ExpressionStatement","src":"4229:17:22"},{"expression":{"id":33377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4257:23:22","subExpression":{"baseExpression":{"id":33374,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33174,"src":"4264:12:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33376,"indexExpression":{"id":33375,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33313,"src":"4277:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4264:16:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33378,"nodeType":"ExpressionStatement","src":"4257:23:22"},{"eventCall":{"arguments":[{"id":33380,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33309,"src":"4305:4:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33381,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33311,"src":"4311:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33382,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33313,"src":"4315:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33379,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32168,"src":"4296:8:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:22:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33384,"nodeType":"EmitStatement","src":"4291:27:22"}]},"baseFunctions":[32234],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3641:12:22","overrides":{"id":33315,"nodeType":"OverrideSpecifier","overrides":[],"src":"3715:8:22"},"parameters":{"id":33314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33309,"mutability":"mutable","name":"from","nameLocation":"3662:4:22","nodeType":"VariableDeclaration","scope":33386,"src":"3654:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33308,"name":"address","nodeType":"ElementaryTypeName","src":"3654:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33311,"mutability":"mutable","name":"to","nameLocation":"3676:2:22","nodeType":"VariableDeclaration","scope":33386,"src":"3668:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33310,"name":"address","nodeType":"ElementaryTypeName","src":"3668:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33313,"mutability":"mutable","name":"id","nameLocation":"3688:2:22","nodeType":"VariableDeclaration","scope":33386,"src":"3680:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33312,"name":"uint256","nodeType":"ElementaryTypeName","src":"3680:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3653:38:22"},"returnParameters":{"id":33316,"nodeType":"ParameterList","parameters":[],"src":"3724:0:22"},"scope":33682,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":33426,"nodeType":"FunctionDefinition","src":"4331:386:22","nodes":[],"body":{"id":33425,"nodeType":"Block","src":"4427:290:22","nodes":[],"statements":[{"expression":{"arguments":[{"id":33397,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33388,"src":"4450:4:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33398,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33390,"src":"4456:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33399,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33392,"src":"4460:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33396,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33386,"src":"4437:12:22","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4437:26:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33401,"nodeType":"ExpressionStatement","src":"4437:26:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4495:16:22","subExpression":{"arguments":[{"id":33404,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33390,"src":"4508:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33403,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33681,"src":"4496:11:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":33405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4496:15:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":33411,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4573:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4577:6:22","memberName":"sender","nodeType":"MemberAccess","src":"4573:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33413,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33388,"src":"4585:4:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33414,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33392,"src":"4591:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":33415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4595:2:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":33408,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33390,"src":"4552:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33407,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"4531:20:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$33696_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4531:24:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$33696","typeString":"contract IERC721TokenReceiver"}},"id":33410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4556:16:22","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33695,"src":"4531:41:22","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":33416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4531:67:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":33417,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"4622:20:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$33696_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4643:16:22","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33695,"src":"4622:37:22","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":33419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4660:8:22","memberName":"selector","nodeType":"MemberAccess","src":"4622:46:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4531:137:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4495:173:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":33422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4682:18:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":33402,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4474:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4474:236:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33424,"nodeType":"ExpressionStatement","src":"4474:236:22"}]},"baseFunctions":[32224],"functionSelector":"42842e0e","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4340:16:22","overrides":{"id":33394,"nodeType":"OverrideSpecifier","overrides":[],"src":"4418:8:22"},"parameters":{"id":33393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33388,"mutability":"mutable","name":"from","nameLocation":"4365:4:22","nodeType":"VariableDeclaration","scope":33426,"src":"4357:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33387,"name":"address","nodeType":"ElementaryTypeName","src":"4357:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33390,"mutability":"mutable","name":"to","nameLocation":"4379:2:22","nodeType":"VariableDeclaration","scope":33426,"src":"4371:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33389,"name":"address","nodeType":"ElementaryTypeName","src":"4371:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33392,"mutability":"mutable","name":"id","nameLocation":"4391:2:22","nodeType":"VariableDeclaration","scope":33426,"src":"4383:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33391,"name":"uint256","nodeType":"ElementaryTypeName","src":"4383:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4356:38:22"},"returnParameters":{"id":33395,"nodeType":"ParameterList","parameters":[],"src":"4427:0:22"},"scope":33682,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":33468,"nodeType":"FunctionDefinition","src":"4723:443:22","nodes":[],"body":{"id":33467,"nodeType":"Block","src":"4874:292:22","nodes":[],"statements":[{"expression":{"arguments":[{"id":33439,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33428,"src":"4897:4:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33440,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33430,"src":"4903:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33441,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33432,"src":"4907:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33438,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33386,"src":"4884:12:22","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4884:26:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33443,"nodeType":"ExpressionStatement","src":"4884:26:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4942:16:22","subExpression":{"arguments":[{"id":33446,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33430,"src":"4955:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33445,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33681,"src":"4943:11:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":33447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4943:15:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":33453,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5020:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5024:6:22","memberName":"sender","nodeType":"MemberAccess","src":"5020:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33455,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33428,"src":"5032:4:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33456,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33432,"src":"5038:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33457,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33434,"src":"5042:4:22","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":33450,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33430,"src":"4999:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33449,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"4978:20:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$33696_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4978:24:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$33696","typeString":"contract IERC721TokenReceiver"}},"id":33452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5003:16:22","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33695,"src":"4978:41:22","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":33458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4978:69:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":33459,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"5071:20:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$33696_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5092:16:22","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33695,"src":"5071:37:22","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":33461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5109:8:22","memberName":"selector","nodeType":"MemberAccess","src":"5071:46:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4978:139:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4942:175:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":33464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5131:18:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":33444,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4921:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4921:238:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33466,"nodeType":"ExpressionStatement","src":"4921:238:22"}]},"baseFunctions":[32214],"functionSelector":"b88d4fde","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4732:16:22","overrides":{"id":33436,"nodeType":"OverrideSpecifier","overrides":[],"src":"4861:8:22"},"parameters":{"id":33435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33428,"mutability":"mutable","name":"from","nameLocation":"4757:4:22","nodeType":"VariableDeclaration","scope":33468,"src":"4749:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33427,"name":"address","nodeType":"ElementaryTypeName","src":"4749:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33430,"mutability":"mutable","name":"to","nameLocation":"4771:2:22","nodeType":"VariableDeclaration","scope":33468,"src":"4763:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33429,"name":"address","nodeType":"ElementaryTypeName","src":"4763:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33432,"mutability":"mutable","name":"id","nameLocation":"4783:2:22","nodeType":"VariableDeclaration","scope":33468,"src":"4775:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33431,"name":"uint256","nodeType":"ElementaryTypeName","src":"4775:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33434,"mutability":"mutable","name":"data","nameLocation":"4800:4:22","nodeType":"VariableDeclaration","scope":33468,"src":"4787:17:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":33433,"name":"bytes","nodeType":"ElementaryTypeName","src":"4787:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4748:57:22"},"returnParameters":{"id":33437,"nodeType":"ParameterList","parameters":[],"src":"4874:0:22"},"scope":33682,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":33489,"nodeType":"FunctionDefinition","src":"5354:332:22","nodes":[],"body":{"id":33488,"nodeType":"Block","src":"5445:241:22","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33476,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33470,"src":"5462:11:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783031666663396137","id":33477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5477:10:22","typeDescriptions":{"typeIdentifier":"t_rational_33540519_by_1","typeString":"int_const 33540519"},"value":"0x01ffc9a7"},"src":"5462:25:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33479,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33470,"src":"5537:11:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783830616335386364","id":33480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5552:10:22","typeDescriptions":{"typeIdentifier":"t_rational_2158778573_by_1","typeString":"int_const 2158778573"},"value":"0x80ac58cd"},"src":"5537:25:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5462:100:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33483,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33470,"src":"5612:11:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783562356531333966","id":33484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5627:10:22","typeDescriptions":{"typeIdentifier":"t_rational_1532892063_by_1","typeString":"int_const 1532892063"},"value":"0x5b5e139f"},"src":"5612:25:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5462:175:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":33475,"id":33487,"nodeType":"Return","src":"5455:182:22"}]},"baseFunctions":[32056],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"5363:17:22","overrides":{"id":33472,"nodeType":"OverrideSpecifier","overrides":[],"src":"5421:8:22"},"parameters":{"id":33471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33470,"mutability":"mutable","name":"interfaceId","nameLocation":"5388:11:22","nodeType":"VariableDeclaration","scope":33489,"src":"5381:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":33469,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5381:6:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"5380:20:22"},"returnParameters":{"id":33475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33489,"src":"5439:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33473,"name":"bool","nodeType":"ElementaryTypeName","src":"5439:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5438:6:22"},"scope":33682,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33539,"nodeType":"FunctionDefinition","src":"5880:338:22","nodes":[],"body":{"id":33538,"nodeType":"Block","src":"5936:282:22","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33497,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33491,"src":"5954:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5968:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5960:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33498,"name":"address","nodeType":"ElementaryTypeName","src":"5960:7:22","typeDescriptions":{}}},"id":33501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5960:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5954:16:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f524543495049454e54","id":33503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5972:19:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""},"value":"INVALID_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""}],"id":33496,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"5946:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5946:46:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33505,"nodeType":"ExpressionStatement","src":"5946:46:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":33507,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33119,"src":"6011:8:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33509,"indexExpression":{"id":33508,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33493,"src":"6020:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6011:12:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":33512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6035:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6027:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33510,"name":"address","nodeType":"ElementaryTypeName","src":"6027:7:22","typeDescriptions":{}}},"id":33513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6027:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6011:26:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f4d494e544544","id":33515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6039:16:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b","typeString":"literal_string \"ALREADY_MINTED\""},"value":"ALREADY_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b","typeString":"literal_string \"ALREADY_MINTED\""}],"id":33506,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6003:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6003:53:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33517,"nodeType":"ExpressionStatement","src":"6003:53:22"},{"expression":{"id":33521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6123:16:22","subExpression":{"baseExpression":{"id":33518,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33123,"src":"6123:10:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":33520,"indexExpression":{"id":33519,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33491,"src":"6134:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6123:14:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33522,"nodeType":"ExpressionStatement","src":"6123:16:22"},{"expression":{"id":33527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":33523,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33119,"src":"6150:8:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33525,"indexExpression":{"id":33524,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33493,"src":"6159:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6150:12:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33526,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33491,"src":"6165:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6150:17:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33528,"nodeType":"ExpressionStatement","src":"6150:17:22"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":33532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6200:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6192:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33530,"name":"address","nodeType":"ElementaryTypeName","src":"6192:7:22","typeDescriptions":{}}},"id":33533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6192:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33534,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33491,"src":"6204:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33535,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33493,"src":"6208:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33529,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32168,"src":"6183:8:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6183:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33537,"nodeType":"EmitStatement","src":"6178:33:22"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"5889:5:22","parameters":{"id":33494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33491,"mutability":"mutable","name":"to","nameLocation":"5903:2:22","nodeType":"VariableDeclaration","scope":33539,"src":"5895:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33490,"name":"address","nodeType":"ElementaryTypeName","src":"5895:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33493,"mutability":"mutable","name":"id","nameLocation":"5915:2:22","nodeType":"VariableDeclaration","scope":33539,"src":"5907:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33492,"name":"uint256","nodeType":"ElementaryTypeName","src":"5907:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5894:24:22"},"returnParameters":{"id":33495,"nodeType":"ParameterList","parameters":[],"src":"5936:0:22"},"scope":33682,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33585,"nodeType":"FunctionDefinition","src":"6224:283:22","nodes":[],"body":{"id":33584,"nodeType":"Block","src":"6268:239:22","nodes":[],"statements":[{"assignments":[33545],"declarations":[{"constant":false,"id":33545,"mutability":"mutable","name":"owner","nameLocation":"6286:5:22","nodeType":"VariableDeclaration","scope":33584,"src":"6278:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33544,"name":"address","nodeType":"ElementaryTypeName","src":"6278:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":33549,"initialValue":{"baseExpression":{"id":33546,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33119,"src":"6294:8:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33548,"indexExpression":{"id":33547,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33541,"src":"6303:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6294:12:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6278:28:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33551,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33545,"src":"6325:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6342:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6334:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33552,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:22","typeDescriptions":{}}},"id":33555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6334:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6325:19:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4d494e544544","id":33557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6346:12:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""},"value":"NOT_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""}],"id":33550,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6317:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6317:42:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33559,"nodeType":"ExpressionStatement","src":"6317:42:22"},{"expression":{"id":33563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"6370:19:22","subExpression":{"baseExpression":{"id":33560,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33123,"src":"6370:10:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":33562,"indexExpression":{"id":33561,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33545,"src":"6381:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6370:17:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33564,"nodeType":"ExpressionStatement","src":"6370:19:22"},{"expression":{"id":33568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6400:19:22","subExpression":{"baseExpression":{"id":33565,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33119,"src":"6407:8:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33567,"indexExpression":{"id":33566,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33541,"src":"6416:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6407:12:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33569,"nodeType":"ExpressionStatement","src":"6400:19:22"},{"expression":{"id":33573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6430:23:22","subExpression":{"baseExpression":{"id":33570,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33174,"src":"6437:12:22","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33572,"indexExpression":{"id":33571,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33541,"src":"6450:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6437:16:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33574,"nodeType":"ExpressionStatement","src":"6430:23:22"},{"eventCall":{"arguments":[{"id":33576,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33545,"src":"6478:5:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":33579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6493:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6485:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33577,"name":"address","nodeType":"ElementaryTypeName","src":"6485:7:22","typeDescriptions":{}}},"id":33580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6485:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33581,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33541,"src":"6497:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33575,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32168,"src":"6469:8:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6469:31:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33583,"nodeType":"EmitStatement","src":"6464:36:22"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6233:5:22","parameters":{"id":33542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33541,"mutability":"mutable","name":"id","nameLocation":"6247:2:22","nodeType":"VariableDeclaration","scope":33585,"src":"6239:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33540,"name":"uint256","nodeType":"ElementaryTypeName","src":"6239:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6238:12:22"},"returnParameters":{"id":33543,"nodeType":"ParameterList","parameters":[],"src":"6268:0:22"},"scope":33682,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33624,"nodeType":"FunctionDefinition","src":"6701:343:22","nodes":[],"body":{"id":33623,"nodeType":"Block","src":"6761:283:22","nodes":[],"statements":[{"expression":{"arguments":[{"id":33593,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33587,"src":"6777:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33594,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33589,"src":"6781:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33592,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33539,"src":"6771:5:22","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":33595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6771:13:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33596,"nodeType":"ExpressionStatement","src":"6771:13:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6816:16:22","subExpression":{"arguments":[{"id":33599,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33587,"src":"6829:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33598,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33681,"src":"6817:11:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":33600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6817:15:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":33606,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6894:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6898:6:22","memberName":"sender","nodeType":"MemberAccess","src":"6894:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":33610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6914:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6906:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33608,"name":"address","nodeType":"ElementaryTypeName","src":"6906:7:22","typeDescriptions":{}}},"id":33611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6906:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33612,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33589,"src":"6918:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":33613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6922:2:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":33603,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33587,"src":"6873:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33602,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"6852:20:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$33696_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6852:24:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$33696","typeString":"contract IERC721TokenReceiver"}},"id":33605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6877:16:22","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33695,"src":"6852:41:22","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":33614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6852:73:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":33615,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"6949:20:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$33696_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6970:16:22","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33695,"src":"6949:37:22","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":33617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6987:8:22","memberName":"selector","nodeType":"MemberAccess","src":"6949:46:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"6852:143:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6816:179:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":33620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7009:18:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":33597,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6795:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6795:242:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33622,"nodeType":"ExpressionStatement","src":"6795:242:22"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"6710:9:22","parameters":{"id":33590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33587,"mutability":"mutable","name":"to","nameLocation":"6728:2:22","nodeType":"VariableDeclaration","scope":33624,"src":"6720:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33586,"name":"address","nodeType":"ElementaryTypeName","src":"6720:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33589,"mutability":"mutable","name":"id","nameLocation":"6740:2:22","nodeType":"VariableDeclaration","scope":33624,"src":"6732:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33588,"name":"uint256","nodeType":"ElementaryTypeName","src":"6732:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6719:24:22"},"returnParameters":{"id":33591,"nodeType":"ParameterList","parameters":[],"src":"6761:0:22"},"scope":33682,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33665,"nodeType":"FunctionDefinition","src":"7050:364:22","nodes":[],"body":{"id":33664,"nodeType":"Block","src":"7129:285:22","nodes":[],"statements":[{"expression":{"arguments":[{"id":33634,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33626,"src":"7145:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33635,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33628,"src":"7149:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33633,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33539,"src":"7139:5:22","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":33636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7139:13:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33637,"nodeType":"ExpressionStatement","src":"7139:13:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7184:16:22","subExpression":{"arguments":[{"id":33640,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33626,"src":"7197:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33639,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33681,"src":"7185:11:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":33641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7185:15:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":33647,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7262:3:22","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7266:6:22","memberName":"sender","nodeType":"MemberAccess","src":"7262:10:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":33651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7282:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7274:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33649,"name":"address","nodeType":"ElementaryTypeName","src":"7274:7:22","typeDescriptions":{}}},"id":33652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7274:10:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33653,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33628,"src":"7286:2:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33654,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33630,"src":"7290:4:22","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":33644,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33626,"src":"7241:2:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33643,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"7220:20:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$33696_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7220:24:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$33696","typeString":"contract IERC721TokenReceiver"}},"id":33646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7245:16:22","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33695,"src":"7220:41:22","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":33655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7220:75:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":33656,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"7319:20:22","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$33696_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7340:16:22","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":33695,"src":"7319:37:22","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":33658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7357:8:22","memberName":"selector","nodeType":"MemberAccess","src":"7319:46:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7220:145:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7184:181:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":33661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7379:18:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":33638,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7163:7:22","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7163:244:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33663,"nodeType":"ExpressionStatement","src":"7163:244:22"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"7059:9:22","parameters":{"id":33631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33626,"mutability":"mutable","name":"to","nameLocation":"7077:2:22","nodeType":"VariableDeclaration","scope":33665,"src":"7069:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33625,"name":"address","nodeType":"ElementaryTypeName","src":"7069:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33628,"mutability":"mutable","name":"id","nameLocation":"7089:2:22","nodeType":"VariableDeclaration","scope":33665,"src":"7081:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33627,"name":"uint256","nodeType":"ElementaryTypeName","src":"7081:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33630,"mutability":"mutable","name":"data","nameLocation":"7106:4:22","nodeType":"VariableDeclaration","scope":33665,"src":"7093:17:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":33629,"name":"bytes","nodeType":"ElementaryTypeName","src":"7093:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7068:43:22"},"returnParameters":{"id":33632,"nodeType":"ParameterList","parameters":[],"src":"7129:0:22"},"scope":33682,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":33681,"nodeType":"FunctionDefinition","src":"7599:278:22","nodes":[],"body":{"id":33680,"nodeType":"Block","src":"7663:214:22","nodes":[],"statements":[{"assignments":[33673],"declarations":[{"constant":false,"id":33673,"mutability":"mutable","name":"codeLength","nameLocation":"7681:10:22","nodeType":"VariableDeclaration","scope":33680,"src":"7673:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33672,"name":"uint256","nodeType":"ElementaryTypeName","src":"7673:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":33674,"nodeType":"VariableDeclarationStatement","src":"7673:18:22"},{"AST":{"nativeSrc":"7783:56:22","nodeType":"YulBlock","src":"7783:56:22","statements":[{"nativeSrc":"7797:32:22","nodeType":"YulAssignment","src":"7797:32:22","value":{"arguments":[{"name":"_addr","nativeSrc":"7823:5:22","nodeType":"YulIdentifier","src":"7823:5:22"}],"functionName":{"name":"extcodesize","nativeSrc":"7811:11:22","nodeType":"YulIdentifier","src":"7811:11:22"},"nativeSrc":"7811:18:22","nodeType":"YulFunctionCall","src":"7811:18:22"},"variableNames":[{"name":"codeLength","nativeSrc":"7797:10:22","nodeType":"YulIdentifier","src":"7797:10:22"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":33667,"isOffset":false,"isSlot":false,"src":"7823:5:22","valueSize":1},{"declaration":33673,"isOffset":false,"isSlot":false,"src":"7797:10:22","valueSize":1}],"id":33675,"nodeType":"InlineAssembly","src":"7774:65:22"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33676,"name":"codeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33673,"src":"7856:10:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":33677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7869:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7856:14:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":33671,"id":33679,"nodeType":"Return","src":"7849:21:22"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isContract","nameLocation":"7608:11:22","parameters":{"id":33668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33667,"mutability":"mutable","name":"_addr","nameLocation":"7628:5:22","nodeType":"VariableDeclaration","scope":33681,"src":"7620:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33666,"name":"address","nodeType":"ElementaryTypeName","src":"7620:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7619:15:22"},"returnParameters":{"id":33671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33670,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33681,"src":"7657:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33669,"name":"bool","nodeType":"ElementaryTypeName","src":"7657:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7656:6:22"},"scope":33682,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":33083,"name":"IERC721Metadata","nameLocations":["404:15:22"],"nodeType":"IdentifierPath","referencedDeclaration":32309,"src":"404:15:22"},"id":33084,"nodeType":"InheritanceSpecifier","src":"404:15:22"}],"canonicalName":"MockERC721","contractDependencies":[],"contractKind":"contract","documentation":{"id":33082,"nodeType":"StructuredDocumentation","src":"125:256:22","text":"@notice This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol"},"fullyImplemented":true,"linearizedBaseContracts":[33682,32309,32269,32057],"name":"MockERC721","nameLocation":"390:10:22","scope":33697,"usedErrors":[],"usedEvents":[32168,32177,32186]},{"id":33696,"nodeType":"ContractDefinition","src":"7881:134:22","nodes":[{"id":33695,"nodeType":"FunctionDefinition","src":"7918:95:22","nodes":[],"functionSelector":"150b7a02","implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"7927:16:22","parameters":{"id":33691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33684,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33695,"src":"7944:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33683,"name":"address","nodeType":"ElementaryTypeName","src":"7944:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33695,"src":"7953:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33685,"name":"address","nodeType":"ElementaryTypeName","src":"7953:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33688,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33695,"src":"7962:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33687,"name":"uint256","nodeType":"ElementaryTypeName","src":"7962:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33695,"src":"7971:14:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":33689,"name":"bytes","nodeType":"ElementaryTypeName","src":"7971:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7943:43:22"},"returnParameters":{"id":33694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33695,"src":"8005:6:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":33692,"name":"bytes4","nodeType":"ElementaryTypeName","src":"8005:6:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"8004:8:22"},"scope":33696,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC721TokenReceiver","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[33696],"name":"IERC721TokenReceiver","nameLocation":"7891:20:22","scope":33697,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":22}