BNB Price: $694.99 (-2.11%)
Gas: 1 GWei
 

Overview

Max Total Supply

76,000,000BIRD

Holders

44,356

Market

Price

$0.00 @ 0.000000 BNB

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
USD Coin: USDC Token
Balance
0.2 BIRD

Value
$0.00
0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
BIRDToken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2022-10-19
*/

// SPDX-License-Identifier: MIT
pragma solidity =0.6.12;

interface IBEP20 {
    function totalSupply() external view returns (uint);

    function balanceOf(address account) external view returns (uint);

    function transfer(address recipient, uint amount) external returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint);

    function approve(address spender, uint amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
    event Burn(address indexed owner, address indexed to, uint value);
}

library SafeMath {
    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint a,
        uint b,
        string memory errorMessage
    ) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }

    function mul(uint a, uint b) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint a,
        uint b,
        string memory errorMessage
    ) internal pure returns (uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() internal {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IBack {
    function swapAndLiquify(uint256 contractTokenBalance) external;
}

contract BEP20 is Context, Ownable, IBEP20 {
    using SafeMath for uint;

    mapping(address => uint) internal _balances;
    mapping(address => mapping(address => uint)) internal _allowances;
    mapping(address => bool) private _isMarketPair;
    mapping(address => bool) private _isExcluded;

    uint internal _totalSupply;

    uint public totalBurn;

    uint256 public _taxFee = 10;
    uint256 public _backFee = 5;
    uint256 public _burnFee = 5;
    uint public _startBlock;
    uint internal _blocks = 50;
    bool public _txEnable = true;
    bool public _txFeeEnable = false;
    bool public _sellEnable = false;
    bool public _sellFeeEnable = true;
    bool public _buyEnable = true;
    bool public _buyFeeEnable = false;
    bool public _backEnable = true;
    uint256 private numTokensSellToAddToLiquidity = 100 * 10**18;
    bool private inSwapAndLiquify;

    address public Back = 0x347b552263b583A64fa3d11Fd1DD1039f869d48A;
    address public Dead = 0x000000000000000000000000000000000000dEaD;
    address public wha = 0xb5Ed97AC27AFd7E7e3c6bF6c95B46A16793eDE79;
    address public emergency = 0xb5Ed97AC27AFd7E7e3c6bF6c95B46A16793eDE79;

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor() internal {
        _isExcluded[owner()] = true;
        _isExcluded[Back] = true;
        _isExcluded[Dead] = true;
    }

    function totalSupply() public view override returns (uint) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address towner, address spender)
        public
        view
        override
        returns (uint)
    {
        return _allowances[towner][spender];
    }

    function approve(address spender, uint amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "BEP20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function increaseAllowance(address spender, uint addedValue)
        public
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint subtractedValue)
        public
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "BEP20: decreased allowance below zero"
            )
        );
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint amount
    ) internal {
        require(sender != address(0), "BEP20: transfer from the zero address");
        require(amount > 0, "BEP20: transfer amount the 0");

        if (inSwapAndLiquify) {
            _basicTransfer(sender, recipient, amount);
        } else {
            _balances[sender] = _balances[sender].sub(
                amount,
                "BEP20: transfer amount exceeds balance"
            );

            uint256 netAmount = amount;
            bool excludedAccount = _isExcluded[sender] || _isExcluded[recipient];
            if (!excludedAccount) {
                if (_startBlock == 0 || block.number < (_startBlock + _blocks)) {
                    require(false, "not start");
                } else if (_isMarketPair[recipient]) {
                    require(_sellEnable, "not sell");
                    if (_sellEnable && _sellFeeEnable) {
                        netAmount = _takeFees(sender, recipient, amount);
                    }
                } else if (_isMarketPair[sender]) {
                    require(_buyEnable, "not buy");
                    if (_buyEnable && _buyFeeEnable) {
                        netAmount = _takeFees(sender, recipient, amount);
                    }
                } else {
                    require(_txEnable, "not transfer");
                    if (_txEnable && _txFeeEnable) {
                        netAmount = _takeFees(sender, recipient, amount);
                    }
                }
            } else if (
                excludedAccount && _isMarketPair[recipient] && _startBlock == 0
            ) {
                _startBlock = block.number;
            }

            _swap();

            _balances[recipient] = _balances[recipient].add(netAmount);

            emit Transfer(sender, recipient, netAmount);
        }
    }

    function _takeFees(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (uint256 netAmount) {
        uint256 tax = amount.mul(_taxFee).div(100);

        netAmount = amount - tax;

        if (tax > 0) {
            uint256 backFee = tax.mul(_backFee).div(_taxFee);
            uint256 burnFee = tax - backFee;
            _takeFee(sender, Back, backFee);
            _burn(sender, Dead, burnFee);
            emit Transfer(sender, Dead, burnFee);
        }
    }

    function _takeFee(
        address sender,
        address recipient,
        uint256 tax
    ) private returns (uint) {
        _balances[recipient] = _balances[recipient].add(tax);
        emit Transfer(sender, recipient, tax);
    }

    function _burn(
        address sender,
        address recipient,
        uint amount
    ) private {
        if (recipient == address(0) || recipient == Dead) {
            totalBurn = totalBurn.add(amount);
            _totalSupply = _totalSupply.sub(amount);

            emit Burn(sender, Dead, amount);
        }
    }

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

    function _approve(
        address towner,
        address spender,
        uint amount
    ) internal {
        require(towner != address(0), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: approve to the zero address");

        _allowances[towner][spender] = amount;
        emit Approval(towner, spender, amount);
    }

    function _swap() internal {
        uint256 contractTokenBalance = balanceOf(address(Back));
        bool overMinTokenBalance = contractTokenBalance >=
            numTokensSellToAddToLiquidity;
        if (
            _backEnable &&
            overMinTokenBalance &&
            !inSwapAndLiquify &&
            Back != address(0)
        ) {
            contractTokenBalance = numTokensSellToAddToLiquidity;
            // add liquidity
            swapAndLiquify(contractTokenBalance);
        }
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        IBack(Back).swapAndLiquify(contractTokenBalance);
    }

    function multExcludeFrom(address[] calldata accounts) external {
        require(wha == msg.sender || owner() == msg.sender, "auth error");
        for (uint i = 0; i < accounts.length; i++) {
            _isExcluded[accounts[i]] = false;
        }
    }

    function multIncludeIn(address[] calldata accounts) external {
        require(wha == msg.sender || owner() == msg.sender, "auth error");
        for (uint i = 0; i < accounts.length; i++) {
            _isExcluded[accounts[i]] = true;
        }
    }

    function setBackAddr(address _addr) external onlyOwner {
        require(_addr != address(0), "zero address");
        Back = _addr;
    }

    function fees(
        uint taxFee,
        uint burnFee,
        uint backFee
    ) external onlyOwner {
        _taxFee = taxFee;
        _burnFee = burnFee;
        _backFee = backFee;
    }

    function setBlocks(uint _num) external onlyOwner {
        _blocks = _num;
    }

    function setStartBlock(uint _num) external onlyOwner {
        _startBlock = _num;
    }

    function setMarketPairStatus(address account, bool newValue) external onlyOwner {
        _isMarketPair[account] = newValue;
    }

    function getMarketPairStatus(address account) external view returns (bool) {
        return _isMarketPair[account];
    }

    function _WHA(address _wh) external {
        require(wha == msg.sender, "auth error");
        wha = _wh;
    }

    function _emergencyEn(address _emergency) external {
        require(emergency == msg.sender, "auth error");
        emergency = _emergency;
    }

    function setSellEnable(bool newValue, bool newValue1) external onlyOwner {
        _sellEnable = newValue;
        _sellFeeEnable = newValue1;
    }

    function setBuyEnable(bool newValue, bool newValue1) external onlyOwner {
        _buyEnable = newValue;
        _buyFeeEnable = newValue1;
    }

    function setTxEnable(bool newValue, bool newValue1) external onlyOwner {
        _txEnable = newValue;
        _txFeeEnable = newValue1;
    }

    function setBackEnable(bool newValue) external onlyOwner {
        _backEnable = newValue;
    }
}

contract BEP20Detailed is BEP20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor(
        string memory tname,
        string memory tsymbol,
        uint8 tdecimals
    ) internal {
        _name = tname;
        _symbol = tsymbol;
        _decimals = tdecimals;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

contract BIRDToken is BEP20Detailed {
    constructor() public BEP20Detailed("BIRD", "BIRD", 18) {
        _totalSupply = 76000000 * (10**18);

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

    function takeOutTokenInCase(
        address _token,
        uint256 _amount,
        address _to
    ) external {
        require(emergency == msg.sender || owner() == msg.sender, "auth error");
        IBEP20(_token).transfer(_to, _amount);
    }
}

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":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","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":"Back","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Dead","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wh","type":"address"}],"name":"_WHA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_backEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_backFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_burnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFeeEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_emergency","type":"address"}],"name":"_emergencyEn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_sellEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFeeEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txFeeEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"towner","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":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emergency","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"},{"internalType":"uint256","name":"burnFee","type":"uint256"},{"internalType":"uint256","name":"backFee","type":"uint256"}],"name":"fees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getMarketPairStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"accounts","type":"address[]"}],"name":"multExcludeFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"multIncludeIn","outputs":[],"stateMutability":"nonpayable","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":"_addr","type":"address"}],"name":"setBackAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setBackEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_num","type":"uint256"}],"name":"setBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"},{"internalType":"bool","name":"newValue1","type":"bool"}],"name":"setBuyEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"},{"internalType":"bool","name":"newValue1","type":"bool"}],"name":"setSellEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_num","type":"uint256"}],"name":"setStartBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"},{"internalType":"bool","name":"newValue1","type":"bool"}],"name":"setTxEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_to","type":"address"}],"name":"takeOutTokenInCase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalBurn","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":"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wha","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

