Loading
[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "PrintNumber", "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": "uint256", "name": "_genId", "type": "uint256" } ], "name": "GetOtherGenContractAddreses", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_genNBFContraactAddress", "type": "address" }, { "internalType": "uint256", "name": "_genId", "type": "uint256" } ], "name": "SetOtherGenContractAddreses", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "_tokenIds", "outputs": [ { "internalType": "uint256", "name": "_value", "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": [ { "internalType": "uint256", "name": "_tokenID", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "changeMinitngState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_tokenURI", "type": "string" }, { "internalType": "uint256", "name": "_tokenID", "type": "uint256" } ], "name": "changeTokenURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "uint256", "name": "_mintedId", "type": "uint256" } ], "name": "checkIfUserOwns", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "gameLogicContractAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintedId", "type": "uint256" } ], "name": "getAllInfoOfBitfighter", "outputs": [ { "components": [ { "internalType": "uint8", "name": "LuckyNumber", "type": "uint8" }, { "internalType": "address", "name": "Referer", "type": "address" }, { "internalType": "string", "name": "NickName", "type": "string" }, { "internalType": "string", "name": "Partner", "type": "string" }, { "internalType": "bool", "name": "support", "type": "bool" }, { "internalType": "address", "name": "originalMinter", "type": "address" } ], "internalType": "struct BitFightersNFT.ExtraInfoForNFTs", "name": "result", "type": "tuple" } ], "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": "uint256", "name": "_mintedId", "type": "uint256" } ], "name": "getLuckyNumberForBitfighter", "outputs": [ { "internalType": "uint8", "name": "lucky_number", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMintedBFsCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "_gen", "type": "uint8" } ], "name": "getNFTsLimitCountForGenN", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintedId", "type": "uint256" } ], "name": "getNickNameForBitfighter", "outputs": [ { "internalType": "string", "name": "nick_name", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintedId", "type": "uint256" } ], "name": "getPartnerForBitfighter", "outputs": [ { "internalType": "string", "name": "value", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintedId", "type": "uint256" } ], "name": "getRefererAddressForBitfighter", "outputs": [ { "internalType": "address", "name": "referer", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_userAddress", "type": "address" } ], "name": "getTokensOfUser", "outputs": [ { "internalType": "uint256[]", "name": "value", "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": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "name": "limitCountOfGenNBitfighters", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string[]", "name": "_tokenURIs", "type": "string[]" }, { "internalType": "uint8", "name": "_gen", "type": "uint8" } ], "name": "mintBitFighterWithMitCard", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintCardContractAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string[]", "name": "_tokenURIs", "type": "string[]" }, { "internalType": "address", "name": "referrer_address", "type": "address" }, { "internalType": "uint8", "name": "_gen", "type": "uint8" }, { "internalType": "string", "name": "_partner", "type": "string" }, { "internalType": "bool", "name": "_support", "type": "bool" } ], "name": "mintMultiBitfighter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "nftIdToExtraInfoMapping", "outputs": [ { "internalType": "uint8", "name": "LuckyNumber", "type": "uint8" }, { "internalType": "address", "name": "Referer", "type": "address" }, { "internalType": "string", "name": "NickName", "type": "string" }, { "internalType": "string", "name": "Partner", "type": "string" }, { "internalType": "bool", "name": "support", "type": "bool" }, { "internalType": "address", "name": "originalMinter", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "otherGenBFContractAddresses", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "readyToMint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "uint8", "name": "lucky_number", "type": "uint8" }, { "internalType": "uint256", "name": "_tokenID", "type": "uint256" } ], "name": "registerBitfighter", "outputs": [], "stateMutability": "nonpayable", "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": "address", "name": "_gameLogicContractAddress", "type": "address" } ], "name": "setGameLogicContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_mintCardContractAddress", "type": "address" } ], "name": "setMintCardContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintedId", "type": "uint256" }, { "internalType": "string", "name": "_newNickName", "type": "string" } ], "name": "setNickNameForBitfighter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_countLimit", "type": "uint256" }, { "internalType": "uint8", "name": "_gen", "type": "uint8" } ], "name": "setNumberOfNFTsLimitForGenN", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintedId", "type": "uint256" }, { "internalType": "address", "name": "_newRefererAddress", "type": "address" } ], "name": "setRefererForBitfighter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalOtherGenBfContacts", "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" } ]
6080604052600d805460ff60a01b191690556000600f553480156200002357600080fd5b506040516200491f3803806200491f83398101604081905262000046916200024d565b8151829082906200005f906000906020850190620000f0565b50805162000075906001906020840190620000f0565b505050620000926200008c6200009a60201b60201c565b6200009e565b50506200030a565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620000fe90620002b7565b90600052602060002090601f0160209004810192826200012257600085556200016d565b82601f106200013d57805160ff19168380011785556200016d565b828001600101855582156200016d579182015b828111156200016d57825182559160200191906001019062000150565b506200017b9291506200017f565b5090565b5b808211156200017b576000815560010162000180565b600082601f830112620001a857600080fd5b81516001600160401b0380821115620001c557620001c5620002f4565b604051601f8301601f19908116603f01168101908282118183101715620001f057620001f0620002f4565b816040528381526020925086838588010111156200020d57600080fd5b600091505b8382101562000231578582018301518183018401529082019062000212565b83821115620002435760008385830101525b9695505050505050565b600080604083850312156200026157600080fd5b82516001600160401b03808211156200027957600080fd5b620002878683870162000196565b935060208501519150808211156200029e57600080fd5b50620002ad8582860162000196565b9150509250929050565b600181811c90821680620002cc57607f821691505b60208210811415620002ee57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b614605806200031a6000396000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c806397fce1bb1161015c578063c87b56dd116100ce578063e1a4027c11610087578063e1a4027c14610600578063e985e9c514610613578063f2fde38b1461064f578063f36bbed914610662578063f8b168401461066a578063faf3a80c1461067d57600080fd5b8063c87b56dd14610580578063c992e5f414610593578063d323c207146105a6578063dd18a05c146105b9578063ddf9ce24146105cc578063e037ed63146105e057600080fd5b8063a9b7cd1311610120578063a9b7cd13146104ef578063aa46a40014610514578063b598df251461051e578063b88d4fde14610531578063bb16c00b14610544578063bf71c3bf1461056d57600080fd5b806397fce1bb1461047357806397fe9830146104865780639b8c92b3146104a65780639fda7abf146104b9578063a22cb465146104dc57600080fd5b8063594066301161020057806373122693116101b957806373122693146104185780637e8c434d1461042b57806384c04b2b1461043e57806384f132b0146104515780638da5cb5b1461045a57806395d89b411461046b57600080fd5b80635940663014610391578063603faab3146103a45780636352211e146103b757806366c7da0e146103ca57806370a08231146103ef578063715018a61461041057600080fd5b806323b872dd1161025257806323b872dd1461031f57806329d0167314610332578063341f53c2146103455780633af8060a1461035857806342842e0e1461036b57806342966c681461037e57600080fd5b806301ffc9a71461028f57806306fdde03146102b7578063081812fc146102cc578063095ea7b3146102f7578063210bc2941461030c575b600080fd5b6102a261029d366004613dee565b61069d565b60405190151581526020015b60405180910390f35b6102bf6106ef565b6040516102ae91906140b3565b6102df6102da366004613ec2565b610781565b6040516001600160a01b0390911681526020016102ae565b61030a610305366004613c32565b6107a8565b005b6102df61031a366004613ec2565b6108c3565b61030a61032d366004613b3d565b610a59565b600c546102df906001600160a01b031681565b61030a610353366004613f00565b610a8a565b61030a610366366004613cf8565b610d08565b61030a610379366004613b3d565b6112cf565b61030a61038c366004613ec2565b6112ea565b61030a61039f366004613c5e565b61157c565b61030a6103b2366004613e6c565b611762565b6102df6103c5366004613ec2565b611b28565b6103dd6103d8366004613ec2565b611b88565b60405160ff90911681526020016102ae565b6104026103fd366004613aca565b611d15565b6040519081526020016102ae565b61030a611d9b565b6102bf610426366004613ec2565b611daf565b61030a610439366004613dd3565b611f41565b61030a61044c366004613e28565b611f67565b610402600f5481565b6007546001600160a01b03166102df565b6102bf612034565b61030a610481366004613aca565b612043565b610402610494366004613f69565b600b6020526000908152604090205481565b61030a6104b4366004613f46565b61206d565b6104026104c7366004613f69565b60ff166000908152600b602052604090205490565b61030a6104ea366004613bfd565b612089565b6105026104fd366004613ec2565b612098565b6040516102ae96959493929190614405565b6008546104029081565b6102a261052c366004613c32565b6121f9565b61030a61053f366004613b7e565b612259565b6102df610552366004613ec2565b600e602052600090815260409020546001600160a01b031681565b600d546102df906001600160a01b031681565b6102bf61058e366004613ec2565b612291565b61030a6105a1366004613aca565b6123a2565b61030a6105b4366004613edb565b6123cc565b6102df6105c7366004613ec2565b6125f4565b600d546102a290600160a01b900460ff1681565b6105f36105ee366004613aca565b61261d565b6040516102ae919061406f565b61030a61060e366004613c32565b612689565b6102a2610621366004613b04565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61030a61065d366004613aca565b6126d4565b61040261274d565b6102bf610678366004613ec2565b61275d565b61069061068b366004613ec2565b6128ed565b6040516102ae9190614383565b60006001600160e01b031982166380ac58cd60e01b14806106ce57506001600160e01b03198216635b5e139f60e01b145b806106e957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546106fe9061450c565b80601f016020809104026020016040519081016040528092919081815260200182805461072a9061450c565b80156107775780601f1061074c57610100808354040283529160200191610777565b820191906000526020600020905b81548152906001019060200180831161075a57829003601f168201915b5050505050905090565b600061078c82612aa5565b506000908152600460205260409020546001600160a01b031690565b60006107b382611b28565b9050806001600160a01b0316836001600160a01b031614156108265760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061084257506108428133610621565b6108b45760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161081d565b6108be8383612af5565b505050565b6000818152600a60209081526040808320815160c081018352815460ff8116825261010090046001600160a01b0316938101939093526001810180548594938401919061090f9061450c565b80601f016020809104026020016040519081016040528092919081815260200182805461093b9061450c565b80156109885780601f1061095d57610100808354040283529160200191610988565b820191906000526020600020905b81548152906001019060200180831161096b57829003601f168201915b505050505081526020016002820180546109a19061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546109cd9061450c565b8015610a1a5780601f106109ef57610100808354040283529160200191610a1a565b820191906000526020600020905b8154815290600101906020018083116109fd57829003601f168201915b50505091835250506003919091015460ff811615156020808401919091526101009091046001600160a01b031660409092019190915201519392505050565b610a633382612b63565b610a7f5760405162461bcd60e51b815260040161081d90614116565b6108be838383612be1565b33610a9482612d8a565b610ab05760405162461bcd60e51b815260040161081d90614295565b610aba81846121f9565b610ac357600080fd5b6000838152600a60209081526040808320815160c081018352815460ff8116825261010090046001600160a01b0316938101939093526001810180549192840191610b0d9061450c565b80601f0160208091040260200160405190810160405280929190818152602001828054610b399061450c565b8015610b865780601f10610b5b57610100808354040283529160200191610b86565b820191906000526020600020905b815481529060010190602001808311610b6957829003601f168201915b50505050508152602001600282018054610b9f9061450c565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcb9061450c565b8015610c185780601f10610bed57610100808354040283529160200191610c18565b820191906000526020600020905b815481529060010190602001808311610bfb57829003601f168201915b50505091835250506003919091015460ff80821615156020808501919091526001600160a01b0361010093849004811660409586015285850189815260008b8152600a84529590952086518154888501519093169095026001600160a81b03199092169490931693909317929092178155915180519394508493610ca29260018501920190613893565b5060608201518051610cbe916002840191602090910190613893565b5060808201516003909101805460a0909301516001600160a01b031661010002610100600160a81b0319921515929092166001600160a81b03199093169290921717905550505050565b600c5433906001600160a01b0316610d625760405162461bcd60e51b815260206004820181905260248201527f5365742047616d65204c6f67696320436f6e747261637420416464726573732e604482015260640161081d565b600d54600160a01b900460ff16610d8b5760405162461bcd60e51b815260040161081d90614249565b6000610d9660085490565b60ff84166000908152600b6020526040902054909150610dc85760405162461bcd60e51b815260040161081d906141fa565b60ff83166000908152600b60205260409020548451610de790836144b1565b1115610e055760405162461bcd60e51b815260040161081d906142eb565b600d546001600160a01b0316610e5d5760405162461bcd60e51b815260206004820152601d60248201527f5365742050726573616c6520436f6e747261637420416464726573732e000000604482015260640161081d565b600d5460405163f754ee6960e01b81523360048201526000916001600160a01b03169063f754ee699060240160006040518083038186803b158015610ea157600080fd5b505afa158015610eb5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610edd9190810190613d3c565b90506000815111610f305760405162461bcd60e51b815260206004820152601b60248201527f596f7520646f206e6f74206f776e2061204d696e7420436172642e0000000000604482015260640161081d565b845181511015610f9e5760405162461bcd60e51b815260206004820152603360248201527f596f7520646f206e6f74206f776e20656e6f756768204d696e742043617264736044820152721710283632b0b9b2903a393c9030b3b0b4b71760691b606482015260840161081d565b60005b85518110156112c757610ffe828281518110610fbf57610fbf614578565b6020026020010151836001848651610fd791906144c9565b610fe191906144c9565b81518110610ff157610ff1614578565b6020026020010151612d9f565b600d5482516000916001600160a01b03169063d9e16fa79085906001906110269087906144c9565b61103091906144c9565b8151811061104057611040614578565b60200260200101516040518263ffffffff1660e01b815260040161106691815260200190565b60206040518083038186803b15801561107e57600080fd5b505afa158015611092573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b69190613ae7565b600d5484519192506001600160a01b031690630449e5419085906001906110de9087906144c9565b6110e891906144c9565b815181106110f8576110f8614578565b60200260200101516040518263ffffffff1660e01b815260040161111e91815260200190565b600060405180830381600087803b15801561113857600080fd5b505af115801561114c573d6000803e3d6000fd5b5050505061115e600880546001019055565b600061116960085490565b90506111753382612de6565b6111988189858151811061118b5761118b614578565b6020026020010151612e00565b33600090815260096020908152604080832080546001818101835591855283852001859055815160c0810183528481526001600160a01b0387811682860190815284518087018652878152838601908152855180880187528881526060850152608084018890528d831660a0850152888852600a875294909620825181549751909216610100026001600160a81b031990971660ff9290921691909117959095178555915180519294936112529392850192910190613893565b506060820151805161126e916002840191602090910190613893565b5060808201516003909101805460a0909301516001600160a01b031661010002610100600160a81b0319921515929092166001600160a81b031990931692909217179055508190506112bf81614547565b915050610fa1565b505050505050565b6108be83838360405180602001604052806000815250612259565b600060015b600f54811015611333576000818152600e60205260409020546001600160a01b03163314156113215760019150611333565b8061132b81614547565b9150506112ef565b50336113476007546001600160a01b031690565b6001600160a01b0316141561135a575060015b600c546001600160a01b0316331415611371575060015b806113ad5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161081d565b60006113b883612e8b565b9050806113fe5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88111bd95cc81b9bdd08195e1a5cdd60621b604482015260640161081d565b600061140984611b28565b905060006114168261261d565b905060006001825161142891906144c9565b6001600160401b0381111561143f5761143f61458e565b604051908082528060200260200182016040528015611468578160200160208202803683370190505b5090506000805b83518110156114f5578784828151811061148b5761148b614578565b6020026020010151141561149e576114e3565b8381815181106114b0576114b0614578565b60200260200101518383815181106114ca576114ca614578565b60209081029190910101526114e08260016144b1565b91505b806114ed81614547565b91505061146f565b506001600160a01b0384166000908152600960209081526040909120835161151f92850190613917565b506000878152600a6020526040812080546001600160a81b03191681559061154a6001830182613951565b611558600283016000613951565b5060030180546001600160a81b031916905561157387612ea8565b50505050505050565b600c5433906001600160a01b03166115d65760405162461bcd60e51b815260206004820152601960248201527f5365742047616d6520436f6e7472616374204164647265737300000000000000604482015260640161081d565b600d54600160a01b900460ff166115ff5760405162461bcd60e51b815260040161081d90614249565b806001600160a01b0316856001600160a01b031614156116315760405162461bcd60e51b815260040161081d90614337565b600061163c60085490565b60ff86166000908152600b602052604090205490915061166e5760405162461bcd60e51b815260040161081d906141fa565b60ff85166000908152600b6020526040902054875161168d90836144b1565b11156116ab5760405162461bcd60e51b815260040161081d906142eb565b600c5487516040516376a9456560e11b81526001600160a01b039092169163ed528aca916116e29186918991899190600401614038565b600060405180830381600087803b1580156116fc57600080fd5b505af1158015611710573d6000803e3d6000fd5b5050505060005b87518110156117585761174688828151811061173557611735614578565b602002602001015188878787612ee8565b8061175081614547565b915050611717565b5050505050505050565b3361176d81836121f9565b61177657600080fd5b60648360ff1611156117d85760405162461bcd60e51b815260206004820152602560248201527f4c75636b79206e756d6265722073686f756c64206265206c657373207468616e604482015264101898181760d91b606482015260840161081d565b60008360ff161161183a5760405162461bcd60e51b815260206004820152602660248201527f4c75636b79206e756d6265722073686f756c64206265206772656174657220746044820152653430b710181760d11b606482015260840161081d565b61184384612d8a565b61185f5760405162461bcd60e51b815260040161081d90614295565b6000828152600a60209081526040808320815160c081018352815460ff8116825261010090046001600160a01b03169381019390935260018101805491928401916118a99061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546118d59061450c565b80156119225780601f106118f757610100808354040283529160200191611922565b820191906000526020600020905b81548152906001019060200180831161190557829003601f168201915b5050505050815260200160028201805461193b9061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546119679061450c565b80156119b45780601f10611989576101008083540402835291602001916119b4565b820191906000526020600020905b81548152906001019060200180831161199757829003601f168201915b50505091835250506003919091015460ff811615156020808401919091526101009091046001600160a01b0316604092830152815160008152908101808352815190208383015193945092611a0b92909101613fb0565b6040516020818303038152906040528051906020012014611a3e5760405162461bcd60e51b815260040161081d906140c6565b805160ff1615611a605760405162461bcd60e51b815260040161081d906140c6565b604080820186815260ff80871684526000868152600a602090815293902084518154858701516001600160a01b0316610100026001600160a81b03199091169190931617919091178155905180518493611ac1926001850192910190613893565b5060608201518051611add916002840191602090910190613893565b5060808201516003909101805460a0909301516001600160a01b031661010002610100600160a81b0319921515929092166001600160a81b0319909316929092171790555050505050565b6000818152600260205260408120546001600160a01b0316806106e95760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161081d565b6000818152600a60209081526040808320815160c081018352815460ff8116825261010090046001600160a01b03169381019390935260018101805485949384019190611bd49061450c565b80601f0160208091040260200160405190810160405280929190818152602001828054611c009061450c565b8015611c4d5780601f10611c2257610100808354040283529160200191611c4d565b820191906000526020600020905b815481529060010190602001808311611c3057829003601f168201915b50505050508152602001600282018054611c669061450c565b80601f0160208091040260200160405190810160405280929190818152602001828054611c929061450c565b8015611cdf5780601f10611cb457610100808354040283529160200191611cdf565b820191906000526020600020905b815481529060010190602001808311611cc257829003601f168201915b50505091835250506003919091015460ff81161515602083015261010090046001600160a01b0316604090910152519392505050565b60006001600160a01b038216611d7f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161081d565b506001600160a01b031660009081526003602052604090205490565b611da3613036565b611dad6000613090565b565b6000818152600a60209081526040808320815160c081018352815460ff8116825261010090046001600160a01b031693810193909352600181018054606095949384019190611dfd9061450c565b80601f0160208091040260200160405190810160405280929190818152602001828054611e299061450c565b8015611e765780601f10611e4b57610100808354040283529160200191611e76565b820191906000526020600020905b815481529060010190602001808311611e5957829003601f168201915b50505050508152602001600282018054611e8f9061450c565b80601f0160208091040260200160405190810160405280929190818152602001828054611ebb9061450c565b8015611f085780601f10611edd57610100808354040283529160200191611f08565b820191906000526020600020905b815481529060010190602001808311611eeb57829003601f168201915b50505091835250506003919091015460ff81161515602083015261010090046001600160a01b0316604090910152606001519392505050565b611f49613036565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b600060015b600f54811015611fb0576000818152600e60205260409020546001600160a01b0316331415611f9e5760019150611fb0565b80611fa881614547565b915050611f6c565b5033611fc46007546001600160a01b031690565b6001600160a01b03161415611fd7575060015b600c546001600160a01b0316331415611fee575060015b8061202a5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161081d565b6108be8284612e00565b6060600180546106fe9061450c565b61204b613036565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b612075613036565b60ff166000908152600b6020526040902055565b6120943383836130e2565b5050565b600a602052600090815260409020805460018201805460ff8316936101009093046001600160a01b03169291906120ce9061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa9061450c565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b50505050509080600201805461215c9061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546121889061450c565b80156121d55780601f106121aa576101008083540402835291602001916121d5565b820191906000526020600020905b8154815290600101906020018083116121b857829003601f168201915b5050506003909301549192505060ff8116906001600160a01b036101009091041686565b6000806122058461261d565b90506000805b8251811015612250578483828151811061222757612227614578565b6020026020010151141561223e5760019150612250565b8061224881614547565b91505061220b565b50949350505050565b6122633383612b63565b61227f5760405162461bcd60e51b815260040161081d90614116565b61228b848484846131b1565b50505050565b606061229c82612aa5565b600082815260066020526040812080546122b59061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546122e19061450c565b801561232e5780601f106123035761010080835404028352916020019161232e565b820191906000526020600020905b81548152906001019060200180831161231157829003601f168201915b50505050509050600061234c60408051602081019091526000815290565b905080516000141561235f575092915050565b815115612391578082604051602001612379929190613fcc565b60405160208183030381529060405292505050919050565b61239a846131e4565b949350505050565b6123aa613036565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b336123d781846121f9565b6123e057600080fd5b806001600160a01b0316826001600160a01b031614156124125760405162461bcd60e51b815260040161081d90614337565b6000838152600a60209081526040808320815160c081018352815460ff8116825261010090046001600160a01b031693810193909352600181018054919284019161245c9061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546124889061450c565b80156124d55780601f106124aa576101008083540402835291602001916124d5565b820191906000526020600020905b8154815290600101906020018083116124b857829003601f168201915b505050505081526020016002820180546124ee9061450c565b80601f016020809104026020016040519081016040528092919081815260200182805461251a9061450c565b80156125675780601f1061253c57610100808354040283529160200191612567565b820191906000526020600020905b81548152906001019060200180831161254a57829003601f168201915b50505091835250506003919091015460ff80821615156020808501919091526001600160a01b0361010093849004811660409586015288811686830190815260008b8152600a84528690208751815492519093169095026001600160a81b0319909116919093161791909117825591830151805193945084939192610ca292600185019290910190613893565b60006125fe613036565b506000818152600e60205260409020546001600160a01b03165b919050565b6001600160a01b038116600090815260096020908152604080832080548251818502810185019093528083526060949383018282801561267c57602002820191906000526020600020905b815481526020019060010190808311612668575b5093979650505050505050565b612691613036565b6000818152600e6020526040812080546001600160a01b0319166001600160a01b038516179055600f8054600192906126cb9084906144b1565b90915550505050565b6126dc613036565b6001600160a01b0381166127415760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161081d565b61274a81613090565b50565b600061275860085490565b905090565b6000818152600a60209081526040808320815160c081018352815460ff8116825261010090046001600160a01b0316938101939093526001810180546060959493840191906127ab9061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546127d79061450c565b80156128245780601f106127f957610100808354040283529160200191612824565b820191906000526020600020905b81548152906001019060200180831161280757829003601f168201915b5050505050815260200160028201805461283d9061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546128699061450c565b80156128b65780601f1061288b576101008083540402835291602001916128b6565b820191906000526020600020905b81548152906001019060200180831161289957829003601f168201915b50505091835250506003919091015460ff81161515602083015261010090046001600160a01b031660409182015201519392505050565b6040805160c08082018352600080835260208084018290526060848601819052808501526080840182905260a08401829052858252600a81529084902084519283018552805460ff8116845261010090046001600160a01b0316918301919091526001810180549394929391928401916129669061450c565b80601f01602080910402602001604051908101604052809291908181526020018280546129929061450c565b80156129df5780601f106129b4576101008083540402835291602001916129df565b820191906000526020600020905b8154815290600101906020018083116129c257829003601f168201915b505050505081526020016002820180546129f89061450c565b80601f0160208091040260200160405190810160405280929190818152602001828054612a249061450c565b8015612a715780601f10612a4657610100808354040283529160200191612a71565b820191906000526020600020905b815481529060010190602001808311612a5457829003601f168201915b50505091835250506003919091015460ff81161515602083015261010090046001600160a01b031660409091015292915050565b612aae81612e8b565b61274a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161081d565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612b2a82611b28565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080612b6f83611b28565b9050806001600160a01b0316846001600160a01b03161480612bb657506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061239a5750836001600160a01b0316612bcf84610781565b6001600160a01b031614949350505050565b6000612bec82612e8b565b905080612c325760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88111bd95cc81b9bdd08195e1a5cdd60621b604482015260640161081d565b6000612c3d83611b28565b90506000612c4a8261261d565b9050600060018251612c5c91906144c9565b6001600160401b03811115612c7357612c7361458e565b604051908082528060200260200182016040528015612c9c578160200160208202803683370190505b5090506000805b8351811015612d295786848281518110612cbf57612cbf614578565b60200260200101511415612cd257612d17565b838181518110612ce457612ce4614578565b6020026020010151838381518110612cfe57612cfe614578565b6020908102919091010152612d148260016144b1565b91505b80612d2181614547565b915050612ca3565b506001600160a01b03841660009081526009602090815260409091208351612d5392850190613917565b506001600160a01b038716600090815260096020908152604082208054600181018255908352912001869055611758888888613258565b60008082511180156106e957505051600d1190565b60405160248101839052604481018290526120949060640160408051601f198184030181529190526020810180516001600160e01b0316637b3338ad60e11b1790526133bc565b6120948282604051806020016040528060008152506133dd565b612e0982612e8b565b612e6c5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161081d565b600082815260066020908152604090912082516108be92840190613893565b6000908152600260205260409020546001600160a01b0316151590565b612eb181613410565b60008181526006602052604090208054612eca9061450c565b15905061274a57600081815260066020526040812061274a91613951565b612ef6600880546001019055565b6000612f0160085490565b9050612f0d8282612de6565b612f178187612e00565b6001600160a01b03808316600081815260096020908152604080832080546001818101835591855283852001879055815160c0810183528481528b871681850190815283518086018552868152828501908152606083018d90528b1515608084015260a0830197909752888652600a855292909420845181549351909716610100026001600160a81b031990931660ff979097169690961791909117855592518051929493612fce93908501929190910190613893565b5060608201518051612fea916002840191602090910190613893565b5060808201516003909101805460a0909301516001600160a01b031661010002610100600160a81b0319921515929092166001600160a81b031990931692909217179055505050505050565b6007546001600160a01b03163314611dad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161081d565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031614156131445760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161081d565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6131bc848484612be1565b6131c8848484846134a5565b61228b5760405162461bcd60e51b815260040161081d90614163565b60606131ef82612aa5565b600061320660408051602081019091526000815290565b905060008151116132265760405180602001604052806000815250613251565b80613230846135b2565b604051602001613241929190613fcc565b6040516020818303038152906040525b9392505050565b826001600160a01b031661326b82611b28565b6001600160a01b0316146132915760405162461bcd60e51b815260040161081d906141b5565b6001600160a01b0382166132f35760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161081d565b826001600160a01b031661330682611b28565b6001600160a01b03161461332c5760405162461bcd60e51b815260040161081d906141b5565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6133e7838361364e565b6133f460008484846134a5565b6108be5760405162461bcd60e51b815260040161081d90614163565b600061341b82611b28565b905061342682611b28565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b156135a757604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906134e9903390899088908890600401613ffb565b602060405180830381600087803b15801561350357600080fd5b505af1925050508015613533575060408051601f3d908101601f1916820190925261353091810190613e0b565b60015b61358d573d808015613561576040519150601f19603f3d011682016040523d82523d6000602084013e613566565b606091505b5080516135855760405162461bcd60e51b815260040161081d90614163565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061239a565b506001949350505050565b606060006135bf836137bb565b60010190506000816001600160401b038111156135de576135de61458e565b6040519080825280601f01601f191660200182016040528015613608576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461364157613646565b613612565b509392505050565b6001600160a01b0382166136a45760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161081d565b6136ad81612e8b565b156136fa5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161081d565b61370381612e8b565b156137505760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161081d565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106137fa5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310613826576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061384457662386f26fc10000830492506010015b6305f5e100831061385c576305f5e100830492506008015b612710831061387057612710830492506004015b60648310613882576064830492506002015b600a83106106e95760010192915050565b82805461389f9061450c565b90600052602060002090601f0160209004810192826138c15760008555613907565b82601f106138da57805160ff1916838001178555613907565b82800160010185558215613907579182015b828111156139075782518255916020019190600101906138ec565b50613913929150613987565b5090565b82805482825590600052602060002090810192821561390757916020028201828111156139075782518255916020019190600101906138ec565b50805461395d9061450c565b6000825580601f1061396d575050565b601f01602090049060005260206000209081019061274a91905b5b808211156139135760008155600101613988565b60006001600160401b038311156139b5576139b561458e565b6139c8601f8401601f191660200161445e565b90508281528383830111156139dc57600080fd5b828260208301376000602084830101529392505050565b600082601f830112613a0457600080fd5b81356020613a19613a148361448e565b61445e565b80838252828201915082860187848660051b8901011115613a3957600080fd5b6000805b86811015613a7b5782356001600160401b03811115613a5a578283fd5b613a688b88838d0101613a99565b8652509385019391850191600101613a3d565b509198975050505050505050565b8035801515811461261857600080fd5b600082601f830112613aaa57600080fd5b6132518383356020850161399c565b803560ff8116811461261857600080fd5b600060208284031215613adc57600080fd5b8135613251816145a4565b600060208284031215613af957600080fd5b8151613251816145a4565b60008060408385031215613b1757600080fd5b8235613b22816145a4565b91506020830135613b32816145a4565b809150509250929050565b600080600060608486031215613b5257600080fd5b8335613b5d816145a4565b92506020840135613b6d816145a4565b929592945050506040919091013590565b60008060008060808587031215613b9457600080fd5b8435613b9f816145a4565b93506020850135613baf816145a4565b92506040850135915060608501356001600160401b03811115613bd157600080fd5b8501601f81018713613be257600080fd5b613bf18782356020840161399c565b91505092959194509250565b60008060408385031215613c1057600080fd5b8235613c1b816145a4565b9150613c2960208401613a89565b90509250929050565b60008060408385031215613c4557600080fd5b8235613c50816145a4565b946020939093013593505050565b600080600080600060a08688031215613c7657600080fd5b85356001600160401b0380821115613c8d57600080fd5b613c9989838a016139f3565b965060208801359150613cab826145a4565b819550613cba60408901613ab9565b94506060880135915080821115613cd057600080fd5b50613cdd88828901613a99565b925050613cec60808701613a89565b90509295509295909350565b60008060408385031215613d0b57600080fd5b82356001600160401b03811115613d2157600080fd5b613d2d858286016139f3565b925050613c2960208401613ab9565b60006020808385031215613d4f57600080fd5b82516001600160401b03811115613d6557600080fd5b8301601f81018513613d7657600080fd5b8051613d84613a148261448e565b80828252848201915084840188868560051b8701011115613da457600080fd5b600094505b83851015613dc7578051835260019490940193918501918501613da9565b50979650505050505050565b600060208284031215613de557600080fd5b61325182613a89565b600060208284031215613e0057600080fd5b8135613251816145b9565b600060208284031215613e1d57600080fd5b8151613251816145b9565b60008060408385031215613e3b57600080fd5b82356001600160401b03811115613e5157600080fd5b613e5d85828601613a99565b95602094909401359450505050565b600080600060608486031215613e8157600080fd5b83356001600160401b03811115613e9757600080fd5b613ea386828701613a99565b935050613eb260208501613ab9565b9150604084013590509250925092565b600060208284031215613ed457600080fd5b5035919050565b60008060408385031215613eee57600080fd5b823591506020830135613b32816145a4565b60008060408385031215613f1357600080fd5b8235915060208301356001600160401b03811115613f3057600080fd5b613f3c85828601613a99565b9150509250929050565b60008060408385031215613f5957600080fd5b82359150613c2960208401613ab9565b600060208284031215613f7b57600080fd5b61325182613ab9565b60008151808452613f9c8160208601602086016144e0565b601f01601f19169290920160200192915050565b60008251613fc28184602087016144e0565b9190910192915050565b60008351613fde8184602088016144e0565b835190830190613ff28183602088016144e0565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061402e90830184613f84565b9695505050505050565b6001600160a01b038516815260806020820181905260009061405c90830186613f84565b9315156040830152506060015292915050565b6020808252825182820181905260009190848201906040850190845b818110156140a75783518352928401929184019160010161408b565b50909695505050505050565b6020815260006132516020830184613f84565b60208082526030908201527f536f7272792c207468697320666967687465722068617320616c72656164792060408201526f6265656e20726567697374657265642160801b606082015260800190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252602f908201527f4c696d6974206f66207468697320746869732067656e65726174696f6e20686160408201526e39903737ba103132b2b71039b2ba1760891b606082015260800190565b6020808252602c908201527f4d696e74696e672069732064697361626c65642e20506c65617365207472792060408201526b30b3b0b4b7103630ba32b91760a11b606082015260800190565b60208082526036908201527f4e69636b6e616d65206c656e6774682073686f756c64206265206265747765656040820152753710189030b7321018991031b430b930b1ba32b9399760511b606082015260800190565b6020808252602c908201527f536f7272792c2074686973207175616e74697479206973206e6f206c6f6e676560408201526b391030bb30b4b630b136329760a11b606082015260800190565b6020808252602c908201527f4e696365207472792120446f6e27742075736520796f7572206f776e2061646460408201526b726573732c2073696c6c792160a01b606082015260800190565b6020808252825160ff16828201528201516001600160a01b0390811660408084019190915283015160c060608401526000916143c260e0850183613f84565b91506060850151601f198584030160808601526143df8382613f84565b9250506080850151151560a08501528060a08601511660c0850152508091505092915050565b60ff87168152600060018060a01b03808816602084015260c0604084015261443060c0840188613f84565b83810360608501526144428188613f84565b9515156080850152509290921660a09091015250949350505050565b604051601f8201601f191681016001600160401b03811182821017156144865761448661458e565b604052919050565b60006001600160401b038211156144a7576144a761458e565b5060051b60200190565b600082198211156144c4576144c4614562565b500190565b6000828210156144db576144db614562565b500390565b60005b838110156144fb5781810151838201526020016144e3565b8381111561228b5750506000910152565b600181811c9082168061452057607f821691505b6020821081141561454157634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561455b5761455b614562565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461274a57600080fd5b6001600160e01b03198116811461274a57600080fdfea264697066735822122089693d64504b1b3eb851c93a85dea1b8ea4f1f554d6b32da2b002c0764c4e8ea64736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001347656e2e20302042697420466967687465727300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000647656e3042460000000000000000000000000000000000000000000000000000