ETH Price: $3,413.53 (+0.94%)
Gas: 3 Gwei

Token

DropCoin (DROP)
 

Overview

Max Total Supply

888,000,000,000 DROP

Holders

586

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,313,141.759999999966445568 DROP

Value
$0.00
0x31c3f80db45ba312700f2fdcf142dfc494997b7c
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:
DROPCOIN

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 6: DROPCOIN.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.6;

import "./IDEXRouter.sol";
import "./Ownable.sol";
import "./IERC20.sol";
import "./SafeMath.sol";
import "./IDEXFactory.sol";


contract DROPCOIN is IERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "DropCoin";
    string constant _symbol = "DROP";
    uint8 constant _decimals = 18;

    uint256 _totalSupply = 888_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply / 1000) * 5;     // 0.5% max wallet size

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;

    mapping(address => bool) isFeeExcluded;
    mapping (address => bool) public isBagSizeLimitExcluded;

    uint256 liquidityFee = 0;
    uint256 marketingFee = 10;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 1000;

    address public marketingFeeReceiver;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 5; // 0.05%
    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () Ownable(msg.sender) {
        marketingFeeReceiver = msg.sender;
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExcluded[msg.sender] = true;
        isBagSizeLimitExcluded[_owner] = true;
        isBagSizeLimitExcluded[msg.sender] = true;
        isBagSizeLimitExcluded[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable {}

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function totalSupply() external view override returns (uint256) {return _totalSupply;}

    function decimals() external pure override returns (uint8) {return _decimals;}

    function symbol() external pure override returns (string memory) {return _symbol;}

    function name() external pure override returns (string memory) {return _name;}

    function getOwner() external view override returns (address) {return owner;}

    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}

    function allowance(address holder, address spender) external view override returns (uint256) {return _allowances[holder][spender];}

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (recipient != pair && recipient != DEAD) {
            require(isBagSizeLimitExcluded[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }if (shouldSwapBack()) {
            swapBack();
        }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender, address recepient) internal view returns (bool) {
        return sender == routerAdress || recepient == routerAdress || (!isFeeExcluded[sender] && !isFeeExcluded[recepient]);
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value : amountETHMarketing, gas : 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if (amountToLiquify > 0) {
            router.addLiquidityETH{value : amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                DEAD,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value : amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function clearStuckTBalance() external {
        _basicTransfer(address(this), marketingFeeReceiver, balanceOf(address(this)));
    }

    function setSwapThreshold(uint256 _swapThreshold) external onlyOwner {
        swapThreshold = _totalSupply / 100000 * _swapThreshold;
    }

    function changeMaxWalletAmount(uint8 maxAmountPercent) public onlyOwner {
        require(maxAmountPercent > 0, "Max wallet amount should be greater then 1%");
        _maxWalletAmount = (_totalSupply * maxAmountPercent) / 1000;
    }

    function addFeeExcluded(address wallet) public onlyOwner {
        isFeeExcluded[wallet] = true;
    }

    function addIsBagSizeLimitExcluded(address wallet) public onlyOwner {
        isBagSizeLimitExcluded[wallet] = true;
    }

    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

File 2 of 6: IDEXFactory.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.6;

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

File 3 of 6: IDEXRouter.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.6;

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens (
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external ;
}

File 4 of 6: IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.6;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

File 5 of 6: Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.6;

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }
    event OwnershipTransferred(address owner);
}

File 6 of 6: SafeMath.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.6;

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) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        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) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addFeeExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addIsBagSizeLimitExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"uint8","name":"maxAmountPercent","type":"uint8"}],"name":"changeMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckTBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBagSizeLimitExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapThreshold","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"sender","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"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260ff16600a0a64cec0ecb0000260035560056103e860035481620000be57fe5b04026004556000600955600a8055600a5460095401600b556103e8600c556001600f60146101000a81548160ff0219169083151502179055506005612710600354816200010757fe5b04026010553480156200011957600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026957600080fd5b505afa1580156200027e573d6000803e3d6000fd5b505050506040513d60208110156200029557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032a57600080fd5b505afa1580156200033f573d6000803e3d6000fd5b505050506040513d60208110156200035657600080fd5b8101908080519060200190929190505050306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620003d257600080fd5b505af1158015620003e7573d6000803e3d6000fd5b505050506040513d6020811015620003fe57600080fd5b8101908080519060200190929190505050600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040518082815260200191505060405180910390a35061278380620007796000396000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063a1cae5661161008a578063d3efadf311610064578063d3efadf314610865578063dd62ed3e1461087c578063e96fada214610901578063f887ea40146109425761018c565b8063a1cae56614610762578063a8aa1b31146107b3578063a9059cbb146107f45761018c565b8063715018a6146105b05780637820be19146105c7578063893d20e81461061857806395d89b4114610659578063975a9976146106e95780639d0014b1146107275761018c565b80632f54bf6e1161013e578063571ac8b011610118578063571ac8b01461048c5780636c0a24eb146104f35780636ddd17131461051e57806370a082311461054b5761018c565b80632f54bf6e146103e0578063313ce56714610447578063364333f4146104755761018c565b80630445b6671461019157806306fdde03146101bc578063095ea7b31461024c57806318160ddd146102bd5780631a568869146102e857806323b872dd1461034f5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610983565b6040518082815260200191505060405180910390f35b3480156101c857600080fd5b506101d1610989565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025857600080fd5b506102a56004803603604081101561026f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109c6565b60405180821515815260200191505060405180910390f35b3480156102c957600080fd5b506102d2610ab8565b6040518082815260200191505060405180910390f35b3480156102f457600080fd5b506103376004803603602081101561030b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ac2565b60405180821515815260200191505060405180910390f35b34801561035b57600080fd5b506103c86004803603606081101561037257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ae2565b60405180821515815260200191505060405180910390f35b3480156103ec57600080fd5b5061042f6004803603602081101561040357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ce2565b60405180821515815260200191505060405180910390f35b34801561045357600080fd5b5061045c610d3b565b604051808260ff16815260200191505060405180910390f35b34801561048157600080fd5b5061048a610d44565b005b34801561049857600080fd5b506104db600480360360208110156104af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610daf565b60405180821515815260200191505060405180910390f35b3480156104ff57600080fd5b50610508610de2565b6040518082815260200191505060405180910390f35b34801561052a57600080fd5b50610533610de8565b60405180821515815260200191505060405180910390f35b34801561055757600080fd5b5061059a6004803603602081101561056e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dfb565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105c5610e44565b005b3480156105d357600080fd5b50610616600480360360208110156105ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f50565b005b34801561062457600080fd5b5061062d611026565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066557600080fd5b5061066e61104f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106ae578082015181840152602081019050610693565b50505050905090810190601f1680156106db5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106f557600080fd5b506107256004803603602081101561070c57600080fd5b81019080803560ff16906020019092919050505061108c565b005b34801561073357600080fd5b506107606004803603602081101561074a57600080fd5b810190808035906020019092919050505061117f565b005b34801561076e57600080fd5b506107b16004803603602081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611214565b005b3480156107bf57600080fd5b506107c86112ea565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561080057600080fd5b5061084d6004803603604081101561081757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611310565b60405180821515815260200191505060405180910390f35b34801561087157600080fd5b5061087a611325565b005b34801561088857600080fd5b506108eb6004803603604081101561089f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061135d565b6040518082815260200191505060405180910390f35b34801561090d57600080fd5b506109166113e4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561094e57600080fd5b5061095761140a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60105481565b60606040518060400160405280600881526020017f44726f70436f696e000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b60086020528060005260406000206000915054906101000a900460ff1681565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610cce57610c4d826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114309092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cd98484846114f0565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610dac573d6000803e3d6000fd5b50565b6000610ddb827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109c6565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e4d33610ce2565b610ebf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b610f5933610ce2565b610fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f44524f5000000000000000000000000000000000000000000000000000000000815250905090565b61109533610ce2565b611107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008160ff1611611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612723602b913960400191505060405180910390fd5b6103e88160ff16600354028161117557fe5b0460048190555050565b61118833610ce2565b6111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80620186a06003548161120957fe5b040260108190555050565b61121d33610ce2565b61128f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061131d3384846114f0565b905092915050565b61135a30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661135530610dfb565b6118c7565b50565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383111582906114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114a2578082015181840152602081019050611487565b50505050905090810190601f1680156114cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000601160009054906101000a900460ff1615611519576115128484846118c7565b90506118c0565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115c55750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116bb57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611665575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b6116ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806126dd6025913960400191505060405180910390fd5b5b6116c3611a9a565b156116d1576116d0611b71565b5b61175a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114309092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006117a985856121d2565b6117b357826117be565b6117bd8584612330565b5b905061181281600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247490919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150505b9392505050565b6000611952826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114309092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119e782600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247490919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611b075750601160009054906101000a900460ff16155b8015611b1f5750600f60149054906101000a900460ff165b8015611b6c5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff021916908315150217905550600060105490506000611bd16002611bc3600b54611bb5600954876124fc90919063ffffffff16565b61258290919063ffffffff16565b61258290919063ffffffff16565b90506000611be882846125cc90919063ffffffff16565b90506000600267ffffffffffffffff81118015611c0457600080fd5b50604051908082528060200260200182016040528015611c335781602001602082028036833780820191505090505b5090503081600081518110611c4457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ce657600080fd5b505afa158015611cfa573d6000803e3d6000fd5b505050506040513d6020811015611d1057600080fd5b810190808051906020019092919050505081600181518110611d2e57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015611e31578082015181840152602081019050611e16565b505050509050019650505050505050600060405180830381600087803b158015611e5a57600080fd5b505af1158015611e6e573d6000803e3d6000fd5b505050506000611e8782476125cc90919063ffffffff16565b90506000611eb5611ea4600260095461258290919063ffffffff16565b600b546125cc90919063ffffffff16565b90506000611ef36002611ee584611ed7600954886124fc90919063ffffffff16565b61258290919063ffffffff16565b61258290919063ffffffff16565b90506000611f1e83611f10600a54876124fc90919063ffffffff16565b61258290919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051806000019050600060405180830381858888f193505050503d8060008114611fa7576040519150601f19603f3d011682016040523d82523d6000602084013e611fac565b606091505b5050905080612023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f72656365697665722072656a656374656420455448207472616e73666572000081525060200191505060405180910390fd5b60008911156121ab57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561211857600080fd5b505af115801561212c573d6000803e3d6000fd5b50505050506040513d606081101561214357600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051808381526020018281526020019250505060405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061227d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806123285750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123275750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b905092915050565b60008061235c600c5461234e600b54866124fc90919063ffffffff16565b61258290919063ffffffff16565b90506123b081600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247490919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a361246b81846125cc90919063ffffffff16565b91505092915050565b6000808284019050838110156124f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008083141561250f576000905061257c565b600082840290508284828161252057fe5b0414612577576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806127026021913960400191505060405180910390fd5b809150505b92915050565b60006125c483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612616565b905092915050565b600061260e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611430565b905092915050565b600080831182906126c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561268757808201518184015260208101905061266c565b50505050905090810190601f1680156126b45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816126ce57fe5b04905080915050939250505056fe5472616e7366657220616d6f756e74206578636565647320746865206261672073697a652e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d61782077616c6c657420616d6f756e742073686f756c642062652067726561746572207468656e203125a2646970667358221220b9bb5e1aecc85e10b4688114e4744933fa19c300dc53ed0132a2005952ae2ebc64736f6c63430007060033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d1578063a1cae5661161008a578063d3efadf311610064578063d3efadf314610865578063dd62ed3e1461087c578063e96fada214610901578063f887ea40146109425761018c565b8063a1cae56614610762578063a8aa1b31146107b3578063a9059cbb146107f45761018c565b8063715018a6146105b05780637820be19146105c7578063893d20e81461061857806395d89b4114610659578063975a9976146106e95780639d0014b1146107275761018c565b80632f54bf6e1161013e578063571ac8b011610118578063571ac8b01461048c5780636c0a24eb146104f35780636ddd17131461051e57806370a082311461054b5761018c565b80632f54bf6e146103e0578063313ce56714610447578063364333f4146104755761018c565b80630445b6671461019157806306fdde03146101bc578063095ea7b31461024c57806318160ddd146102bd5780631a568869146102e857806323b872dd1461034f5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610983565b6040518082815260200191505060405180910390f35b3480156101c857600080fd5b506101d1610989565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025857600080fd5b506102a56004803603604081101561026f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109c6565b60405180821515815260200191505060405180910390f35b3480156102c957600080fd5b506102d2610ab8565b6040518082815260200191505060405180910390f35b3480156102f457600080fd5b506103376004803603602081101561030b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ac2565b60405180821515815260200191505060405180910390f35b34801561035b57600080fd5b506103c86004803603606081101561037257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ae2565b60405180821515815260200191505060405180910390f35b3480156103ec57600080fd5b5061042f6004803603602081101561040357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ce2565b60405180821515815260200191505060405180910390f35b34801561045357600080fd5b5061045c610d3b565b604051808260ff16815260200191505060405180910390f35b34801561048157600080fd5b5061048a610d44565b005b34801561049857600080fd5b506104db600480360360208110156104af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610daf565b60405180821515815260200191505060405180910390f35b3480156104ff57600080fd5b50610508610de2565b6040518082815260200191505060405180910390f35b34801561052a57600080fd5b50610533610de8565b60405180821515815260200191505060405180910390f35b34801561055757600080fd5b5061059a6004803603602081101561056e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dfb565b6040518082815260200191505060405180910390f35b3480156105bc57600080fd5b506105c5610e44565b005b3480156105d357600080fd5b50610616600480360360208110156105ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f50565b005b34801561062457600080fd5b5061062d611026565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066557600080fd5b5061066e61104f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106ae578082015181840152602081019050610693565b50505050905090810190601f1680156106db5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106f557600080fd5b506107256004803603602081101561070c57600080fd5b81019080803560ff16906020019092919050505061108c565b005b34801561073357600080fd5b506107606004803603602081101561074a57600080fd5b810190808035906020019092919050505061117f565b005b34801561076e57600080fd5b506107b16004803603602081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611214565b005b3480156107bf57600080fd5b506107c86112ea565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561080057600080fd5b5061084d6004803603604081101561081757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611310565b60405180821515815260200191505060405180910390f35b34801561087157600080fd5b5061087a611325565b005b34801561088857600080fd5b506108eb6004803603604081101561089f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061135d565b6040518082815260200191505060405180910390f35b34801561090d57600080fd5b506109166113e4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561094e57600080fd5b5061095761140a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60105481565b60606040518060400160405280600881526020017f44726f70436f696e000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b60086020528060005260406000206000915054906101000a900460ff1681565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610cce57610c4d826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114309092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cd98484846114f0565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610dac573d6000803e3d6000fd5b50565b6000610ddb827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109c6565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e4d33610ce2565b610ebf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b610f5933610ce2565b610fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f44524f5000000000000000000000000000000000000000000000000000000000815250905090565b61109533610ce2565b611107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008160ff1611611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612723602b913960400191505060405180910390fd5b6103e88160ff16600354028161117557fe5b0460048190555050565b61118833610ce2565b6111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80620186a06003548161120957fe5b040260108190555050565b61121d33610ce2565b61128f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061131d3384846114f0565b905092915050565b61135a30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661135530610dfb565b6118c7565b50565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383111582906114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114a2578082015181840152602081019050611487565b50505050905090810190601f1680156114cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000601160009054906101000a900460ff1615611519576115128484846118c7565b90506118c0565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115c55750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116bb57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611665575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b6116ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806126dd6025913960400191505060405180910390fd5b5b6116c3611a9a565b156116d1576116d0611b71565b5b61175a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114309092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006117a985856121d2565b6117b357826117be565b6117bd8584612330565b5b905061181281600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247490919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150505b9392505050565b6000611952826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114309092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119e782600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247490919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611b075750601160009054906101000a900460ff16155b8015611b1f5750600f60149054906101000a900460ff165b8015611b6c5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff021916908315150217905550600060105490506000611bd16002611bc3600b54611bb5600954876124fc90919063ffffffff16565b61258290919063ffffffff16565b61258290919063ffffffff16565b90506000611be882846125cc90919063ffffffff16565b90506000600267ffffffffffffffff81118015611c0457600080fd5b50604051908082528060200260200182016040528015611c335781602001602082028036833780820191505090505b5090503081600081518110611c4457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ce657600080fd5b505afa158015611cfa573d6000803e3d6000fd5b505050506040513d6020811015611d1057600080fd5b810190808051906020019092919050505081600181518110611d2e57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015611e31578082015181840152602081019050611e16565b505050509050019650505050505050600060405180830381600087803b158015611e5a57600080fd5b505af1158015611e6e573d6000803e3d6000fd5b505050506000611e8782476125cc90919063ffffffff16565b90506000611eb5611ea4600260095461258290919063ffffffff16565b600b546125cc90919063ffffffff16565b90506000611ef36002611ee584611ed7600954886124fc90919063ffffffff16565b61258290919063ffffffff16565b61258290919063ffffffff16565b90506000611f1e83611f10600a54876124fc90919063ffffffff16565b61258290919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051806000019050600060405180830381858888f193505050503d8060008114611fa7576040519150601f19603f3d011682016040523d82523d6000602084013e611fac565b606091505b5050905080612023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f72656365697665722072656a656374656420455448207472616e73666572000081525060200191505060405180910390fd5b60008911156121ab57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561211857600080fd5b505af115801561212c573d6000803e3d6000fd5b50505050506040513d606081101561214357600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051808381526020018281526020019250505060405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061227d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806123285750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123275750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b905092915050565b60008061235c600c5461234e600b54866124fc90919063ffffffff16565b61258290919063ffffffff16565b90506123b081600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247490919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a361246b81846125cc90919063ffffffff16565b91505092915050565b6000808284019050838110156124f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008083141561250f576000905061257c565b600082840290508284828161252057fe5b0414612577576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806127026021913960400191505060405180910390fd5b809150505b92915050565b60006125c483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612616565b905092915050565b600061260e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611430565b905092915050565b600080831182906126c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561268757808201518184015260208101905061266c565b50505050905090810190601f1680156126b45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816126ce57fe5b04905080915050939250505056fe5472616e7366657220616d6f756e74206578636565647320746865206261672073697a652e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d61782077616c6c657420616d6f756e742073686f756c642062652067726561746572207468656e203125a2646970667358221220b9bb5e1aecc85e10b4688114e4744933fa19c300dc53ed0132a2005952ae2ebc64736f6c63430007060033

