ETH Price: $2,373.54 (-3.32%)

Token

TradingTools (TT)
 

Overview

Max Total Supply

10,000,000 TT

Holders

162

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.875834530733790777 TT

Value
$0.00
0xcd279ca0a1314b25efbc6dd44e1eea23c3d17bda
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:
TradingTools

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/*


Telegram:  https://t.me/TradingToolsportal

Twitter : http://Twitter.com/TheTradingTools

Website : trading-tools.tech

*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.18;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom( address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract TradingTools is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _walletExcluded;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 10**7 * 10**_decimals;
    //Swap Threshold (0.04%)
    uint256 private constant minSwap = 4000 * 10**_decimals;
    //Define 1%
    uint256 private constant onePercent = 100000 * 10**_decimals;
    //Max Tx at Launch
    uint256 public maxTxAmount = onePercent * 2;

    uint256 private launchBlock;
    uint256 private buyValue = 0;

    uint256 private _tax;
    uint256 public buyTax = 25;
    uint256 public sellTax = 45;
    
    string private constant _name = "TradingTools";
    string private constant _symbol = "TT";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address payable public taxAddress;

    bool private launch = false;

    constructor(address[] memory wallets) {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        taxAddress = payable(wallets[0]);
        _balance[msg.sender] = _totalSupply;
        for (uint256 i = 0; i < wallets.length; i++) {
            _walletExcluded[wallets[i]] = true;
        }
        _walletExcluded[msg.sender] = true;
        _walletExcluded[address(this)] = true;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        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 enableTrading() external onlyOwner {
        launch = true;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _walletExcluded[wallet] = true;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function swapDigit(uint256 newSwapDigit) external onlyOwner {
        buyValue = newSwapDigit;
    }

    function _tokenTransfer(address from, address to, uint256 amount) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

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

        if (_walletExcluded[from] || _walletExcluded[to]) {
            _tax = 0;
        } else {
            require(launch, "Trading not open");
            require(amount <= maxTxAmount, "MaxTx Enabled at launch");
            if (block.number < launchBlock + buyValue + 0) {_tax=99;} else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minSwap) { //Sets Max Internal Swap
                        if (tokensToSwap > onePercent * 4) { 
                            tokensToSwap = onePercent * 4;
                        }
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                } else {
                    _tax = 0;
                }
            }
        }
        _tokenTransfer(from, to, amount);
    }

    function manualSendBalance() external {
        require(_msgSender() == taxAddress);
        uint256 contractETHBalance = address(this).balance;
        taxAddress.transfer(contractETHBalance);
        uint256 contractBalance = balanceOf(address(this));
        taxAddress.transfer(contractBalance);
    } 

    function manualSwapTokens() external {
        require(_msgSender() == taxAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }


    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            taxAddress,
            block.timestamp
        );
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address[]","name":"wallets","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":"wallet","type":"address"}],"name":"addExcludedWallet","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapDigit","type":"uint256"}],"name":"swapDigit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260026012600a620000169190620007ca565b620186a06200002691906200081b565b6200003291906200081b565b60055560006007556019600955602d600a556000600d60146101000a81548160ff0219169083151502179055503480156200006c57600080fd5b506040516200339f3803806200339f833981810160405281019062000092919062000a54565b6000620000a46200062860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022b919062000aa5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000aa5565b6040518363ffffffff1660e01b8152600401620002fa92919062000ae8565b6020604051808303816000875af11580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000340919062000aa5565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060008151811062000397576200039662000b15565b5b6020026020010151600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620003ef9190620007ca565b62989680620003ff91906200081b565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b8151811015620004da576001600460008484815181106200046b576200046a62000b15565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080620004d19062000b44565b91505062000445565b506001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200059b6200062860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005fa9190620007ca565b629896806200060a91906200081b565b60405162000619919062000ba2565b60405180910390a35062000bbf565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006be5780860481111562000696576200069562000630565b5b6001851615620006a65780820291505b8081029050620006b6856200065f565b945062000676565b94509492505050565b600082620006d95760019050620007ac565b81620006e95760009050620007ac565b81600181146200070257600281146200070d5762000743565b6001915050620007ac565b60ff84111562000722576200072162000630565b5b8360020a9150848211156200073c576200073b62000630565b5b50620007ac565b5060208310610133831016604e8410600b84101617156200077d5782820a90508381111562000777576200077662000630565b5b620007ac565b6200078c84848460016200066c565b92509050818404811115620007a657620007a562000630565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007d782620007b3565b9150620007e483620007bd565b9250620008137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006c7565b905092915050565b60006200082882620007b3565b91506200083583620007b3565b92508282026200084581620007b3565b915082820484148315176200085f576200085e62000630565b5b5092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620008ca826200087f565b810181811067ffffffffffffffff82111715620008ec57620008eb62000890565b5b80604052505050565b60006200090162000866565b90506200090f8282620008bf565b919050565b600067ffffffffffffffff82111562000932576200093162000890565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009758262000948565b9050919050565b620009878162000968565b81146200099357600080fd5b50565b600081519050620009a7816200097c565b92915050565b6000620009c4620009be8462000914565b620008f5565b90508083825260208201905060208402830185811115620009ea57620009e962000943565b5b835b8181101562000a17578062000a02888262000996565b845260208401935050602081019050620009ec565b5050509392505050565b600082601f83011262000a395762000a386200087a565b5b815162000a4b848260208601620009ad565b91505092915050565b60006020828403121562000a6d5762000a6c62000870565b5b600082015167ffffffffffffffff81111562000a8e5762000a8d62000875565b5b62000a9c8482850162000a21565b91505092915050565b60006020828403121562000abe5762000abd62000870565b5b600062000ace8482850162000996565b91505092915050565b62000ae28162000968565b82525050565b600060408201905062000aff600083018562000ad7565b62000b0e602083018462000ad7565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600062000b5182620007b3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000b865762000b8562000630565b5b600182019050919050565b62000b9c81620007b3565b82525050565b600060208201905062000bb9600083018462000b91565b92915050565b6127d08062000bcf6000396000f3fe60806040526004361061014f5760003560e01c80637c4c75eb116100b6578063a9059cbb1161006f578063a9059cbb1461042f578063b7bda68f1461046c578063cc1776d314610497578063dba9d420146104c2578063dd62ed3e146104eb578063f2fde38b1461052857610156565b80637c4c75eb146103575780638a8c523c1461036e5780638c0b5e22146103855780638da5cb5b146103b05780639036ed4d146103db57806395d89b411461040457610156565b8063313ce56711610108578063313ce5671461026b57806349bd5a5e146102965780634f7041a5146102c157806370a08231146102ec578063715018a614610329578063751039fc1461034057610156565b806306fdde031461015b57806307ad907614610186578063095ea7b3146101af57806318160ddd146101ec57806323b872dd1461021757806328176f891461025457610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610551565b60405161017d9190611bb8565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611c15565b61058e565b005b3480156101bb57600080fd5b506101d660048036038101906101d19190611ca0565b61062d565b6040516101e39190611cfb565b60405180910390f35b3480156101f857600080fd5b5061020161064b565b60405161020e9190611d25565b60405180910390f35b34801561022357600080fd5b5061023e60048036038101906102399190611d40565b61066e565b60405161024b9190611cfb565b60405180910390f35b34801561026057600080fd5b50610269610747565b005b34801561027757600080fd5b50610280610890565b60405161028d9190611daf565b60405180910390f35b3480156102a257600080fd5b506102ab610899565b6040516102b89190611dd9565b60405180910390f35b3480156102cd57600080fd5b506102d66108bf565b6040516102e39190611d25565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e9190611df4565b6108c5565b6040516103209190611d25565b60405180910390f35b34801561033557600080fd5b5061033e61090e565b005b34801561034c57600080fd5b50610355610a61565b005b34801561036357600080fd5b5061036c610b1a565b005b34801561037a57600080fd5b50610383610b94565b005b34801561039157600080fd5b5061039a610c4d565b6040516103a79190611d25565b60405180910390f35b3480156103bc57600080fd5b506103c5610c53565b6040516103d29190611dd9565b60405180910390f35b3480156103e757600080fd5b5061040260048036038101906103fd9190611e21565b610c7c565b005b34801561041057600080fd5b50610419610d23565b6040516104269190611bb8565b60405180910390f35b34801561043b57600080fd5b5061045660048036038101906104519190611ca0565b610d60565b6040516104639190611cfb565b60405180910390f35b34801561047857600080fd5b50610481610d7e565b60405161048e9190611e82565b60405180910390f35b3480156104a357600080fd5b506104ac610da4565b6040516104b99190611d25565b60405180910390f35b3480156104ce57600080fd5b506104e960048036038101906104e49190611df4565b610daa565b005b3480156104f757600080fd5b50610512600480360381019061050d9190611e9d565b610e9a565b60405161051f9190611d25565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a9190611df4565b610f21565b005b60606040518060400160405280600c81526020017f54726164696e67546f6f6c730000000000000000000000000000000000000000815250905090565b610596610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061a90611f29565b60405180910390fd5b8060078190555050565b600061064161063a610fc2565b8484610fca565b6001905092915050565b60006012600a61065b91906120ab565b6298968061066991906120f6565b905090565b600061067b848484611193565b61073c84610687610fc2565b6107378560405180606001604052806028815260200161277360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106ed610fc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114ef9092919063ffffffff16565b610fca565b600190509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610788610fc2565b73ffffffffffffffffffffffffffffffffffffffff16146107a857600080fd5b6000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610815573d6000803e3d6000fd5b506000610821306108c5565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561088b573d6000803e3d6000fd5b505050565b60006012905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610916610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099a90611f29565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a69610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aed90611f29565b60405180910390fd5b6012600a610b0491906120ab565b62989680610b1291906120f6565b600581905550565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b5b610fc2565b73ffffffffffffffffffffffffffffffffffffffff1614610b7b57600080fd5b6000610b86306108c5565b9050610b9181611553565b50565b610b9c610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2090611f29565b60405180910390fd5b6001600d60146101000a81548160ff02191690831515021790555043600681905550565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c84610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890611f29565b60405180910390fd5b8160098190555080600a819055505050565b60606040518060400160405280600281526020017f5454000000000000000000000000000000000000000000000000000000000000815250905090565b6000610d74610d6d610fc2565b8484611193565b6001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b610db2610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3690611f29565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f29610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fad90611f29565b60405180910390fd5b610fbf816117b8565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611039576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611030906121aa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061223c565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111869190611d25565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f9906122ce565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112a35750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112b55760006008819055506114df565b600d60149054906101000a900460ff16611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb9061233a565b60405180910390fd5b600554811115611349576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611340906123a6565b60405180910390fd5b600060075460065461135b91906123c6565b61136591906123c6565b4310156113795760636008819055506114de565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113dc576009546008819055506114dd565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d357600061143c306108c5565b90506012600a61144c91906120ab565b610fa061145991906120f6565b8111156114c45760046012600a61147091906120ab565b620186a061147e91906120f6565b61148891906120f6565b8111156114ba5760046012600a61149f91906120ab565b620186a06114ad91906120f6565b6114b791906120f6565b90505b6114c381611553565b5b600a54600881905550506114dc565b60006008819055505b5b5b5b6114ea8383836118e4565b505050565b6000838311158290611537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152e9190611bb8565b60405180910390fd5b506000838561154691906123fa565b9050809150509392505050565b6000600267ffffffffffffffff8111156115705761156f61242e565b5b60405190808252806020026020018201604052801561159e5781602001602082028036833780820191505090505b50905030816000815181106115b6576115b561245d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561165d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168191906124a1565b816001815181106116955761169461245d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116fc30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fca565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611782959493929190612626565b600060405180830381600087803b15801561179c57600080fd5b505af11580156117b0573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181e906126f2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006064600854836118f691906120f6565b6119009190612741565b90506000818361191091906123fa565b905082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461195d91906123fa565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119eb91906123c6565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7991906123c6565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b199190611d25565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b62578082015181840152602081019050611b47565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b8a82611b28565b611b948185611b33565b9350611ba4818560208601611b44565b611bad81611b6e565b840191505092915050565b60006020820190508181036000830152611bd28184611b7f565b905092915050565b600080fd5b6000819050919050565b611bf281611bdf565b8114611bfd57600080fd5b50565b600081359050611c0f81611be9565b92915050565b600060208284031215611c2b57611c2a611bda565b5b6000611c3984828501611c00565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c6d82611c42565b9050919050565b611c7d81611c62565b8114611c8857600080fd5b50565b600081359050611c9a81611c74565b92915050565b60008060408385031215611cb757611cb6611bda565b5b6000611cc585828601611c8b565b9250506020611cd685828601611c00565b9150509250929050565b60008115159050919050565b611cf581611ce0565b82525050565b6000602082019050611d106000830184611cec565b92915050565b611d1f81611bdf565b82525050565b6000602082019050611d3a6000830184611d16565b92915050565b600080600060608486031215611d5957611d58611bda565b5b6000611d6786828701611c8b565b9350506020611d7886828701611c8b565b9250506040611d8986828701611c00565b9150509250925092565b600060ff82169050919050565b611da981611d93565b82525050565b6000602082019050611dc46000830184611da0565b92915050565b611dd381611c62565b82525050565b6000602082019050611dee6000830184611dca565b92915050565b600060208284031215611e0a57611e09611bda565b5b6000611e1884828501611c8b565b91505092915050565b60008060408385031215611e3857611e37611bda565b5b6000611e4685828601611c00565b9250506020611e5785828601611c00565b9150509250929050565b6000611e6c82611c42565b9050919050565b611e7c81611e61565b82525050565b6000602082019050611e976000830184611e73565b92915050565b60008060408385031215611eb457611eb3611bda565b5b6000611ec285828601611c8b565b9250506020611ed385828601611c8b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f13602083611b33565b9150611f1e82611edd565b602082019050919050565b60006020820190508181036000830152611f4281611f06565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611fcf57808604811115611fab57611faa611f49565b5b6001851615611fba5780820291505b8081029050611fc885611f78565b9450611f8f565b94509492505050565b600082611fe857600190506120a4565b81611ff657600090506120a4565b816001811461200c576002811461201657612045565b60019150506120a4565b60ff84111561202857612027611f49565b5b8360020a91508482111561203f5761203e611f49565b5b506120a4565b5060208310610133831016604e8410600b841016171561207a5782820a90508381111561207557612074611f49565b5b6120a4565b6120878484846001611f85565b9250905081840481111561209e5761209d611f49565b5b81810290505b9392505050565b60006120b682611bdf565b91506120c183611d93565b92506120ee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611fd8565b905092915050565b600061210182611bdf565b915061210c83611bdf565b925082820261211a81611bdf565b9150828204841483151761213157612130611f49565b5b5092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612194602483611b33565b915061219f82612138565b604082019050919050565b600060208201905081810360008301526121c381612187565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612226602283611b33565b9150612231826121ca565b604082019050919050565b6000602082019050818103600083015261225581612219565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122b8602583611b33565b91506122c38261225c565b604082019050919050565b600060208201905081810360008301526122e7816122ab565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612324601083611b33565b915061232f826122ee565b602082019050919050565b6000602082019050818103600083015261235381612317565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b6000612390601783611b33565b915061239b8261235a565b602082019050919050565b600060208201905081810360008301526123bf81612383565b9050919050565b60006123d182611bdf565b91506123dc83611bdf565b92508282019050808211156123f4576123f3611f49565b5b92915050565b600061240582611bdf565b915061241083611bdf565b925082820390508181111561242857612427611f49565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061249b81611c74565b92915050565b6000602082840312156124b7576124b6611bda565b5b60006124c58482850161248c565b91505092915050565b6000819050919050565b6000819050919050565b60006124fd6124f86124f3846124ce565b6124d8565b611bdf565b9050919050565b61250d816124e2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61254881611c62565b82525050565b600061255a838361253f565b60208301905092915050565b6000602082019050919050565b600061257e82612513565b612588818561251e565b93506125938361252f565b8060005b838110156125c45781516125ab888261254e565b97506125b683612566565b925050600181019050612597565b5085935050505092915050565b60006125ec6125e76125e284611c42565b6124d8565b611c42565b9050919050565b60006125fe826125d1565b9050919050565b6000612610826125f3565b9050919050565b61262081612605565b82525050565b600060a08201905061263b6000830188611d16565b6126486020830187612504565b818103604083015261265a8186612573565b90506126696060830185612617565b6126766080830184611d16565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006126dc602683611b33565b91506126e782612680565b604082019050919050565b6000602082019050818103600083015261270b816126cf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061274c82611bdf565b915061275783611bdf565b92508261276757612766612712565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a22259bc94c62b785ade0676cebd2dfb04a452a3acbe0d25f514be4775b8d8be64736f6c63430008120033000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000cf085d3c44e102b8c93418cba70a1d84ef22bf8

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80637c4c75eb116100b6578063a9059cbb1161006f578063a9059cbb1461042f578063b7bda68f1461046c578063cc1776d314610497578063dba9d420146104c2578063dd62ed3e146104eb578063f2fde38b1461052857610156565b80637c4c75eb146103575780638a8c523c1461036e5780638c0b5e22146103855780638da5cb5b146103b05780639036ed4d146103db57806395d89b411461040457610156565b8063313ce56711610108578063313ce5671461026b57806349bd5a5e146102965780634f7041a5146102c157806370a08231146102ec578063715018a614610329578063751039fc1461034057610156565b806306fdde031461015b57806307ad907614610186578063095ea7b3146101af57806318160ddd146101ec57806323b872dd1461021757806328176f891461025457610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610551565b60405161017d9190611bb8565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190611c15565b61058e565b005b3480156101bb57600080fd5b506101d660048036038101906101d19190611ca0565b61062d565b6040516101e39190611cfb565b60405180910390f35b3480156101f857600080fd5b5061020161064b565b60405161020e9190611d25565b60405180910390f35b34801561022357600080fd5b5061023e60048036038101906102399190611d40565b61066e565b60405161024b9190611cfb565b60405180910390f35b34801561026057600080fd5b50610269610747565b005b34801561027757600080fd5b50610280610890565b60405161028d9190611daf565b60405180910390f35b3480156102a257600080fd5b506102ab610899565b6040516102b89190611dd9565b60405180910390f35b3480156102cd57600080fd5b506102d66108bf565b6040516102e39190611d25565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e9190611df4565b6108c5565b6040516103209190611d25565b60405180910390f35b34801561033557600080fd5b5061033e61090e565b005b34801561034c57600080fd5b50610355610a61565b005b34801561036357600080fd5b5061036c610b1a565b005b34801561037a57600080fd5b50610383610b94565b005b34801561039157600080fd5b5061039a610c4d565b6040516103a79190611d25565b60405180910390f35b3480156103bc57600080fd5b506103c5610c53565b6040516103d29190611dd9565b60405180910390f35b3480156103e757600080fd5b5061040260048036038101906103fd9190611e21565b610c7c565b005b34801561041057600080fd5b50610419610d23565b6040516104269190611bb8565b60405180910390f35b34801561043b57600080fd5b5061045660048036038101906104519190611ca0565b610d60565b6040516104639190611cfb565b60405180910390f35b34801561047857600080fd5b50610481610d7e565b60405161048e9190611e82565b60405180910390f35b3480156104a357600080fd5b506104ac610da4565b6040516104b99190611d25565b60405180910390f35b3480156104ce57600080fd5b506104e960048036038101906104e49190611df4565b610daa565b005b3480156104f757600080fd5b50610512600480360381019061050d9190611e9d565b610e9a565b60405161051f9190611d25565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a9190611df4565b610f21565b005b60606040518060400160405280600c81526020017f54726164696e67546f6f6c730000000000000000000000000000000000000000815250905090565b610596610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061a90611f29565b60405180910390fd5b8060078190555050565b600061064161063a610fc2565b8484610fca565b6001905092915050565b60006012600a61065b91906120ab565b6298968061066991906120f6565b905090565b600061067b848484611193565b61073c84610687610fc2565b6107378560405180606001604052806028815260200161277360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106ed610fc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114ef9092919063ffffffff16565b610fca565b600190509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610788610fc2565b73ffffffffffffffffffffffffffffffffffffffff16146107a857600080fd5b6000479050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610815573d6000803e3d6000fd5b506000610821306108c5565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561088b573d6000803e3d6000fd5b505050565b60006012905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610916610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099a90611f29565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a69610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aed90611f29565b60405180910390fd5b6012600a610b0491906120ab565b62989680610b1291906120f6565b600581905550565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b5b610fc2565b73ffffffffffffffffffffffffffffffffffffffff1614610b7b57600080fd5b6000610b86306108c5565b9050610b9181611553565b50565b610b9c610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2090611f29565b60405180910390fd5b6001600d60146101000a81548160ff02191690831515021790555043600681905550565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c84610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890611f29565b60405180910390fd5b8160098190555080600a819055505050565b60606040518060400160405280600281526020017f5454000000000000000000000000000000000000000000000000000000000000815250905090565b6000610d74610d6d610fc2565b8484611193565b6001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b610db2610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3690611f29565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f29610fc2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fad90611f29565b60405180910390fd5b610fbf816117b8565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611039576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611030906121aa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061223c565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111869190611d25565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f9906122ce565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112a35750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112b55760006008819055506114df565b600d60149054906101000a900460ff16611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb9061233a565b60405180910390fd5b600554811115611349576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611340906123a6565b60405180910390fd5b600060075460065461135b91906123c6565b61136591906123c6565b4310156113795760636008819055506114de565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113dc576009546008819055506114dd565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d357600061143c306108c5565b90506012600a61144c91906120ab565b610fa061145991906120f6565b8111156114c45760046012600a61147091906120ab565b620186a061147e91906120f6565b61148891906120f6565b8111156114ba5760046012600a61149f91906120ab565b620186a06114ad91906120f6565b6114b791906120f6565b90505b6114c381611553565b5b600a54600881905550506114dc565b60006008819055505b5b5b5b6114ea8383836118e4565b505050565b6000838311158290611537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152e9190611bb8565b60405180910390fd5b506000838561154691906123fa565b9050809150509392505050565b6000600267ffffffffffffffff8111156115705761156f61242e565b5b60405190808252806020026020018201604052801561159e5781602001602082028036833780820191505090505b50905030816000815181106115b6576115b561245d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561165d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168191906124a1565b816001815181106116955761169461245d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116fc30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fca565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611782959493929190612626565b600060405180830381600087803b15801561179c57600080fd5b505af11580156117b0573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181e906126f2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006064600854836118f691906120f6565b6119009190612741565b90506000818361191091906123fa565b905082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461195d91906123fa565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119eb91906123c6565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7991906123c6565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b199190611d25565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b62578082015181840152602081019050611b47565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b8a82611b28565b611b948185611b33565b9350611ba4818560208601611b44565b611bad81611b6e565b840191505092915050565b60006020820190508181036000830152611bd28184611b7f565b905092915050565b600080fd5b6000819050919050565b611bf281611bdf565b8114611bfd57600080fd5b50565b600081359050611c0f81611be9565b92915050565b600060208284031215611c2b57611c2a611bda565b5b6000611c3984828501611c00565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c6d82611c42565b9050919050565b611c7d81611c62565b8114611c8857600080fd5b50565b600081359050611c9a81611c74565b92915050565b60008060408385031215611cb757611cb6611bda565b5b6000611cc585828601611c8b565b9250506020611cd685828601611c00565b9150509250929050565b60008115159050919050565b611cf581611ce0565b82525050565b6000602082019050611d106000830184611cec565b92915050565b611d1f81611bdf565b82525050565b6000602082019050611d3a6000830184611d16565b92915050565b600080600060608486031215611d5957611d58611bda565b5b6000611d6786828701611c8b565b9350506020611d7886828701611c8b565b9250506040611d8986828701611c00565b9150509250925092565b600060ff82169050919050565b611da981611d93565b82525050565b6000602082019050611dc46000830184611da0565b92915050565b611dd381611c62565b82525050565b6000602082019050611dee6000830184611dca565b92915050565b600060208284031215611e0a57611e09611bda565b5b6000611e1884828501611c8b565b91505092915050565b60008060408385031215611e3857611e37611bda565b5b6000611e4685828601611c00565b9250506020611e5785828601611c00565b9150509250929050565b6000611e6c82611c42565b9050919050565b611e7c81611e61565b82525050565b6000602082019050611e976000830184611e73565b92915050565b60008060408385031215611eb457611eb3611bda565b5b6000611ec285828601611c8b565b9250506020611ed385828601611c8b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f13602083611b33565b9150611f1e82611edd565b602082019050919050565b60006020820190508181036000830152611f4281611f06565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611fcf57808604811115611fab57611faa611f49565b5b6001851615611fba5780820291505b8081029050611fc885611f78565b9450611f8f565b94509492505050565b600082611fe857600190506120a4565b81611ff657600090506120a4565b816001811461200c576002811461201657612045565b60019150506120a4565b60ff84111561202857612027611f49565b5b8360020a91508482111561203f5761203e611f49565b5b506120a4565b5060208310610133831016604e8410600b841016171561207a5782820a90508381111561207557612074611f49565b5b6120a4565b6120878484846001611f85565b9250905081840481111561209e5761209d611f49565b5b81810290505b9392505050565b60006120b682611bdf565b91506120c183611d93565b92506120ee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611fd8565b905092915050565b600061210182611bdf565b915061210c83611bdf565b925082820261211a81611bdf565b9150828204841483151761213157612130611f49565b5b5092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612194602483611b33565b915061219f82612138565b604082019050919050565b600060208201905081810360008301526121c381612187565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612226602283611b33565b9150612231826121ca565b604082019050919050565b6000602082019050818103600083015261225581612219565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122b8602583611b33565b91506122c38261225c565b604082019050919050565b600060208201905081810360008301526122e7816122ab565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612324601083611b33565b915061232f826122ee565b602082019050919050565b6000602082019050818103600083015261235381612317565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b6000612390601783611b33565b915061239b8261235a565b602082019050919050565b600060208201905081810360008301526123bf81612383565b9050919050565b60006123d182611bdf565b91506123dc83611bdf565b92508282019050808211156123f4576123f3611f49565b5b92915050565b600061240582611bdf565b915061241083611bdf565b925082820390508181111561242857612427611f49565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061249b81611c74565b92915050565b6000602082840312156124b7576124b6611bda565b5b60006124c58482850161248c565b91505092915050565b6000819050919050565b6000819050919050565b60006124fd6124f86124f3846124ce565b6124d8565b611bdf565b9050919050565b61250d816124e2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61254881611c62565b82525050565b600061255a838361253f565b60208301905092915050565b6000602082019050919050565b600061257e82612513565b612588818561251e565b93506125938361252f565b8060005b838110156125c45781516125ab888261254e565b97506125b683612566565b925050600181019050612597565b5085935050505092915050565b60006125ec6125e76125e284611c42565b6124d8565b611c42565b9050919050565b60006125fe826125d1565b9050919050565b6000612610826125f3565b9050919050565b61262081612605565b82525050565b600060a08201905061263b6000830188611d16565b6126486020830187612504565b818103604083015261265a8186612573565b90506126696060830185612617565b6126766080830184611d16565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006126dc602683611b33565b91506126e782612680565b604082019050919050565b6000602082019050818103600083015261270b816126cf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061274c82611bdf565b915061275783611bdf565b92508261276757612766612712565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a22259bc94c62b785ade0676cebd2dfb04a452a3acbe0d25f514be4775b8d8be64736f6c63430008120033

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

000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000cf085d3c44e102b8c93418cba70a1d84ef22bf8

-----Decoded View---------------
Arg [0] : wallets (address[]): 0x0CF085D3C44E102B8c93418CBA70A1d84EF22bf8

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 0000000000000000000000000cf085d3c44e102b8c93418cba70a1d84ef22bf8


Deployed Bytecode Sourcemap

3785:6629:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5531:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7685:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6365:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5808:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6533:310;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9382:311;;;;;;;;;;;;;:::i;:::-;;5717:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4788:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4566:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5916:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3114:148;;;;;;;;;;;;;:::i;:::-;;7436:88;;;;;;;;;;;;;:::i;:::-;;9702:196;;;;;;;;;;;;;:::i;:::-;;7196:113;;;;;;;;;;;;;:::i;:::-;;4416:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2546:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7532:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5622:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6042:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4823:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4599:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7317:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6215:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2760:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5531:83;5568:13;5601:5;;;;;;;;;;;;;;;;;5594:12;;5531:83;:::o;7685:102::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7767:12:::1;7756:8;:23;;;;7685:102:::0;:::o;6365:160::-;6440:4;6456:39;6465:12;:10;:12::i;:::-;6479:7;6488:6;6456:8;:39::i;:::-;6513:4;6506:11;;6365:160;;;;:::o;5808:100::-;5861:7;4139:2;4196;:13;;;;:::i;:::-;4188:5;:21;;;;:::i;:::-;5881:19;;5808:100;:::o;6533:310::-;6631:4;6648:36;6658:6;6666:9;6677:6;6648:9;:36::i;:::-;6695:118;6704:6;6711:12;:10;:12::i;:::-;6724:88;6762:6;6724:88;;;;;;;;;;;;;;;;;:11;:19;6736:6;6724:19;;;;;;;;;;;;;;;:33;6744:12;:10;:12::i;:::-;6724:33;;;;;;;;;;;;;;;;:37;;:88;;;;;:::i;:::-;6695:8;:118::i;:::-;6831:4;6824:11;;6533:310;;;;;:::o;9382:311::-;9455:10;;;;;;;;;;;9439:26;;:12;:10;:12::i;:::-;:26;;;9431:35;;;;;;9477:26;9506:21;9477:50;;9538:10;;;;;;;;;;;:19;;:39;9558:18;9538:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9588:23;9614:24;9632:4;9614:9;:24::i;:::-;9588:50;;9649:10;;;;;;;;;;;:19;;:36;9669:15;9649:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9420:273;;9382:311::o;5717:83::-;5758:5;4139:2;5776:16;;5717:83;:::o;4788:28::-;;;;;;;;;;;;;:::o;4566:26::-;;;;:::o;5916:118::-;5982:7;6009:8;:17;6018:7;6009:17;;;;;;;;;;;;;;;;6002:24;;5916:118;;;:::o;3114:148::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3221:1:::1;3184:40;;3205:6;::::0;::::1;;;;;;;;3184:40;;;;;;;;;;;;3252:1;3235:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3114:148::o:0;7436:88::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4139:2:::1;4196;:13;;;;:::i;:::-;4188:5;:21;;;;:::i;:::-;7490:11;:26;;;;7436:88::o:0;9702:196::-;9774:10;;;;;;;;;;;9758:26;;:12;:10;:12::i;:::-;:26;;;9750:35;;;;;;9796:23;9822:24;9840:4;9822:9;:24::i;:::-;9796:50;;9857:33;9874:15;9857:16;:33::i;:::-;9739:159;9702:196::o;7196:113::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7260:4:::1;7251:6;;:13;;;;;;;;;;;;;;;;;;7289:12;7275:11;:26;;;;7196:113::o:0;4416:43::-;;;;:::o;2546:79::-;2584:7;2611:6;;;;;;;;;;;2604:13;;2546:79;:::o;7532:145::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7629:9:::1;7620:6;:18;;;;7659:10;7649:7;:20;;;;7532:145:::0;;:::o;5622:87::-;5661:13;5694:7;;;;;;;;;;;;;;;;;5687:14;;5622:87;:::o;6042:165::-;6119:4;6135:42;6145:12;:10;:12::i;:::-;6159:9;6170:6;6135:9;:42::i;:::-;6195:4;6188:11;;6042:165;;;;:::o;4823:33::-;;;;;;;;;;;;;:::o;4599:27::-;;;;:::o;7317:111::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7416:4:::1;7390:15;:23;7406:6;7390:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;7317:111:::0;:::o;6215:142::-;6296:7;6322:11;:18;6334:5;6322:18;;;;;;;;;;;;;;;:27;6341:7;6322:27;;;;;;;;;;;;;;;;6315:34;;6215:142;;;;:::o;2760:109::-;2683:12;:10;:12::i;:::-;2673:22;;:6;;;;;;;;;;:22;;;2665:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2833:28:::1;2852:8;2833:18;:28::i;:::-;2760:109:::0;:::o;241:98::-;294:7;321:10;314:17;;241:98;:::o;6851:335::-;6961:1;6944:19;;:5;:19;;;6936:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7042:1;7023:21;;:7;:21;;;7015:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7124:6;7094:11;:18;7106:5;7094:18;;;;;;;;;;;;;;;:27;7113:7;7094:27;;;;;;;;;;;;;;;:36;;;;7162:7;7146:32;;7155:5;7146:32;;;7171:6;7146:32;;;;;;:::i;:::-;;;;;;;;6851:335;;;:::o;8223:1151::-;8327:1;8311:18;;:4;:18;;;8303:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8388:15;:21;8404:4;8388:21;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;8413:15;:19;8429:2;8413:19;;;;;;;;;;;;;;;;;;;;;;;;;8388:44;8384:940;;;8456:1;8449:4;:8;;;;8384:940;;;8498:6;;;;;;;;;;;8490:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;8558:11;;8548:6;:21;;8540:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;8656:1;8645:8;;8631:11;;:22;;;;:::i;:::-;:26;;;;:::i;:::-;8616:12;:41;8612:701;;;8665:2;8660:4;:7;;;;8612:701;;;8706:13;;;;;;;;;;;8698:21;;:4;:21;;;8694:604;;8751:6;;8744:4;:13;;;;8694:604;;;8793:13;;;;;;;;;;;8787:19;;:2;:19;;;8783:515;;8831:20;8854:24;8872:4;8854:9;:24::i;:::-;8831:47;;4139:2;4288;:13;;;;:::i;:::-;4281:4;:20;;;;:::i;:::-;8905:12;:22;8901:284;;;9013:1;4139:2;4372;:13;;;;:::i;:::-;4363:6;:22;;;;:::i;:::-;9000:14;;;;:::i;:::-;8985:12;:29;8981:124;;;9076:1;4139:2;4372;:13;;;;:::i;:::-;4363:6;:22;;;;:::i;:::-;9063:14;;;;:::i;:::-;9048:29;;8981:124;9131:30;9148:12;9131:16;:30::i;:::-;8901:284;9214:7;;9207:4;:14;;;;8808:433;8783:515;;;9277:1;9270:4;:8;;;;8783:515;8694:604;8612:701;8384:940;9334:32;9349:4;9355:2;9359:6;9334:14;:32::i;:::-;8223:1151;;;:::o;1379:190::-;1465:7;1498:1;1493;:6;;1501:12;1485:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1525:9;1541:1;1537;:5;;;;:::i;:::-;1525:17;;1560:1;1553:8;;;1379:190;;;;;:::o;9908:468::-;9974:21;10012:1;9998:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9974:40;;10043:4;10025;10030:1;10025:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;10069:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10059:4;10064:1;10059:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;10102:62;10119:4;10134:15;;;;;;;;;;;10152:11;10102:8;:62::i;:::-;10175:15;;;;;;;;;;;:66;;;10256:11;10282:1;10298:4;10317:10;;;;;;;;;;;10342:15;10175:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9963:413;9908:468;:::o;2877:229::-;2971:1;2951:22;;:8;:22;;;2943:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3061:8;3032:38;;3053:6;;;;;;;;;;3032:38;;;;;;;;;;;;3090:8;3081:6;;:17;;;;;;;;;;;;;;;;;;2877:229;:::o;7795:420::-;7880:17;7918:3;7910:4;;7901:6;:13;;;;:::i;:::-;7900:21;;;;:::i;:::-;7880:41;;7932:22;7966:9;7957:6;:18;;;;:::i;:::-;7932:43;;8022:6;8005:8;:14;8014:4;8005:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7988:8;:14;7997:4;7988:14;;;;;;;;;;;;;;;:40;;;;8069:14;8054:8;:12;8063:2;8054:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;8039:8;:12;8048:2;8039:12;;;;;;;;;;;;;;;:44;;;;8146:9;8120:8;:23;8137:4;8120:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;8094:8;:23;8111:4;8094:23;;;;;;;;;;;;;;;:61;;;;8188:2;8173:34;;8182:4;8173:34;;;8192:14;8173:34;;;;;;:::i;:::-;;;;;;;;7869:346;;7795:420;;;:::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:77;1713:7;1742:5;1731:16;;1676:77;;;:::o;1759:122::-;1832:24;1850:5;1832:24;:::i;:::-;1825:5;1822:35;1812:63;;1871:1;1868;1861:12;1812:63;1759:122;:::o;1887:139::-;1933:5;1971:6;1958:20;1949:29;;1987:33;2014:5;1987:33;:::i;:::-;1887:139;;;;:::o;2032:329::-;2091:6;2140:2;2128:9;2119:7;2115:23;2111:32;2108:119;;;2146:79;;:::i;:::-;2108:119;2266:1;2291:53;2336:7;2327:6;2316:9;2312:22;2291:53;:::i;:::-;2281:63;;2237:117;2032:329;;;;:::o;2367:126::-;2404:7;2444:42;2437:5;2433:54;2422:65;;2367:126;;;:::o;2499:96::-;2536:7;2565:24;2583:5;2565:24;:::i;:::-;2554:35;;2499:96;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::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:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:104::-;6400:7;6429:24;6447:5;6429:24;:::i;:::-;6418:35;;6355:104;;;:::o;6465:142::-;6568:32;6594:5;6568:32;:::i;:::-;6563:3;6556:45;6465:142;;:::o;6613:254::-;6722:4;6760:2;6749:9;6745:18;6737:26;;6773:87;6857:1;6846:9;6842:17;6833:6;6773:87;:::i;:::-;6613:254;;;;:::o;6873:474::-;6941:6;6949;6998:2;6986:9;6977:7;6973:23;6969:32;6966:119;;;7004:79;;:::i;:::-;6966:119;7124:1;7149:53;7194:7;7185:6;7174:9;7170:22;7149:53;:::i;:::-;7139:63;;7095:117;7251:2;7277:53;7322:7;7313:6;7302:9;7298:22;7277:53;:::i;:::-;7267:63;;7222:118;6873:474;;;;;:::o;7353:182::-;7493:34;7489:1;7481:6;7477:14;7470:58;7353:182;:::o;7541:366::-;7683:3;7704:67;7768:2;7763:3;7704:67;:::i;:::-;7697:74;;7780:93;7869:3;7780:93;:::i;:::-;7898:2;7893:3;7889:12;7882:19;;7541:366;;;:::o;7913:419::-;8079:4;8117:2;8106:9;8102:18;8094:26;;8166:9;8160:4;8156:20;8152:1;8141:9;8137:17;8130:47;8194:131;8320:4;8194:131;:::i;:::-;8186:139;;7913:419;;;:::o;8338:180::-;8386:77;8383:1;8376:88;8483:4;8480:1;8473:15;8507:4;8504:1;8497:15;8524:102;8566:8;8613:5;8610:1;8606:13;8585:34;;8524:102;;;:::o;8632:848::-;8693:5;8700:4;8724:6;8715:15;;8748:5;8739:14;;8762:712;8783:1;8773:8;8770:15;8762:712;;;8878:4;8873:3;8869:14;8863:4;8860:24;8857:50;;;8887:18;;:::i;:::-;8857:50;8937:1;8927:8;8923:16;8920:451;;;9352:4;9345:5;9341:16;9332:25;;8920:451;9402:4;9396;9392:15;9384:23;;9432:32;9455:8;9432:32;:::i;:::-;9420:44;;8762:712;;;8632:848;;;;;;;:::o;9486:1073::-;9540:5;9731:8;9721:40;;9752:1;9743:10;;9754:5;;9721:40;9780:4;9770:36;;9797:1;9788:10;;9799:5;;9770:36;9866:4;9914:1;9909:27;;;;9950:1;9945:191;;;;9859:277;;9909:27;9927:1;9918:10;;9929:5;;;9945:191;9990:3;9980:8;9977:17;9974:43;;;9997:18;;:::i;:::-;9974:43;10046:8;10043:1;10039:16;10030:25;;10081:3;10074:5;10071:14;10068:40;;;10088:18;;:::i;:::-;10068:40;10121:5;;;9859:277;;10245:2;10235:8;10232:16;10226:3;10220:4;10217:13;10213:36;10195:2;10185:8;10182:16;10177:2;10171:4;10168:12;10164:35;10148:111;10145:246;;;10301:8;10295:4;10291:19;10282:28;;10336:3;10329:5;10326:14;10323:40;;;10343:18;;:::i;:::-;10323:40;10376:5;;10145:246;10416:42;10454:3;10444:8;10438:4;10435:1;10416:42;:::i;:::-;10401:57;;;;10490:4;10485:3;10481:14;10474:5;10471:25;10468:51;;;10499:18;;:::i;:::-;10468:51;10548:4;10541:5;10537:16;10528:25;;9486:1073;;;;;;:::o;10565:281::-;10623:5;10647:23;10665:4;10647:23;:::i;:::-;10639:31;;10691:25;10707:8;10691:25;:::i;:::-;10679:37;;10735:104;10772:66;10762:8;10756:4;10735:104;:::i;:::-;10726:113;;10565:281;;;;:::o;10852:410::-;10892:7;10915:20;10933:1;10915:20;:::i;:::-;10910:25;;10949:20;10967:1;10949:20;:::i;:::-;10944:25;;11004:1;11001;10997:9;11026:30;11044:11;11026:30;:::i;:::-;11015:41;;11205:1;11196:7;11192:15;11189:1;11186:22;11166:1;11159:9;11139:83;11116:139;;11235:18;;:::i;:::-;11116:139;10900:362;10852:410;;;;:::o;11268:223::-;11408:34;11404:1;11396:6;11392:14;11385:58;11477:6;11472:2;11464:6;11460:15;11453:31;11268:223;:::o;11497:366::-;11639:3;11660:67;11724:2;11719:3;11660:67;:::i;:::-;11653:74;;11736:93;11825:3;11736:93;:::i;:::-;11854:2;11849:3;11845:12;11838:19;;11497:366;;;:::o;11869:419::-;12035:4;12073:2;12062:9;12058:18;12050:26;;12122:9;12116:4;12112:20;12108:1;12097:9;12093:17;12086:47;12150:131;12276:4;12150:131;:::i;:::-;12142:139;;11869:419;;;:::o;12294:221::-;12434:34;12430:1;12422:6;12418:14;12411:58;12503:4;12498:2;12490:6;12486:15;12479:29;12294:221;:::o;12521:366::-;12663:3;12684:67;12748:2;12743:3;12684:67;:::i;:::-;12677:74;;12760:93;12849:3;12760:93;:::i;:::-;12878:2;12873:3;12869:12;12862:19;;12521:366;;;:::o;12893:419::-;13059:4;13097:2;13086:9;13082:18;13074:26;;13146:9;13140:4;13136:20;13132:1;13121:9;13117:17;13110:47;13174:131;13300:4;13174:131;:::i;:::-;13166:139;;12893:419;;;:::o;13318:224::-;13458:34;13454:1;13446:6;13442:14;13435:58;13527:7;13522:2;13514:6;13510:15;13503:32;13318:224;:::o;13548:366::-;13690:3;13711:67;13775:2;13770:3;13711:67;:::i;:::-;13704:74;;13787:93;13876:3;13787:93;:::i;:::-;13905:2;13900:3;13896:12;13889:19;;13548:366;;;:::o;13920:419::-;14086:4;14124:2;14113:9;14109:18;14101:26;;14173:9;14167:4;14163:20;14159:1;14148:9;14144:17;14137:47;14201:131;14327:4;14201:131;:::i;:::-;14193:139;;13920:419;;;:::o;14345:166::-;14485:18;14481:1;14473:6;14469:14;14462:42;14345:166;:::o;14517:366::-;14659:3;14680:67;14744:2;14739:3;14680:67;:::i;:::-;14673:74;;14756:93;14845:3;14756:93;:::i;:::-;14874:2;14869:3;14865:12;14858:19;;14517:366;;;:::o;14889:419::-;15055:4;15093:2;15082:9;15078:18;15070:26;;15142:9;15136:4;15132:20;15128:1;15117:9;15113:17;15106:47;15170:131;15296:4;15170:131;:::i;:::-;15162:139;;14889:419;;;:::o;15314:173::-;15454:25;15450:1;15442:6;15438:14;15431:49;15314:173;:::o;15493:366::-;15635:3;15656:67;15720:2;15715:3;15656:67;:::i;:::-;15649:74;;15732:93;15821:3;15732:93;:::i;:::-;15850:2;15845:3;15841:12;15834:19;;15493:366;;;:::o;15865:419::-;16031:4;16069:2;16058:9;16054:18;16046:26;;16118:9;16112:4;16108:20;16104:1;16093:9;16089:17;16082:47;16146:131;16272:4;16146:131;:::i;:::-;16138:139;;15865:419;;;:::o;16290:191::-;16330:3;16349:20;16367:1;16349:20;:::i;:::-;16344:25;;16383:20;16401:1;16383:20;:::i;:::-;16378:25;;16426:1;16423;16419:9;16412:16;;16447:3;16444:1;16441:10;16438:36;;;16454:18;;:::i;:::-;16438:36;16290:191;;;;:::o;16487:194::-;16527:4;16547:20;16565:1;16547:20;:::i;:::-;16542:25;;16581:20;16599:1;16581:20;:::i;:::-;16576:25;;16625:1;16622;16618:9;16610:17;;16649:1;16643:4;16640:11;16637:37;;;16654:18;;:::i;:::-;16637:37;16487:194;;;;:::o;16687:180::-;16735:77;16732:1;16725:88;16832:4;16829:1;16822:15;16856:4;16853:1;16846:15;16873:180;16921:77;16918:1;16911:88;17018:4;17015:1;17008:15;17042:4;17039:1;17032:15;17059:143;17116:5;17147:6;17141:13;17132:22;;17163:33;17190:5;17163:33;:::i;:::-;17059:143;;;;:::o;17208:351::-;17278:6;17327:2;17315:9;17306:7;17302:23;17298:32;17295:119;;;17333:79;;:::i;:::-;17295:119;17453:1;17478:64;17534:7;17525:6;17514:9;17510:22;17478:64;:::i;:::-;17468:74;;17424:128;17208:351;;;;:::o;17565:85::-;17610:7;17639:5;17628:16;;17565:85;;;:::o;17656:60::-;17684:3;17705:5;17698:12;;17656:60;;;:::o;17722:158::-;17780:9;17813:61;17831:42;17840:32;17866:5;17840:32;:::i;:::-;17831:42;:::i;:::-;17813:61;:::i;:::-;17800:74;;17722:158;;;:::o;17886:147::-;17981:45;18020:5;17981:45;:::i;:::-;17976:3;17969:58;17886:147;;:::o;18039:114::-;18106:6;18140:5;18134:12;18124:22;;18039:114;;;:::o;18159:184::-;18258:11;18292:6;18287:3;18280:19;18332:4;18327:3;18323:14;18308:29;;18159:184;;;;:::o;18349:132::-;18416:4;18439:3;18431:11;;18469:4;18464:3;18460:14;18452:22;;18349:132;;;:::o;18487:108::-;18564:24;18582:5;18564:24;:::i;:::-;18559:3;18552:37;18487:108;;:::o;18601:179::-;18670:10;18691:46;18733:3;18725:6;18691:46;:::i;:::-;18769:4;18764:3;18760:14;18746:28;;18601:179;;;;:::o;18786:113::-;18856:4;18888;18883:3;18879:14;18871:22;;18786:113;;;:::o;18935:732::-;19054:3;19083:54;19131:5;19083:54;:::i;:::-;19153:86;19232:6;19227:3;19153:86;:::i;:::-;19146:93;;19263:56;19313:5;19263:56;:::i;:::-;19342:7;19373:1;19358:284;19383:6;19380:1;19377:13;19358:284;;;19459:6;19453:13;19486:63;19545:3;19530:13;19486:63;:::i;:::-;19479:70;;19572:60;19625:6;19572:60;:::i;:::-;19562:70;;19418:224;19405:1;19402;19398:9;19393:14;;19358:284;;;19362:14;19658:3;19651:10;;19059:608;;;18935:732;;;;:::o;19673:142::-;19723:9;19756:53;19774:34;19783:24;19801:5;19783:24;:::i;:::-;19774:34;:::i;:::-;19756:53;:::i;:::-;19743:66;;19673:142;;;:::o;19821:126::-;19871:9;19904:37;19935:5;19904:37;:::i;:::-;19891:50;;19821:126;;;:::o;19953:134::-;20011:9;20044:37;20075:5;20044:37;:::i;:::-;20031:50;;19953:134;;;:::o;20093:147::-;20188:45;20227:5;20188:45;:::i;:::-;20183:3;20176:58;20093:147;;:::o;20246:847::-;20517:4;20555:3;20544:9;20540:19;20532:27;;20569:71;20637:1;20626:9;20622:17;20613:6;20569:71;:::i;:::-;20650:80;20726:2;20715:9;20711:18;20702:6;20650:80;:::i;:::-;20777:9;20771:4;20767:20;20762:2;20751:9;20747:18;20740:48;20805:108;20908:4;20899:6;20805:108;:::i;:::-;20797:116;;20923:80;20999:2;20988:9;20984:18;20975:6;20923:80;:::i;:::-;21013:73;21081:3;21070:9;21066:19;21057:6;21013:73;:::i;:::-;20246:847;;;;;;;;:::o;21099:225::-;21239:34;21235:1;21227:6;21223:14;21216:58;21308:8;21303:2;21295:6;21291:15;21284:33;21099:225;:::o;21330:366::-;21472:3;21493:67;21557:2;21552:3;21493:67;:::i;:::-;21486:74;;21569:93;21658:3;21569:93;:::i;:::-;21687:2;21682:3;21678:12;21671:19;;21330:366;;;:::o;21702:419::-;21868:4;21906:2;21895:9;21891:18;21883:26;;21955:9;21949:4;21945:20;21941:1;21930:9;21926:17;21919:47;21983:131;22109:4;21983:131;:::i;:::-;21975:139;;21702:419;;;:::o;22127:180::-;22175:77;22172:1;22165:88;22272:4;22269:1;22262:15;22296:4;22293:1;22286:15;22313:185;22353:1;22370:20;22388:1;22370:20;:::i;:::-;22365:25;;22404:20;22422:1;22404:20;:::i;:::-;22399:25;;22443:1;22433:35;;22448:18;;:::i;:::-;22433:35;22490:1;22487;22483:9;22478:14;;22313:185;;;;:::o

Swarm Source

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