6080604052600a600755600560088190556009556032600b55600c805461ffff60281b1960ff60201b1963ffffff001960ff1990931660011792909216630100000017919091166401000000001716660100000000000017905568056bc75e2d63100000600d55600e805474347b552263b583a64fa3d11fd1dd1039f869d48a00610100600160a81b0319909116179055600f80546001600160a01b031990811661dead1790915560108054821673b5ed97ac27afd7e7e3c6bf6c95b46a16793ede7990811790915560118054909216179055348015620000df57600080fd5b50604051806040016040528060048152602001631092549160e21b815250604051806040016040528060048152602001631092549160e21b81525060126200012c620002bd60201b60201c565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360016004600062000184620002c1565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600e5461010090048216815260048452828120805486166001908117909155600f549092168152919091208054909316179091558351620001fa9160129190860190620002d0565b50815162000210906013906020850190620002d0565b506014805460ff191660ff9290921691909117905550506a3edda04164d68bcc00000060058190556001600062000246620002bd565b6001600160a01b031681526020810191909152604001600020556200026a620002bd565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a36200036c565b3390565b6000546001600160a01b031690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200031357805160ff191683800117855562000343565b8280016001018555821562000343579182015b828111156200034357825182559160200191906001019062000326565b506200035192915062000355565b5090565b5b8082111562000351576000815560010162000356565b612190806200037c6000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c8063715018a61161015c578063a9059cbb116100ce578063d3a7f16d11610087578063d3a7f16d14610704578063dd62ed3e1461072a578063f2fde38b14610758578063f35e4a6e1461077e578063f53e28941461079b578063fe97331e146107c45761027f565b8063a9059cbb14610691578063b16559bb146106bd578063c0b0fda2146106c5578063c9b6fff2146106cd578063caa6fea4146106f4578063d2b87ca9146106fc5761027f565b8063844d591c11610120578063844d591c146105ca5780638c76dc93146105f85780638da5cb5b1461062e5780638e27f5871461063657806395d89b411461065d578063a457c2d7146106655761027f565b8063715018a6146105a257806379ad7dd7146105aa5780637f256c9f146105b2578063829878d1146105ba57806382c4767b146105c25761027f565b806332ae2e1d116101f5578063461e0a74116101b9578063461e0a74146104dd5780634e21e1e5146104e55780635d0543ea1461050b57806360e8c98c146105325780636acb1d171461055857806370a082311461057c5761027f565b806332ae2e1d1461042b57806339509351146104995780633b124fe7146104c55780633c9f861d146104cd5780633ef73af4146104d55761027f565b8063163dba9211610247578063163dba921461039057806318160ddd146103ad5780632091f08a146103c757806323b872dd146103cf5780632c71ecb614610405578063313ce5671461040d5761027f565b806305e09cf81461028457806306fdde03146102a057806308d9b4671461031d578063095ea7b3146103455780630dc047f614610371575b600080fd5b61028c610832565b604080519115158252519081900360200190f35b6102a8610842565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e25781810151838201526020016102ca565b50505050905090810190601f16801561030f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103436004803603602081101561033357600080fd5b50356001600160a01b03166108d8565b005b61028c6004803603604081101561035b57600080fd5b506001600160a01b0381351690602001356109a2565b6103436004803603602081101561038757600080fd5b503515156109c0565b610343600480360360208110156103a657600080fd5b5035610a39565b6103b5610a96565b60408051918252519081900360200190f35b61028c610a9c565b61028c600480360360608110156103e557600080fd5b506001600160a01b03813581169160208101359091169060400135610aac565b6103b5610b33565b610415610b39565b6040805160ff9092168252519081900360200190f35b6103436004803603602081101561044157600080fd5b810190602081018135600160201b81111561045b57600080fd5b82018360208201111561046d57600080fd5b803590602001918460208302840111600160201b8311171561048e57600080fd5b509092509050610b42565b61028c600480360360408110156104af57600080fd5b506001600160a01b038135169060200135610c03565b6103b5610c51565b6103b5610c57565b61028c610c5d565b61028c610c6b565b61028c600480360360208110156104fb57600080fd5b50356001600160a01b0316610c7a565b6103436004803603604081101561052157600080fd5b508035151590602001351515610c98565b6103436004803603602081101561054857600080fd5b50356001600160a01b0316610d27565b610560610d95565b604080516001600160a01b039092168252519081900360200190f35b6103b56004803603602081101561059257600080fd5b50356001600160a01b0316610da4565b610343610dbf565b6103b5610e61565b61028c610e67565b610560610e70565b610560610e84565b610343600480360360408110156105e057600080fd5b506001600160a01b0381351690602001351515610e93565b6103436004803603606081101561060e57600080fd5b506001600160a01b03813581169160208101359160409091013516610f16565b610560611004565b6103436004803603604081101561064c57600080fd5b508035151590602001351515611013565b6102a861109b565b61028c6004803603604081101561067b57600080fd5b506001600160a01b0381351690602001356110fc565b61028c600480360360408110156106a757600080fd5b506001600160a01b038135169060200135611164565b61028c611178565b6103b5611188565b610343600480360360408110156106e357600080fd5b50803515159060200135151561118e565b610560611209565b61028c611218565b6103436004803603602081101561071a57600080fd5b50356001600160a01b031661122a565b6103b56004803603604081101561074057600080fd5b506001600160a01b0381358116916020013516611298565b6103436004803603602081101561076e57600080fd5b50356001600160a01b03166112c3565b6103436004803603602081101561079457600080fd5b50356113bb565b610343600480360360608110156107b157600080fd5b5080359060208101359060400135611418565b610343600480360360208110156107da57600080fd5b810190602081018135600160201b8111156107f457600080fd5b82018360208201111561080657600080fd5b803590602001918460208302840111600160201b8311171561082757600080fd5b50909250905061147e565b600c54600160301b900460ff1681565b60128054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108ce5780601f106108a3576101008083540402835291602001916108ce565b820191906000526020600020905b8154815290600101906020018083116108b157829003601f168201915b5050505050905090565b6108e061153a565b6000546001600160a01b03908116911614610930576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b6001600160a01b03811661097a576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b600e80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60006109b66109af61153a565b848461153e565b5060015b92915050565b6109c861153a565b6000546001600160a01b03908116911614610a18576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600c8054911515600160301b0266ff00000000000019909216919091179055565b610a4161153a565b6000546001600160a01b03908116911614610a91576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600b55565b60055490565b600c546301000000900460ff1681565b6000610ab984848461162a565b610b2984610ac561153a565b610b2485604051806060016040528060288152602001612065602891396001600160a01b038a16600090815260026020526040812090610b0361153a565b6001600160a01b031681526020810191909152604001600020549190611a31565b61153e565b5060019392505050565b600a5481565b60145460ff1690565b6010546001600160a01b0316331480610b6a575033610b5f611004565b6001600160a01b0316145b610ba8576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b60005b81811015610bfe57600160046000858585818110610bc557fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805460ff1916911515919091179055600101610bab565b505050565b60006109b6610c1061153a565b84610b248560026000610c2161153a565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611ac8565b60075481565b60065481565b600c54610100900460ff1681565b600c5462010000900460ff1681565b6001600160a01b031660009081526003602052604090205460ff1690565b610ca061153a565b6000546001600160a01b03908116911614610cf0576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600c8054911515650100000000000265ff000000000019931515600160201b0264ff00000000199093169290921792909216179055565b6010546001600160a01b03163314610d73576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6010546001600160a01b031681565b6001600160a01b031660009081526001602052604090205490565b610dc761153a565b6000546001600160a01b03908116911614610e17576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60085481565b600c5460ff1681565b600e5461010090046001600160a01b031681565b600f546001600160a01b031681565b610e9b61153a565b6000546001600160a01b03908116911614610eeb576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6011546001600160a01b0316331480610f3e575033610f33611004565b6001600160a01b0316145b610f7c576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b826001600160a01b031663a9059cbb82846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610fd357600080fd5b505af1158015610fe7573d6000803e3d6000fd5b505050506040513d6020811015610ffd57600080fd5b5050505050565b6000546001600160a01b031690565b61101b61153a565b6000546001600160a01b0390811691161461106b576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600c805491151563010000000263ff00000019931515620100000262ff0000199093169290921792909216179055565b60138054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108ce5780601f106108a3576101008083540402835291602001916108ce565b60006109b661110961153a565b84610b2485604051806060016040528060258152602001612114602591396002600061113361153a565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611a31565b60006109b661117161153a565b848461162a565b600c54600160201b900460ff1681565b60095481565b61119661153a565b6000546001600160a01b039081169116146111e6576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600c805460ff19169215159290921761ff00191661010091151591909102179055565b6011546001600160a01b031681565b600c5465010000000000900460ff1681565b6011546001600160a01b03163314611276576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6112cb61153a565b6000546001600160a01b0390811691161461131b576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b6001600160a01b0381166113605760405162461bcd60e51b815260040180806020018281038252602681526020018061203f6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6113c361153a565b6000546001600160a01b03908116911614611413576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600a55565b61142061153a565b6000546001600160a01b03908116911614611470576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600792909255600955600855565b6010546001600160a01b03163314806114a657503361149b611004565b6001600160a01b0316145b6114e4576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b60005b81811015610bfe5760006004600085858581811061150157fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805460ff19169115159190911790556001016114e7565b3390565b6001600160a01b0383166115835760405162461bcd60e51b815260040180806020018281038252602481526020018061201b6024913960400191505060405180910390fd5b6001600160a01b0382166115c85760405162461bcd60e51b81526004018080602001828103825260228152602001806121396022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661166f5760405162461bcd60e51b8152600401808060200182810382526025815260200180611ff66025913960400191505060405180910390fd5b600081116116c4576040805162461bcd60e51b815260206004820152601c60248201527f42455032303a207472616e7366657220616d6f756e7420746865203000000000604482015290519081900360640190fd5b600e5460ff16156116e0576116da838383611b29565b50610bfe565b61171d816040518060600160405280602681526020016120ce602691396001600160a01b0386166000908152600160205260409020549190611a31565b6001600160a01b038416600090815260016020908152604080832093909355600490529081205482919060ff168061176d57506001600160a01b03841660009081526004602052604090205460ff165b90508061197f57600a5415806117885750600b54600a540143105b156117cb576040805162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b604482015290519081900360640190fd5b61197a565b6001600160a01b03841660009081526003602052604090205460ff161561186c57600c5462010000900460ff16611834576040805162461bcd60e51b81526020600482015260086024820152671b9bdd081cd95b1b60c21b604482015290519081900360640190fd5b600c5462010000900460ff1680156118555750600c546301000000900460ff165b156117c657611865858585611be6565b915061197a565b6001600160a01b03851660009081526003602052604090205460ff161561190857600c54600160201b900460ff166118d5576040805162461bcd60e51b81526020600482015260076024820152666e6f742062757960c81b604482015290519081900360640190fd5b600c54600160201b900460ff1680156118555750600c5465010000000000900460ff16156117c657611865858585611be6565b600c5460ff1661194e576040805162461bcd60e51b815260206004820152600c60248201526b3737ba103a3930b739b332b960a11b604482015290519081900360640190fd5b600c5460ff1680156119675750600c54610100900460ff165b1561197a57611977858585611be6565b91505b6119ba565b8080156119a457506001600160a01b03841660009081526003602052604090205460ff165b80156119b05750600a54155b156119ba5743600a555b6119c2611caf565b6001600160a01b0384166000908152600160205260409020546119e59083611ac8565b6001600160a01b0380861660008181526001602090815260409182902094909455805186815290519193928916926000805160206120f483398151915292918290030190a35050505050565b60008184841115611ac05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a85578181015183820152602001611a6d565b50505050905090810190601f168015611ab25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611b22576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000611b68826040518060600160405280602681526020016120ce602691396001600160a01b0387166000908152600160205260409020549190611a31565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b979083611ac8565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816926000805160206120f483398151915292918290030190a35060019392505050565b600080611c096064611c0360075486611d2d90919063ffffffff16565b90611d86565b808403925090508015611ca7576000611c33600754611c0360085485611d2d90919063ffffffff16565b600e5490915081830390611c5790889061010090046001600160a01b031684611dc8565b50600f54611c709088906001600160a01b031683611e37565b600f546040805183815290516001600160a01b03928316928a16916000805160206120f4833981519152919081900360200190a350505b509392505050565b600e54600090611ccc9061010090046001600160a01b0316610da4565b600d54600c5491925082101590600160301b900460ff168015611cec5750805b8015611cfb5750600e5460ff16155b8015611d165750600e5461010090046001600160a01b031615155b15611d2957600d549150611d2982611eca565b5050565b600082611d3c575060006109ba565b82820282848281611d4957fe5b0414611b225760405162461bcd60e51b815260040180806020018281038252602181526020018061208d6021913960400191505060405180910390fd5b6000611b2283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f4e565b6001600160a01b038216600090815260016020526040812054611deb9083611ac8565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816926000805160206120f483398151915292918290030190a39392505050565b6001600160a01b0382161580611e5a5750600f546001600160a01b038381169116145b15610bfe57600654611e6c9082611ac8565b600655600554611e7c9082611fb3565b600555600f546040805183815290516001600160a01b03928316928616917fbac40739b0d4ca32fa2d82fc91630465ba3eddd1598da6fca393b26fb63b9453919081900360200190a3505050565b600e8054600160ff1990911617908190556040805163173865ad60e01b81526004810184905290516101009092046001600160a01b03169163173865ad9160248082019260009290919082900301818387803b158015611f2957600080fd5b505af1158015611f3d573d6000803e3d6000fd5b5050600e805460ff19169055505050565b60008183611f9d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611a85578181015183820152602001611a6d565b506000838581611fa957fe5b0495945050505050565b6000611b2283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a3156fe42455032303a207472616e736665722066726f6d20746865207a65726f206164647265737342455032303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657242455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a20617070726f766520746f20746865207a65726f2061646472657373a2646970667358221220cf8e6da49287b0aa9aa79e2535da4494d0c1ebea215f5745a26a59b0089f90df64736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061027f5760003560e01c8063715018a61161015c578063a9059cbb116100ce578063d3a7f16d11610087578063d3a7f16d14610704578063dd62ed3e1461072a578063f2fde38b14610758578063f35e4a6e1461077e578063f53e28941461079b578063fe97331e146107c45761027f565b8063a9059cbb14610691578063b16559bb146106bd578063c0b0fda2146106c5578063c9b6fff2146106cd578063caa6fea4146106f4578063d2b87ca9146106fc5761027f565b8063844d591c11610120578063844d591c146105ca5780638c76dc93146105f85780638da5cb5b1461062e5780638e27f5871461063657806395d89b411461065d578063a457c2d7146106655761027f565b8063715018a6146105a257806379ad7dd7146105aa5780637f256c9f146105b2578063829878d1146105ba57806382c4767b146105c25761027f565b806332ae2e1d116101f5578063461e0a74116101b9578063461e0a74146104dd5780634e21e1e5146104e55780635d0543ea1461050b57806360e8c98c146105325780636acb1d171461055857806370a082311461057c5761027f565b806332ae2e1d1461042b57806339509351146104995780633b124fe7146104c55780633c9f861d146104cd5780633ef73af4146104d55761027f565b8063163dba9211610247578063163dba921461039057806318160ddd146103ad5780632091f08a146103c757806323b872dd146103cf5780632c71ecb614610405578063313ce5671461040d5761027f565b806305e09cf81461028457806306fdde03146102a057806308d9b4671461031d578063095ea7b3146103455780630dc047f614610371575b600080fd5b61028c610832565b604080519115158252519081900360200190f35b6102a8610842565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e25781810151838201526020016102ca565b50505050905090810190601f16801561030f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103436004803603602081101561033357600080fd5b50356001600160a01b03166108d8565b005b61028c6004803603604081101561035b57600080fd5b506001600160a01b0381351690602001356109a2565b6103436004803603602081101561038757600080fd5b503515156109c0565b610343600480360360208110156103a657600080fd5b5035610a39565b6103b5610a96565b60408051918252519081900360200190f35b61028c610a9c565b61028c600480360360608110156103e557600080fd5b506001600160a01b03813581169160208101359091169060400135610aac565b6103b5610b33565b610415610b39565b6040805160ff9092168252519081900360200190f35b6103436004803603602081101561044157600080fd5b810190602081018135600160201b81111561045b57600080fd5b82018360208201111561046d57600080fd5b803590602001918460208302840111600160201b8311171561048e57600080fd5b509092509050610b42565b61028c600480360360408110156104af57600080fd5b506001600160a01b038135169060200135610c03565b6103b5610c51565b6103b5610c57565b61028c610c5d565b61028c610c6b565b61028c600480360360208110156104fb57600080fd5b50356001600160a01b0316610c7a565b6103436004803603604081101561052157600080fd5b508035151590602001351515610c98565b6103436004803603602081101561054857600080fd5b50356001600160a01b0316610d27565b610560610d95565b604080516001600160a01b039092168252519081900360200190f35b6103b56004803603602081101561059257600080fd5b50356001600160a01b0316610da4565b610343610dbf565b6103b5610e61565b61028c610e67565b610560610e70565b610560610e84565b610343600480360360408110156105e057600080fd5b506001600160a01b0381351690602001351515610e93565b6103436004803603606081101561060e57600080fd5b506001600160a01b03813581169160208101359160409091013516610f16565b610560611004565b6103436004803603604081101561064c57600080fd5b508035151590602001351515611013565b6102a861109b565b61028c6004803603604081101561067b57600080fd5b506001600160a01b0381351690602001356110fc565b61028c600480360360408110156106a757600080fd5b506001600160a01b038135169060200135611164565b61028c611178565b6103b5611188565b610343600480360360408110156106e357600080fd5b50803515159060200135151561118e565b610560611209565b61028c611218565b6103436004803603602081101561071a57600080fd5b50356001600160a01b031661122a565b6103b56004803603604081101561074057600080fd5b506001600160a01b0381358116916020013516611298565b6103436004803603602081101561076e57600080fd5b50356001600160a01b03166112c3565b6103436004803603602081101561079457600080fd5b50356113bb565b610343600480360360608110156107b157600080fd5b5080359060208101359060400135611418565b610343600480360360208110156107da57600080fd5b810190602081018135600160201b8111156107f457600080fd5b82018360208201111561080657600080fd5b803590602001918460208302840111600160201b8311171561082757600080fd5b50909250905061147e565b600c54600160301b900460ff1681565b60128054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108ce5780601f106108a3576101008083540402835291602001916108ce565b820191906000526020600020905b8154815290600101906020018083116108b157829003601f168201915b5050505050905090565b6108e061153a565b6000546001600160a01b03908116911614610930576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b6001600160a01b03811661097a576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b600e80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60006109b66109af61153a565b848461153e565b5060015b92915050565b6109c861153a565b6000546001600160a01b03908116911614610a18576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600c8054911515600160301b0266ff00000000000019909216919091179055565b610a4161153a565b6000546001600160a01b03908116911614610a91576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600b55565b60055490565b600c546301000000900460ff1681565b6000610ab984848461162a565b610b2984610ac561153a565b610b2485604051806060016040528060288152602001612065602891396001600160a01b038a16600090815260026020526040812090610b0361153a565b6001600160a01b031681526020810191909152604001600020549190611a31565b61153e565b5060019392505050565b600a5481565b60145460ff1690565b6010546001600160a01b0316331480610b6a575033610b5f611004565b6001600160a01b0316145b610ba8576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b60005b81811015610bfe57600160046000858585818110610bc557fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805460ff1916911515919091179055600101610bab565b505050565b60006109b6610c1061153a565b84610b248560026000610c2161153a565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611ac8565b60075481565b60065481565b600c54610100900460ff1681565b600c5462010000900460ff1681565b6001600160a01b031660009081526003602052604090205460ff1690565b610ca061153a565b6000546001600160a01b03908116911614610cf0576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600c8054911515650100000000000265ff000000000019931515600160201b0264ff00000000199093169290921792909216179055565b6010546001600160a01b03163314610d73576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6010546001600160a01b031681565b6001600160a01b031660009081526001602052604090205490565b610dc761153a565b6000546001600160a01b03908116911614610e17576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60085481565b600c5460ff1681565b600e5461010090046001600160a01b031681565b600f546001600160a01b031681565b610e9b61153a565b6000546001600160a01b03908116911614610eeb576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6011546001600160a01b0316331480610f3e575033610f33611004565b6001600160a01b0316145b610f7c576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b826001600160a01b031663a9059cbb82846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610fd357600080fd5b505af1158015610fe7573d6000803e3d6000fd5b505050506040513d6020811015610ffd57600080fd5b5050505050565b6000546001600160a01b031690565b61101b61153a565b6000546001600160a01b0390811691161461106b576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600c805491151563010000000263ff00000019931515620100000262ff0000199093169290921792909216179055565b60138054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108ce5780601f106108a3576101008083540402835291602001916108ce565b60006109b661110961153a565b84610b2485604051806060016040528060258152602001612114602591396002600061113361153a565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611a31565b60006109b661117161153a565b848461162a565b600c54600160201b900460ff1681565b60095481565b61119661153a565b6000546001600160a01b039081169116146111e6576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600c805460ff19169215159290921761ff00191661010091151591909102179055565b6011546001600160a01b031681565b600c5465010000000000900460ff1681565b6011546001600160a01b03163314611276576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6112cb61153a565b6000546001600160a01b0390811691161461131b576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b6001600160a01b0381166113605760405162461bcd60e51b815260040180806020018281038252602681526020018061203f6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6113c361153a565b6000546001600160a01b03908116911614611413576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600a55565b61142061153a565b6000546001600160a01b03908116911614611470576040805162461bcd60e51b815260206004820181905260248201526000805160206120ae833981519152604482015290519081900360640190fd5b600792909255600955600855565b6010546001600160a01b03163314806114a657503361149b611004565b6001600160a01b0316145b6114e4576040805162461bcd60e51b815260206004820152600a60248201526930baba341032b93937b960b11b604482015290519081900360640190fd5b60005b81811015610bfe5760006004600085858581811061150157fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805460ff19169115159190911790556001016114e7565b3390565b6001600160a01b0383166115835760405162461bcd60e51b815260040180806020018281038252602481526020018061201b6024913960400191505060405180910390fd5b6001600160a01b0382166115c85760405162461bcd60e51b81526004018080602001828103825260228152602001806121396022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661166f5760405162461bcd60e51b8152600401808060200182810382526025815260200180611ff66025913960400191505060405180910390fd5b600081116116c4576040805162461bcd60e51b815260206004820152601c60248201527f42455032303a207472616e7366657220616d6f756e7420746865203000000000604482015290519081900360640190fd5b600e5460ff16156116e0576116da838383611b29565b50610bfe565b61171d816040518060600160405280602681526020016120ce602691396001600160a01b0386166000908152600160205260409020549190611a31565b6001600160a01b038416600090815260016020908152604080832093909355600490529081205482919060ff168061176d57506001600160a01b03841660009081526004602052604090205460ff165b90508061197f57600a5415806117885750600b54600a540143105b156117cb576040805162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b604482015290519081900360640190fd5b61197a565b6001600160a01b03841660009081526003602052604090205460ff161561186c57600c5462010000900460ff16611834576040805162461bcd60e51b81526020600482015260086024820152671b9bdd081cd95b1b60c21b604482015290519081900360640190fd5b600c5462010000900460ff1680156118555750600c546301000000900460ff165b156117c657611865858585611be6565b915061197a565b6001600160a01b03851660009081526003602052604090205460ff161561190857600c54600160201b900460ff166118d5576040805162461bcd60e51b81526020600482015260076024820152666e6f742062757960c81b604482015290519081900360640190fd5b600c54600160201b900460ff1680156118555750600c5465010000000000900460ff16156117c657611865858585611be6565b600c5460ff1661194e576040805162461bcd60e51b815260206004820152600c60248201526b3737ba103a3930b739b332b960a11b604482015290519081900360640190fd5b600c5460ff1680156119675750600c54610100900460ff165b1561197a57611977858585611be6565b91505b6119ba565b8080156119a457506001600160a01b03841660009081526003602052604090205460ff165b80156119b05750600a54155b156119ba5743600a555b6119c2611caf565b6001600160a01b0384166000908152600160205260409020546119e59083611ac8565b6001600160a01b0380861660008181526001602090815260409182902094909455805186815290519193928916926000805160206120f483398151915292918290030190a35050505050565b60008184841115611ac05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a85578181015183820152602001611a6d565b50505050905090810190601f168015611ab25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611b22576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000611b68826040518060600160405280602681526020016120ce602691396001600160a01b0387166000908152600160205260409020549190611a31565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b979083611ac8565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816926000805160206120f483398151915292918290030190a35060019392505050565b600080611c096064611c0360075486611d2d90919063ffffffff16565b90611d86565b808403925090508015611ca7576000611c33600754611c0360085485611d2d90919063ffffffff16565b600e5490915081830390611c5790889061010090046001600160a01b031684611dc8565b50600f54611c709088906001600160a01b031683611e37565b600f546040805183815290516001600160a01b03928316928a16916000805160206120f4833981519152919081900360200190a350505b509392505050565b600e54600090611ccc9061010090046001600160a01b0316610da4565b600d54600c5491925082101590600160301b900460ff168015611cec5750805b8015611cfb5750600e5460ff16155b8015611d165750600e5461010090046001600160a01b031615155b15611d2957600d549150611d2982611eca565b5050565b600082611d3c575060006109ba565b82820282848281611d4957fe5b0414611b225760405162461bcd60e51b815260040180806020018281038252602181526020018061208d6021913960400191505060405180910390fd5b6000611b2283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f4e565b6001600160a01b038216600090815260016020526040812054611deb9083611ac8565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816926000805160206120f483398151915292918290030190a39392505050565b6001600160a01b0382161580611e5a5750600f546001600160a01b038381169116145b15610bfe57600654611e6c9082611ac8565b600655600554611e7c9082611fb3565b600555600f546040805183815290516001600160a01b03928316928616917fbac40739b0d4ca32fa2d82fc91630465ba3eddd1598da6fca393b26fb63b9453919081900360200190a3505050565b600e8054600160ff1990911617908190556040805163173865ad60e01b81526004810184905290516101009092046001600160a01b03169163173865ad9160248082019260009290919082900301818387803b158015611f2957600080fd5b505af1158015611f3d573d6000803e3d6000fd5b5050600e805460ff19169055505050565b60008183611f9d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611a85578181015183820152602001611a6d565b506000838581611fa957fe5b0495945050505050565b6000611b2283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a3156fe42455032303a207472616e736665722066726f6d20746865207a65726f206164647265737342455032303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657242455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a20617070726f766520746f20746865207a65726f2061646472657373a2646970667358221220cf8e6da49287b0aa9aa79e2535da4494d0c1ebea215f5745a26a59b0089f90df64736f6c634300060c0033

