[ { "inputs": [ { "internalType": "address", "name": "defaultAdmin", "type": "address" }, { "internalType": "address", "name": "minter", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccessControlBadConfirmation", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "name": "AccessControlUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "ECDSAInvalidSignatureLength", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "ECDSAInvalidSignatureS", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "ERC2612ExpiredSignature", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC2612InvalidSigner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_defaultAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_feeHolder", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "receivers", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "batchMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "burnFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "gangsterArena", "outputs": [ { "internalType": "contract IGangsterArena", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualSwapBack", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "percentOfRankPrize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "prizeFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "callerConfirmation", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "setFeeHolder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "setUETH", "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": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForRevShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForTeam", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uETH", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_prizeFee", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" }, { "internalType": "uint256", "name": "_burnFee", "type": "uint256" }, { "internalType": "uint256", "name": "_percentOfRankPrize", "type": "uint256" } ], "name": "updateFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "updateGangsterArenaAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_uniswapV2Pair", "type": "address" }, { "internalType": "address", "name": "_uniswapV2Router", "type": "address" } ], "name": "updateUniswapAddresses", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "toAddr", "type": "address" } ], "name": "withdrawStuckEth", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawStuckToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
610160604052683635c9adc5dea000006010556101f460115560fa6012556064601355609660145560006015556000601655600060175560006018556113886019553480156200004e57600080fd5b506040516200527738038062005277833981810160405281019062000074919062000768565b6040518060400160405280600581526020017f4752454544000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f47524545440000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f244752454544000000000000000000000000000000000000000000000000000081525081600390816200015e919062000a29565b50806004908162000170919062000a29565b505050620001896006836200031a60201b90919060201c565b6101208181525050620001a76007826200031a60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001e66200037260201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506001600981905550620002416000801b83620003cf60201b60201c565b50620002747f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682620003cf60201b60201c565b5081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002ca60006001620004d360201b60201c565b620002dd306001620004d360201b60201c565b62000312600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620004d360201b60201c565b505062000d66565b6000602083511015620003405762000338836200059460201b60201c565b90506200036c565b8262000352836200060160201b60201c565b600001908162000363919062000a29565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620003b495949392919062000b4d565b60405160208183030381529060405280519060200120905090565b6000620003e383836200060b60201b60201c565b620004c85760016005600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004646200067660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050620004cd565b600090505b92915050565b6000801b620004e8816200067e60201b60201c565b81601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78360405162000587919062000bc7565b60405180910390a2505050565b600080829050601f81511115620005e457826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620005db919062000c73565b60405180910390fd5b805181620005f29062000cc9565b60001c1760001b915050919050565b6000819050919050565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6200069f81620006936200067660201b60201c565b620006a260201b60201c565b50565b620006b482826200060b60201b60201c565b620006fa5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401620006f192919062000d39565b60405180910390fd5b5050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007308262000703565b9050919050565b620007428162000723565b81146200074e57600080fd5b50565b600081519050620007628162000737565b92915050565b60008060408385031215620007825762000781620006fe565b5b6000620007928582860162000751565b9250506020620007a58582860162000751565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200083157607f821691505b602082108103620008475762000846620007e9565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008b17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000872565b620008bd868362000872565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200090a62000904620008fe84620008d5565b620008df565b620008d5565b9050919050565b6000819050919050565b6200092683620008e9565b6200093e620009358262000911565b8484546200087f565b825550505050565b600090565b6200095562000946565b620009628184846200091b565b505050565b5b818110156200098a576200097e6000826200094b565b60018101905062000968565b5050565b601f821115620009d957620009a3816200084d565b620009ae8462000862565b81016020851015620009be578190505b620009d6620009cd8562000862565b83018262000967565b50505b505050565b600082821c905092915050565b6000620009fe60001984600802620009de565b1980831691505092915050565b600062000a198383620009eb565b9150826002028217905092915050565b62000a3482620007af565b67ffffffffffffffff81111562000a505762000a4f620007ba565b5b62000a5c825462000818565b62000a698282856200098e565b600060209050601f83116001811462000aa1576000841562000a8c578287015190505b62000a98858262000a0b565b86555062000b08565b601f19841662000ab1866200084d565b60005b8281101562000adb5784890151825560018201915060208501945060208101905062000ab4565b8683101562000afb578489015162000af7601f891682620009eb565b8355505b6001600288020188555050505b505050505050565b6000819050919050565b62000b258162000b10565b82525050565b62000b3681620008d5565b82525050565b62000b478162000723565b82525050565b600060a08201905062000b64600083018862000b1a565b62000b73602083018762000b1a565b62000b82604083018662000b1a565b62000b91606083018562000b2b565b62000ba0608083018462000b3c565b9695505050505050565b60008115159050919050565b62000bc18162000baa565b82525050565b600060208201905062000bde600083018462000bb6565b92915050565b600082825260208201905092915050565b60005b8381101562000c1557808201518184015260208101905062000bf8565b60008484015250505050565b6000601f19601f8301169050919050565b600062000c3f82620007af565b62000c4b818562000be4565b935062000c5d81856020860162000bf5565b62000c688162000c21565b840191505092915050565b6000602082019050818103600083015262000c8f818462000c32565b905092915050565b600081519050919050565b6000819050602082019050919050565b600062000cc0825162000b10565b80915050919050565b600062000cd68262000c97565b8262000ce28462000ca2565b905062000cef8162000cb2565b9250602082101562000d325762000d2d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262000872565b831692505b5050919050565b600060408201905062000d50600083018562000b3c565b62000d5f602083018462000b1a565b9392505050565b60805160a05160c05160e0516101005161012051610140516144b662000dc1600039600061227101526000612236015260006129330152600061291201526000611d9101526000611de701526000611e1001526144b66000f3fe6080604052600436106103035760003560e01c80636857310711610190578063c0246668116100dc578063d547741f11610095578063e2f456051161006f578063e2f4560514610b91578063ed5e365314610bbc578063fce589d814610be7578063fde83a3414610c125761030a565b8063d547741f14610b00578063db16880114610b29578063dd62ed3e14610b545761030a565b8063c024666814610a04578063c87f4a0614610a2d578063c93fd91014610a58578063d257b34f14610a83578063d505accf14610aac578063d539139314610ad55761030a565b806384dd44521161014957806395d89b411161012357806395d89b411461094657806398118cb414610971578063a217fddf1461099c578063a9059cbb146109c75761030a565b806384dd4452146108c757806385127ffa146108de57806391d14854146109095761030a565b806368573107146107a157806370a08231146107ca57806379cc6790146108075780637ca8448a146108305780637ecebe001461085957806384b0196e146108965761030a565b8063313ce5671161024f57806349bd5a5e11610208578063567a56a1116101e2578063567a56a11461070b5780635d7f08bb1461073457806366eb37851461075f5780636827e764146107765761030a565b806349bd5a5e1461067a5780634fbee193146106a55780634fe8de81146106e25761030a565b8063313ce567146105805780633644e515146105ab57806336568abe146105d657806340c10f19146105ff57806342966c6814610628578063457ffca2146106515761030a565b80631694505e116102bc57806323b872dd1161029657806323b872dd146104b2578063248a9ca3146104ef57806324b9f3c11461052c5780632f2ff15d146105575761030a565b80631694505e1461043157806318160ddd1461045c5780631a8145bb146104875761030a565b806301ffc9a71461030f57806303901b471461034c57806306fdde0314610375578063095ea7b3146103a057806310407f2f146103dd57806313114a9d146104065761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b506103366004803603810190610331919061335e565b610c3d565b60405161034391906133a6565b60405180910390f35b34801561035857600080fd5b50610373600480360381019061036e919061341f565b610cb7565b005b34801561038157600080fd5b5061038a610d4b565b60405161039791906134ef565b60405180910390f35b3480156103ac57600080fd5b506103c760048036038101906103c29190613547565b610ddd565b6040516103d491906133a6565b60405180910390f35b3480156103e957600080fd5b5061040460048036038101906103ff9190613587565b610e00565b005b34801561041257600080fd5b5061041b610e44565b60405161042891906135c3565b60405180910390f35b34801561043d57600080fd5b50610446610e4a565b604051610453919061363d565b60405180910390f35b34801561046857600080fd5b50610471610e70565b60405161047e91906135c3565b60405180910390f35b34801561049357600080fd5b5061049c610e7a565b6040516104a991906135c3565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d49190613658565b610e80565b6040516104e691906133a6565b60405180910390f35b3480156104fb57600080fd5b50610516600480360381019061051191906136e1565b610eaf565b604051610523919061371d565b60405180910390f35b34801561053857600080fd5b50610541610ecf565b60405161054e91906135c3565b60405180910390f35b34801561056357600080fd5b5061057e60048036038101906105799190613738565b610ed5565b005b34801561058c57600080fd5b50610595610ef7565b6040516105a29190613794565b60405180910390f35b3480156105b757600080fd5b506105c0610f00565b6040516105cd919061371d565b60405180910390f35b3480156105e257600080fd5b506105fd60048036038101906105f89190613738565b610f0f565b005b34801561060b57600080fd5b5061062660048036038101906106219190613547565b610f8a565b005b34801561063457600080fd5b5061064f600480360381019061064a91906137af565b610fc3565b005b34801561065d57600080fd5b50610678600480360381019061067391906137dc565b610fd7565b005b34801561068657600080fd5b5061068f6110e2565b60405161069c9190613866565b60405180910390f35b3480156106b157600080fd5b506106cc60048036038101906106c79190613587565b611108565b6040516106d991906133a6565b60405180910390f35b3480156106ee57600080fd5b5061070960048036038101906107049190613587565b61115e565b005b34801561071757600080fd5b50610732600480360381019061072d9190613587565b6111b0565b005b34801561074057600080fd5b50610749611202565b60405161075691906138a2565b60405180910390f35b34801561076b57600080fd5b50610774611228565b005b34801561078257600080fd5b5061078b611260565b60405161079891906135c3565b60405180910390f35b3480156107ad57600080fd5b506107c860048036038101906107c39190613978565b611266565b005b3480156107d657600080fd5b506107f160048036038101906107ec9190613587565b611327565b6040516107fe91906135c3565b60405180910390f35b34801561081357600080fd5b5061082e60048036038101906108299190613547565b61136f565b005b34801561083c57600080fd5b5061085760048036038101906108529190613587565b61138f565b005b34801561086557600080fd5b50610880600480360381019061087b9190613587565b6113c9565b60405161088d91906135c3565b60405180910390f35b3480156108a257600080fd5b506108ab6113db565b6040516108be9796959493929190613af2565b60405180910390f35b3480156108d357600080fd5b506108dc611485565b005b3480156108ea57600080fd5b506108f36115da565b6040516109009190613b97565b60405180910390f35b34801561091557600080fd5b50610930600480360381019061092b9190613738565b611600565b60405161093d91906133a6565b60405180910390f35b34801561095257600080fd5b5061095b61166b565b60405161096891906134ef565b60405180910390f35b34801561097d57600080fd5b506109866116fd565b60405161099391906135c3565b60405180910390f35b3480156109a857600080fd5b506109b1611703565b6040516109be919061371d565b60405180910390f35b3480156109d357600080fd5b506109ee60048036038101906109e99190613547565b61170a565b6040516109fb91906133a6565b60405180910390f35b348015610a1057600080fd5b50610a2b6004803603810190610a269190613bde565b61172d565b005b348015610a3957600080fd5b50610a426117e4565b604051610a4f91906135c3565b60405180910390f35b348015610a6457600080fd5b50610a6d6117ea565b604051610a7a9190613866565b60405180910390f35b348015610a8f57600080fd5b50610aaa6004803603810190610aa591906137af565b611810565b005b348015610ab857600080fd5b50610ad36004803603810190610ace9190613c4a565b611828565b005b348015610ae157600080fd5b50610aea611970565b604051610af7919061371d565b60405180910390f35b348015610b0c57600080fd5b50610b276004803603810190610b229190613738565b611994565b005b348015610b3557600080fd5b50610b3e6119b6565b604051610b4b91906135c3565b60405180910390f35b348015610b6057600080fd5b50610b7b6004803603810190610b76919061341f565b6119bc565b604051610b8891906135c3565b60405180910390f35b348015610b9d57600080fd5b50610ba6611a43565b604051610bb391906135c3565b60405180910390f35b348015610bc857600080fd5b50610bd1611a49565b604051610bde9190613866565b60405180910390f35b348015610bf357600080fd5b50610bfc611a6f565b604051610c0991906135c3565b60405180910390f35b348015610c1e57600080fd5b50610c27611a75565b604051610c3491906135c3565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cb05750610caf82611a7b565b5b9050919050565b6000801b610cc481611ae5565b82600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b606060038054610d5a90613d1b565b80601f0160208091040260200160405190810160405280929190818152602001828054610d8690613d1b565b8015610dd35780601f10610da857610100808354040283529160200191610dd3565b820191906000526020600020905b815481529060010190602001808311610db657829003601f168201915b5050505050905090565b600080610de8611af9565b9050610df5818585611b01565b600191505092915050565b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b60175481565b600080610e8b611af9565b9050610e98858285611b13565b610ea3858585611ba7565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b60165481565b610ede82610eaf565b610ee781611ae5565b610ef18383611c9b565b50505050565b60006012905090565b6000610f0a611d8d565b905090565b610f17611af9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610f7b576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f858282611e44565b505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610fb481611ae5565b610fbe8383611f37565b505050565b610fd4610fce611af9565b82611fb9565b50565b6000801b610fe481611ae5565b61271083858789610ff59190613d7b565b610fff9190613d7b565b6110099190613d7b565b111561104a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104190613dfb565b60405180910390fd5b61271082111561108f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108690613e67565b60405180910390fd5b85601281905550846013819055508360148190555082601581905550828486886110b99190613d7b565b6110c39190613d7b565b6110cd9190613d7b565b60118190555081601981905550505050505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000801b61116b81611ae5565b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000801b6111bd81611ae5565b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000801b61123581611ae5565b600061124030611327565b905060006010548210159050801561125b5761125a61203b565b5b505050565b60145481565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661129081611ae5565b8282905085859050146112a257600080fd5b60005b858590508163ffffffff16101561131f5761130c86868363ffffffff168181106112d2576112d1613e87565b5b90506020020160208101906112e79190613587565b85858463ffffffff16818110611300576112ff613e87565b5b90506020020135611f37565b808061131790613ec6565b9150506112a5565b505050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113818261137b611af9565b83611b13565b61138b8282611fb9565b5050565b6000801b61139c81611ae5565b6113c5478373ffffffffffffffffffffffffffffffffffffffff1661219190919063ffffffff16565b5050565b60006113d4826121e4565b9050919050565b6000606080600080600060606113ef61222d565b6113f7612268565b46306000801b600067ffffffffffffffff81111561141857611417613ef2565b5b6040519080825280602002602001820160405280156114465781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000801b61149281611ae5565b60003073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114cd9190613866565b602060405180830381865afa1580156114ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150e9190613f36565b90503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161154b929190613f63565b6020604051808303816000875af115801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190613fa1565b503373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156115d5573d6000803e3d6000fd5b505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606004805461167a90613d1b565b80601f01602080910402602001604051908101604052809291908181526020018280546116a690613d1b565b80156116f35780601f106116c8576101008083540402835291602001916116f3565b820191906000526020600020905b8154815290600101906020018083116116d657829003601f168201915b5050505050905090565b60135481565b6000801b81565b600080611715611af9565b9050611722818585611ba7565b600191505092915050565b6000801b61173a81611ae5565b81601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7836040516117d791906133a6565b60405180910390a2505050565b60125481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000801b61181d81611ae5565b816010819055505050565b8342111561186d57836040517f6279130200000000000000000000000000000000000000000000000000000000815260040161186491906135c3565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861189c8c6122a3565b896040516020016118b296959493929190613fce565b60405160208183030381529060405280519060200120905060006118d5826122fa565b905060006118e582878787612314565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461195957808a6040517f4b800e4600000000000000000000000000000000000000000000000000000000815260040161195092919061402f565b60405180910390fd5b6119648a8a8a611b01565b50505050505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61199d82610eaf565b6119a681611ae5565b6119b08383611e44565b50505050565b60195481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60105481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b60185481565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611af681611af1611af9565b612344565b50565b600033905090565b611b0e8383836001612395565b505050565b6000611b1f84846119bc565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ba15781811015611b91578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401611b8893929190614058565b60405180910390fd5b611ba084848484036000612395565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c195760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611c109190613866565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c8b5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611c829190613866565b60405180910390fd5b611c9683838361256c565b505050565b6000611ca78383611600565b611d825760016005600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d1f611af9565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050611d87565b600090505b92915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611e0957507f000000000000000000000000000000000000000000000000000000000000000046145b15611e36577f00000000000000000000000000000000000000000000000000000000000000009050611e41565b611e3e6128ed565b90505b90565b6000611e508383611600565b15611f2c5760006005600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611ec9611af9565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611f31565b600090505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fa95760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611fa09190613866565b60405180910390fd5b611fb56000838361256c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361202b5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016120229190613866565b60405180910390fd5b6120378260008361256c565b5050565b612043612983565b600061204e30611327565b905060006018546016546017546120659190613d7b565b61206f9190613d7b565b905060008214806120805750600081145b1561208c575050612187565b6000816017548461209d919061408f565b6120a79190614100565b90503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401612106929190613f63565b6020604051808303816000875af1158015612125573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121499190613fa1565b50600061215f82856129c990919063ffffffff16565b905061216a816129df565b600060178190555060006016819055506000601881905550505050505b61218f612c94565b565b600080600080600085875af19050806121df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d69061417d565b60405180910390fd5b505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606061226360067f0000000000000000000000000000000000000000000000000000000000000000612c9e90919063ffffffff16565b905090565b606061229e60077f0000000000000000000000000000000000000000000000000000000000000000612c9e90919063ffffffff16565b905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b600061230d612307611d8d565b83612d4e565b9050919050565b60008060008061232688888888612d8f565b9250925092506123368282612e83565b829350505050949350505050565b61234e8282611600565b6123915780826040517fe2517d3f00000000000000000000000000000000000000000000000000000000815260040161238892919061419d565b60405180910390fd5b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036124075760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016123fe9190613866565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124795760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016124709190613866565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015612566578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161255d91906135c3565b60405180910390a35b50505050565b60008103156128e8576000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490506000601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156126c55750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156126d6575081806126d55750825b5b90506000806126e430611327565b9050600060105482101590508080156126fa5750845b80156127505750601a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127a65750601a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5083156128d6576127d66127106127c86011548a612fe790919063ffffffff16565b612ffd90919063ffffffff16565b9250601154601354846127e9919061408f565b6127f39190614100565b601760008282546128049190613d7b565b925050819055506011546014548461281c919061408f565b6128269190614100565b601860008282546128379190613d7b565b925050819055506011546012548461284f919061408f565b6128599190614100565b6016600082825461286a9190613d7b565b92505081905550600060115460155485612884919061408f565b61288e9190614100565b905060008411156128c65760008111156128af576128ae8a600083613013565b5b6128c58a3083876128c091906141c6565b613013565b5b83886128d291906141c6565b9750505b6128e1898989613013565b5050505050505b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016129689594939291906141fa565b60405160208183030381529060405280519060200120905090565b6002600954036129bf576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600981905550565b600081836129d791906141c6565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6790614299565b60405180910390fd5b6000600267ffffffffffffffff811115612a8d57612a8c613ef2565b5b604051908082528060200260200182016040528015612abb5781602001602082028036833780820191505090505b5090503081600081518110612ad357612ad2613e87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612b4457612b43613e87565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612bab30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b01565b612bd830600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b01565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d79583600084600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401612c5e9594939291906143b2565b600060405180830381600087803b158015612c7857600080fd5b505af1158015612c8c573d6000803e3d6000fd5b505050505050565b6001600981905550565b606060ff60001b8314612cbb57612cb483613238565b9050612d48565b818054612cc790613d1b565b80601f0160208091040260200160405190810160405280929190818152602001828054612cf390613d1b565b8015612d405780601f10612d1557610100808354040283529160200191612d40565b820191906000526020600020905b815481529060010190602001808311612d2357829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115612dcf576000600385925092509250612e79565b600060018888888860405160008152602001604052604051612df4949392919061440c565b6020604051602081039080840390855afa158015612e16573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612e6a57600060016000801b93509350935050612e79565b8060008060001b935093509350505b9450945094915050565b60006003811115612e9757612e96614451565b5b826003811115612eaa57612ea9614451565b5b0315612fe35760016003811115612ec457612ec3614451565b5b826003811115612ed757612ed6614451565b5b03612f0e576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115612f2257612f21614451565b5b826003811115612f3557612f34614451565b5b03612f7a578060001c6040517ffce698f7000000000000000000000000000000000000000000000000000000008152600401612f7191906135c3565b60405180910390fd5b600380811115612f8d57612f8c614451565b5b826003811115612fa057612f9f614451565b5b03612fe257806040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600401612fd9919061371d565b60405180910390fd5b5b5050565b60008183612ff5919061408f565b905092915050565b6000818361300b9190614100565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036130655780600260008282546130599190613d7b565b92505081905550613138565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156130f1578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016130e893929190614058565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361318157806002600082825403925050819055506131ce565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161322b91906135c3565b60405180910390a3505050565b60606000613245836132ac565b90506000602067ffffffffffffffff81111561326457613263613ef2565b5b6040519080825280601f01601f1916602001820160405280156132965781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60008060ff8360001c169050601f8111156132f3576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61333b81613306565b811461334657600080fd5b50565b60008135905061335881613332565b92915050565b600060208284031215613374576133736132fc565b5b600061338284828501613349565b91505092915050565b60008115159050919050565b6133a08161338b565b82525050565b60006020820190506133bb6000830184613397565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133ec826133c1565b9050919050565b6133fc816133e1565b811461340757600080fd5b50565b600081359050613419816133f3565b92915050565b60008060408385031215613436576134356132fc565b5b60006134448582860161340a565b92505060206134558582860161340a565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561349957808201518184015260208101905061347e565b60008484015250505050565b6000601f19601f8301169050919050565b60006134c18261345f565b6134cb818561346a565b93506134db81856020860161347b565b6134e4816134a5565b840191505092915050565b6000602082019050818103600083015261350981846134b6565b905092915050565b6000819050919050565b61352481613511565b811461352f57600080fd5b50565b6000813590506135418161351b565b92915050565b6000806040838503121561355e5761355d6132fc565b5b600061356c8582860161340a565b925050602061357d85828601613532565b9150509250929050565b60006020828403121561359d5761359c6132fc565b5b60006135ab8482850161340a565b91505092915050565b6135bd81613511565b82525050565b60006020820190506135d860008301846135b4565b92915050565b6000819050919050565b60006136036135fe6135f9846133c1565b6135de565b6133c1565b9050919050565b6000613615826135e8565b9050919050565b60006136278261360a565b9050919050565b6136378161361c565b82525050565b6000602082019050613652600083018461362e565b92915050565b600080600060608486031215613671576136706132fc565b5b600061367f8682870161340a565b93505060206136908682870161340a565b92505060406136a186828701613532565b9150509250925092565b6000819050919050565b6136be816136ab565b81146136c957600080fd5b50565b6000813590506136db816136b5565b92915050565b6000602082840312156136f7576136f66132fc565b5b6000613705848285016136cc565b91505092915050565b613717816136ab565b82525050565b6000602082019050613732600083018461370e565b92915050565b6000806040838503121561374f5761374e6132fc565b5b600061375d858286016136cc565b925050602061376e8582860161340a565b9150509250929050565b600060ff82169050919050565b61378e81613778565b82525050565b60006020820190506137a96000830184613785565b92915050565b6000602082840312156137c5576137c46132fc565b5b60006137d384828501613532565b91505092915050565b600080600080600060a086880312156137f8576137f76132fc565b5b600061380688828901613532565b955050602061381788828901613532565b945050604061382888828901613532565b935050606061383988828901613532565b925050608061384a88828901613532565b9150509295509295909350565b613860816133e1565b82525050565b600060208201905061387b6000830184613857565b92915050565b600061388c8261360a565b9050919050565b61389c81613881565b82525050565b60006020820190506138b76000830184613893565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126138e2576138e16138bd565b5b8235905067ffffffffffffffff8111156138ff576138fe6138c2565b5b60208301915083602082028301111561391b5761391a6138c7565b5b9250929050565b60008083601f840112613938576139376138bd565b5b8235905067ffffffffffffffff811115613955576139546138c2565b5b602083019150836020820283011115613971576139706138c7565b5b9250929050565b60008060008060408587031215613992576139916132fc565b5b600085013567ffffffffffffffff8111156139b0576139af613301565b5b6139bc878288016138cc565b9450945050602085013567ffffffffffffffff8111156139df576139de613301565b5b6139eb87828801613922565b925092505092959194509250565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613a2e816139f9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a6981613511565b82525050565b6000613a7b8383613a60565b60208301905092915050565b6000602082019050919050565b6000613a9f82613a34565b613aa98185613a3f565b9350613ab483613a50565b8060005b83811015613ae5578151613acc8882613a6f565b9750613ad783613a87565b925050600181019050613ab8565b5085935050505092915050565b600060e082019050613b07600083018a613a25565b8181036020830152613b1981896134b6565b90508181036040830152613b2d81886134b6565b9050613b3c60608301876135b4565b613b496080830186613857565b613b5660a083018561370e565b81810360c0830152613b688184613a94565b905098975050505050505050565b6000613b818261360a565b9050919050565b613b9181613b76565b82525050565b6000602082019050613bac6000830184613b88565b92915050565b613bbb8161338b565b8114613bc657600080fd5b50565b600081359050613bd881613bb2565b92915050565b60008060408385031215613bf557613bf46132fc565b5b6000613c038582860161340a565b9250506020613c1485828601613bc9565b9150509250929050565b613c2781613778565b8114613c3257600080fd5b50565b600081359050613c4481613c1e565b92915050565b600080600080600080600060e0888a031215613c6957613c686132fc565b5b6000613c778a828b0161340a565b9750506020613c888a828b0161340a565b9650506040613c998a828b01613532565b9550506060613caa8a828b01613532565b9450506080613cbb8a828b01613c35565b93505060a0613ccc8a828b016136cc565b92505060c0613cdd8a828b016136cc565b91505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613d3357607f821691505b602082108103613d4657613d45613cec565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d8682613511565b9150613d9183613511565b9250828201905080821115613da957613da8613d4c565b5b92915050565b7f46656573206d757374206265203c3d2031303030302e00000000000000000000600082015250565b6000613de560168361346a565b9150613df082613daf565b602082019050919050565b60006020820190508181036000830152613e1481613dd8565b9050919050565b7f70657263656e206d757374206265203c3d2031303030302e0000000000000000600082015250565b6000613e5160188361346a565b9150613e5c82613e1b565b602082019050919050565b60006020820190508181036000830152613e8081613e44565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600063ffffffff82169050919050565b6000613ed182613eb6565b915063ffffffff8203613ee757613ee6613d4c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050613f308161351b565b92915050565b600060208284031215613f4c57613f4b6132fc565b5b6000613f5a84828501613f21565b91505092915050565b6000604082019050613f786000830185613857565b613f8560208301846135b4565b9392505050565b600081519050613f9b81613bb2565b92915050565b600060208284031215613fb757613fb66132fc565b5b6000613fc584828501613f8c565b91505092915050565b600060c082019050613fe3600083018961370e565b613ff06020830188613857565b613ffd6040830187613857565b61400a60608301866135b4565b61401760808301856135b4565b61402460a08301846135b4565b979650505050505050565b60006040820190506140446000830185613857565b6140516020830184613857565b9392505050565b600060608201905061406d6000830186613857565b61407a60208301856135b4565b61408760408301846135b4565b949350505050565b600061409a82613511565b91506140a583613511565b92508282026140b381613511565b915082820484148315176140ca576140c9613d4c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061410b82613511565b915061411683613511565b925082614126576141256140d1565b5b828204905092915050565b7f4554485f5452414e534645525f4641494c454400000000000000000000000000600082015250565b600061416760138361346a565b915061417282614131565b602082019050919050565b600060208201905081810360008301526141968161415a565b9050919050565b60006040820190506141b26000830185613857565b6141bf602083018461370e565b9392505050565b60006141d182613511565b91506141dc83613511565b92508282039050818111156141f4576141f3613d4c565b5b92915050565b600060a08201905061420f600083018861370e565b61421c602083018761370e565b614229604083018661370e565b61423660608301856135b4565b6142436080830184613857565b9695505050505050565b7f466565686f6c646572206973206e6f7420736574000000000000000000000000600082015250565b600061428360148361346a565b915061428e8261424d565b602082019050919050565b600060208201905081810360008301526142b281614276565b9050919050565b6000819050919050565b60006142de6142d96142d4846142b9565b6135de565b613511565b9050919050565b6142ee816142c3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614329816133e1565b82525050565b600061433b8383614320565b60208301905092915050565b6000602082019050919050565b600061435f826142f4565b61436981856142ff565b935061437483614310565b8060005b838110156143a557815161438c888261432f565b975061439783614347565b925050600181019050614378565b5085935050505092915050565b600060a0820190506143c760008301886135b4565b6143d460208301876142e5565b81810360408301526143e68186614354565b90506143f56060830185613857565b61440260808301846135b4565b9695505050505050565b6000608082019050614421600083018761370e565b61442e6020830186613785565b61443b604083018561370e565b614448606083018461370e565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122022bd5afe17ac9277e633e9bc773ec70f69d020c79b20e3776d5a782b9c24f40564736f6c634300081400330000000000000000000000007866ac3933dca99b2e9a80f8948344a387a7bf6200000000000000000000000081a05b26cbfaec5e786736c451535e18a717bbb9
0xa264697066735822122022bd5afe17ac9277e633e9bc773ec70f69d020c79b20e3776d5a782b9c24f40564736f6c634300081400330000000000000000000000007866ac3933dca99b2e9a80f8948344a387a7bf6200000000000000000000000081a05b26cbfaec5e786736c451535e18a717bbb9
----Decoded View------------Arg [0] : defaultAdmin (address): 0x5AFE17ac9277e633E9BC773EC70F69d020c79b20Arg [1] : minter (address): 0x6F6c634300081400330000000000000000000000
----Encoded View------------Arg [0] : 0x0000000000000000000000005afe17ac9277e633e9bc773ec70f69d020c79b20Arg [1] : 0x0000000000000000000000006f6c634300081400330000000000000000000000