[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" }, { "internalType": "uint256", "name": "numberOfTokens", "type": "uint256" } ], "name": "ownerMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "numberOfTokens", "type": "uint256" } ], "name": "publicMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "root", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newUri", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newRecipient", "type": "address" } ], "name": "setRoyalties", "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": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "toogleBuyable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "walletMintCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawToTeam", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526040518060400160405280601d81526020017f68747470733a2f2f6170692e6f776c6f7065722e636f6d2f66756a692f0000008152506008908051906020019062000051929190620004a3565b506001600960006101000a81548160ff0219169083151502179055506064600a556000600b5573d5cf1fd3e4bba8e16de6a65808dfcc57abdc6e75600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073884c20fee449222c5c7e19caf4d50453adbe29e0600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ae0d123c1ea05b12a3235fbd0c1076a7e3500830601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734c50018f90ccfe6f04fd261a81a7cbc92e6b75ff601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732517b48bd71194399ae9d8459043948b859aeea5601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dfe773f56711105d4118fef44636500e09dcbb61601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e5e41aff077b743d6e0971f2e67f9ba4f170c0fb601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620002d757600080fd5b5060405162004773380380620047738339818101604052810190620002fd9190620006f0565b8181816000908051906020019062000317929190620004a3565b50806001908051906020019062000330929190620004a3565b5050506200035362000347620003ab60201b60201c565b620003b360201b60201c565b620003636200047960201b60201c565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620007da565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620004b190620007a4565b90600052602060002090601f016020900481019282620004d5576000855562000521565b82601f10620004f057805160ff191683800117855562000521565b8280016001018555821562000521579182015b828111156200052057825182559160200191906001019062000503565b5b50905062000530919062000534565b5090565b5b808211156200054f57600081600090555060010162000535565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005bc8262000571565b810181811067ffffffffffffffff82111715620005de57620005dd62000582565b5b80604052505050565b6000620005f362000553565b9050620006018282620005b1565b919050565b600067ffffffffffffffff82111562000624576200062362000582565b5b6200062f8262000571565b9050602081019050919050565b60005b838110156200065c5780820151818401526020810190506200063f565b838111156200066c576000848401525b50505050565b600062000689620006838462000606565b620005e7565b905082815260208101848484011115620006a857620006a76200056c565b5b620006b58482856200063c565b509392505050565b600082601f830112620006d557620006d462000567565b5b8151620006e784826020860162000672565b91505092915050565b600080604083850312156200070a57620007096200055d565b5b600083015167ffffffffffffffff8111156200072b576200072a62000562565b5b6200073985828601620006bd565b925050602083015167ffffffffffffffff8111156200075d576200075c62000562565b5b6200076b85828601620006bd565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007bd57607f821691505b60208210811415620007d457620007d362000775565b5b50919050565b613f8980620007ea6000396000f3fe60806040526004361061019c5760003560e01c806370a08231116100ec578063a22cb4651161008a578063e985e9c511610064578063e985e9c5146105b6578063ebf0c717146105f3578063f2fde38b1461061e578063fcc21e56146106475761019c565b8063a22cb46514610527578063b88d4fde14610550578063c87b56dd146105795761019c565b80638da5cb5b116100c65780638da5cb5b1461047d57806393ecb0c6146104a857806395d89b41146104e55780639e0b6c43146105105761019c565b806370a08231146103fe578063715018a61461043b57806388c7e397146104525761019c565b80632a55205a1161015957806342842e0e1161013357806342842e0e14610346578063484b973c1461036f57806355f804b3146103985780636352211e146103c15761019c565b80632a55205a146102c35780632a9e63c6146103015780632db115441461032a5761019c565b806301ffc9a7146101a157806306fdde03146101de578063081812fc14610209578063095ea7b31461024657806318160ddd1461026f57806323b872dd1461029a575b600080fd5b3480156101ad57600080fd5b506101c860048036038101906101c39190612861565b61065e565b6040516101d591906128a9565b60405180910390f35b3480156101ea57600080fd5b506101f36106d8565b604051610200919061295d565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906129b5565b61076a565b60405161023d9190612a23565b60405180910390f35b34801561025257600080fd5b5061026d60048036038101906102689190612a6a565b6107ef565b005b34801561027b57600080fd5b50610284610907565b6040516102919190612ab9565b60405180910390f35b3480156102a657600080fd5b506102c160048036038101906102bc9190612ad4565b61092a565b005b3480156102cf57600080fd5b506102ea60048036038101906102e59190612b27565b61098a565b6040516102f8929190612b67565b60405180910390f35b34801561030d57600080fd5b5061032860048036038101906103239190612b90565b6109d6565b005b610344600480360381019061033f91906129b5565b610a5e565b005b34801561035257600080fd5b5061036d60048036038101906103689190612ad4565b610d15565b005b34801561037b57600080fd5b5061039660048036038101906103919190612a6a565b610d35565b005b3480156103a457600080fd5b506103bf60048036038101906103ba9190612cf2565b610e9c565b005b3480156103cd57600080fd5b506103e860048036038101906103e391906129b5565b610f32565b6040516103f59190612a23565b60405180910390f35b34801561040a57600080fd5b5061042560048036038101906104209190612b90565b610fe4565b6040516104329190612ab9565b60405180910390f35b34801561044757600080fd5b5061045061109c565b005b34801561045e57600080fd5b50610467611124565b60405161047491906128a9565b60405180910390f35b34801561048957600080fd5b50610492611137565b60405161049f9190612a23565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca9190612b90565b611161565b6040516104dc9190612ab9565b60405180910390f35b3480156104f157600080fd5b506104fa6111aa565b604051610507919061295d565b60405180910390f35b34801561051c57600080fd5b5061052561123c565b005b34801561053357600080fd5b5061054e60048036038101906105499190612d67565b6112e4565b005b34801561055c57600080fd5b5061057760048036038101906105729190612e48565b6112fa565b005b34801561058557600080fd5b506105a0600480360381019061059b91906129b5565b61135c565b6040516105ad919061295d565b60405180910390f35b3480156105c257600080fd5b506105dd60048036038101906105d89190612ecb565b611403565b6040516105ea91906128a9565b60405180910390f35b3480156105ff57600080fd5b50610608611417565b6040516106159190612f24565b60405180910390f35b34801561062a57600080fd5b5061064560048036038101906106409190612b90565b61141d565b005b34801561065357600080fd5b5061065c611515565b005b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106d157506106d082611793565b5b9050919050565b6060600080546106e790612f6e565b80601f016020809104026020016040519081016040528092919081815260200182805461071390612f6e565b80156107605780601f1061073557610100808354040283529160200191610760565b820191906000526020600020905b81548152906001019060200180831161074357829003601f168201915b5050505050905090565b600061077582611875565b6107b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ab90613012565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107fa82610f32565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906130a4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661088a6118e1565b73ffffffffffffffffffffffffffffffffffffffff1614806108b957506108b8816108b36118e1565b611403565b5b6108f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ef90613136565b60405180910390fd5b61090283836118e9565b505050565b6000600b546064600a5461091b9190613185565b61092591906131b9565b905090565b61093b6109356118e1565b826119a2565b61097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097190613281565b60405180910390fd5b610985838383611a80565b505050565b600080600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166127106101f4856109c191906132a1565b6109cb919061332a565b915091509250929050565b6109de6118e1565b73ffffffffffffffffffffffffffffffffffffffff166109fc611137565b73ffffffffffffffffffffffffffffffffffffffff1614610a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a49906133a7565b60405180910390fd5b610a5b81611cdc565b50565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac390613413565b60405180910390fd5b600960009054906101000a900460ff16610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b129061347f565b60405180910390fd5b600a811115610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b56906134eb565b60405180910390fd5b671bc16d674ec8000081610b7391906132a1565b341015610bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bac90613557565b60405180910390fd5b61115c81600a54610bc691906131b9565b1115610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe906135c3565b60405180910390fd5b601481600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c5491906131b9565b1115610c95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8c9061362f565b60405180910390fd5b80600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ce491906131b9565b9250508190555060005b81811015610d1157610cfe611d90565b8080610d099061364f565b915050610cee565b5050565b610d30838383604051806020016040528060008152506112fa565b505050565b610d3d6118e1565b73ffffffffffffffffffffffffffffffffffffffff16610d5b611137565b73ffffffffffffffffffffffffffffffffffffffff1614610db1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da8906133a7565b60405180910390fd5b606481600b54610dc191906131b9565b1115610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df9906135c3565b60405180910390fd5b60005b81811015610e41576001600b54610e1c91906131b9565b600b81905550610e2e83600b54611db3565b8080610e399061364f565b915050610e05565b5080600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e9191906131b9565b925050819055505050565b610ea46118e1565b73ffffffffffffffffffffffffffffffffffffffff16610ec2611137565b73ffffffffffffffffffffffffffffffffffffffff1614610f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0f906133a7565b60405180910390fd5b8060089080519060200190610f2e929190612752565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610fdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd29061370a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104c9061379c565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110a46118e1565b73ffffffffffffffffffffffffffffffffffffffff166110c2611137565b73ffffffffffffffffffffffffffffffffffffffff1614611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f906133a7565b60405180910390fd5b6111226000611f81565b565b600960009054906101000a900460ff1681565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546111b990612f6e565b80601f01602080910402602001604051908101604052809291908181526020018280546111e590612f6e565b80156112325780601f1061120757610100808354040283529160200191611232565b820191906000526020600020905b81548152906001019060200180831161121557829003601f168201915b5050505050905090565b6112446118e1565b73ffffffffffffffffffffffffffffffffffffffff16611262611137565b73ffffffffffffffffffffffffffffffffffffffff16146112b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112af906133a7565b60405180910390fd5b600960009054906101000a900460ff1615600960006101000a81548160ff021916908315150217905550565b6112f66112ef6118e1565b8383612047565b5050565b61130b6113056118e1565b836119a2565b61134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190613281565b60405180910390fd5b611356848484846121b4565b50505050565b606061136782611875565b6113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139d9061382e565b60405180910390fd5b60006113b0612210565b905060008151116113d057604051806020016040528060008152506113fb565b806113da846122a2565b6040516020016113eb92919061388a565b6040516020818303038152906040525b915050919050565b600061140f8383612403565b905092915050565b60075481565b6114256118e1565b73ffffffffffffffffffffffffffffffffffffffff16611443611137565b73ffffffffffffffffffffffffffffffffffffffff1614611499576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611490906133a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611509576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150090613920565b60405180910390fd5b61151281611f81565b50565b61151d6118e1565b73ffffffffffffffffffffffffffffffffffffffff1661153b611137565b73ffffffffffffffffffffffffffffffffffffffff1614611591576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611588906133a7565b60405180910390fd5b6000479050600081116115a357600080fd5b6115e7600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064600f846115d891906132a1565b6115e2919061332a565b612497565b61162b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16606460158461161c91906132a1565b611626919061332a565b612497565b61166f601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064600a8461166091906132a1565b61166a919061332a565b612497565b6116b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064600a846116a491906132a1565b6116ae919061332a565b612497565b6116f7601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660646007846116e891906132a1565b6116f2919061332a565b612497565b61173b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16606460078461172c91906132a1565b611736919061332a565b612497565b61177f601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16606460038461177091906132a1565b61177a919061332a565b612497565b61179061178a611137565b47612497565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061185e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061186e575061186d82612548565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661195c83610f32565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006119ad82611875565b6119ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e3906139b2565b60405180910390fd5b60006119f783610f32565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a6657508373ffffffffffffffffffffffffffffffffffffffff16611a4e8461076a565b73ffffffffffffffffffffffffffffffffffffffff16145b80611a775750611a768185611403565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611aa082610f32565b73ffffffffffffffffffffffffffffffffffffffff1614611af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aed90613a44565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5d90613ad6565b60405180910390fd5b611b718383836125b2565b611b7c6000826118e9565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bcc9190613185565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c2391906131b9565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4390613b68565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6001600a54611d9f91906131b9565b600a81905550611db133600a54611db3565b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1a90613bd4565b60405180910390fd5b611e2c81611875565b15611e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6390613c40565b60405180910390fd5b611e78600083836125b2565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ec891906131b9565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ad90613cac565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516121a791906128a9565b60405180910390a3505050565b6121bf848484611a80565b6121cb848484846125b7565b61220a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220190613d3e565b60405180910390fd5b50505050565b60606008805461221f90612f6e565b80601f016020809104026020016040519081016040528092919081815260200182805461224b90612f6e565b80156122985780601f1061226d57610100808354040283529160200191612298565b820191906000526020600020905b81548152906001019060200180831161227b57829003601f168201915b5050505050905090565b606060008214156122ea576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506123fe565b600082905060005b6000821461231c5780806123059061364f565b915050600a82612315919061332a565b91506122f2565b60008167ffffffffffffffff81111561233857612337612bc7565b5b6040519080825280601f01601f19166020018201604052801561236a5781602001600182028036833780820191505090505b5090505b600085146123f7576001826123839190613185565b9150600a856123929190613d5e565b603061239e91906131b9565b60f81b8183815181106123b4576123b3613d8f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856123f0919061332a565b945061236e565b8093505050505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff16826040516124bd90613def565b60006040518083038185875af1925050503d80600081146124fa576040519150601f19603f3d011682016040523d82523d6000602084013e6124ff565b606091505b5050905080612543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253a90613e50565b60405180910390fd5b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b60006125d88473ffffffffffffffffffffffffffffffffffffffff1661273f565b15612732578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026126016118e1565b8786866040518563ffffffff1660e01b81526004016126239493929190613ec5565b6020604051808303816000875af192505050801561265f57506040513d601f19601f8201168201806040525081019061265c9190613f26565b60015b6126e2573d806000811461268f576040519150601f19603f3d011682016040523d82523d6000602084013e612694565b606091505b506000815114156126da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d190613d3e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612737565b600190505b949350505050565b600080823b905060008111915050919050565b82805461275e90612f6e565b90600052602060002090601f01602090048101928261278057600085556127c7565b82601f1061279957805160ff19168380011785556127c7565b828001600101855582156127c7579182015b828111156127c65782518255916020019190600101906127ab565b5b5090506127d491906127d8565b5090565b5b808211156127f15760008160009055506001016127d9565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61283e81612809565b811461284957600080fd5b50565b60008135905061285b81612835565b92915050565b600060208284031215612877576128766127ff565b5b60006128858482850161284c565b91505092915050565b60008115159050919050565b6128a38161288e565b82525050565b60006020820190506128be600083018461289a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156128fe5780820151818401526020810190506128e3565b8381111561290d576000848401525b50505050565b6000601f19601f8301169050919050565b600061292f826128c4565b61293981856128cf565b93506129498185602086016128e0565b61295281612913565b840191505092915050565b600060208201905081810360008301526129778184612924565b905092915050565b6000819050919050565b6129928161297f565b811461299d57600080fd5b50565b6000813590506129af81612989565b92915050565b6000602082840312156129cb576129ca6127ff565b5b60006129d9848285016129a0565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a0d826129e2565b9050919050565b612a1d81612a02565b82525050565b6000602082019050612a386000830184612a14565b92915050565b612a4781612a02565b8114612a5257600080fd5b50565b600081359050612a6481612a3e565b92915050565b60008060408385031215612a8157612a806127ff565b5b6000612a8f85828601612a55565b9250506020612aa0858286016129a0565b9150509250929050565b612ab38161297f565b82525050565b6000602082019050612ace6000830184612aaa565b92915050565b600080600060608486031215612aed57612aec6127ff565b5b6000612afb86828701612a55565b9350506020612b0c86828701612a55565b9250506040612b1d868287016129a0565b9150509250925092565b60008060408385031215612b3e57612b3d6127ff565b5b6000612b4c858286016129a0565b9250506020612b5d858286016129a0565b9150509250929050565b6000604082019050612b7c6000830185612a14565b612b896020830184612aaa565b9392505050565b600060208284031215612ba657612ba56127ff565b5b6000612bb484828501612a55565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bff82612913565b810181811067ffffffffffffffff82111715612c1e57612c1d612bc7565b5b80604052505050565b6000612c316127f5565b9050612c3d8282612bf6565b919050565b600067ffffffffffffffff821115612c5d57612c5c612bc7565b5b612c6682612913565b9050602081019050919050565b82818337600083830152505050565b6000612c95612c9084612c42565b612c27565b905082815260208101848484011115612cb157612cb0612bc2565b5b612cbc848285612c73565b509392505050565b600082601f830112612cd957612cd8612bbd565b5b8135612ce9848260208601612c82565b91505092915050565b600060208284031215612d0857612d076127ff565b5b600082013567ffffffffffffffff811115612d2657612d25612804565b5b612d3284828501612cc4565b91505092915050565b612d448161288e565b8114612d4f57600080fd5b50565b600081359050612d6181612d3b565b92915050565b60008060408385031215612d7e57612d7d6127ff565b5b6000612d8c85828601612a55565b9250506020612d9d85828601612d52565b9150509250929050565b600067ffffffffffffffff821115612dc257612dc1612bc7565b5b612dcb82612913565b9050602081019050919050565b6000612deb612de684612da7565b612c27565b905082815260208101848484011115612e0757612e06612bc2565b5b612e12848285612c73565b509392505050565b600082601f830112612e2f57612e2e612bbd565b5b8135612e3f848260208601612dd8565b91505092915050565b60008060008060808587031215612e6257612e616127ff565b5b6000612e7087828801612a55565b9450506020612e8187828801612a55565b9350506040612e92878288016129a0565b925050606085013567ffffffffffffffff811115612eb357612eb2612804565b5b612ebf87828801612e1a565b91505092959194509250565b60008060408385031215612ee257612ee16127ff565b5b6000612ef085828601612a55565b9250506020612f0185828601612a55565b9150509250929050565b6000819050919050565b612f1e81612f0b565b82525050565b6000602082019050612f396000830184612f15565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f8657607f821691505b60208210811415612f9a57612f99612f3f565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000612ffc602c836128cf565b915061300782612fa0565b604082019050919050565b6000602082019050818103600083015261302b81612fef565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061308e6021836128cf565b915061309982613032565b604082019050919050565b600060208201905081810360008301526130bd81613081565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b60006131206038836128cf565b915061312b826130c4565b604082019050919050565b6000602082019050818103600083015261314f81613113565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006131908261297f565b915061319b8361297f565b9250828210156131ae576131ad613156565b5b828203905092915050565b60006131c48261297f565b91506131cf8361297f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561320457613203613156565b5b828201905092915050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b600061326b6031836128cf565b91506132768261320f565b604082019050919050565b6000602082019050818103600083015261329a8161325e565b9050919050565b60006132ac8261297f565b91506132b78361297f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132f0576132ef613156565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006133358261297f565b91506133408361297f565b9250826133505761334f6132fb565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006133916020836128cf565b915061339c8261335b565b602082019050919050565b600060208201905081810360008301526133c081613384565b9050919050565b7f4e6f7420616c6c6f776564206f726967696e0000000000000000000000000000600082015250565b60006133fd6012836128cf565b9150613408826133c7565b602082019050919050565b6000602082019050818103600083015261342c816133f0565b9050919050565b7f53616c65206e6f74206163746976650000000000000000000000000000000000600082015250565b6000613469600f836128cf565b915061347482613433565b602082019050919050565b600060208201905081810360008301526134988161345c565b9050919050565b7f4d616e7920726571756573740000000000000000000000000000000000000000600082015250565b60006134d5600c836128cf565b91506134e08261349f565b602082019050919050565b60006020820190508181036000830152613504816134c8565b9050919050565b7f496e73756666696369656e742076616c75650000000000000000000000000000600082015250565b60006135416012836128cf565b915061354c8261350b565b602082019050919050565b6000602082019050818103600083015261357081613534565b9050919050565b7f4578636565647320746f74616c20737570706c79000000000000000000000000600082015250565b60006135ad6014836128cf565b91506135b882613577565b602082019050919050565b600060208201905081810360008301526135dc816135a0565b9050919050565b7f4578636565647320616c6c6f77616e6365000000000000000000000000000000600082015250565b60006136196011836128cf565b9150613624826135e3565b602082019050919050565b600060208201905081810360008301526136488161360c565b9050919050565b600061365a8261297f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561368d5761368c613156565b5b600182019050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006136f46029836128cf565b91506136ff82613698565b604082019050919050565b60006020820190508181036000830152613723816136e7565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000613786602a836128cf565b91506137918261372a565b604082019050919050565b600060208201905081810360008301526137b581613779565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613818602f836128cf565b9150613823826137bc565b604082019050919050565b600060208201905081810360008301526138478161380b565b9050919050565b600081905092915050565b6000613864826128c4565b61386e818561384e565b935061387e8185602086016128e0565b80840191505092915050565b60006138968285613859565b91506138a28284613859565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061390a6026836128cf565b9150613915826138ae565b604082019050919050565b60006020820190508181036000830152613939816138fd565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061399c602c836128cf565b91506139a782613940565b604082019050919050565b600060208201905081810360008301526139cb8161398f565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b6000613a2e6029836128cf565b9150613a39826139d2565b604082019050919050565b60006020820190508181036000830152613a5d81613a21565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ac06024836128cf565b9150613acb82613a64565b604082019050919050565b60006020820190508181036000830152613aef81613ab3565b9050919050565b7f526f79616c746965733a206e657720726563697069656e74206973207468652060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b6000613b52602c836128cf565b9150613b5d82613af6565b604082019050919050565b60006020820190508181036000830152613b8181613b45565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613bbe6020836128cf565b9150613bc982613b88565b602082019050919050565b60006020820190508181036000830152613bed81613bb1565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613c2a601c836128cf565b9150613c3582613bf4565b602082019050919050565b60006020820190508181036000830152613c5981613c1d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613c966019836128cf565b9150613ca182613c60565b602082019050919050565b60006020820190508181036000830152613cc581613c89565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000613d286032836128cf565b9150613d3382613ccc565b604082019050919050565b60006020820190508181036000830152613d5781613d1b565b9050919050565b6000613d698261297f565b9150613d748361297f565b925082613d8457613d836132fb565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b50565b6000613dd9600083613dbe565b9150613de482613dc9565b600082019050919050565b6000613dfa82613dcc565b9150819050919050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b6000613e3a6010836128cf565b9150613e4582613e04565b602082019050919050565b60006020820190508181036000830152613e6981613e2d565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613e9782613e70565b613ea18185613e7b565b9350613eb18185602086016128e0565b613eba81612913565b840191505092915050565b6000608082019050613eda6000830187612a14565b613ee76020830186612a14565b613ef46040830185612aaa565b8181036060830152613f068184613e8c565b905095945050505050565b600081519050613f2081612835565b92915050565b600060208284031215613f3c57613f3b6127ff565b5b6000613f4a84828501613f11565b9150509291505056fea2646970667358221220f492e8ea2a8fea163b3abf9c7b22a11b7993ca3e8630375d8ab50c8cc4e206e364736f6c634300080a0033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000008626b5465737456320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007426b547374563200000000000000000000000000000000000000000000000000