Deployed Bytecode Sourcemap

186:8073:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1166:55;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2474:78;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1992:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2210:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;821:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3172:366;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;265:101:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2302:78:0;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7318:116;;;;;;;;;;;;;:::i;:::-;;2886:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;574:59;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1130:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2640:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;371:128:4;;;;;;;;;;;;;:::i;:::-;;7965:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2558:76;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2386:82;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7725:234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7579:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8073:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1104:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3012:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7440:133;;;;;;;;;;;;;:::i;:::-;;2749:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1032:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1074:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1166:55;;;;:::o;2474:78::-;2522:13;2545:5;;;;;;;;;;;;;;;;;2538:12;;2474:78;:::o;1992:212::-;2067:4;2118:6;2083:11;:23;2095:10;2083:23;;;;;;;;;;;;;;;:32;2107:7;2083:32;;;;;;;;;;;;;;;:41;;;;2160:7;2139:37;;2148:10;2139:37;;;2169:6;2139:37;;;;;;;;;;;;;;;;;;2193:4;2186:11;;1992:212;;;;:::o;2210:86::-;2265:7;2282:12;;2275:19;;2210:86;:::o;821:55::-;;;;;;;;;;;;;;;;;;;;;;:::o;3172:366::-;3272:4;3327:17;3292:11;:19;3304:6;3292:19;;;;;;;;;;;;;;;:31;3312:10;3292:31;;;;;;;;;;;;;;;;:52;3288:186;;3394:69;3430:6;3394:69;;;;;;;;;;;;;;;;;:11;:19;3406:6;3394:19;;;;;;;;;;;;;;;:31;3414:10;3394:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;3360:11;:19;3372:6;3360:19;;;;;;;;;;;;;;;:31;3380:10;3360:31;;;;;;;;;;;;;;;:103;;;;3288:186;3491:40;3505:6;3513:9;3524:6;3491:13;:40::i;:::-;3484:47;;3172:366;;;;;:::o;265:101:4:-;320:4;354:5;;;;;;;;;;;343:16;;:7;:16;;;336:23;;265:101;;;:::o;2302:78:0:-;2354:5;501:2;2362:16;;2302:78;:::o;7318:116::-;7374:20;;;;;;;;;;;7366:38;;:61;7405:21;7366:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7318:116::o;2886:120::-;2941:4;2964:35;2972:7;2981:17;2964:7;:35::i;:::-;2957:42;;2886:120;;;:::o;574:59::-;;;;:::o;1130:30::-;;;;;;;;;;;;;:::o;2640:103::-;2706:7;2723:9;:18;2733:7;2723:18;;;;;;;;;;;;;;;;2716:25;;2640:103;;;:::o;371:128:4:-;220:19;228:10;220:7;:19::i;:::-;212:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;443:1:::1;427:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;460:32;489:1;460:32;;;;;;;;;;;;;;;;;;;;371:128::o:0;7965:102:0:-;220:19:4;228:10;220:7;:19::i;:::-;212:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8056:4:0::1;8032:13;:21;8046:6;8032:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;7965:102:::0;:::o;2558:76::-;2610:7;2627:5;;;;;;;;;;;2620:12;;2558:76;:::o;2386:82::-;2436:13;2459:7;;;;;;;;;;;;;;;;;2452:14;;2386:82;:::o;7725:234::-;220:19:4;228:10;220:7;:19::i;:::-;212:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7834:1:0::1;7815:16;:20;;;7807:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7948:4;7928:16;7913:31;;:12;;:31;7912:40;;;;;;7893:16;:59;;;;7725:234:::0;:::o;7579:140::-;220:19:4;228:10;220:7;:19::i;:::-;212:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7698:14:0::1;7689:6;7674:12;;:21;;;;;;:38;7658:13;:54;;;;7579:140:::0;:::o;8073:122::-;220:19:4;228:10;220:7;:19::i;:::-;212:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8184:4:0::1;8151:22;:30;8174:6;8151:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8073:122:::0;:::o;1104:19::-;;;;;;;;;;;;;:::o;3012:154::-;3092:4;3115:44;3129:10;3141:9;3152:6;3115:13;:44::i;:::-;3108:51;;3012:154;;;;:::o;7440:133::-;7489:77;7512:4;7519:20;;;;;;;;;;;7541:24;7559:4;7541:9;:24::i;:::-;7489:14;:77::i;:::-;;7440:133::o;2749:131::-;2833:7;2850:11;:19;2862:6;2850:19;;;;;;;;;;;;;;;:28;2870:7;2850:28;;;;;;;;;;;;;;;;2843:35;;2749:131;;;;:::o;1032:35::-;;;;;;;;;;;;;:::o;1074:24::-;;;;;;;;;;;;;:::o;399:186:5:-;485:7;517:1;512;:6;;520:12;504:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;543:9;559:1;555;:5;543:17;;577:1;570:8;;;399:186;;;;;:::o;3544:811:0:-;3636:4;3656:6;;;;;;;;;;;3652:85;;;3685:41;3700:6;3708:9;3719:6;3685:14;:41::i;:::-;3678:48;;;;3652:85;3764:4;;;;;;;;;;;3751:17;;:9;:17;;;;:38;;;;;3785:4;;;;;;;;;;;3772:17;;:9;:17;;;;3751:38;3747:205;;;3813:22;:33;3836:9;3813:33;;;;;;;;;;;;;;;;;;;;;;;;;:86;;;;3883:16;;3873:6;3850:9;:20;3860:9;3850:20;;;;;;;;;;;;;;;;:29;:49;;3813:86;3805:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3747:205;3956:16;:14;:16::i;:::-;3952:57;;;3988:10;:8;:10::i;:::-;3952:57;4039:53;4061:6;4039:53;;;;;;;;;;;;;;;;;:9;:17;4049:6;4039:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;4019:9;:17;4029:6;4019:17;;;;;;;;;;;;;;;:73;;;;4103:22;4128:32;4142:6;4150:9;4128:13;:32::i;:::-;:67;;4189:6;4128:67;;;4163:23;4171:6;4179;4163:7;:23::i;:::-;4128:67;4103:92;;4228:40;4253:14;4228:9;:20;4238:9;4228:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;4205:9;:20;4215:9;4205:20;;;;;;;;;;;;;;;:63;;;;4301:9;4284:43;;4293:6;4284:43;;;4312:14;4284:43;;;;;;;;;;;;;;;;;;4344:4;4337:11;;;3544:811;;;;;;:::o;4361:325::-;4454:4;4490:53;4512:6;4490:53;;;;;;;;;;;;;;;;;:9;:17;4500:6;4490:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;4470:9;:17;4480:6;4470:17;;;;;;;;;;;;;;;:73;;;;4576:32;4601:6;4576:9;:20;4586:9;4576:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4553:9;:20;4563:9;4553:20;;;;;;;;;;;;;;;:55;;;;4640:9;4623:35;;4632:6;4623:35;;;4651:6;4623:35;;;;;;;;;;;;;;;;;;4675:4;4668:11;;4361:325;;;;;:::o;5247:192::-;5296:4;5333;;;;;;;;;;;5319:18;;:10;:18;;;;:37;;;;;5350:6;;;;;;;;;;;5349:7;5319:37;:60;;;;;5368:11;;;;;;;;;;;5319:60;:113;;;;;5419:13;;5391:9;:24;5409:4;5391:24;;;;;;;;;;;;;;;;:41;;5319:113;5312:120;;5247:192;:::o;5445:1501::-;1293:4;1284:6;;:13;;;;;;;;;;;;;;;;;;5493:28:::1;5524:13;;5493:44;;5547:23;5573:59;5630:1;5573:52;5616:8;;5573:38;5598:12;;5573:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;5547:85;;5642:20;5665:41;5690:15;5665:20;:24;;:41;;;;:::i;:::-;5642:64;;5717:21;5755:1;5741:16;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5717:40;;5785:4;5767;5772:1;5767:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;5810:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;5800:4;5805:1;5800:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;5834:21;5858;5834:45;;5890:6;;;;;;;;;;;:57;;;5961:12;5987:1;6002:4;6028;6047:15;5890:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6082:17;6102:40;6128:13;6102:21;:25;;:40;;;;:::i;:::-;6082:60;;6152:19;6174:33;6187:19;6204:1;6187:12;;:16;;:19;;;;:::i;:::-;6174:8;;:12;;:33;;;;:::i;:::-;6152:55;;6217:26;6246:51;6295:1;6246:44;6278:11;6246:27;6260:12;;6246:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;6217:80;;6307:26;6336:44;6368:11;6336:27;6350:12;;6336:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;6307:73;;6393:21;6451:20;;;;;;;;;;;6443:34;;6486:18;6512:5;6443:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6392:130;;;6540:16;6532:59;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;6624:1;6606:15;:19;6602:338;;;6641:6;;;;;;;;;;;:22;;;6672:18;6717:4;6740:15;6773:1;6792::::0;6811:4:::1;;;;;;;;;;;6833:15;6641:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6881:48;6893:18;6913:15;6881:48;;;;;;;;;;;;;;;;;;;;;;;;6602:338;1307:1;;;;;;;;;;1327:5:::0;1318:6;;:14;;;;;;;;;;;;;;;;;;5445:1501::o;4692:219::-;4773:4;4806:12;;;;;;;;;;;4796:22;;:6;:22;;;:51;;;;4835:12;;;;;;;;;;;4822:25;;:9;:25;;;4796:51;:108;;;;4853:13;:21;4867:6;4853:21;;;;;;;;;;;;;;;;;;;;;;;;;4852:22;:51;;;;;4879:13;:24;4893:9;4879:24;;;;;;;;;;;;;;;;;;;;;;;;;4878:25;4852:51;4796:108;4789:115;;4692:219;;;;:::o;4917:324::-;4984:7;5003:17;5023:40;5048:14;;5023:20;5034:8;;5023:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;5003:60;;5100:39;5129:9;5100;:24;5118:4;5100:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;5073:9;:24;5091:4;5073:24;;;;;;;;;;;;;;;:66;;;;5179:4;5154:42;;5163:6;5154:42;;;5186:9;5154:42;;;;;;;;;;;;;;;;;;5213:21;5224:9;5213:6;:10;;:21;;;;:::i;:::-;5206:28;;;4917:324;;;;:::o;80:175:5:-;138:7;157:9;173:1;169;:5;157:17;;197:1;192;:6;;184:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:1;240:8;;;80:175;;;;:::o;590:239::-;648:7;676:1;671;:6;667:45;;;700:1;693:8;;;;667:45;721:9;737:1;733;:5;721:17;;765:1;760;756;:5;;;;;;:10;748:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;821:1;814:8;;;590:239;;;;;:::o;834:130::-;892:7;918:39;922:1;925;918:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;911:46;;834:130;;;;:::o;260:134::-;318:7;344:43;348:1;351;344:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;337:50;;260:134;;;;:::o;969:185::-;1055:7;1086:1;1082;:5;1089:12;1074:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1112:9;1128:1;1124;:5;;;;;;1112:17;;1146:1;1139:8;;;969:185;;;;;:::o

Swarm Source

ipfs://b9bb5e1aecc85e10b4688114e4744933fa19c300dc53ed0132a2005952ae2ebc
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.