[ { "inputs": [], "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": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" } ], "name": "batchTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "depositer", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "fmint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getEthBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "getNFTzBelongingToOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "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": "maxNFT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "newTokenId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "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": "baseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "setPrice", "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": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "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": "uint256", "name": "_wamount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052612710600d55671bc16d674ec80000600e5568056bc75e2d63100000600f55604051806080016040528060598152602001620044fb6059913960119080519060200190620000549291906200020a565b503480156200006257600080fd5b506040518060400160405280600b81526020017f45766f784361706974616c0000000000000000000000000000000000000000008152506040518060400160405280600b81526020017f45766f784361706974616c0000000000000000000000000000000000000000008152506000620000e16200020260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508160019080519060200190620001979291906200020a565b508060029080519060200190620001b09291906200020a565b5050506001600c8190555033601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200031f565b600033905090565b8280546200021890620002ba565b90600052602060002090601f0160209004810192826200023c576000855562000288565b82601f106200025757805160ff191683800117855562000288565b8280016001018555821562000288579182015b82811115620002875782518255916020019190600101906200026a565b5b5090506200029791906200029b565b5090565b5b80821115620002b65760008160009055506001016200029c565b5090565b60006002820490506001821680620002d357607f821691505b60208210811415620002ea57620002e9620002f0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6141cc806200032f6000396000f3fe6080604052600436106101dc5760003560e01c806370a0823111610102578063b88d4fde11610095578063e45be8eb11610064578063e45be8eb14610864578063e985e9c51461088f578063f2fde38b146108cc578063fd6cba46146108f55761039f565b8063b88d4fde146107a8578063c87b56dd146107d1578063e38d6b5c1461080e578063e456b01c146108395761039f565b806391b7f5ed116100d157806391b7f5ed1461070257806395d89b411461072b578063a22cb46514610756578063ac3c99521461077f5761039f565b806370a082311461065857806370ed0ada14610695578063715018a6146106c05780638da5cb5b146106d75761039f565b80632c1ba8391161017a57806342842e0e1161014957806342842e0e1461058c5780634f6ccce7146105b557806355f804b3146105f25780636352211e1461061b5761039f565b80632c1ba839146104dd5780632e1a7d4d146104fb5780632f745c5914610524578063340754ed146105615761039f565b8063095ea7b3116101b6578063095ea7b31461044957806318160ddd146104725780631c401b791461049d57806323b872dd146104b45761039f565b806301ffc9a7146103a457806306fdde03146103e1578063081812fc1461040c5761039f565b3661039f576002600c541415610227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90613745565b60405180910390fd5b6002600c81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461039557600e5434101580156102985750600f543411155b1561038f5760005b671bc16d674ec80000346102b49190613905565b81101561038957600d5460016102c8610932565b6102d291906138af565b11610371576001600a60008282546102ea91906138af565b925050819055506102fd33600a5461093f565b6000479050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561036a573d6000803e3d6000fd5b5050610376565b600080fd5b808061038190613a83565b9150506102a0565b50610394565b600080fd5b5b6001600c81905550005b600080fd5b3480156103b057600080fd5b506103cb60048036038101906103c69190612f6a565b61095d565b6040516103d891906134c8565b60405180910390f35b3480156103ed57600080fd5b506103f661096f565b60405161040391906134e3565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e919061300d565b610a01565b604051610440919061343f565b60405180910390f35b34801561045557600080fd5b50610470600480360381019061046b9190612f2a565b610a86565b005b34801561047e57600080fd5b50610487610932565b6040516104949190613765565b60405180910390f35b3480156104a957600080fd5b506104b2610b9e565b005b3480156104c057600080fd5b506104db60048036038101906104d69190612db8565b610cf7565b005b6104e5610d57565b6040516104f29190613765565b60405180910390f35b34801561050757600080fd5b50610522600480360381019061051d919061300d565b610def565b005b34801561053057600080fd5b5061054b60048036038101906105469190612f2a565b610eb5565b6040516105589190613765565b60405180910390f35b34801561056d57600080fd5b50610576610f5a565b6040516105839190613765565b60405180910390f35b34801561059857600080fd5b506105b360048036038101906105ae9190612db8565b610f60565b005b3480156105c157600080fd5b506105dc60048036038101906105d7919061300d565b610f80565b6040516105e99190613765565b60405180910390f35b3480156105fe57600080fd5b5061061960048036038101906106149190612fc4565b610ff1565b005b34801561062757600080fd5b50610642600480360381019061063d919061300d565b611087565b60405161064f919061343f565b60405180910390f35b34801561066457600080fd5b5061067f600480360381019061067a9190612d4b565b611139565b60405161068c9190613765565b60405180910390f35b3480156106a157600080fd5b506106aa6111f1565b6040516106b79190613765565b60405180910390f35b3480156106cc57600080fd5b506106d56111f9565b005b3480156106e357600080fd5b506106ec611333565b6040516106f9919061343f565b60405180910390f35b34801561070e57600080fd5b506107296004803603810190610724919061300d565b61135c565b005b34801561073757600080fd5b506107406113e2565b60405161074d91906134e3565b60405180910390f35b34801561076257600080fd5b5061077d60048036038101906107789190612eea565b611474565b005b34801561078b57600080fd5b506107a660048036038101906107a19190612e8e565b6115f5565b005b3480156107b457600080fd5b506107cf60048036038101906107ca9190612e0b565b61163e565b005b3480156107dd57600080fd5b506107f860048036038101906107f3919061300d565b6116a0565b60405161080591906134e3565b60405180910390f35b34801561081a57600080fd5b5061082361177c565b6040516108309190613765565b60405180910390f35b34801561084557600080fd5b5061084e611782565b60405161085b9190613765565b60405180910390f35b34801561087057600080fd5b50610879611788565b6040516108869190613765565b60405180910390f35b34801561089b57600080fd5b506108b660048036038101906108b19190612d78565b61178e565b6040516108c391906134c8565b60405180910390f35b3480156108d857600080fd5b506108f360048036038101906108ee9190612d4b565b611822565b005b34801561090157600080fd5b5061091c60048036038101906109179190612d4b565b6119cb565b60405161092991906134a6565b60405180910390f35b6000600980549050905090565b610959828260405180602001604052806000815250611ad5565b5050565b600061096882611b30565b9050919050565b60606001805461097e90613a20565b80601f01602080910402602001604051908101604052809291908181526020018280546109aa90613a20565b80156109f75780601f106109cc576101008083540402835291602001916109f7565b820191906000526020600020905b8154815290600101906020018083116109da57829003601f168201915b5050505050905090565b6000610a0c82611baa565b610a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4290613665565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a9182611087565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af9906136c5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b21611c16565b73ffffffffffffffffffffffffffffffffffffffff161480610b505750610b4f81610b4a611c16565b61178e565b5b610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b86906135e5565b60405180910390fd5b610b998383611c1e565b505050565b610ba6611c16565b73ffffffffffffffffffffffffffffffffffffffff16610bc4611333565b73ffffffffffffffffffffffffffffffffffffffff1614610c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1190613685565b60405180910390fd5b60005b6032811015610cf457600d546001610c33610932565b610c3d91906138af565b11610cdc576001600a6000828254610c5591906138af565b92505081905550610c6833600a5461093f565b6000479050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610cd5573d6000803e3d6000fd5b5050610ce1565b600080fd5b8080610cec90613a83565b915050610c1d565b50565b610d08610d02611c16565b82611cd7565b610d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3e906136e5565b60405180910390fd5b610d52838383611db5565b505050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de090613725565b60405180910390fd5b47905090565b610df7611c16565b73ffffffffffffffffffffffffffffffffffffffff16610e15611333565b73ffffffffffffffffffffffffffffffffffffffff1614610e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6290613685565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610eb1573d6000803e3d6000fd5b5050565b6000610ec083611139565b8210610f01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef890613505565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600a5481565b610f7b8383836040518060200160405280600081525061163e565b505050565b6000610f8a610932565b8210610fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc290613705565b60405180910390fd5b60098281548110610fdf57610fde613bb9565b5b90600052602060002001549050919050565b610ff9611c16565b73ffffffffffffffffffffffffffffffffffffffff16611017611333565b73ffffffffffffffffffffffffffffffffffffffff161461106d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106490613685565b60405180910390fd5b8060119080519060200190611083929190612ac1565b5050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611130576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112790613625565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a190613605565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600047905090565b611201611c16565b73ffffffffffffffffffffffffffffffffffffffff1661121f611333565b73ffffffffffffffffffffffffffffffffffffffff1614611275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126c90613685565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611364611c16565b73ffffffffffffffffffffffffffffffffffffffff16611382611333565b73ffffffffffffffffffffffffffffffffffffffff16146113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cf90613685565b60405180910390fd5b80600e8190555050565b6060600280546113f190613a20565b80601f016020809104026020016040519081016040528092919081815260200182805461141d90613a20565b801561146a5780601f1061143f5761010080835404028352916020019161146a565b820191906000526020600020905b81548152906001019060200180831161144d57829003601f168201915b5050505050905090565b61147c611c16565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e1906135a5565b60405180910390fd5b80600660006114f7611c16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166115a4611c16565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115e991906134c8565b60405180910390a35050565b60005b815181101561163957611626338484848151811061161957611618613bb9565b5b6020026020010151610cf7565b808061163190613a83565b9150506115f8565b505050565b61164f611649611c16565b83611cd7565b61168e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611685906136e5565b60405180910390fd5b61169a84848484612011565b50505050565b60606000601180546116b190613a20565b80601f01602080910402602001604051908101604052809291908181526020018280546116dd90613a20565b801561172a5780601f106116ff5761010080835404028352916020019161172a565b820191906000526020600020905b81548152906001019060200180831161170d57829003601f168201915b50505050509050600061173c8461206d565b9050600082511415611752578092505050611777565b816040516020016117639190613428565b604051602081830303815290604052925050505b919050565b600f5481565b600d5481565b600e5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61182a611c16565b73ffffffffffffffffffffffffffffffffffffffff16611848611333565b73ffffffffffffffffffffffffffffffffffffffff161461189e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189590613685565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561190e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190590613545565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060006119d883611139565b90506000811415611a3557600067ffffffffffffffff8111156119fe576119fd613be8565b5b604051908082528060200260200182016040528015611a2c5781602001602082028036833780820191505090505b50915050611ad0565b60008167ffffffffffffffff811115611a5157611a50613be8565b5b604051908082528060200260200182016040528015611a7f5781602001602082028036833780820191505090505b50905060005b82811015611ac957611a978582610eb5565b828281518110611aaa57611aa9613bb9565b5b6020026020010181815250508080611ac190613a83565b915050611a85565b5080925050505b919050565b611ae260008484846121ce565b611b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1890613525565b60405180910390fd5b611b2b8383612365565b505050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611ba35750611ba282612533565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611c9183611087565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611ce282611baa565b611d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d18906135c5565b60405180910390fd5b6000611d2c83611087565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611d9b57508373ffffffffffffffffffffffffffffffffffffffff16611d8384610a01565b73ffffffffffffffffffffffffffffffffffffffff16145b80611dac5750611dab818561178e565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611dd582611087565b73ffffffffffffffffffffffffffffffffffffffff1614611e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e22906136a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9290613585565b60405180910390fd5b611ea6838383612615565b611eb1600082611c1e565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f019190613936565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f5891906138af565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61201d848484846121ce565b61205c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205390613525565b60405180910390fd5b612067848484611db5565b50505050565b606060008214156120b5576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506121c9565b600082905060005b600082146120e75780806120d090613a83565b915050600a826120e09190613905565b91506120bd565b60008167ffffffffffffffff81111561210357612102613be8565b5b6040519080825280601f01601f1916602001820160405280156121355781602001600182028036833780820191505090505b5090505b600085146121c25760018261214e9190613936565b9150600a8561215d9190613acc565b603061216991906138af565b60f81b81838151811061217f5761217e613bb9565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856121bb9190613905565b9450612139565b8093505050505b919050565b60006121ef8473ffffffffffffffffffffffffffffffffffffffff16612625565b15612358578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612218611c16565b8786866040518563ffffffff1660e01b815260040161223a949392919061345a565b602060405180830381600087803b15801561225457600080fd5b505af192505050801561228557506040513d601f19601f820116820180604052508101906122829190612f97565b60015b612308573d80600081146122b5576040519150601f19603f3d011682016040523d82523d6000602084013e6122ba565b606091505b50600081511415612300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f790613525565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061235d565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cc90613645565b60405180910390fd5b6123de81611baa565b1561241e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241590613565565b60405180910390fd5b61242a60008383612615565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461247a91906138af565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806125fe57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061260e575061260d82612638565b5b9050919050565b6126208383836126a2565b505050565b600080823b905060008111915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6126ad8383836127b6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156126f0576126eb816127bb565b61272f565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461272e5761272d8382612804565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156127725761276d81612971565b6127b1565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146127b0576127af8282612a42565b5b5b505050565b505050565b600980549050600b600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161281184611139565b61281b9190613936565b9050600060086000848152602001908152602001600020549050818114612900576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016009805490506129859190613936565b90506000600b60008481526020019081526020016000205490506000600983815481106129b5576129b4613bb9565b5b9060005260206000200154905080600983815481106129d7576129d6613bb9565b5b906000526020600020018190555081600b600083815260200190815260200160002081905550600b6000858152602001908152602001600020600090556009805480612a2657612a25613b8a565b5b6001900381819060005260206000200160009055905550505050565b6000612a4d83611139565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b828054612acd90613a20565b90600052602060002090601f016020900481019282612aef5760008555612b36565b82601f10612b0857805160ff1916838001178555612b36565b82800160010185558215612b36579182015b82811115612b35578251825591602001919060010190612b1a565b5b509050612b439190612b47565b5090565b5b80821115612b60576000816000905550600101612b48565b5090565b6000612b77612b72846137a5565b613780565b90508083825260208201905082856020860282011115612b9a57612b99613c1c565b5b60005b85811015612bca5781612bb08882612d36565b845260208401935060208301925050600181019050612b9d565b5050509392505050565b6000612be7612be2846137d1565b613780565b905082815260208101848484011115612c0357612c02613c21565b5b612c0e8482856139de565b509392505050565b6000612c29612c2484613802565b613780565b905082815260208101848484011115612c4557612c44613c21565b5b612c508482856139de565b509392505050565b600081359050612c678161413a565b92915050565b600082601f830112612c8257612c81613c17565b5b8135612c92848260208601612b64565b91505092915050565b600081359050612caa81614151565b92915050565b600081359050612cbf81614168565b92915050565b600081519050612cd481614168565b92915050565b600082601f830112612cef57612cee613c17565b5b8135612cff848260208601612bd4565b91505092915050565b600082601f830112612d1d57612d1c613c17565b5b8135612d2d848260208601612c16565b91505092915050565b600081359050612d458161417f565b92915050565b600060208284031215612d6157612d60613c2b565b5b6000612d6f84828501612c58565b91505092915050565b60008060408385031215612d8f57612d8e613c2b565b5b6000612d9d85828601612c58565b9250506020612dae85828601612c58565b9150509250929050565b600080600060608486031215612dd157612dd0613c2b565b5b6000612ddf86828701612c58565b9350506020612df086828701612c58565b9250506040612e0186828701612d36565b9150509250925092565b60008060008060808587031215612e2557612e24613c2b565b5b6000612e3387828801612c58565b9450506020612e4487828801612c58565b9350506040612e5587828801612d36565b925050606085013567ffffffffffffffff811115612e7657612e75613c26565b5b612e8287828801612cda565b91505092959194509250565b60008060408385031215612ea557612ea4613c2b565b5b6000612eb385828601612c58565b925050602083013567ffffffffffffffff811115612ed457612ed3613c26565b5b612ee085828601612c6d565b9150509250929050565b60008060408385031215612f0157612f00613c2b565b5b6000612f0f85828601612c58565b9250506020612f2085828601612c9b565b9150509250929050565b60008060408385031215612f4157612f40613c2b565b5b6000612f4f85828601612c58565b9250506020612f6085828601612d36565b9150509250929050565b600060208284031215612f8057612f7f613c2b565b5b6000612f8e84828501612cb0565b91505092915050565b600060208284031215612fad57612fac613c2b565b5b6000612fbb84828501612cc5565b91505092915050565b600060208284031215612fda57612fd9613c2b565b5b600082013567ffffffffffffffff811115612ff857612ff7613c26565b5b61300484828501612d08565b91505092915050565b60006020828403121561302357613022613c2b565b5b600061303184828501612d36565b91505092915050565b6000613046838361340a565b60208301905092915050565b61305b8161396a565b82525050565b600061306c82613843565b6130768185613871565b935061308183613833565b8060005b838110156130b2578151613099888261303a565b97506130a483613864565b925050600181019050613085565b5085935050505092915050565b6130c88161397c565b82525050565b60006130d98261384e565b6130e38185613882565b93506130f38185602086016139ed565b6130fc81613c30565b840191505092915050565b600061311282613859565b61311c8185613893565b935061312c8185602086016139ed565b61313581613c30565b840191505092915050565b600061314b82613859565b61315581856138a4565b93506131658185602086016139ed565b80840191505092915050565b600061317e602b83613893565b915061318982613c41565b604082019050919050565b60006131a1603283613893565b91506131ac82613c90565b604082019050919050565b60006131c4602683613893565b91506131cf82613cdf565b604082019050919050565b60006131e7601c83613893565b91506131f282613d2e565b602082019050919050565b600061320a602483613893565b915061321582613d57565b604082019050919050565b600061322d601983613893565b915061323882613da6565b602082019050919050565b6000613250602c83613893565b915061325b82613dcf565b604082019050919050565b6000613273603883613893565b915061327e82613e1e565b604082019050919050565b6000613296602a83613893565b91506132a182613e6d565b604082019050919050565b60006132b9602983613893565b91506132c482613ebc565b604082019050919050565b60006132dc602083613893565b91506132e782613f0b565b602082019050919050565b60006132ff602c83613893565b915061330a82613f34565b604082019050919050565b6000613322602083613893565b915061332d82613f83565b602082019050919050565b6000613345602983613893565b915061335082613fac565b604082019050919050565b6000613368602183613893565b915061337382613ffb565b604082019050919050565b600061338b603183613893565b91506133968261404a565b604082019050919050565b60006133ae602c83613893565b91506133b982614099565b604082019050919050565b60006133d1601c83613893565b91506133dc826140e8565b602082019050919050565b60006133f4601f83613893565b91506133ff82614111565b602082019050919050565b613413816139d4565b82525050565b613422816139d4565b82525050565b60006134348284613140565b915081905092915050565b60006020820190506134546000830184613052565b92915050565b600060808201905061346f6000830187613052565b61347c6020830186613052565b6134896040830185613419565b818103606083015261349b81846130ce565b905095945050505050565b600060208201905081810360008301526134c08184613061565b905092915050565b60006020820190506134dd60008301846130bf565b92915050565b600060208201905081810360008301526134fd8184613107565b905092915050565b6000602082019050818103600083015261351e81613171565b9050919050565b6000602082019050818103600083015261353e81613194565b9050919050565b6000602082019050818103600083015261355e816131b7565b9050919050565b6000602082019050818103600083015261357e816131da565b9050919050565b6000602082019050818103600083015261359e816131fd565b9050919050565b600060208201905081810360008301526135be81613220565b9050919050565b600060208201905081810360008301526135de81613243565b9050919050565b600060208201905081810360008301526135fe81613266565b9050919050565b6000602082019050818103600083015261361e81613289565b9050919050565b6000602082019050818103600083015261363e816132ac565b9050919050565b6000602082019050818103600083015261365e816132cf565b9050919050565b6000602082019050818103600083015261367e816132f2565b9050919050565b6000602082019050818103600083015261369e81613315565b9050919050565b600060208201905081810360008301526136be81613338565b9050919050565b600060208201905081810360008301526136de8161335b565b9050919050565b600060208201905081810360008301526136fe8161337e565b9050919050565b6000602082019050818103600083015261371e816133a1565b9050919050565b6000602082019050818103600083015261373e816133c4565b9050919050565b6000602082019050818103600083015261375e816133e7565b9050919050565b600060208201905061377a6000830184613419565b92915050565b600061378a61379b565b90506137968282613a52565b919050565b6000604051905090565b600067ffffffffffffffff8211156137c0576137bf613be8565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156137ec576137eb613be8565b5b6137f582613c30565b9050602081019050919050565b600067ffffffffffffffff82111561381d5761381c613be8565b5b61382682613c30565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006138ba826139d4565b91506138c5836139d4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156138fa576138f9613afd565b5b828201905092915050565b6000613910826139d4565b915061391b836139d4565b92508261392b5761392a613b2c565b5b828204905092915050565b6000613941826139d4565b915061394c836139d4565b92508282101561395f5761395e613afd565b5b828203905092915050565b6000613975826139b4565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613a0b5780820151818401526020810190506139f0565b83811115613a1a576000848401525b50505050565b60006002820490506001821680613a3857607f821691505b60208210811415613a4c57613a4b613b5b565b5b50919050565b613a5b82613c30565b810181811067ffffffffffffffff82111715613a7a57613a79613be8565b5b80604052505050565b6000613a8e826139d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613ac157613ac0613afd565b5b600182019050919050565b6000613ad7826139d4565b9150613ae2836139d4565b925082613af257613af1613b2c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f6f6e6c79206d616e616765722063616e20726561636820206865726500000000600082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6141438161396a565b811461414e57600080fd5b50565b61415a8161397c565b811461416557600080fd5b50565b61417181613988565b811461417c57600080fd5b50565b614188816139d4565b811461419357600080fd5b5056fea2646970667358221220762b82c0e26b16afd38abc0e675f35bcfab9c720c44d794318dbeec82ae56e7a64736f6c6343000807003368747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f516d544c503942415a454c393158544759344a347975684c545342377554534c6f4d345879374570344767444b642f6e65772e6a736f6e