Deployed Bytecode Sourcemap

14858:532:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;14582:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12569:141;;;;;;;;;;;;;;;;-1:-1:-1;12569:141:0;-1:-1:-1;;;;;12569:141:0;;:::i;:::-;;6139:190;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6139:190:0;;;;;;;;:::i;14134:98::-;;;;;;;;;;;;;;;;-1:-1:-1;14134:98:0;;;;:::i;12927:82::-;;;;;;;;;;;;;;;;-1:-1:-1;12927:82:0;;:::i;5515:97::-;;;:::i;:::-;;;;;;;;;;;;;;;;4696:33;;;:::i;6337:443::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6337:443:0;;;;;;;;;;;;;;;;;:::i;4521:23::-;;;:::i;14768:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12305:256;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12305:256:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12305:256:0;;;;;;;;;;-1:-1:-1;12305:256:0;;-1:-1:-1;12305:256:0;-1:-1:-1;12305:256:0;:::i;6788:280::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6788:280:0;;;;;;;;:::i;4419:27::-;;;:::i;4389:21::-;;;:::i;4619:32::-;;;:::i;4658:31::-;;;:::i;13255:123::-;;;;;;;;;;;;;;;;-1:-1:-1;13255:123:0;-1:-1:-1;;;;;13255:123:0;;:::i;13825:148::-;;;;;;;;;;;;;;;;-1:-1:-1;13825:148:0;;;;;;;;;;;:::i;13386:115::-;;;;;;;;;;;;;;;;-1:-1:-1;13386:115:0;-1:-1:-1;;;;;13386:115:0;;:::i;5096:63::-;;;:::i;:::-;;;;-1:-1:-1;;;;;5096:63:0;;;;;;;;;;;;;;5620:116;;;;;;;;;;;;;;;;-1:-1:-1;5620:116:0;-1:-1:-1;;;;;5620:116:0;;:::i;3360:148::-;;;:::i;4453:27::-;;;:::i;4584:28::-;;;:::i;4954:64::-;;;:::i;5025:::-;;;:::i;13115:132::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13115:132:0;;;;;;;;;;:::i;15132:255::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15132:255:0;;;;;;;;;;;;;;;;;:::i;2718:79::-;;;:::i;13666:151::-;;;;;;;;;;;;;;;;-1:-1:-1;13666:151:0;;;;;;;;;;;:::i;14673:87::-;;;:::i;7076:380::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7076:380:0;;;;;;;;:::i;5744:196::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5744:196:0;;;;;;;;:::i;4736:29::-;;;:::i;4487:27::-;;;:::i;13981:145::-;;;;;;;;;;;;;;;;-1:-1:-1;13981:145:0;;;;;;;;;;;:::i;5166:69::-;;;:::i;4772:33::-;;;:::i;13509:149::-;;;;;;;;;;;;;;;;-1:-1:-1;13509:149:0;-1:-1:-1;;;;;13509:149:0;;:::i;5948:183::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5948:183:0;;;;;;;;;;:::i;3663:281::-;;;;;;;;;;;;;;;;-1:-1:-1;3663:281:0;-1:-1:-1;;;;;3663:281:0;;:::i;13017:90::-;;;;;;;;;;;;;;;;-1:-1:-1;13017:90:0;;:::i;12718:201::-;;;;;;;;;;;;;;;;-1:-1:-1;12718:201:0;;;;;;;;;;;;:::i;12038:259::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12038:259:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12038:259:0;;;;;;;;;;-1:-1:-1;12038:259:0;;-1:-1:-1;12038:259:0;-1:-1:-1;12038:259:0;:::i;4812:30::-;;;-1:-1:-1;;;4812:30:0;;;;;:::o;14582:83::-;14652:5;14645:12;;;;;;;;-1:-1:-1;;14645:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14619:13;;14645:12;;14652:5;;14645:12;;14652:5;14645:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14582:83;:::o;12569:141::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12643:19:0;::::1;12635:44;;;::::0;;-1:-1:-1;;;12635:44:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12635:44:0;;;;;;;;;;;;;::::1;;12690:4;:12:::0;;-1:-1:-1;;;;;12690:12:0;;::::1;;;-1:-1:-1::0;;;;;;12690:12:0;;::::1;::::0;;;::::1;::::0;;12569:141::o;6139:190::-;6238:4;6260:39;6269:12;:10;:12::i;:::-;6283:7;6292:6;6260:8;:39::i;:::-;-1:-1:-1;6317:4:0;6139:190;;;;;:::o;14134:98::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;14202:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;14202:22:0::1;-1:-1:-1::0;;14202:22:0;;::::1;::::0;;;::::1;::::0;;14134:98::o;12927:82::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;12987:7:::1;:14:::0;12927:82::o;5515:97::-;5592:12;;5515:97;:::o;4696:33::-;;;;;;;;;:::o;6337:443::-;6466:4;6483:36;6493:6;6501:9;6512:6;6483:9;:36::i;:::-;6530:220;6553:6;6574:12;:10;:12::i;:::-;6601:138;6657:6;6601:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6601:19:0;;;;;;:11;:19;;;;;;6621:12;:10;:12::i;:::-;-1:-1:-1;;;;;6601:33:0;;;;;;;;;;;;-1:-1:-1;6601:33:0;;;:138;:37;:138::i;:::-;6530:8;:220::i;:::-;-1:-1:-1;6768:4:0;6337:443;;;;;:::o;4521:23::-;;;;:::o;14768:83::-;14834:9;;;;14768:83;:::o;12305:256::-;12385:3;;-1:-1:-1;;;;;12385:3:0;12392:10;12385:17;;:42;;-1:-1:-1;12417:10:0;12406:7;:5;:7::i;:::-;-1:-1:-1;;;;;12406:21:0;;12385:42;12377:65;;;;;-1:-1:-1;;;12377:65:0;;;;;;;;;;;;-1:-1:-1;;;12377:65:0;;;;;;;;;;;;;;;12458:6;12453:101;12470:19;;;12453:101;;;12538:4;12511:11;:24;12523:8;;12532:1;12523:11;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12523:11:0;12511:24;;-1:-1:-1;12511:24:0;;;;;;;;-1:-1:-1;12511:24:0;:31;;-1:-1:-1;;12511:31:0;;;;;;;;;;-1:-1:-1;12491:3:0;12453:101;;;;12305:256;;:::o;6788:280::-;6883:4;6905:133;6928:12;:10;:12::i;:::-;6955:7;6977:50;7016:10;6977:11;:25;6989:12;:10;:12::i;:::-;-1:-1:-1;;;;;6977:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;6977:25:0;;;:34;;;;;;;;;;;:38;:50::i;4419:27::-;;;;:::o;4389:21::-;;;;:::o;4619:32::-;;;;;;;;;:::o;4658:31::-;;;;;;;;;:::o;13255:123::-;-1:-1:-1;;;;;13348:22:0;13324:4;13348:22;;;:13;:22;;;;;;;;;13255:123::o;13825:148::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;13908:10:::1;:21:::0;;13940:25;::::1;;::::0;::::1;-1:-1:-1::0;;13908:21:0;::::1;;-1:-1:-1::0;;;13908:21:0::1;-1:-1:-1::0;;13908:21:0;;::::1;::::0;;;::::1;13940:25:::0;;;::::1;;::::0;;13825:148::o;13386:115::-;13441:3;;-1:-1:-1;;;;;13441:3:0;13448:10;13441:17;13433:40;;;;;-1:-1:-1;;;13433:40:0;;;;;;;;;;;;-1:-1:-1;;;13433:40:0;;;;;;;;;;;;;;;13484:3;:9;;-1:-1:-1;;;;;;13484:9:0;-1:-1:-1;;;;;13484:9:0;;;;;;;;;;13386:115::o;5096:63::-;;;-1:-1:-1;;;;;5096:63:0;;:::o;5620:116::-;-1:-1:-1;;;;;5710:18:0;5686:4;5710:18;;;:9;:18;;;;;;;5620:116::o;3360:148::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;3467:1:::1;3451:6:::0;;3430:40:::1;::::0;-1:-1:-1;;;;;3451:6:0;;::::1;::::0;3430:40:::1;::::0;3467:1;;3430:40:::1;3498:1;3481:19:::0;;-1:-1:-1;;;;;;3481:19:0::1;::::0;;3360:148::o;4453:27::-;;;;:::o;4584:28::-;;;;;;:::o;4954:64::-;;;;;;-1:-1:-1;;;;;4954:64:0;;:::o;5025:::-;;;-1:-1:-1;;;;;5025:64:0;;:::o;13115:132::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13206:22:0;;;::::1;;::::0;;;:13:::1;:22;::::0;;;;:33;;-1:-1:-1;;13206:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13115:132::o;15132:255::-;15268:9;;-1:-1:-1;;;;;15268:9:0;15281:10;15268:23;;:48;;-1:-1:-1;15306:10:0;15295:7;:5;:7::i;:::-;-1:-1:-1;;;;;15295:21:0;;15268:48;15260:71;;;;;-1:-1:-1;;;15260:71:0;;;;;;;;;;;;-1:-1:-1;;;15260:71:0;;;;;;;;;;;;;;;15349:6;-1:-1:-1;;;;;15342:23:0;;15366:3;15371:7;15342:37;;;;;;;;;;;;;-1:-1:-1;;;;;15342:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15132:255:0:o;2718:79::-;2756:7;2783:6;-1:-1:-1;;;;;2783:6:0;2718:79;:::o;13666:151::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;13750:11:::1;:22:::0;;13783:26;::::1;;::::0;::::1;-1:-1:-1::0;;13750:22:0;::::1;;::::0;::::1;-1:-1:-1::0;;13750:22:0;;::::1;::::0;;;::::1;13783:26:::0;;;::::1;;::::0;;13666:151::o;14673:87::-;14745:7;14738:14;;;;;;;;-1:-1:-1;;14738:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14712:13;;14738:14;;14745:7;;14738:14;;14745:7;14738:14;;;;;;;;;;;;;;;;;;;;;;;;7076:380;7176:4;7198:228;7221:12;:10;:12::i;:::-;7248:7;7270:145;7327:15;7270:145;;;;;;;;;;;;;;;;;:11;:25;7282:12;:10;:12::i;:::-;-1:-1:-1;;;;;7270:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;7270:25:0;;;:34;;;;;;;;;;;:145;:38;:145::i;5744:196::-;5846:4;5868:42;5878:12;:10;:12::i;:::-;5892:9;5903:6;5868:9;:42::i;4736:29::-;;;-1:-1:-1;;;4736:29:0;;;;;:::o;4487:27::-;;;;:::o;13981:145::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;14063:9:::1;:20:::0;;-1:-1:-1;;14063:20:0::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;14094:24:0::1;14063:20;14094:24:::0;::::1;;::::0;;;::::1;;::::0;;13981:145::o;5166:69::-;;;-1:-1:-1;;;;;5166:69:0;;:::o;4772:33::-;;;;;;;;;:::o;13509:149::-;13579:9;;-1:-1:-1;;;;;13579:9:0;13592:10;13579:23;13571:46;;;;;-1:-1:-1;;;13571:46:0;;;;;;;;;;;;-1:-1:-1;;;13571:46:0;;;;;;;;;;;;;;;13628:9;:22;;-1:-1:-1;;;;;;13628:22:0;-1:-1:-1;;;;;13628:22:0;;;;;;;;;;13509:149::o;5948:183::-;-1:-1:-1;;;;;6095:19:0;;;6066:4;6095:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5948:183::o;3663:281::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3766:22:0;::::1;3744:110;;;;-1:-1:-1::0;;;3744:110:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3891:6;::::0;;3870:38:::1;::::0;-1:-1:-1;;;;;3870:38:0;;::::1;::::0;3891:6;::::1;::::0;3870:38:::1;::::0;::::1;3919:6;:17:::0;;-1:-1:-1;;;;;;3919:17:0::1;-1:-1:-1::0;;;;;3919:17:0;;;::::1;::::0;;;::::1;::::0;;3663:281::o;13017:90::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;13081:11:::1;:18:::0;13017:90::o;12718:201::-;2940:12;:10;:12::i;:::-;2930:6;;-1:-1:-1;;;;;2930:6:0;;;:22;;;2922:67;;;;;-1:-1:-1;;;2922:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2922:67:0;;;;;;;;;;;;;;;12837:7:::1;:16:::0;;;;12864:8:::1;:18:::0;12893:8:::1;:18:::0;12718:201::o;12038:259::-;12120:3;;-1:-1:-1;;;;;12120:3:0;12127:10;12120:17;;:42;;-1:-1:-1;12152:10:0;12141:7;:5;:7::i;:::-;-1:-1:-1;;;;;12141:21:0;;12120:42;12112:65;;;;;-1:-1:-1;;;12112:65:0;;;;;;;;;;;;-1:-1:-1;;;12112:65:0;;;;;;;;;;;;;;;12193:6;12188:102;12205:19;;;12188:102;;;12273:5;12246:11;:24;12258:8;;12267:1;12258:11;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12258:11:0;12246:24;;-1:-1:-1;12246:24:0;;;;;;;;-1:-1:-1;12246:24:0;:32;;-1:-1:-1;;12246:32:0;;;;;;;;;;-1:-1:-1;12226:3:0;12188:102;;2114:106;2202:10;2114:106;:::o;10980:373::-;-1:-1:-1;;;;;11106:20:0;;11098:69;;;;-1:-1:-1;;;11098:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11186:21:0;;11178:68;;;;-1:-1:-1;;;11178:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11259:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;11312:33;;;;;;;;;;;;;;;;;10980:373;;;:::o;7464:1955::-;-1:-1:-1;;;;;7593:20:0;;7585:70;;;;-1:-1:-1;;;7585:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7683:1;7674:6;:10;7666:51;;;;;-1:-1:-1;;;7666:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7734:16;;;;7730:1682;;;7767:41;7782:6;7790:9;7801:6;7767:14;:41::i;:::-;;7730:1682;;;7861:120;7901:6;7861:120;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7861:17:0;;;;;;:9;:17;;;;;;;:120;:21;:120::i;:::-;-1:-1:-1;;;;;7841:17:0;;;;;;:9;:17;;;;;;;;:140;;;;8062:11;:19;;;;;;8018:6;;7841:17;8062:19;;;:45;;-1:-1:-1;;;;;;8085:22:0;;;;;;:11;:22;;;;;;;;8062:45;8039:68;;8127:15;8122:1120;;8167:11;;:16;;:58;;;8217:7;;8203:11;;:21;8187:12;:38;8167:58;8163:896;;;8250:27;;;-1:-1:-1;;;8250:27:0;;;;;;;;;;;;-1:-1:-1;;;8250:27:0;;;;;;;;;;;;;;;8163:896;;;-1:-1:-1;;;;;8307:24:0;;;;;;:13;:24;;;;;;;;8303:756;;;8364:11;;;;;;;8356:32;;;;;-1:-1:-1;;;8356:32:0;;;;;;;;;;;;-1:-1:-1;;;8356:32:0;;;;;;;;;;;;;;;8415:11;;;;;;;:29;;;;-1:-1:-1;8430:14:0;;;;;;;8415:29;8411:134;;;8485:36;8495:6;8503:9;8514:6;8485:9;:36::i;:::-;8473:48;;8303:756;;;-1:-1:-1;;;;;8574:21:0;;;;;;:13;:21;;;;;;;;8570:489;;;8628:10;;-1:-1:-1;;;8628:10:0;;;;8620:30;;;;;-1:-1:-1;;;8620:30:0;;;;;;;;;;;;-1:-1:-1;;;8620:30:0;;;;;;;;;;;;;;;8677:10;;-1:-1:-1;;;8677:10:0;;;;:27;;;;-1:-1:-1;8691:13:0;;;;;;;8673:132;;;8745:36;8755:6;8763:9;8774:6;8745:9;:36::i;8570:489::-;8861:9;;;;8853:34;;;;;-1:-1:-1;;;8853:34:0;;;;;;;;;;;;-1:-1:-1;;;8853:34:0;;;;;;;;;;;;;;;8914:9;;;;:25;;;;-1:-1:-1;8927:12:0;;;;;;;8914:25;8910:130;;;8980:36;8990:6;8998:9;9009:6;8980:9;:36::i;:::-;8968:48;;8910:130;8122:1120;;;9102:15;:43;;;;-1:-1:-1;;;;;;9121:24:0;;;;;;:13;:24;;;;;;;;9102:43;:63;;;;-1:-1:-1;9149:11:0;;:16;9102:63;9080:162;;;9214:12;9200:11;:26;9080:162;9258:7;:5;:7::i;:::-;-1:-1:-1;;;;;9305:20:0;;;;;;:9;:20;;;;;;:35;;9330:9;9305:24;:35::i;:::-;-1:-1:-1;;;;;9282:20:0;;;;;;;:9;:20;;;;;;;;;:58;;;;9362:38;;;;;;;9282:20;;9362:38;;;;-1:-1:-1;;;;;;;;;;;9362:38:0;;;;;;;;7730:1682;;7464:1955;;;:::o;1195:214::-;1309:4;1342:12;1334:6;;;;1326:29;;;;-1:-1:-1;;;1326:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1375:5:0;;;1195:214::o;883:169::-;935:4;961:5;;;985:6;;;;977:46;;;;;-1:-1:-1;;;977:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1043:1;883:169;-1:-1:-1;;;883:169:0:o;10553:419::-;10680:4;10717:108;10753:6;10717:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10717:17:0;;;;;;:9;:17;;;;;;;:108;:21;:108::i;:::-;-1:-1:-1;;;;;10697:17:0;;;;;;;:9;:17;;;;;;:128;;;;10859:20;;;;;;;:32;;10884:6;10859:24;:32::i;:::-;-1:-1:-1;;;;;10836:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;10907:35;;;;;;;10836:20;;10907:35;;;;-1:-1:-1;;;;;;;;;;;10907:35:0;;;;;;;;-1:-1:-1;10960:4:0;10553:419;;;;;:::o;9427:525::-;9549:17;9579:11;9593:28;9617:3;9593:19;9604:7;;9593:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;9646:12;;;;-1:-1:-1;9579:42:0;-1:-1:-1;9675:7:0;;9671:274;;9699:15;9717:30;9739:7;;9717:17;9725:8;;9717:3;:7;;:17;;;;:::i;:30::-;9825:4;;9699:48;;-1:-1:-1;9780:13:0;;;;9808:31;;9817:6;;9825:4;;;-1:-1:-1;;;;;9825:4:0;9699:48;9808:8;:31::i;:::-;-1:-1:-1;9868:4:0;;9854:28;;9860:6;;-1:-1:-1;;;;;9868:4:0;9874:7;9854:5;:28::i;:::-;9919:4;;9902:31;;;;;;;;-1:-1:-1;;;;;9919:4:0;;;;9902:31;;;-1:-1:-1;;;;;;;;;;;9902:31:0;;;;;;;;;9671:274;;;9427:525;;;;;;:::o;11361:520::-;11447:4;;11398:28;;11429:24;;11447:4;;;-1:-1:-1;;;;;11447:4:0;11429:9;:24::i;:::-;11528:29;;11586:11;;11398:55;;-1:-1:-1;11491:66:0;;;;-1:-1:-1;;;11586:11:0;;;;:47;;;;;11614:19;11586:47;:81;;;;-1:-1:-1;11651:16:0;;;;11650:17;11586:81;:116;;;;-1:-1:-1;11684:4:0;;;;;-1:-1:-1;;;;;11684:4:0;:18;;11586:116;11568:306;;;11752:29;;11729:52;;11826:36;11841:20;11826:14;:36::i;:::-;11361:520;;:::o;1417:238::-;1469:4;1490:6;1486:47;;-1:-1:-1;1520:1:0;1513:8;;1486:47;1554:5;;;1558:1;1554;:5;:1;1578:5;;;;;:10;1570:56;;;;-1:-1:-1;;;1570:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1663:123;1715:4;1739:39;1743:1;1746;1739:39;;;;;;;;;;;;;;;;;:3;:39::i;9960:242::-;-1:-1:-1;;;;;10117:20:0;;10077:4;10117:20;;;:9;:20;;;;;;:29;;10142:3;10117:24;:29::i;:::-;-1:-1:-1;;;;;10094:20:0;;;;;;;:9;:20;;;;;;;;;:52;;;;10162:32;;;;;;;10094:20;;10162:32;;;;-1:-1:-1;;;;;;;;;;;10162:32:0;;;;;;;;9960:242;;;;;:::o;10210:335::-;-1:-1:-1;;;;;10330:23:0;;;;:44;;-1:-1:-1;10370:4:0;;-1:-1:-1;;;;;10357:17:0;;;10370:4;;10357:17;10330:44;10326:212;;;10403:9;;:21;;10417:6;10403:13;:21::i;:::-;10391:9;:33;10454:12;;:24;;10471:6;10454:16;:24::i;:::-;10439:12;:39;10513:4;;10500:26;;;;;;;;-1:-1:-1;;;;;10513:4:0;;;;10500:26;;;;;;;;;;;;;10210:335;;;:::o;11889:141::-;5278:16;:23;;5297:4;-1:-1:-1;;5278:23:0;;;;;;;;11974:48:::1;::::0;;-1:-1:-1;;;11974:48:0;;::::1;::::0;::::1;::::0;;;;;5278:23;11980:4;;::::1;-1:-1:-1::0;;;;;11980:4:0::1;::::0;11974:26:::1;::::0;:48;;;;;-1:-1:-1;;11974:48:0;;;;;;;;-1:-1:-1;11980:4:0;11974:48;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5324:16:0;:24;;-1:-1:-1;;5324:24:0;;;-1:-1:-1;;;11889:141:0:o;1794:280::-;1908:4;2007:12;2000:5;1992:28;;;;-1:-1:-1;;;1992:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2031:6;2044:1;2040;:5;;;;;;;1794:280;-1:-1:-1;;;;;1794:280:0:o;1060:127::-;1112:4;1136:43;1140:1;1143;1136:43;;;;;;;;;;;;;;;;;:3;:43::i

Swarm Source

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