3 txs
65 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getNextId
viewfunction getNextId() view returns (uint256)
hiddenMetadataUri
viewfunction hiddenMetadataUri() view returns (string)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
maxFreePerWallet
viewfunction maxFreePerWallet() view returns (uint256)
maxPerTx
viewfunction maxPerTx() view returns (uint256)
maxSupply
viewfunction maxSupply() view returns (uint256)
mintEnabled
viewfunction mintEnabled() view returns (bool)
name
viewfunction name() view returns (string)
nextId
viewfunction nextId() view returns (uint256)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
price
viewfunction price() view returns (uint256)
revealed
viewfunction revealed() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalFree
viewfunction totalFree() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address to, uint256 tokenId)
flipSale
nonpayablefunction flipSale()
FREEMINTWL
nonpayablefunction FREEMINTWL(address to, uint256 quantity)
mint
payablefunction mint(uint256 count) payable
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string uri)
setFreeAmount
nonpayablefunction setFreeAmount(uint256 amount)
setHiddenMetadataUri
nonpayablefunction setHiddenMetadataUri(string _hiddenMetadataUri)
setPrice
nonpayablefunction setPrice(uint256 _newPrice)
setRevealed
nonpayablefunction setRevealed()
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw()
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
ApprovalCallerNotOwnerNorApproved
error ApprovalCallerNotOwnerNorApproved()
ApprovalQueryForNonexistentToken
error ApprovalQueryForNonexistentToken()
ApprovalToCurrentOwner
error ApprovalToCurrentOwner()
ApproveToCaller
error ApproveToCaller()
BalanceQueryForZeroAddress
error BalanceQueryForZeroAddress()
MintToZeroAddress
error MintToZeroAddress()
MintZeroQuantity
error MintZeroQuantity()
OwnerQueryForNonexistentToken
error OwnerQueryForNonexistentToken()
TransferCallerNotOwnerNorApproved
error TransferCallerNotOwnerNorApproved()
TransferFromIncorrectOwner
error TransferFromIncorrectOwner()
TransferToNonERC721ReceiverImplementer
error TransferToNonERC721ReceiverImplementer()
TransferToZeroAddress
error TransferToZeroAddress()
creation bytecode
0x60806040526638d7ea4c680000600b556003600c556003600d55612710600e55612710600f5560006010556000601160006101000a81548160ff0219169083151502179055506001601160016101000a81548160ff0219169083151502179055503480156200006d57600080fd5b506040518060400160405280600c81526020017f4f6d6567612044726f69647300000000000000000000000000000000000000008152506040518060400160405280600881526020017f4f2d44524f4944530000000000000000000000000000000000000000000000008152508160029080519060200190620000f29291906200042d565b5080600390805190602001906200010b9291906200042d565b506200011c620001d660201b60201c565b60008190555050506200014462000138620001df60201b60201c565b620001e760201b60201c565b6200018a6040518060400160405280601781526020017f68747470733a2f2f617069322e30786433382e78797a2f000000000000000000815250620002ad60201b60201c565b620001d06040518060400160405280601781526020017f68747470733a2f2f617069322e30786433382e78797a2f0000000000000000008152506200035860201b60201c565b620005c5565b60006001905090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002bd620001df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620002e36200040360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200033c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003339062000504565b60405180910390fd5b80600a9080519060200190620003549291906200042d565b5050565b62000368620001df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200038e6200040360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620003e7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003de9062000504565b60405180910390fd5b8060099080519060200190620003ff9291906200042d565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200043b9062000537565b90600052602060002090601f0160209004810192826200045f5760008555620004ab565b82601f106200047a57805160ff1916838001178555620004ab565b82800160010185558215620004ab579182015b82811115620004aa5782518255916020019190600101906200048d565b5b509050620004ba9190620004be565b5090565b5b80821115620004d9576000816000905550600101620004bf565b5090565b6000620004ec60208362000526565b9150620004f9826200059c565b602082019050919050565b600060208201905081810360008301526200051f81620004dd565b9050919050565b600082825260208201905092915050565b600060028204905060018216806200055057607f821691505b602082108114156200056757620005666200056d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b613bed80620005d56000396000f3fe60806040526004361061020f5760003560e01c80638da5cb5b11610118578063a7027357116100a0578063d12397301161006f578063d123973014610730578063d5abeb011461075b578063e985e9c514610786578063f2fde38b146107c3578063f968adbe146107ec5761020f565b8063a702735714610674578063b88d4fde1461069f578063bc968326146106c8578063c87b56dd146106f35761020f565b80639c3afbf5116100e75780639c3afbf5146105b0578063a035b1fe146105d9578063a0712d6814610604578063a22cb46514610620578063a45ba8e7146106495761020f565b80638da5cb5b1461050857806391b7f5ed1461053357806392910eec1461055c57806395d89b41146105855761020f565b806342842e0e1161019b57806361b8ce8c1161016a57806361b8ce8c146104355780636352211e1461046057806370a082311461049d578063715018a6146104da5780637ba5e621146104f15761020f565b806342842e0e1461038f5780634fdd43cb146103b857806351830227146103e157806355f804b31461040c5761020f565b806318160ddd116101e257806318160ddd146102e257806323b872dd1461030d578063333e44e6146103365780633bd64968146103615780633ccfd60b146103785761020f565b806301ffc9a71461021457806306fdde0314610251578063081812fc1461027c578063095ea7b3146102b9575b600080fd5b34801561022057600080fd5b5061023b60048036038101906102369190612ef6565b610817565b6040516102489190613358565b60405180910390f35b34801561025d57600080fd5b506102666108f9565b6040516102739190613373565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e9190612f99565b61098b565b6040516102b091906132f1565b60405180910390f35b3480156102c557600080fd5b506102e060048036038101906102db9190612eb6565b610a07565b005b3480156102ee57600080fd5b506102f7610b12565b60405161030491906134b5565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f9190612da0565b610b29565b005b34801561034257600080fd5b5061034b610b39565b60405161035891906134b5565b60405180910390f35b34801561036d57600080fd5b50610376610b3f565b005b34801561038457600080fd5b5061038d610be7565b005b34801561039b57600080fd5b506103b660048036038101906103b19190612da0565b610d12565b005b3480156103c457600080fd5b506103df60048036038101906103da9190612f50565b610d32565b005b3480156103ed57600080fd5b506103f6610dc8565b6040516104039190613358565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e9190612f50565b610ddb565b005b34801561044157600080fd5b5061044a610e71565b60405161045791906134b5565b60405180910390f35b34801561046c57600080fd5b5061048760048036038101906104829190612f99565b610e77565b60405161049491906132f1565b60405180910390f35b3480156104a957600080fd5b506104c460048036038101906104bf9190612d33565b610e8d565b6040516104d191906134b5565b60405180910390f35b3480156104e657600080fd5b506104ef610f5d565b005b3480156104fd57600080fd5b50610506610fe5565b005b34801561051457600080fd5b5061051d61108d565b60405161052a91906132f1565b60405180910390f35b34801561053f57600080fd5b5061055a60048036038101906105559190612f99565b6110b7565b005b34801561056857600080fd5b50610583600480360381019061057e9190612f99565b61113d565b005b34801561059157600080fd5b5061059a6111c3565b6040516105a79190613373565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d29190612eb6565b611255565b005b3480156105e557600080fd5b506105ee611336565b6040516105fb91906134b5565b60405180910390f35b61061e60048036038101906106199190612f99565b61133c565b005b34801561062c57600080fd5b5061064760048036038101906106429190612e76565b611592565b005b34801561065557600080fd5b5061065e61170a565b60405161066b9190613373565b60405180910390f35b34801561068057600080fd5b50610689611798565b60405161069691906134b5565b60405180910390f35b3480156106ab57600080fd5b506106c660048036038101906106c19190612df3565b61179e565b005b3480156106d457600080fd5b506106dd61181a565b6040516106ea91906134b5565b60405180910390f35b3480156106ff57600080fd5b5061071a60048036038101906107159190612f99565b611824565b6040516107279190613373565b60405180910390f35b34801561073c57600080fd5b506107456118e5565b6040516107529190613358565b60405180910390f35b34801561076757600080fd5b506107706118f8565b60405161077d91906134b5565b60405180910390f35b34801561079257600080fd5b506107ad60048036038101906107a89190612d60565b6118fe565b6040516107ba9190613358565b60405180910390f35b3480156107cf57600080fd5b506107ea60048036038101906107e59190612d33565b611992565b005b3480156107f857600080fd5b50610801611a8a565b60405161080e91906134b5565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108e257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108f257506108f182611a90565b5b9050919050565b60606002805461090890613785565b80601f016020809104026020016040519081016040528092919081815260200182805461093490613785565b80156109815780601f1061095657610100808354040283529160200191610981565b820191906000526020600020905b81548152906001019060200180831161096457829003601f168201915b5050505050905090565b600061099682611afa565b6109cc576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a1282610e77565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a7a576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610a99611b48565b73ffffffffffffffffffffffffffffffffffffffff1614158015610acb5750610ac981610ac4611b48565b6118fe565b155b15610b02576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b0d838383611b50565b505050565b6000610b1c611c02565b6001546000540303905090565b610b34838383611c0b565b505050565b600e5481565b610b47611b48565b73ffffffffffffffffffffffffffffffffffffffff16610b6561108d565b73ffffffffffffffffffffffffffffffffffffffff1614610bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb290613415565b60405180910390fd5b601160019054906101000a900460ff1615601160016101000a81548160ff021916908315150217905550565b610bef611b48565b73ffffffffffffffffffffffffffffffffffffffff16610c0d61108d565b73ffffffffffffffffffffffffffffffffffffffff1614610c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5a90613415565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610c89906132dc565b60006040518083038185875af1925050503d8060008114610cc6576040519150601f19603f3d011682016040523d82523d6000602084013e610ccb565b606091505b5050905080610d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0690613475565b60405180910390fd5b50565b610d2d8383836040518060200160405280600081525061179e565b505050565b610d3a611b48565b73ffffffffffffffffffffffffffffffffffffffff16610d5861108d565b73ffffffffffffffffffffffffffffffffffffffff1614610dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da590613415565b60405180910390fd5b80600a9080519060200190610dc4929190612b04565b5050565b601160019054906101000a900460ff1681565b610de3611b48565b73ffffffffffffffffffffffffffffffffffffffff16610e0161108d565b73ffffffffffffffffffffffffffffffffffffffff1614610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e90613415565b60405180910390fd5b8060099080519060200190610e6d929190612b04565b5050565b60105481565b6000610e82826120c1565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ef5576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b610f65611b48565b73ffffffffffffffffffffffffffffffffffffffff16610f8361108d565b73ffffffffffffffffffffffffffffffffffffffff1614610fd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd090613415565b60405180910390fd5b610fe36000612350565b565b610fed611b48565b73ffffffffffffffffffffffffffffffffffffffff1661100b61108d565b73ffffffffffffffffffffffffffffffffffffffff1614611061576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105890613415565b60405180910390fd5b601160009054906101000a900460ff1615601160006101000a81548160ff021916908315150217905550565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110bf611b48565b73ffffffffffffffffffffffffffffffffffffffff166110dd61108d565b73ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a90613415565b60405180910390fd5b80600b8190555050565b611145611b48565b73ffffffffffffffffffffffffffffffffffffffff1661116361108d565b73ffffffffffffffffffffffffffffffffffffffff16146111b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b090613415565b60405180910390fd5b80600e8190555050565b6060600380546111d290613785565b80601f01602080910402602001604051908101604052809291908181526020018280546111fe90613785565b801561124b5780601f106112205761010080835404028352916020019161124b565b820191906000526020600020905b81548152906001019060200180831161122e57829003601f168201915b5050505050905090565b61125d611b48565b73ffffffffffffffffffffffffffffffffffffffff1661127b61108d565b73ffffffffffffffffffffffffffffffffffffffff16146112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c890613415565b60405180910390fd5b600f54816112dd610b12565b6112e791906135ba565b1115611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f906133d5565b60405180910390fd5b6113328282612416565b5050565b600b5481565b6000600b54905060006001600e5461135491906135ba565b8361135d610b12565b61136791906135ba565b1080156113c05750600d5483601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113bd91906135ba565b11155b905080156113d1576000915061150d565b600b54836113df9190613641565b341015611421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141890613455565b60405180910390fd5b600f548361142d610b12565b61143791906135ba565b1115611478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146f906133f5565b60405180910390fd5b601160009054906101000a900460ff166114c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114be90613395565b60405180910390fd5b600c5483111561150c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150390613495565b60405180910390fd5b5b801561156a5782601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461156291906135ba565b925050819055505b6115743384612416565b826010600082825461158691906135ba565b92505081905550505050565b61159a611b48565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115ff576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806007600061160c611b48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166116b9611b48565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516116fe9190613358565b60405180910390a35050565b600a805461171790613785565b80601f016020809104026020016040519081016040528092919081815260200182805461174390613785565b80156117905780601f1061176557610100808354040283529160200191611790565b820191906000526020600020905b81548152906001019060200180831161177357829003601f168201915b505050505081565b600d5481565b6117a9848484611c0b565b6117c88373ffffffffffffffffffffffffffffffffffffffff16612434565b80156117dd57506117db84848484612457565b155b15611814576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6000601054905090565b606061182f82611afa565b61186e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186590613435565b60405180910390fd5b60001515601160019054906101000a900460ff16151514156118b257600a60405160200161189c9190613296565b60405160208183030381529060405290506118e0565b60096118bd836125b7565b6040516020016118ce9291906132ad565b60405160208183030381529060405290505b919050565b601160009054906101000a900460ff1681565b600f5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61199a611b48565b73ffffffffffffffffffffffffffffffffffffffff166119b861108d565b73ffffffffffffffffffffffffffffffffffffffff1614611a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0590613415565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a75906133b5565b60405180910390fd5b611a8781612350565b50565b600c5481565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600081611b05611c02565b11158015611b14575060005482105b8015611b41575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60006001905090565b6000611c16826120c1565b90508373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611c81576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff16611ca2611b48565b73ffffffffffffffffffffffffffffffffffffffff161480611cd15750611cd085611ccb611b48565b6118fe565b5b80611d165750611cdf611b48565b73ffffffffffffffffffffffffffffffffffffffff16611cfe8461098b565b73ffffffffffffffffffffffffffffffffffffffff16145b905080611d4f576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611db6576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dc38585856001612718565b611dcf60008487611b50565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600460008581526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060006001850190506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561204f57600054821461204e57878160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46120ba858585600161271e565b5050505050565b6120c9612b8a565b6000829050806120d7611c02565b111580156120e6575060005481105b15612319576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050806040015161231757600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146121fb57809250505061234b565b5b60011561231657818060019003925050600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161461231157809250505061234b565b6121fc565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612430828260405180602001604052806000815250612724565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261247d611b48565b8786866040518563ffffffff1660e01b815260040161249f949392919061330c565b602060405180830381600087803b1580156124b957600080fd5b505af19250505080156124ea57506040513d601f19601f820116820180604052508101906124e79190612f23565b60015b612564573d806000811461251a576040519150601f19603f3d011682016040523d82523d6000602084013e61251f565b606091505b5060008151141561255c576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b606060008214156125ff576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612713565b600082905060005b6000821461263157808061261a906137e8565b915050600a8261262a9190613610565b9150612607565b60008167ffffffffffffffff81111561264d5761264c61391e565b5b6040519080825280601f01601f19166020018201604052801561267f5781602001600182028036833780820191505090505b5090505b6000851461270c57600182612698919061369b565b9150600a856126a79190613831565b60306126b391906135ba565b60f81b8183815181106126c9576126c86138ef565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856127059190613610565b9450612683565b8093505050505b919050565b50505050565b50505050565b6127318383836001612736565b505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156127a3576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008414156127de576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127eb6000868387612718565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000819050600085820190508380156129b557506129b48773ffffffffffffffffffffffffffffffffffffffff16612434565b5b15612a7b575b818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612a2a6000888480600101955088612457565b612a60576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808214156129bb578260005414612a7657600080fd5b612ae7565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480821415612a7c575b816000819055505050612afd600086838761271e565b5050505050565b828054612b1090613785565b90600052602060002090601f016020900481019282612b325760008555612b79565b82601f10612b4b57805160ff1916838001178555612b79565b82800160010185558215612b79579182015b82811115612b78578251825591602001919060010190612b5d565b5b509050612b869190612bcd565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b80821115612be6576000816000905550600101612bce565b5090565b6000612bfd612bf8846134f5565b6134d0565b905082815260208101848484011115612c1957612c18613952565b5b612c24848285613743565b509392505050565b6000612c3f612c3a84613526565b6134d0565b905082815260208101848484011115612c5b57612c5a613952565b5b612c66848285613743565b509392505050565b600081359050612c7d81613b5b565b92915050565b600081359050612c9281613b72565b92915050565b600081359050612ca781613b89565b92915050565b600081519050612cbc81613b89565b92915050565b600082601f830112612cd757612cd661394d565b5b8135612ce7848260208601612bea565b91505092915050565b600082601f830112612d0557612d0461394d565b5b8135612d15848260208601612c2c565b91505092915050565b600081359050612d2d81613ba0565b92915050565b600060208284031215612d4957612d4861395c565b5b6000612d5784828501612c6e565b91505092915050565b60008060408385031215612d7757612d7661395c565b5b6000612d8585828601612c6e565b9250506020612d9685828601612c6e565b9150509250929050565b600080600060608486031215612db957612db861395c565b5b6000612dc786828701612c6e565b9350506020612dd886828701612c6e565b9250506040612de986828701612d1e565b9150509250925092565b60008060008060808587031215612e0d57612e0c61395c565b5b6000612e1b87828801612c6e565b9450506020612e2c87828801612c6e565b9350506040612e3d87828801612d1e565b925050606085013567ffffffffffffffff811115612e5e57612e5d613957565b5b612e6a87828801612cc2565b91505092959194509250565b60008060408385031215612e8d57612e8c61395c565b5b6000612e9b85828601612c6e565b9250506020612eac85828601612c83565b9150509250929050565b60008060408385031215612ecd57612ecc61395c565b5b6000612edb85828601612c6e565b9250506020612eec85828601612d1e565b9150509250929050565b600060208284031215612f0c57612f0b61395c565b5b6000612f1a84828501612c98565b91505092915050565b600060208284031215612f3957612f3861395c565b5b6000612f4784828501612cad565b91505092915050565b600060208284031215612f6657612f6561395c565b5b600082013567ffffffffffffffff811115612f8457612f83613957565b5b612f9084828501612cf0565b91505092915050565b600060208284031215612faf57612fae61395c565b5b6000612fbd84828501612d1e565b91505092915050565b612fcf816136cf565b82525050565b612fde816136e1565b82525050565b6000612fef8261356c565b612ff98185613582565b9350613009818560208601613752565b61301281613961565b840191505092915050565b600061302882613577565b613032818561359e565b9350613042818560208601613752565b61304b81613961565b840191505092915050565b600061306182613577565b61306b81856135af565b935061307b818560208601613752565b80840191505092915050565b6000815461309481613785565b61309e81866135af565b945060018216600081146130b957600181146130ca576130fd565b60ff198316865281860193506130fd565b6130d385613557565b60005b838110156130f5578154818901526001820191506020810190506130d6565b838801955050505b50505092915050565b600061311360178361359e565b915061311e82613972565b602082019050919050565b600061313660268361359e565b91506131418261399b565b604082019050919050565b600061315960128361359e565b9150613164826139ea565b602082019050919050565b600061317c600e8361359e565b915061318782613a13565b602082019050919050565b600061319f6005836135af565b91506131aa82613a3c565b600582019050919050565b60006131c260208361359e565b91506131cd82613a65565b602082019050919050565b60006131e5602f8361359e565b91506131f082613a8e565b604082019050919050565b6000613208601d8361359e565b915061321382613add565b602082019050919050565b600061322b600083613593565b915061323682613b06565b600082019050919050565b600061324e60108361359e565b915061325982613b09565b602082019050919050565b600061327160138361359e565b915061327c82613b32565b602082019050919050565b61329081613739565b82525050565b60006132a28284613087565b915081905092915050565b60006132b98285613087565b91506132c58284613056565b91506132d082613192565b91508190509392505050565b60006132e78261321e565b9150819050919050565b60006020820190506133066000830184612fc6565b92915050565b60006080820190506133216000830187612fc6565b61332e6020830186612fc6565b61333b6040830185613287565b818103606083015261334d8184612fe4565b905095945050505050565b600060208201905061336d6000830184612fd5565b92915050565b6000602082019050818103600083015261338d818461301d565b905092915050565b600060208201905081810360008301526133ae81613106565b9050919050565b600060208201905081810360008301526133ce81613129565b9050919050565b600060208201905081810360008301526133ee8161314c565b9050919050565b6000602082019050818103600083015261340e8161316f565b9050919050565b6000602082019050818103600083015261342e816131b5565b9050919050565b6000602082019050818103600083015261344e816131d8565b9050919050565b6000602082019050818103600083015261346e816131fb565b9050919050565b6000602082019050818103600083015261348e81613241565b9050919050565b600060208201905081810360008301526134ae81613264565b9050919050565b60006020820190506134ca6000830184613287565b92915050565b60006134da6134eb565b90506134e682826137b7565b919050565b6000604051905090565b600067ffffffffffffffff8211156135105761350f61391e565b5b61351982613961565b9050602081019050919050565b600067ffffffffffffffff8211156135415761354061391e565b5b61354a82613961565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006135c582613739565b91506135d083613739565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561360557613604613862565b5b828201905092915050565b600061361b82613739565b915061362683613739565b92508261363657613635613891565b5b828204905092915050565b600061364c82613739565b915061365783613739565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136905761368f613862565b5b828202905092915050565b60006136a682613739565b91506136b183613739565b9250828210156136c4576136c3613862565b5b828203905092915050565b60006136da82613719565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613770578082015181840152602081019050613755565b8381111561377f576000848401525b50505050565b6000600282049050600182168061379d57607f821691505b602082108114156137b1576137b06138c0565b5b50919050565b6137c082613961565b810181811067ffffffffffffffff821117156137df576137de61391e565b5b80604052505050565b60006137f382613739565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561382657613825613862565b5b600182019050919050565b600061383c82613739565b915061384783613739565b92508261385757613856613891565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4d696e74696e67206973206e6f74206c69766520796574000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f72656163686564206d617820737570706c790000000000000000000000000000600082015250565b7f4e6f206d6f72652044524f494453000000000000000000000000000000000000600082015250565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f506c656173652073656e642074686520657861637420616d6f756e742e000000600082015250565b50565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b7f4d61782070657220545820726561636865642e00000000000000000000000000600082015250565b613b64816136cf565b8114613b6f57600080fd5b50565b613b7b816136e1565b8114613b8657600080fd5b50565b613b92816136ed565b8114613b9d57600080fd5b50565b613ba981613739565b8114613bb457600080fd5b5056fea2646970667358221220be49ee6814db7867e1a451b40fdd89c6c7aeea1d60028cc9e3046009c69e1f8b64736f6c63430008070033