[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "_initBaseURI", "type": "string" }, { "internalType": "string", "name": "_initNotRevealedUri", "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": "Airdrop", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "addressMintedBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "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": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "isWhitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxMintAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nftPerAddressLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "notRevealedUri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "onlyWhitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "preSaleCost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "reveal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "revealed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "_newBaseExtension", "type": "string" } ], "name": "setBaseExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newCost", "type": "uint256" } ], "name": "setCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_limit", "type": "uint256" } ], "name": "setNftPerAddressLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_notRevealedURI", "type": "string" } ], "name": "setNotRevealedURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "setOnlyWhitelisted", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newmaxMintAmount", "type": "uint256" } ], "name": "setmaxMintAmount", "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": "address", "name": "_owner", "type": "address" } ], "name": "walletOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" } ], "name": "whitelistUsers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "whitelistedAddresses", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c90805190602001906200005192919062000360565b506706f05b59d3b20000600e556702c68af0bb140000600f556064601055600160115560016012556001601360006101000a81548160ff0219169083151502179055506001601360016101000a81548160ff0219169083151502179055506001601360026101000a81548160ff021916908315150217905550348015620000d757600080fd5b506040516200536f3803806200536f8339818101604052810190620000fd91906200048e565b838381600090805190602001906200011792919062000360565b5080600190805190602001906200013092919062000360565b50505062000153620001476200017f60201b60201c565b6200018760201b60201c565b62000164826200024d60201b60201c565b62000175816200027960201b60201c565b5050505062000783565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200025d620002a560201b60201c565b80600b90805190602001906200027592919062000360565b5050565b62000289620002a560201b60201c565b80600d9080519060200190620002a192919062000360565b5050565b620002b56200017f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620002db6200033660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000334576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200032b90620005a3565b60405180910390fd5b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200036e906200066b565b90600052602060002090601f016020900481019282620003925760008555620003de565b82601f10620003ad57805160ff1916838001178555620003de565b82800160010185558215620003de579182015b82811115620003dd578251825591602001919060010190620003c0565b5b509050620003ed9190620003f1565b5090565b5b808211156200040c576000816000905550600101620003f2565b5090565b6000620004276200042184620005ee565b620005c5565b9050828152602081018484840111156200044657620004456200073a565b5b6200045384828562000635565b509392505050565b600082601f83011262000473576200047262000735565b5b81516200048584826020860162000410565b91505092915050565b60008060008060808587031215620004ab57620004aa62000744565b5b600085015167ffffffffffffffff811115620004cc57620004cb6200073f565b5b620004da878288016200045b565b945050602085015167ffffffffffffffff811115620004fe57620004fd6200073f565b5b6200050c878288016200045b565b935050604085015167ffffffffffffffff81111562000530576200052f6200073f565b5b6200053e878288016200045b565b925050606085015167ffffffffffffffff8111156200056257620005616200073f565b5b62000570878288016200045b565b91505092959194509250565b60006200058b60208362000624565b915062000598826200075a565b602082019050919050565b60006020820190508181036000830152620005be816200057c565b9050919050565b6000620005d1620005e4565b9050620005df8282620006a1565b919050565b6000604051905090565b600067ffffffffffffffff8211156200060c576200060b62000706565b5b620006178262000749565b9050602081019050919050565b600082825260208201905092915050565b60005b838110156200065557808201518184015260208101905062000638565b8381111562000665576000848401525b50505050565b600060028204905060018216806200068457607f821691505b602082108114156200069b576200069a620006d7565b5b50919050565b620006ac8262000749565b810181811067ffffffffffffffff82111715620006ce57620006cd62000706565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b614bdc80620007936000396000f3fe6080604052600436106102885760003560e01c80636c0360eb1161015a578063ba4e5c49116100c1578063d5abeb011161007a578063d5abeb01146109c6578063da3ef23f146109f1578063e985e9c514610a1a578063edec5f2714610a57578063f2c4ce1e14610a80578063f2fde38b14610aa957610288565b8063ba4e5c49146108a2578063ba7d2c76146108df578063c66828621461090a578063c87b56dd14610935578063cc9ff9c614610972578063d0eb26b01461099d57610288565b806395d89b411161011357806395d89b41146107c75780639c70b512146107f2578063a0712d681461081d578063a22cb46514610839578063a475b5dd14610862578063b88d4fde1461087957610288565b80636c0360eb146106cb57806370a08231146106f6578063715018a6146107335780637f00c7a61461074a5780638c32c568146107735780638da5cb5b1461079c57610288565b80632f745c59116101fe57806344a0d68a116101b757806344a0d68a146105a95780634f6ccce7146105d2578063518302271461060f57806355f804b31461063a5780635c975abb146106635780636352211e1461068e57610288565b80632f745c59146104965780633af32abf146104d35780633c952764146105105780633ccfd60b1461053957806342842e0e14610543578063438b63001461056c57610288565b8063095ea7b311610250578063095ea7b31461038657806313faede6146103af57806318160ddd146103da57806318cae26914610405578063239c70ae1461044257806323b872dd1461046d57610288565b806301ffc9a71461028d57806302329a29146102ca57806306fdde03146102f3578063081812fc1461031e578063081c8c441461035b575b600080fd5b34801561029957600080fd5b506102b460048036038101906102af919061365d565b610ad2565b6040516102c19190613d3b565b60405180910390f35b3480156102d657600080fd5b506102f160048036038101906102ec9190613630565b610b4c565b005b3480156102ff57600080fd5b50610308610b71565b6040516103159190613d56565b60405180910390f35b34801561032a57600080fd5b5061034560048036038101906103409190613700565b610c03565b6040516103529190613cb2565b60405180910390f35b34801561036757600080fd5b50610370610c49565b60405161037d9190613d56565b60405180910390f35b34801561039257600080fd5b506103ad60048036038101906103a891906135a3565b610cd7565b005b3480156103bb57600080fd5b506103c4610def565b6040516103d19190614078565b60405180910390f35b3480156103e657600080fd5b506103ef610df5565b6040516103fc9190614078565b60405180910390f35b34801561041157600080fd5b5061042c60048036038101906104279190613420565b610e02565b6040516104399190614078565b60405180910390f35b34801561044e57600080fd5b50610457610e1a565b6040516104649190614078565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f919061348d565b610e20565b005b3480156104a257600080fd5b506104bd60048036038101906104b891906135a3565b610e80565b6040516104ca9190614078565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f59190613420565b610f25565b6040516105079190613d3b565b60405180910390f35b34801561051c57600080fd5b5061053760048036038101906105329190613630565b610fd4565b005b610541610ff9565b005b34801561054f57600080fd5b5061056a6004803603810190610565919061348d565b611124565b005b34801561057857600080fd5b50610593600480360381019061058e9190613420565b611144565b6040516105a09190613d19565b60405180910390f35b3480156105b557600080fd5b506105d060048036038101906105cb9190613700565b6111f2565b005b3480156105de57600080fd5b506105f960048036038101906105f49190613700565b611204565b6040516106069190614078565b60405180910390f35b34801561061b57600080fd5b50610624611275565b6040516106319190613d3b565b60405180910390f35b34801561064657600080fd5b50610661600480360381019061065c91906136b7565b611288565b005b34801561066f57600080fd5b506106786112aa565b6040516106859190613d3b565b60405180910390f35b34801561069a57600080fd5b506106b560048036038101906106b09190613700565b6112bd565b6040516106c29190613cb2565b60405180910390f35b3480156106d757600080fd5b506106e061136f565b6040516106ed9190613d56565b60405180910390f35b34801561070257600080fd5b5061071d60048036038101906107189190613420565b6113fd565b60405161072a9190614078565b60405180910390f35b34801561073f57600080fd5b506107486114b5565b005b34801561075657600080fd5b50610771600480360381019061076c9190613700565b6114c9565b005b34801561077f57600080fd5b5061079a600480360381019061079591906135a3565b6114db565b005b3480156107a857600080fd5b506107b1611501565b6040516107be9190613cb2565b60405180910390f35b3480156107d357600080fd5b506107dc61152b565b6040516107e99190613d56565b60405180910390f35b3480156107fe57600080fd5b506108076115bd565b6040516108149190613d3b565b60405180910390f35b61083760048036038101906108329190613700565b6115d0565b005b34801561084557600080fd5b50610860600480360381019061085b9190613563565b6119bd565b005b34801561086e57600080fd5b506108776119d3565b005b34801561088557600080fd5b506108a0600480360381019061089b91906134e0565b6119f8565b005b3480156108ae57600080fd5b506108c960048036038101906108c49190613700565b611a5a565b6040516108d69190613cb2565b60405180910390f35b3480156108eb57600080fd5b506108f4611a99565b6040516109019190614078565b60405180910390f35b34801561091657600080fd5b5061091f611a9f565b60405161092c9190613d56565b60405180910390f35b34801561094157600080fd5b5061095c60048036038101906109579190613700565b611b2d565b6040516109699190613d56565b60405180910390f35b34801561097e57600080fd5b50610987611c86565b6040516109949190614078565b60405180910390f35b3480156109a957600080fd5b506109c460048036038101906109bf9190613700565b611c8c565b005b3480156109d257600080fd5b506109db611c9e565b6040516109e89190614078565b60405180910390f35b3480156109fd57600080fd5b50610a186004803603810190610a1391906136b7565b611ca4565b005b348015610a2657600080fd5b50610a416004803603810190610a3c919061344d565b611cc6565b604051610a4e9190613d3b565b60405180910390f35b348015610a6357600080fd5b50610a7e6004803603810190610a7991906135e3565b611d5a565b005b348015610a8c57600080fd5b50610aa76004803603810190610aa291906136b7565b611d86565b005b348015610ab557600080fd5b50610ad06004803603810190610acb9190613420565b611da8565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b455750610b4482611e2c565b5b9050919050565b610b54611f0e565b80601360006101000a81548160ff02191690831515021790555050565b606060008054610b8090614381565b80601f0160208091040260200160405190810160405280929190818152602001828054610bac90614381565b8015610bf95780601f10610bce57610100808354040283529160200191610bf9565b820191906000526020600020905b815481529060010190602001808311610bdc57829003601f168201915b5050505050905090565b6000610c0e82611f8c565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600d8054610c5690614381565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8290614381565b8015610ccf5780601f10610ca457610100808354040283529160200191610ccf565b820191906000526020600020905b815481529060010190602001808311610cb257829003601f168201915b505050505081565b6000610ce2826112bd565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4a90613fb8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610d72611fd7565b73ffffffffffffffffffffffffffffffffffffffff161480610da15750610da081610d9b611fd7565b611cc6565b5b610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd790613ed8565b60405180910390fd5b610dea8383611fdf565b505050565b600e5481565b6000600880549050905090565b60156020528060005260406000206000915090505481565b60115481565b610e31610e2b611fd7565b82612098565b610e70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6790614038565b60405180910390fd5b610e7b83838361212d565b505050565b6000610e8b836113fd565b8210610ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec390613d78565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600080600090505b601480549050811015610fc9578273ffffffffffffffffffffffffffffffffffffffff1660148281548110610f6557610f6461451a565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610fb6576001915050610fcf565b8080610fc1906143e4565b915050610f2d565b50600090505b919050565b610fdc611f0e565b80601360026101000a81548160ff02191690831515021790555050565b611001611f0e565b6000733e21af56042c35853f0c191c856bd754f51820ed73ffffffffffffffffffffffffffffffffffffffff16606460324761103d919061423d565b611047919061420c565b60405161105390613c9d565b60006040518083038185875af1925050503d8060008114611090576040519150601f19603f3d011682016040523d82523d6000602084013e611095565b606091505b50509050806110a357600080fd5b60006110ad611501565b73ffffffffffffffffffffffffffffffffffffffff16476040516110d090613c9d565b60006040518083038185875af1925050503d806000811461110d576040519150601f19603f3d011682016040523d82523d6000602084013e611112565b606091505b505090508061112057600080fd5b5050565b61113f838383604051806020016040528060008152506119f8565b505050565b60606000611151836113fd565b905060008167ffffffffffffffff81111561116f5761116e614549565b5b60405190808252806020026020018201604052801561119d5781602001602082028036833780820191505090505b50905060005b828110156111e7576111b58582610e80565b8282815181106111c8576111c761451a565b5b60200260200101818152505080806111df906143e4565b9150506111a3565b508092505050919050565b6111fa611f0e565b80600e8190555050565b600061120e610df5565b821061124f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124690613ff8565b60405180910390fd5b600882815481106112635761126261451a565b5b90600052602060002001549050919050565b601360019054906101000a900460ff1681565b611290611f0e565b80600b90805190602001906112a692919061311d565b5050565b601360009054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135d90613f98565b60405180910390fd5b80915050919050565b600b805461137c90614381565b80601f01602080910402602001604051908101604052809291908181526020018280546113a890614381565b80156113f55780601f106113ca576101008083540402835291602001916113f5565b820191906000526020600020905b8154815290600101906020018083116113d857829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561146e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146590613e78565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6114bd611f0e565b6114c76000612394565b565b6114d1611f0e565b8060118190555050565b6114e3611f0e565b6114fd82826040518060200160405280600081525061245a565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461153a90614381565b80601f016020809104026020016040519081016040528092919081815260200182805461156690614381565b80156115b35780601f10611588576101008083540402835291602001916115b3565b820191906000526020600020905b81548152906001019060200180831161159657829003601f168201915b5050505050905090565b601360029054906101000a900460ff1681565b601360009054906101000a900460ff1615611620576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161790613f38565b60405180910390fd5b600061162a610df5565b90506000821161166f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166690614058565b60405180910390fd5b6011548211156116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab90613eb8565b60405180910390fd5b60105482826116c391906141b6565b1115611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb90613e98565b60405180910390fd5b61170c611501565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461192d5760011515601360029054906101000a900460ff16151514156118db5761176333610f25565b6117a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179990614018565b60405180910390fd5b6000601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060125483826117f591906141b6565b1115611836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182d90613e18565b60405180910390fd5b6032838361184491906141b6565b1115611885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187c90613f78565b60405180910390fd5b82600f54611893919061423d565b3410156118d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cc90613fd8565b60405180910390fd5b5061192c565b81600e546118e9919061423d565b34101561192b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192290613fd8565b60405180910390fd5b5b5b6000600190505b8281116119b857601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061198b906143e4565b91905055506119a53382846119a091906141b6565b6124b5565b80806119b0906143e4565b915050611934565b505050565b6119cf6119c8611fd7565b83836124d3565b5050565b6119db611f0e565b6001601360016101000a81548160ff021916908315150217905550565b611a09611a03611fd7565b83612098565b611a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3f90614038565b60405180910390fd5b611a5484848484612640565b50505050565b60148181548110611a6a57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b600c8054611aac90614381565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad890614381565b8015611b255780601f10611afa57610100808354040283529160200191611b25565b820191906000526020600020905b815481529060010190602001808311611b0857829003601f168201915b505050505081565b6060611b388261269c565b611b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6e90613f58565b60405180910390fd5b60001515601360019054906101000a900460ff1615151415611c2557600d8054611ba090614381565b80601f0160208091040260200160405190810160405280929190818152602001828054611bcc90614381565b8015611c195780601f10611bee57610100808354040283529160200191611c19565b820191906000526020600020905b815481529060010190602001808311611bfc57829003601f168201915b50505050509050611c81565b6000611c2f612708565b90506000815111611c4f5760405180602001604052806000815250611c7d565b80611c598461279a565b600c604051602001611c6d93929190613c6c565b6040516020818303038152906040525b9150505b919050565b600f5481565b611c94611f0e565b8060128190555050565b60105481565b611cac611f0e565b80600c9080519060200190611cc292919061311d565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611d62611f0e565b60146000611d7091906131a3565b818160149190611d819291906131c4565b505050565b611d8e611f0e565b80600d9080519060200190611da492919061311d565b5050565b611db0611f0e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1790613db8565b60405180910390fd5b611e2981612394565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611ef757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611f075750611f06826128fb565b5b9050919050565b611f16611fd7565b73ffffffffffffffffffffffffffffffffffffffff16611f34611501565b73ffffffffffffffffffffffffffffffffffffffff1614611f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8190613f18565b60405180910390fd5b565b611f958161269c565b611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb90613f98565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612052836112bd565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806120a4836112bd565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806120e657506120e58185611cc6565b5b8061212457508373ffffffffffffffffffffffffffffffffffffffff1661210c84610c03565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661214d826112bd565b73ffffffffffffffffffffffffffffffffffffffff16146121a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219a90613dd8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220a90613e38565b60405180910390fd5b61221e838383612965565b612229600082611fdf565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122799190614297565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122d091906141b6565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461238f838383612a79565b505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6124648383612a7e565b6124716000848484612c58565b6124b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a790613d98565b60405180910390fd5b505050565b6124cf82826040518060200160405280600081525061245a565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253990613e58565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516126339190613d3b565b60405180910390a3505050565b61264b84848461212d565b61265784848484612c58565b612696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268d90613d98565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600b805461271790614381565b80601f016020809104026020016040519081016040528092919081815260200182805461274390614381565b80156127905780601f1061276557610100808354040283529160200191612790565b820191906000526020600020905b81548152906001019060200180831161277357829003601f168201915b5050505050905090565b606060008214156127e2576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506128f6565b600082905060005b600082146128145780806127fd906143e4565b915050600a8261280d919061420c565b91506127ea565b60008167ffffffffffffffff8111156128305761282f614549565b5b6040519080825280601f01601f1916602001820160405280156128625781602001600182028036833780820191505090505b5090505b600085146128ef5760018261287b9190614297565b9150600a8561288a919061442d565b603061289691906141b6565b60f81b8183815181106128ac576128ab61451a565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856128e8919061420c565b9450612866565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612970838383612def565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129b3576129ae81612df4565b6129f2565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146129f1576129f08382612e3d565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a3557612a3081612faa565b612a74565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a7357612a72828261307b565b5b5b505050565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae590613ef8565b60405180910390fd5b612af78161269c565b15612b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2e90613df8565b60405180910390fd5b612b4360008383612965565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b9391906141b6565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612c5460008383612a79565b5050565b6000612c798473ffffffffffffffffffffffffffffffffffffffff166130fa565b15612de2578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612ca2611fd7565b8786866040518563ffffffff1660e01b8152600401612cc49493929190613ccd565b602060405180830381600087803b158015612cde57600080fd5b505af1925050508015612d0f57506040513d601f19601f82011682018060405250810190612d0c919061368a565b60015b612d92573d8060008114612d3f576040519150601f19603f3d011682016040523d82523d6000602084013e612d44565b606091505b50600081511415612d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8190613d98565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612de7565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612e4a846113fd565b612e549190614297565b9050600060076000848152602001908152602001600020549050818114612f39576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600880549050612fbe9190614297565b9050600060096000848152602001908152602001600020549050600060088381548110612fee57612fed61451a565b5b9060005260206000200154905080600883815481106130105761300f61451a565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061305f5761305e6144eb565b5b6001900381819060005260206000200160009055905550505050565b6000613086836113fd565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b82805461312990614381565b90600052602060002090601f01602090048101928261314b5760008555613192565b82601f1061316457805160ff1916838001178555613192565b82800160010185558215613192579182015b82811115613191578251825591602001919060010190613176565b5b50905061319f9190613264565b5090565b50805460008255906000526020600020908101906131c19190613264565b50565b828054828255906000526020600020908101928215613253579160200282015b8281111561325257823573ffffffffffffffffffffffffffffffffffffffff168260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906131e4565b5b5090506132609190613264565b5090565b5b8082111561327d576000816000905550600101613265565b5090565b600061329461328f846140b8565b614093565b9050828152602081018484840111156132b0576132af614587565b5b6132bb84828561433f565b509392505050565b60006132d66132d1846140e9565b614093565b9050828152602081018484840111156132f2576132f1614587565b5b6132fd84828561433f565b509392505050565b60008135905061331481614b4a565b92915050565b60008083601f8401126133305761332f61457d565b5b8235905067ffffffffffffffff81111561334d5761334c614578565b5b60208301915083602082028301111561336957613368614582565b5b9250929050565b60008135905061337f81614b61565b92915050565b60008135905061339481614b78565b92915050565b6000815190506133a981614b78565b92915050565b600082601f8301126133c4576133c361457d565b5b81356133d4848260208601613281565b91505092915050565b600082601f8301126133f2576133f161457d565b5b81356134028482602086016132c3565b91505092915050565b60008135905061341a81614b8f565b92915050565b60006020828403121561343657613435614591565b5b600061344484828501613305565b91505092915050565b6000806040838503121561346457613463614591565b5b600061347285828601613305565b925050602061348385828601613305565b9150509250929050565b6000806000606084860312156134a6576134a5614591565b5b60006134b486828701613305565b93505060206134c586828701613305565b92505060406134d68682870161340b565b9150509250925092565b600080600080608085870312156134fa576134f9614591565b5b600061350887828801613305565b945050602061351987828801613305565b935050604061352a8782880161340b565b925050606085013567ffffffffffffffff81111561354b5761354a61458c565b5b613557878288016133af565b91505092959194509250565b6000806040838503121561357a57613579614591565b5b600061358885828601613305565b925050602061359985828601613370565b9150509250929050565b600080604083850312156135ba576135b9614591565b5b60006135c885828601613305565b92505060206135d98582860161340b565b9150509250929050565b600080602083850312156135fa576135f9614591565b5b600083013567ffffffffffffffff8111156136185761361761458c565b5b6136248582860161331a565b92509250509250929050565b60006020828403121561364657613645614591565b5b600061365484828501613370565b91505092915050565b60006020828403121561367357613672614591565b5b600061368184828501613385565b91505092915050565b6000602082840312156136a05761369f614591565b5b60006136ae8482850161339a565b91505092915050565b6000602082840312156136cd576136cc614591565b5b600082013567ffffffffffffffff8111156136eb576136ea61458c565b5b6136f7848285016133dd565b91505092915050565b60006020828403121561371657613715614591565b5b60006137248482850161340b565b91505092915050565b60006137398383613c4e565b60208301905092915050565b61374e816142cb565b82525050565b600061375f8261413f565b613769818561416d565b93506137748361411a565b8060005b838110156137a557815161378c888261372d565b975061379783614160565b925050600181019050613778565b5085935050505092915050565b6137bb816142dd565b82525050565b60006137cc8261414a565b6137d6818561417e565b93506137e681856020860161434e565b6137ef81614596565b840191505092915050565b600061380582614155565b61380f818561419a565b935061381f81856020860161434e565b61382881614596565b840191505092915050565b600061383e82614155565b61384881856141ab565b935061385881856020860161434e565b80840191505092915050565b6000815461387181614381565b61387b81866141ab565b9450600182166000811461389657600181146138a7576138da565b60ff198316865281860193506138da565b6138b08561412a565b60005b838110156138d2578154818901526001820191506020810190506138b3565b838801955050505b50505092915050565b60006138f0602b8361419a565b91506138fb826145a7565b604082019050919050565b600061391360328361419a565b915061391e826145f6565b604082019050919050565b600061393660268361419a565b915061394182614645565b604082019050919050565b600061395960258361419a565b915061396482614694565b604082019050919050565b600061397c601c8361419a565b9150613987826146e3565b602082019050919050565b600061399f601c8361419a565b91506139aa8261470c565b602082019050919050565b60006139c260248361419a565b91506139cd82614735565b604082019050919050565b60006139e560198361419a565b91506139f082614784565b602082019050919050565b6000613a0860298361419a565b9150613a13826147ad565b604082019050919050565b6000613a2b60168361419a565b9150613a36826147fc565b602082019050919050565b6000613a4e60248361419a565b9150613a5982614825565b604082019050919050565b6000613a71603e8361419a565b9150613a7c82614874565b604082019050919050565b6000613a9460208361419a565b9150613a9f826148c3565b602082019050919050565b6000613ab760208361419a565b9150613ac2826148ec565b602082019050919050565b6000613ada60168361419a565b9150613ae582614915565b602082019050919050565b6000613afd602f8361419a565b9150613b088261493e565b604082019050919050565b6000613b2060108361419a565b9150613b2b8261498d565b602082019050919050565b6000613b4360188361419a565b9150613b4e826149b6565b602082019050919050565b6000613b6660218361419a565b9150613b71826149df565b604082019050919050565b6000613b8960008361418f565b9150613b9482614a2e565b600082019050919050565b6000613bac60128361419a565b9150613bb782614a31565b602082019050919050565b6000613bcf602c8361419a565b9150613bda82614a5a565b604082019050919050565b6000613bf260178361419a565b9150613bfd82614aa9565b602082019050919050565b6000613c15602e8361419a565b9150613c2082614ad2565b604082019050919050565b6000613c38601b8361419a565b9150613c4382614b21565b602082019050919050565b613c5781614335565b82525050565b613c6681614335565b82525050565b6000613c788286613833565b9150613c848285613833565b9150613c908284613864565b9150819050949350505050565b6000613ca882613b7c565b9150819050919050565b6000602082019050613cc76000830184613745565b92915050565b6000608082019050613ce26000830187613745565b613cef6020830186613745565b613cfc6040830185613c5d565b8181036060830152613d0e81846137c1565b905095945050505050565b60006020820190508181036000830152613d338184613754565b905092915050565b6000602082019050613d5060008301846137b2565b92915050565b60006020820190508181036000830152613d7081846137fa565b905092915050565b60006020820190508181036000830152613d91816138e3565b9050919050565b60006020820190508181036000830152613db181613906565b9050919050565b60006020820190508181036000830152613dd181613929565b9050919050565b60006020820190508181036000830152613df18161394c565b9050919050565b60006020820190508181036000830152613e118161396f565b9050919050565b60006020820190508181036000830152613e3181613992565b9050919050565b60006020820190508181036000830152613e51816139b5565b9050919050565b60006020820190508181036000830152613e71816139d8565b9050919050565b60006020820190508181036000830152613e91816139fb565b9050919050565b60006020820190508181036000830152613eb181613a1e565b9050919050565b60006020820190508181036000830152613ed181613a41565b9050919050565b60006020820190508181036000830152613ef181613a64565b9050919050565b60006020820190508181036000830152613f1181613a87565b9050919050565b60006020820190508181036000830152613f3181613aaa565b9050919050565b60006020820190508181036000830152613f5181613acd565b9050919050565b60006020820190508181036000830152613f7181613af0565b9050919050565b60006020820190508181036000830152613f9181613b13565b9050919050565b60006020820190508181036000830152613fb181613b36565b9050919050565b60006020820190508181036000830152613fd181613b59565b9050919050565b60006020820190508181036000830152613ff181613b9f565b9050919050565b6000602082019050818103600083015261401181613bc2565b9050919050565b6000602082019050818103600083015261403181613be5565b9050919050565b6000602082019050818103600083015261405181613c08565b9050919050565b6000602082019050818103600083015261407181613c2b565b9050919050565b600060208201905061408d6000830184613c5d565b92915050565b600061409d6140ae565b90506140a982826143b3565b919050565b6000604051905090565b600067ffffffffffffffff8211156140d3576140d2614549565b5b6140dc82614596565b9050602081019050919050565b600067ffffffffffffffff82111561410457614103614549565b5b61410d82614596565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006141c182614335565b91506141cc83614335565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156142015761420061445e565b5b828201905092915050565b600061421782614335565b915061422283614335565b9250826142325761423161448d565b5b828204905092915050565b600061424882614335565b915061425383614335565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561428c5761428b61445e565b5b828202905092915050565b60006142a282614335565b91506142ad83614335565b9250828210156142c0576142bf61445e565b5b828203905092915050565b60006142d682614315565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561436c578082015181840152602081019050614351565b8381111561437b576000848401525b50505050565b6000600282049050600182168061439957607f821691505b602082108114156143ad576143ac6144bc565b5b50919050565b6143bc82614596565b810181811067ffffffffffffffff821117156143db576143da614549565b5b80604052505050565b60006143ef82614335565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156144225761442161445e565b5b600182019050919050565b600061443882614335565b915061444383614335565b9250826144535761445261448d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f6d6178204e465420706572206164647265737320657863656564656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b7f6d6178204e4654206c696d697420657863656564656400000000000000000000600082015250565b7f6d6178206d696e7420616d6f756e74207065722073657373696f6e206578636560008201527f6564656400000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f74686520636f6e74726163742069732070617573656400000000000000000000600082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f50726553616c6520536f6c64204f757400000000000000000000000000000000600082015250565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f696e73756666696369656e742066756e64730000000000000000000000000000600082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f75736572206973206e6f742077686974656c6973746564000000000000000000600082015250565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b7f6e65656420746f206d696e74206174206c656173742031204e46540000000000600082015250565b614b53816142cb565b8114614b5e57600080fd5b50565b614b6a816142dd565b8114614b7557600080fd5b50565b614b81816142e9565b8114614b8c57600080fd5b50565b614b9881614335565b8114614ba357600080fd5b5056fea2646970667358221220ffcd42d01d03decce9499ee1f4d28b0c91206bee7a3a9bab4a4f4011b27c57e764736f6c63430008070033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000b6d69676874796475636b7300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d5459440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000