[ { "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": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "dna", "type": "uint256" } ], "name": "NewStructures", "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": "amount", "type": "uint256" } ], "name": "Sold", "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": "", "type": "uint256" } ], "name": "_tokenDetails", "outputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "dna", "type": "uint256" }, { "internalType": "uint8", "name": "level", "type": "uint8" }, { "internalType": "uint8", "name": "rarity", "type": "uint8" }, { "internalType": "uint256", "name": "evac", "type": "uint256" }, { "internalType": "string", "name": "tokenURI", "type": "string" } ], "stateMutability": "view", "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": "contractOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "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" } ], "name": "getIds", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTokenCirculations", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getTokenDetails", "outputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "dna", "type": "uint256" }, { "internalType": "uint8", "name": "level", "type": "uint8" }, { "internalType": "uint8", "name": "rarity", "type": "uint8" }, { "internalType": "uint256", "name": "evac", "type": "uint256" }, { "internalType": "string", "name": "tokenURI", "type": "string" } ], "internalType": "struct KingdomStructures.Structures", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxMintAmountPerTx", "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" }, { "internalType": "string", "name": "_tokenURI", "type": "string" } ], "name": "mintToken", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "notRevealedUri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ownershipChangeIds", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "perAddressLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "legendToken", "type": "address" }, { "internalType": "string", "name": "_tokenURI", "type": "string" } ], "name": "randMint", "outputs": [], "stateMutability": "nonpayable", "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": "address", "name": "_address", "type": "address" } ], "name": "setLegendAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_fee", "type": "uint256" } ], "name": "setLegendFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "setLegendReceiver", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newPerAddressLimit", "type": "uint256" }, { "internalType": "uint256", "name": "_maxMintAmountPerTx", "type": "uint256" } ], "name": "setMaxMintAmountPerTx", "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": [ { "internalType": "contract IERC721", "name": "oldNftContract", "type": "address" }, { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, { "internalType": "string[]", "name": "_tokenURI", "type": "string[]" } ], "name": "swap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_fee", "type": "uint256" } ], "name": "updateFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tier", "type": "uint256" }, { "internalType": "string", "name": "_uri", "type": "string" }, { "internalType": "bool", "name": "_levelUp", "type": "bool" } ], "name": "updateMetadata", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "updateTier", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
671bc16d674ec80000600a908155600b556064600c5560e060405260366080818152906200382960a03980516200003f91600d91602090910190620001f7565b506040805180820190915260118082527034b833399d1797a1a4a217a1973539b7b760791b60209092019182526200007a91600e91620001f7565b50600f805461ffff1916610100179055620186b380546001600160a01b0319908116733cbef762a500968986e3410a94cbf8daa5ccec8417909155620186b4805490911673d3e147c9ac40f3f48363b3a47d6c6157ff242160179055686c6b935b8bbd400000620186b555348015620000f257600080fd5b506040516200385f3803806200385f833981016040819052620001159162000350565b8151829082906200012e906000906020850190620001f7565b50805162000144906001906020840190620001f7565b505050620001616200015b6200019a60201b60201c565b6200019e565b600f805462010000600160b01b031916336201000002179055620001926009620001f0602090811b6200223f17901c565b50506200040a565b3390565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6102379055565b8280546200020590620003b7565b90600052602060002090601f01602090048101928262000229576000855562000274565b82601f106200024457805160ff191683800117855562000274565b8280016001018555821562000274579182015b828111156200027457825182559160200191906001019062000257565b506200028292915062000286565b5090565b5b8082111562000282576000815560010162000287565b600082601f830112620002ae578081fd5b81516001600160401b0380821115620002cb57620002cb620003f4565b604051601f8301601f19908116603f01168101908282118183101715620002f657620002f6620003f4565b8160405283815260209250868385880101111562000312578485fd5b8491505b8382101562000335578582018301518183018401529082019062000316565b838211156200034657848385830101525b9695505050505050565b6000806040838503121562000363578182fd5b82516001600160401b03808211156200037a578384fd5b62000388868387016200029d565b935060208501519150808211156200039e578283fd5b50620003ad858286016200029d565b9150509250929050565b600181811c90821680620003cc57607f821691505b60208210811415620003ee57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b61340f806200041a6000396000f3fe6080604052600436106102515760003560e01c8063752312a911610139578063b88d4fde116100b6578063d5abeb011161007a578063d5abeb01146106dd578063dea27e31146106f3578063e20558c714610713578063e8a3d48514610733578063e985e9c514610748578063f2fde38b1461079157610251565b8063b88d4fde1461062a578063ba1842c51461064a578063c1e037281461066a578063c87b56dd14610697578063ce606ee0146106b757610251565b806394354fd0116100fd57806394354fd0146105aa57806395d89b41146105c0578063a22cb465146105d5578063a475b5dd146105f5578063b1364bfe1461060a57610251565b8063752312a91461050757806385f7229a1461051a5780638c3f4dc91461054c5780638da5cb5b1461056c5780639012c4a81461058a57610251565b80633ccfd60b116101d2578063603cf2db11610196578063603cf2db1461045d5780636204f5d71461047d5780636352211e146104925780636c6ba9b7146104b257806370a08231146104d2578063715018a6146104f257610251565b80633ccfd60b146103e657806342842e0e146103ee578063518302271461040e5780635c975abb1461042d5780636007eeed1461044757610251565b8063095ea7b311610219578063095ea7b31461031c578063113772a41461033c57806318cae2691461036957806323b872dd146103a65780632671b0d8146103c657610251565b806301ffc9a714610256578063062ceac51461028b57806306fdde03146102ad578063081812fc146102cf578063081c8c4414610307575b600080fd5b34801561026257600080fd5b50610276610271366004612d0e565b6107b1565b60405190151581526020015b60405180910390f35b34801561029757600080fd5b506102ab6102a6366004612e92565b610805565b005b3480156102b957600080fd5b506102c26108b7565b6040516102829190613004565b3480156102db57600080fd5b506102ef6102ea366004612e62565b610949565b6040516001600160a01b039091168152602001610282565b34801561031357600080fd5b506102c26109d1565b34801561032857600080fd5b506102ab610337366004612cc7565b610a5f565b34801561034857600080fd5b5061035c610357366004612b89565b610b75565b6040516102829190612fc0565b34801561037557600080fd5b50610398610384366004612b89565b620186b06020526000908152604090205481565b604051908152602001610282565b3480156103b257600080fd5b506102ab6103c1366004612bdd565b610be1565b3480156103d257600080fd5b5061035c6103e1366004612b89565b610c12565b6102ab610c7e565b3480156103fa57600080fd5b506102ab610409366004612bdd565b610d1c565b34801561041a57600080fd5b50600f5461027690610100900460ff1681565b34801561043957600080fd5b50600f546102769060ff1681565b34801561045357600080fd5b50610398600c5481565b34801561046957600080fd5b506102ab610478366004612b89565b610d37565b34801561048957600080fd5b50610398610d85565b34801561049e57600080fd5b506102ef6104ad366004612e62565b610d95565b3480156104be57600080fd5b506102ab6104cd366004612b89565b610e0c565b3480156104de57600080fd5b506103986104ed366004612b89565b610e5a565b3480156104fe57600080fd5b506102ab610ee1565b6102ab610515366004612e92565b610f17565b34801561052657600080fd5b5061053a610535366004612e62565b611369565b60405161028296959493929190613190565b34801561055857600080fd5b506102ab610567366004612e62565b611439565b34801561057857600080fd5b506008546001600160a01b03166102ef565b34801561059657600080fd5b506102ab6105a5366004612e62565b61146a565b3480156105b657600080fd5b50610398600b5481565b3480156105cc57600080fd5b506102c2611499565b3480156105e157600080fd5b506102ab6105f0366004612c9a565b6114a8565b34801561060157600080fd5b506102ab6114b3565b34801561061657600080fd5b506102ab610625366004612d94565b6114ee565b34801561063657600080fd5b506102ab610645366004612c1d565b611962565b34801561065657600080fd5b506102ab610665366004612f1a565b611994565b34801561067657600080fd5b5061068a610685366004612e62565b6119c9565b604051610282919061313d565b3480156106a357600080fd5b506102c26106b2366004612e62565b611b15565b3480156106c357600080fd5b50600f546102ef906201000090046001600160a01b031681565b3480156106e957600080fd5b50610398614e2081565b3480156106ff57600080fd5b506102ab61070e366004612ec1565b611c60565b34801561071f57600080fd5b506102ab61072e366004612d46565b611d3b565b34801561073f57600080fd5b506102c2612187565b34801561075457600080fd5b50610276610763366004612ba5565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561079d57600080fd5b506102ab6107ac366004612b89565b6121a7565b60006001600160e01b031982166380ac58cd60e01b14806107e257506001600160e01b03198216635b5e139f60e01b145b806107fd57506301ffc9a760e01b6001600160e01b03198316145b90505b919050565b61080e82612246565b6108335760405162461bcd60e51b815260040161082a90613069565b60405180910390fd5b3361083d83610d95565b6001600160a01b031614806108625750600f546201000090046001600160a01b031633145b61086b57600080fd5b80601083614e20811061088e57634e487b7160e01b600052603260045260246000fd5b6005020160040190805190602001906108a8929190612a12565b506108b38282612263565b5050565b6060600080546108c6906132a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108f2906132a2565b801561093f5780601f106109145761010080835404028352916020019161093f565b820191906000526020600020905b81548152906001019060200180831161092257829003601f168201915b5050505050905090565b600061095482612246565b6109b55760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161082a565b506000908152600460205260409020546001600160a01b031690565b600e80546109de906132a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0a906132a2565b8015610a575780601f10610a2c57610100808354040283529160200191610a57565b820191906000526020600020905b815481529060010190602001808311610a3a57829003601f168201915b505050505081565b6000610a6a82610d95565b9050806001600160a01b0316836001600160a01b03161415610ad85760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161082a565b336001600160a01b0382161480610af45750610af48133610763565b610b665760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161082a565b610b7083836122a7565b505050565b6001600160a01b038116600090815260066020908152604091829020805483518184028101840190945280845260609392830182828015610bd557602002820191906000526020600020905b815481526020019060010190808311610bc1575b50505050509050919050565b610beb3382612315565b610c075760405162461bcd60e51b815260040161082a906130ec565b610b708383836123ff565b6001600160a01b0381166000908152620186b16020908152604091829020805483518184028101840190945280845260609392830182828015610bd55760200282019190600052602060002090815481526020019060010190808311610bc15750505050509050919050565b6008546001600160a01b03163314610ca85760405162461bcd60e51b815260040161082a906130b7565b6000610cbc6008546001600160a01b031690565b6001600160a01b03164760405160006040518083038185875af1925050503d8060008114610d06576040519150601f19603f3d011682016040523d82523d6000602084013e610d0b565b606091505b5050905080610d1957600080fd5b50565b610b7083838360405180602001604052806000815250611962565b6008546001600160a01b03163314610d615760405162461bcd60e51b815260040161082a906130b7565b620186b480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610d9060095490565b905090565b6000818152600260205260408120546001600160a01b0316806107fd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161082a565b6008546001600160a01b03163314610e365760405162461bcd60e51b815260040161082a906130b7565b620186b380546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b038216610ec55760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b606482015260840161082a565b506001600160a01b031660009081526003602052604090205490565b6008546001600160a01b03163314610f0b5760405162461bcd60e51b815260040161082a906130b7565b610f1560006125d4565b565b600f54829060ff1615610f6c5760405162461bcd60e51b815260206004820152601760248201527f54686520636f6e7472616374206973207061757365642e000000000000000000604482015260640161082a565b3331341115610fb55760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b604482015260640161082a565b600081118015610fc75750600b548111155b61100a5760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21036b4b73a1030b6b7bab73a1760611b604482015260640161082a565b614e208161101760095490565b6110219190613228565b11156110665760405162461bcd60e51b815260206004820152601460248201527326b0bc1039bab838363c9032bc31b2b2b232b21760611b604482015260640161082a565b80600a546110749190613240565b3410156110b95760405162461bcd60e51b815260206004820152601360248201527224b739bab33334b1b4b2b73a10333ab732399760691b604482015260640161082a565b336000908152620186b06020526040902054600c546110d88383613228565b11156111265760405162461bcd60e51b815260206004820152601d60248201527f4d6178204e46542070657220616464726573732065786365656465642e000000604482015260640161082a565b620186b2836040516111389190612f67565b9081526040519081900360200190205460ff161561118f5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88105b1c9958591e48135a5b9d195960621b604482015260640161082a565b6001620186b2846040516111a39190612f67565b908152604051908190036020019020805491151560ff199092169190911790556111d1600980546001019055565b60006111dc60095490565b90506111e83382612626565b6111f28185612263565b60006111fe6064612640565b90506000611212662386f26fc10000612640565b905060006040518060c00160405280858152602001838152602001600160ff1681526020018460ff16815260200142815260200188815250905080601085614e20811061126f57634e487b7160e01b600052603260045260246000fd5b82516005919091029190910190815560208083015160018301556040830151600283018054606086015160ff9081166101000261ffff199092169316929092179190911790556080830151600383015560a083015180516112d69260048501920190612a12565b5050336000908152620186b06020526040812080549250906112f7836132dd565b9091555050336000908152620186b1602052604090206009548154600181018355600092835260209283902001556040805186815291820184905233917fdc0982cf7a94a19fc39341caeb010641597678a917e0ab57365c698933cb6ad7910160405180910390a25050505050505050565b601081614e20811061137a57600080fd5b600502018054600182015460028301546003840154600485018054949650929460ff80841695610100909404169391929091906113b6906132a2565b80601f01602080910402602001604051908101604052809291908181526020018280546113e2906132a2565b801561142f5780601f106114045761010080835404028352916020019161142f565b820191906000526020600020905b81548152906001019060200180831161141257829003601f168201915b5050505050905086565b6008546001600160a01b031633146114635760405162461bcd60e51b815260040161082a906130b7565b620186b555565b6008546001600160a01b031633146114945760405162461bcd60e51b815260040161082a906130b7565b600a55565b6060600180546108c6906132a2565b6108b333838361269c565b6008546001600160a01b031633146114dd5760405162461bcd60e51b815260040161082a906130b7565b600f805461ff001916610100179055565b6001600160a01b03831663e985e9c5336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260440160206040518083038186803b15801561154357600080fd5b505afa158015611557573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157b9190612cf2565b6115d65760405162461bcd60e51b815260206004820152602660248201527f6e6f74207065726d697474656420746f2074616b65206f776e657273686970206044820152651bd98813919560d21b606482015260840161082a565b6001600160a01b03831673053502bf08b7d3a54891bb66fb966ea4c4ba7d02146116355760405162461bcd60e51b815260206004820152601060248201526f4e6f742041205631204164647265737360801b604482015260640161082a565b60005b8251811015611709576001600160a01b0384166342842e0e33620186b45486516001600160a01b039091169087908690811061168457634e487b7160e01b600052603260045260246000fd5b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b1580156116de57600080fd5b505af11580156116f2573d6000803e3d6000fd5b505050508080611701906132dd565b915050611638565b5060005b825181101561195c57600083828151811061173857634e487b7160e01b600052603260045260246000fd5b6020026020010151905061174c3382612626565b61177d8184848151811061177057634e487b7160e01b600052603260045260246000fd5b6020026020010151612263565b60006117896064612640565b9050600061179d662386f26fc10000612640565b905060006040518060c00160405280858152602001838152602001600160ff1681526020018460ff1681526020014281526020018787815181106117f157634e487b7160e01b600052603260045260246000fd5b6020026020010151815250905080601085614e20811061182157634e487b7160e01b600052603260045260246000fd5b82516005919091029190910190815560208083015160018301556040830151600283018054606086015160ff9081166101000261ffff199092169316929092179190911790556080830151600383015560a083015180516118889260048501920190612a12565b5050336000908152620186b06020526040812080549250906118a9836132dd565b9091555050336000908152620186b16020526040902087518890879081106118e157634e487b7160e01b600052603260045260246000fd5b6020908102919091018101518254600181018455600093845291909220015560405133907fdc0982cf7a94a19fc39341caeb010641597678a917e0ab57365c698933cb6ad79061193d9087908690918252602082015260400190565b60405180910390a2505050508080611954906132dd565b91505061170d565b50505050565b61196c3383612315565b6119885760405162461bcd60e51b815260040161082a906130ec565b61195c8484848461276b565b6008546001600160a01b031633146119be5760405162461bcd60e51b815260040161082a906130b7565b600c91909155600b55565b611a086040518060c001604052806000815260200160008152602001600060ff168152602001600060ff16815260200160008152602001606081525090565b601082614e208110611a2a57634e487b7160e01b600052603260045260246000fd5b6040805160c081018252600592909202929092018054825260018101546020830152600281015460ff80821694840194909452610100900490921660608201526003820154608082015260048201805491929160a084019190611a8c906132a2565b80601f0160208091040260200160405190810160405280929190818152602001828054611ab8906132a2565b8015611b055780601f10611ada57610100808354040283529160200191611b05565b820191906000526020600020905b815481529060010190602001808311611ae857829003601f168201915b5050505050815250509050919050565b6060611b2082612246565b611b845760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b606482015260840161082a565b600f5460ff61010090910416151560011415611c5357601082614e208110611bbc57634e487b7160e01b600052603260045260246000fd5b600502016004018054611bce906132a2565b80601f0160208091040260200160405190810160405280929190818152602001828054611bfa906132a2565b8015611c475780601f10611c1c57610100808354040283529160200191611c47565b820191906000526020600020905b815481529060010190602001808311611c2a57829003601f168201915b50505050509050610800565b600e8054611bce906132a2565b6008546001600160a01b03163314611c8a5760405162461bcd60e51b815260040161082a906130b7565b611c9383612246565b611caf5760405162461bcd60e51b815260040161082a90613069565b6000601084614e208110611cd357634e487b7160e01b600052603260045260246000fd5b60050201905082816004019080519060200190611cf1929190612a12565b50611cfc8484612263565b6001821515141561195c5760028101805460ff16906000611d1c836132f8565b91906101000a81548160ff021916908360ff1602179055505050505050565b620186b281604051611d4d9190612f67565b9081526040519081900360200190205460ff1615611da45760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88105b1c9958591e48135a5b9d195960621b604482015260640161082a565b6001620186b282604051611db89190612f67565b908152604051908190036020019020805491151560ff19909216919091179055620186b3546001600160a01b03838116911614611e305760405162461bcd60e51b8152602060048201526016602482015275496e76616c6964204c6567656e64204164647265737360501b604482015260640161082a565b620186b5546040516370a0823160e01b81523360048201526001600160a01b038416906370a082319060240160206040518083038186803b158015611e7457600080fd5b505afa158015611e88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eac9190612e7a565b1015611ef05760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08185b5bdd5b9d606a1b604482015260640161082a565b620186b454620186b5546040516323b872dd60e01b81523360048201526001600160a01b0392831660248201526044810191909152908316906323b872dd90606401602060405180830381600087803b158015611f4c57600080fd5b505af1158015611f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f849190612cf2565b507f92f64ca637d023f354075a4be751b169c1a8a9ccb6d33cdd0cb3520543995727620186b554604051611fba91815260200190565b60405180910390a16001611fd2600980546001019055565b6000611fdd60095490565b9050611fe93382612626565b611ff38184612263565b6000611fff6064612640565b90506000612013662386f26fc10000612640565b905060006040518060c00160405280858152602001838152602001600160ff1681526020018460ff16815260200142815260200187815250905080601085614e20811061207057634e487b7160e01b600052603260045260246000fd5b82516005919091029190910190815560208083015160018301556040830151600283018054606086015160ff9081166101000261ffff199092169316929092179190911790556080830151600383015560a083015180516120d79260048501920190612a12565b5060019150505b85811161211a57336000908152620186b060205260408120805491612102836132dd565b91905055508080612112906132dd565b9150506120de565b50336000908152620186b1602052604090206009548154600181018355600092835260209283902001556040805186815291820184905233917fdc0982cf7a94a19fc39341caeb010641597678a917e0ab57365c698933cb6ad7910160405180910390a250505050505050565b60606040518060600160405280603c815260200161339e603c9139905090565b6008546001600160a01b031633146121d15760405162461bcd60e51b815260040161082a906130b7565b6001600160a01b0381166122365760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161082a565b610d19816125d4565b6102379055565b6000908152600260205260409020546001600160a01b0316151590565b61226c82612246565b6122885760405162461bcd60e51b815260040161082a90613069565b60008281526007602090815260409091208251610b7092840190612a12565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906122dc82610d95565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061232082612246565b6123815760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161082a565b600061238c83610d95565b9050806001600160a01b0316846001600160a01b031614806123c75750836001600160a01b03166123bc84610949565b6001600160a01b0316145b806123f757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661241282610d95565b6001600160a01b0316146124765760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161082a565b6001600160a01b0382166124d85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161082a565b6124e36000826122a7565b6001600160a01b038316600090815260036020526040812080546001929061250c90849061325f565b90915550506001600160a01b038216600090815260036020526040812080546001929061253a908490613228565b9091555050600081815260026020908152604080832080546001600160a01b0319166001600160a01b038781169182179092559087168085526006845282852080546001818101835591875285872001879055828652838620805491820181558652938520909301859055905184939192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610b70565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6108b382826040518060200160405280600081525061279e565b600080423360405160200161267192919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152919052805160209091012090506126958382613318565b9392505050565b816001600160a01b0316836001600160a01b031614156126fe5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161082a565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6127768484846123ff565b612782848484846127d1565b61195c5760405162461bcd60e51b815260040161082a90613017565b6127a883836128de565b6127b560008484846127d1565b610b705760405162461bcd60e51b815260040161082a90613017565b60006001600160a01b0384163b156128d357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612815903390899088908890600401612f83565b602060405180830381600087803b15801561282f57600080fd5b505af192505050801561285f575060408051601f3d908101601f1916820190925261285c91810190612d2a565b60015b6128b9573d80801561288d576040519150601f19603f3d011682016040523d82523d6000602084013e612892565b606091505b5080516128b15760405162461bcd60e51b815260040161082a90613017565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506123f7565b506001949350505050565b6001600160a01b0382166129345760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161082a565b61293d81612246565b1561298a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161082a565b6001600160a01b03821660009081526003602052604081208054600192906129b3908490613228565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46108b3565b828054612a1e906132a2565b90600052602060002090601f016020900481019282612a405760008555612a86565b82601f10612a5957805160ff1916838001178555612a86565b82800160010185558215612a86579182015b82811115612a86578251825591602001919060010190612a6b565b50612a92929150612a96565b5090565b5b80821115612a925760008155600101612a97565b600067ffffffffffffffff831115612ac557612ac561334e565b612ad8601f8401601f19166020016131d3565b9050828152838383011115612aec57600080fd5b828260208301376000602084830101529392505050565b600082601f830112612b13578081fd5b81356020612b28612b2383613204565b6131d3565b82815281810190858301855b85811015612b5d57612b4b898684358b0101612b6a565b84529284019290840190600101612b34565b5090979650505050505050565b600082601f830112612b7a578081fd5b61269583833560208501612aab565b600060208284031215612b9a578081fd5b813561269581613364565b60008060408385031215612bb7578081fd5b8235612bc281613364565b91506020830135612bd281613364565b809150509250929050565b600080600060608486031215612bf1578081fd5b8335612bfc81613364565b92506020840135612c0c81613364565b929592945050506040919091013590565b60008060008060808587031215612c32578081fd5b8435612c3d81613364565b93506020850135612c4d81613364565b925060408501359150606085013567ffffffffffffffff811115612c6f578182fd5b8501601f81018713612c7f578182fd5b612c8e87823560208401612aab565b91505092959194509250565b60008060408385031215612cac578182fd5b8235612cb781613364565b91506020830135612bd281613379565b60008060408385031215612cd9578182fd5b8235612ce481613364565b946020939093013593505050565b600060208284031215612d03578081fd5b815161269581613379565b600060208284031215612d1f578081fd5b813561269581613387565b600060208284031215612d3b578081fd5b815161269581613387565b60008060408385031215612d58578182fd5b8235612d6381613364565b9150602083013567ffffffffffffffff811115612d7e578182fd5b612d8a85828601612b6a565b9150509250929050565b600080600060608486031215612da8578081fd5b8335612db381613364565b925060208481013567ffffffffffffffff80821115612dd0578384fd5b818701915087601f830112612de3578384fd5b8135612df1612b2382613204565b8082825285820191508585018b878560051b8801011115612e10578788fd5b8795505b83861015612e32578035835260019590950194918601918601612e14565b50965050506040870135925080831115612e4a578384fd5b5050612e5886828701612b03565b9150509250925092565b600060208284031215612e73578081fd5b5035919050565b600060208284031215612e8b578081fd5b5051919050565b60008060408385031215612ea4578182fd5b82359150602083013567ffffffffffffffff811115612d7e578182fd5b600080600060608486031215612ed5578081fd5b83359250602084013567ffffffffffffffff811115612ef2578182fd5b612efe86828701612b6a565b9250506040840135612f0f81613379565b809150509250925092565b60008060408385031215612f2c578182fd5b50508035926020909101359150565b60008151808452612f53816020860160208601613276565b601f01601f19169290920160200192915050565b60008251612f79818460208701613276565b9190910192915050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612fb690830184612f3b565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015612ff857835183529284019291840191600101612fdc565b50909695505050505050565b6000602082526126956020830184612f3b565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602e908201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60408201526d32bc34b9ba32b73a103a37b5b2b760911b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b600060208252825160208301526020830151604083015260ff604084015116606083015260ff6060840151166080830152608083015160a083015260a083015160c0808401526123f760e0840182612f3b565b600087825286602083015260ff8616604083015260ff8516606083015283608083015260c060a08301526131c760c0830184612f3b565b98975050505050505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156131fc576131fc61334e565b604052919050565b600067ffffffffffffffff82111561321e5761321e61334e565b5060051b60200190565b6000821982111561323b5761323b613338565b500190565b600081600019048311821515161561325a5761325a613338565b500290565b60008282101561327157613271613338565b500390565b60005b83811015613291578181015183820152602001613279565b8381111561195c5750506000910152565b600181811c908216806132b657607f821691505b602082108114156132d757634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156132f1576132f1613338565b5060010190565b600060ff821660ff81141561330f5761330f613338565b60010192915050565b60008261333357634e487b7160e01b81526012600452602481fd5b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610d1957600080fd5b8015158114610d1957600080fd5b6001600160e01b031981168114610d1957600080fdfe697066733a2f2f516d524643476172327a4d4d5737355270766b4e584a44745956653473384348556b3639314446566e64386b54722f312e6a736f6ea26469706673582212204f8d2cab7635ae81a1b0250b2bddb9a7334bc5ce1fc928ef52b332672c68087864736f6c63430008030033697066733a2f2f516d524643476172327a4d4d5737355270766b4e584a44745956653473384348556b3639314446566e64386b54722f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000028427261776c206f66204c6567656e6473202d204b696e67646f6d20537472756374757265732056320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006426f4c2056320000000000000000000000000000000000000000000000000000