ETH Price: $2,931.86 (-2.69%)
Gas: 2 Gwei

Token

MultiChainMeme (MCM)
 

Overview

Max Total Supply

1,000,000,000,000 MCM

Holders

101

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
342,535.311049658 MCM

Value
$0.00
0x71f8a616d36a3bd43cfbf857f64023832f617020
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:
MCM

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-24
*/

/*
  __  __       _ _   _  _____ _           _       __  __                     
 |  \/  |     | | | (_)/ ____| |         (_)     |  \/  |                    
 | \  / |_   _| | |_ _| |    | |__   __ _ _ _ __ | \  / | ___ _ __ ___   ___ 
 | |\/| | | | | | __| | |    | '_ \ / _` | | '_ \| |\/| |/ _ \ '_ ` _ \ / _ \
 | |  | | |_| | | |_| | |____| | | | (_| | | | | | |  | |  __/ | | | | |  __/
 |_|  |_|\__,_|_|\__|_|\_____|_| |_|\__,_|_|_| |_|_|  |_|\___|_| |_| |_|\___|
*/

pragma solidity ^0.8.4;

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 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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract MCM is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet;
    
    string private constant _name = "MultiChainMeme";
    string private constant _symbol = "MCM";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    constructor () {
        _feeAddrWallet = payable(0xB810732378106Be9b791FED9C22830e58fB46F7d);
        _rOwned[_msgSender()] = _rTotal;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;

        emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal);
    }

    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 _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _feeAddr1 = 1;
        _feeAddr2 = 9;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to], "Bot");
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                uint256 contractTokenBalance = balanceOf(address(this));
                if (contractTokenBalance > 0) {
                    swapTokensForEth(contractTokenBalance);
                }
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        _tokenTransfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet.transfer(amount);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {

    }
    
    function manualSwapAndSend() external {
        require(_msgSender() == _feeAddrWallet);
        
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance > 0) {
            swapTokensForEth(contractBalance);
        }

        uint256 contractETHBalance = address(this).balance;
        if (contractETHBalance > 0) {
            sendETHToFee(contractETHBalance);
        }
    }
    
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapAndSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d919062000430565b6000196200002c9190620003eb565b6007556000600d60156101000a81548160ff0219169083151502179055506000600d60166101000a81548160ff0219169083151502179055503480156200007257600080fd5b506000620000856200038c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073b810732378106be9b791fed9c22830e58fb46f7d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600754600260006200018f6200038c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620001e36200039460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003166200038c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200037e9190620003ce565b60405180910390a3620004c6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003c88162000426565b82525050565b6000602082019050620003e56000830184620003bd565b92915050565b6000620003f88262000426565b9150620004058362000426565b9250828210156200041b576200041a62000468565b5b828203905092915050565b6000819050919050565b60006200043d8262000426565b91506200044a8362000426565b9250826200045d576200045c62000497565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612ed380620004d66000396000f3fe6080604052600436106100ec5760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102dd578063b515566a1461031a578063c9567bf914610343578063dd62ed3e1461035a576100f3565b806370a0823114610233578063715018a6146102705780638da5cb5b1461028757806395d89b41146102b2576100f3565b806323b872dd116100c657806323b872dd1461018b578063273123b7146101c8578063313ce567146101f15780633ee0ce021461021c576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610397565b60405161011a91906125a1565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190612125565b6103d4565b6040516101579190612586565b60405180910390f35b34801561016c57600080fd5b506101756103f2565b6040516101829190612723565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad91906120d2565b610403565b6040516101bf9190612586565b60405180910390f35b3480156101d457600080fd5b506101ef60048036038101906101ea9190612038565b6104dc565b005b3480156101fd57600080fd5b506102066105cc565b6040516102139190612798565b60405180910390f35b34801561022857600080fd5b506102316105d5565b005b34801561023f57600080fd5b5061025a60048036038101906102559190612038565b610672565b6040516102679190612723565b60405180910390f35b34801561027c57600080fd5b506102856106c3565b005b34801561029357600080fd5b5061029c610816565b6040516102a991906124b8565b60405180910390f35b3480156102be57600080fd5b506102c761083f565b6040516102d491906125a1565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff9190612125565b61087c565b6040516103119190612586565b60405180910390f35b34801561032657600080fd5b50610341600480360381019061033c9190612165565b61089a565b005b34801561034f57600080fd5b506103586109c4565b005b34801561036657600080fd5b50610381600480360381019061037c9190612092565b610ef6565b60405161038e9190612723565b60405180910390f35b60606040518060400160405280600e81526020017f4d756c7469436861696e4d656d65000000000000000000000000000000000000815250905090565b60006103e86103e1610f7d565b8484610f85565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610410848484611150565b6104d18461041c610f7d565b6104cc85604051806060016040528060288152602001612e7660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610482610f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b59092919063ffffffff16565b610f85565b600190509392505050565b6104e4610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056890612663565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610616610f7d565b73ffffffffffffffffffffffffffffffffffffffff161461063657600080fd5b600061064130610672565b905060008111156106565761065581611519565b5b6000479050600081111561066e5761066d816117a1565b5b5050565b60006106bc600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180d565b9050919050565b6106cb610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074f90612663565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d434d0000000000000000000000000000000000000000000000000000000000815250905090565b6000610890610889610f7d565b8484611150565b6001905092915050565b6108a2610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092690612663565b60405180910390fd5b60005b81518110156109c05760016006600084848151811061095457610953612ae0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109b890612a39565b915050610932565b5050565b6109cc610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5090612663565b60405180910390fd5b600d60149054906101000a900460ff1615610aa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa0906126e3565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b3930600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000610f85565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7f57600080fd5b505afa158015610b93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb79190612065565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1957600080fd5b505afa158015610c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c519190612065565b6040518363ffffffff1660e01b8152600401610c6e9291906124d3565b602060405180830381600087803b158015610c8857600080fd5b505af1158015610c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc09190612065565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d4930610672565b600080610d54610816565b426040518863ffffffff1660e01b8152600401610d7696959493929190612525565b6060604051808303818588803b158015610d8f57600080fd5b505af1158015610da3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dc891906121db565b5050506001600d60166101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff021916908315150217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ea09291906124fc565b602060405180830381600087803b158015610eba57600080fd5b505af1158015610ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef291906121ae565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec906126c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c90612603565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111439190612723565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b7906126a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611230576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611227906125c3565b60405180910390fd5b60008111611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a90612683565b60405180910390fd5b60016009819055506009600a8190555061128b610816565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112f957506112c9610816565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156114a557600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113a25750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6113e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d890612703565b60405180910390fd5b600d60159054906101000a900460ff1615801561144c5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114645750600d60169054906101000a900460ff165b156114a457600061147430610672565b905060008111156114895761148881611519565b5b600047905060008111156114a1576114a0476117a1565b5b50505b5b6114b083838361187b565b505050565b60008383111582906114fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f491906125a1565b60405180910390fd5b506000838561150c919061293a565b9050809150509392505050565b6001600d60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561155157611550612b0f565b5b60405190808252806020026020018201604052801561157f5781602001602082028036833780820191505090505b509050308160008151811061159757611596612ae0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561163957600080fd5b505afa15801561164d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116719190612065565b8160018151811061168557611684612ae0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116ec30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f85565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161175095949392919061273e565b600060405180830381600087803b15801561176a57600080fd5b505af115801561177e573d6000803e3d6000fd5b50505050506000600d60156101000a81548160ff02191690831515021790555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611809573d6000803e3d6000fd5b5050565b6000600754821115611854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184b906125e3565b60405180910390fd5b600061185e61188b565b905061187381846118b690919063ffffffff16565b915050919050565b611886838383611900565b505050565b6000806000611898611acb565b915091506118af81836118b690919063ffffffff16565b9250505090565b60006118f883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b2d565b905092915050565b60008060008060008061191287611b90565b95509550955095509550955061197086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a0585600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a5181611ca0565b611a5b8483611d5d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ab89190612723565b60405180910390a3505050505050505050565b600080600060075490506000683635c9adc5dea000009050611b01683635c9adc5dea000006007546118b690919063ffffffff16565b821015611b2057600754683635c9adc5dea00000935093505050611b29565b81819350935050505b9091565b60008083118290611b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6b91906125a1565b60405180910390fd5b5060008385611b8391906128af565b9050809150509392505050565b6000806000806000806000806000611bad8a600954600a54611d97565b9250925092506000611bbd61188b565b90506000806000611bd08e878787611e2d565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611c3a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114b5565b905092915050565b6000808284611c519190612859565b905083811015611c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8d90612623565b60405180910390fd5b8091505092915050565b6000611caa61188b565b90506000611cc18284611eb690919063ffffffff16565b9050611d1581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d7282600754611bf890919063ffffffff16565b600781905550611d8d81600854611c4290919063ffffffff16565b6008819055505050565b600080600080611dc36064611db5888a611eb690919063ffffffff16565b6118b690919063ffffffff16565b90506000611ded6064611ddf888b611eb690919063ffffffff16565b6118b690919063ffffffff16565b90506000611e1682611e08858c611bf890919063ffffffff16565b611bf890919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e468589611eb690919063ffffffff16565b90506000611e5d8689611eb690919063ffffffff16565b90506000611e748789611eb690919063ffffffff16565b90506000611e9d82611e8f8587611bf890919063ffffffff16565b611bf890919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ec95760009050611f2b565b60008284611ed791906128e0565b9050828482611ee691906128af565b14611f26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1d90612643565b60405180910390fd5b809150505b92915050565b6000611f44611f3f846127d8565b6127b3565b90508083825260208201905082856020860282011115611f6757611f66612b43565b5b60005b85811015611f975781611f7d8882611fa1565b845260208401935060208301925050600181019050611f6a565b5050509392505050565b600081359050611fb081612e30565b92915050565b600081519050611fc581612e30565b92915050565b600082601f830112611fe057611fdf612b3e565b5b8135611ff0848260208601611f31565b91505092915050565b60008151905061200881612e47565b92915050565b60008135905061201d81612e5e565b92915050565b60008151905061203281612e5e565b92915050565b60006020828403121561204e5761204d612b4d565b5b600061205c84828501611fa1565b91505092915050565b60006020828403121561207b5761207a612b4d565b5b600061208984828501611fb6565b91505092915050565b600080604083850312156120a9576120a8612b4d565b5b60006120b785828601611fa1565b92505060206120c885828601611fa1565b9150509250929050565b6000806000606084860312156120eb576120ea612b4d565b5b60006120f986828701611fa1565b935050602061210a86828701611fa1565b925050604061211b8682870161200e565b9150509250925092565b6000806040838503121561213c5761213b612b4d565b5b600061214a85828601611fa1565b925050602061215b8582860161200e565b9150509250929050565b60006020828403121561217b5761217a612b4d565b5b600082013567ffffffffffffffff81111561219957612198612b48565b5b6121a584828501611fcb565b91505092915050565b6000602082840312156121c4576121c3612b4d565b5b60006121d284828501611ff9565b91505092915050565b6000806000606084860312156121f4576121f3612b4d565b5b600061220286828701612023565b935050602061221386828701612023565b925050604061222486828701612023565b9150509250925092565b600061223a8383612246565b60208301905092915050565b61224f8161296e565b82525050565b61225e8161296e565b82525050565b600061226f82612814565b6122798185612837565b935061228483612804565b8060005b838110156122b557815161229c888261222e565b97506122a78361282a565b925050600181019050612288565b5085935050505092915050565b6122cb81612980565b82525050565b6122da816129c3565b82525050565b60006122eb8261281f565b6122f58185612848565b93506123058185602086016129d5565b61230e81612b52565b840191505092915050565b6000612326602383612848565b915061233182612b63565b604082019050919050565b6000612349602a83612848565b915061235482612bb2565b604082019050919050565b600061236c602283612848565b915061237782612c01565b604082019050919050565b600061238f601b83612848565b915061239a82612c50565b602082019050919050565b60006123b2602183612848565b91506123bd82612c79565b604082019050919050565b60006123d5602083612848565b91506123e082612cc8565b602082019050919050565b60006123f8602983612848565b915061240382612cf1565b604082019050919050565b600061241b602583612848565b915061242682612d40565b604082019050919050565b600061243e602483612848565b915061244982612d8f565b604082019050919050565b6000612461601783612848565b915061246c82612dde565b602082019050919050565b6000612484600383612848565b915061248f82612e07565b602082019050919050565b6124a3816129ac565b82525050565b6124b2816129b6565b82525050565b60006020820190506124cd6000830184612255565b92915050565b60006040820190506124e86000830185612255565b6124f56020830184612255565b9392505050565b60006040820190506125116000830185612255565b61251e602083018461249a565b9392505050565b600060c08201905061253a6000830189612255565b612547602083018861249a565b61255460408301876122d1565b61256160608301866122d1565b61256e6080830185612255565b61257b60a083018461249a565b979650505050505050565b600060208201905061259b60008301846122c2565b92915050565b600060208201905081810360008301526125bb81846122e0565b905092915050565b600060208201905081810360008301526125dc81612319565b9050919050565b600060208201905081810360008301526125fc8161233c565b9050919050565b6000602082019050818103600083015261261c8161235f565b9050919050565b6000602082019050818103600083015261263c81612382565b9050919050565b6000602082019050818103600083015261265c816123a5565b9050919050565b6000602082019050818103600083015261267c816123c8565b9050919050565b6000602082019050818103600083015261269c816123eb565b9050919050565b600060208201905081810360008301526126bc8161240e565b9050919050565b600060208201905081810360008301526126dc81612431565b9050919050565b600060208201905081810360008301526126fc81612454565b9050919050565b6000602082019050818103600083015261271c81612477565b9050919050565b6000602082019050612738600083018461249a565b92915050565b600060a082019050612753600083018861249a565b61276060208301876122d1565b81810360408301526127728186612264565b90506127816060830185612255565b61278e608083018461249a565b9695505050505050565b60006020820190506127ad60008301846124a9565b92915050565b60006127bd6127ce565b90506127c98282612a08565b919050565b6000604051905090565b600067ffffffffffffffff8211156127f3576127f2612b0f565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612864826129ac565b915061286f836129ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156128a4576128a3612a82565b5b828201905092915050565b60006128ba826129ac565b91506128c5836129ac565b9250826128d5576128d4612ab1565b5b828204905092915050565b60006128eb826129ac565b91506128f6836129ac565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561292f5761292e612a82565b5b828202905092915050565b6000612945826129ac565b9150612950836129ac565b92508282101561296357612962612a82565b5b828203905092915050565b60006129798261298c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129ce826129ac565b9050919050565b60005b838110156129f35780820151818401526020810190506129d8565b83811115612a02576000848401525b50505050565b612a1182612b52565b810181811067ffffffffffffffff82111715612a3057612a2f612b0f565b5b80604052505050565b6000612a44826129ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a7757612a76612a82565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f426f740000000000000000000000000000000000000000000000000000000000600082015250565b612e398161296e565b8114612e4457600080fd5b50565b612e5081612980565b8114612e5b57600080fd5b50565b612e67816129ac565b8114612e7257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204544312c53d86985e205686f404465087e1a0257e12a1100e59a266afa8a78bb64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102dd578063b515566a1461031a578063c9567bf914610343578063dd62ed3e1461035a576100f3565b806370a0823114610233578063715018a6146102705780638da5cb5b1461028757806395d89b41146102b2576100f3565b806323b872dd116100c657806323b872dd1461018b578063273123b7146101c8578063313ce567146101f15780633ee0ce021461021c576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610397565b60405161011a91906125a1565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190612125565b6103d4565b6040516101579190612586565b60405180910390f35b34801561016c57600080fd5b506101756103f2565b6040516101829190612723565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad91906120d2565b610403565b6040516101bf9190612586565b60405180910390f35b3480156101d457600080fd5b506101ef60048036038101906101ea9190612038565b6104dc565b005b3480156101fd57600080fd5b506102066105cc565b6040516102139190612798565b60405180910390f35b34801561022857600080fd5b506102316105d5565b005b34801561023f57600080fd5b5061025a60048036038101906102559190612038565b610672565b6040516102679190612723565b60405180910390f35b34801561027c57600080fd5b506102856106c3565b005b34801561029357600080fd5b5061029c610816565b6040516102a991906124b8565b60405180910390f35b3480156102be57600080fd5b506102c761083f565b6040516102d491906125a1565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff9190612125565b61087c565b6040516103119190612586565b60405180910390f35b34801561032657600080fd5b50610341600480360381019061033c9190612165565b61089a565b005b34801561034f57600080fd5b506103586109c4565b005b34801561036657600080fd5b50610381600480360381019061037c9190612092565b610ef6565b60405161038e9190612723565b60405180910390f35b60606040518060400160405280600e81526020017f4d756c7469436861696e4d656d65000000000000000000000000000000000000815250905090565b60006103e86103e1610f7d565b8484610f85565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610410848484611150565b6104d18461041c610f7d565b6104cc85604051806060016040528060288152602001612e7660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610482610f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114b59092919063ffffffff16565b610f85565b600190509392505050565b6104e4610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056890612663565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610616610f7d565b73ffffffffffffffffffffffffffffffffffffffff161461063657600080fd5b600061064130610672565b905060008111156106565761065581611519565b5b6000479050600081111561066e5761066d816117a1565b5b5050565b60006106bc600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461180d565b9050919050565b6106cb610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074f90612663565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d434d0000000000000000000000000000000000000000000000000000000000815250905090565b6000610890610889610f7d565b8484611150565b6001905092915050565b6108a2610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092690612663565b60405180910390fd5b60005b81518110156109c05760016006600084848151811061095457610953612ae0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109b890612a39565b915050610932565b5050565b6109cc610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5090612663565b60405180910390fd5b600d60149054906101000a900460ff1615610aa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa0906126e3565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b3930600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000610f85565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7f57600080fd5b505afa158015610b93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb79190612065565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1957600080fd5b505afa158015610c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c519190612065565b6040518363ffffffff1660e01b8152600401610c6e9291906124d3565b602060405180830381600087803b158015610c8857600080fd5b505af1158015610c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc09190612065565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d4930610672565b600080610d54610816565b426040518863ffffffff1660e01b8152600401610d7696959493929190612525565b6060604051808303818588803b158015610d8f57600080fd5b505af1158015610da3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dc891906121db565b5050506001600d60166101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff021916908315150217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ea09291906124fc565b602060405180830381600087803b158015610eba57600080fd5b505af1158015610ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef291906121ae565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec906126c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c90612603565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111439190612723565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b7906126a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611230576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611227906125c3565b60405180910390fd5b60008111611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a90612683565b60405180910390fd5b60016009819055506009600a8190555061128b610816565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112f957506112c9610816565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156114a557600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113a25750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6113e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d890612703565b60405180910390fd5b600d60159054906101000a900460ff1615801561144c5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114645750600d60169054906101000a900460ff165b156114a457600061147430610672565b905060008111156114895761148881611519565b5b600047905060008111156114a1576114a0476117a1565b5b50505b5b6114b083838361187b565b505050565b60008383111582906114fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f491906125a1565b60405180910390fd5b506000838561150c919061293a565b9050809150509392505050565b6001600d60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561155157611550612b0f565b5b60405190808252806020026020018201604052801561157f5781602001602082028036833780820191505090505b509050308160008151811061159757611596612ae0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561163957600080fd5b505afa15801561164d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116719190612065565b8160018151811061168557611684612ae0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116ec30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f85565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161175095949392919061273e565b600060405180830381600087803b15801561176a57600080fd5b505af115801561177e573d6000803e3d6000fd5b50505050506000600d60156101000a81548160ff02191690831515021790555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611809573d6000803e3d6000fd5b5050565b6000600754821115611854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184b906125e3565b60405180910390fd5b600061185e61188b565b905061187381846118b690919063ffffffff16565b915050919050565b611886838383611900565b505050565b6000806000611898611acb565b915091506118af81836118b690919063ffffffff16565b9250505090565b60006118f883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b2d565b905092915050565b60008060008060008061191287611b90565b95509550955095509550955061197086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf890919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a0585600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4290919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a5181611ca0565b611a5b8483611d5d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ab89190612723565b60405180910390a3505050505050505050565b600080600060075490506000683635c9adc5dea000009050611b01683635c9adc5dea000006007546118b690919063ffffffff16565b821015611b2057600754683635c9adc5dea00000935093505050611b29565b81819350935050505b9091565b60008083118290611b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6b91906125a1565b60405180910390fd5b5060008385611b8391906128af565b9050809150509392505050565b6000806000806000806000806000611bad8a600954600a54611d97565b9250925092506000611bbd61188b565b90506000806000611bd08e878787611e2d565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611c3a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114b5565b905092915050565b6000808284611c519190612859565b905083811015611c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8d90612623565b60405180910390fd5b8091505092915050565b6000611caa61188b565b90506000611cc18284611eb690919063ffffffff16565b9050611d1581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d7282600754611bf890919063ffffffff16565b600781905550611d8d81600854611c4290919063ffffffff16565b6008819055505050565b600080600080611dc36064611db5888a611eb690919063ffffffff16565b6118b690919063ffffffff16565b90506000611ded6064611ddf888b611eb690919063ffffffff16565b6118b690919063ffffffff16565b90506000611e1682611e08858c611bf890919063ffffffff16565b611bf890919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e468589611eb690919063ffffffff16565b90506000611e5d8689611eb690919063ffffffff16565b90506000611e748789611eb690919063ffffffff16565b90506000611e9d82611e8f8587611bf890919063ffffffff16565b611bf890919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ec95760009050611f2b565b60008284611ed791906128e0565b9050828482611ee691906128af565b14611f26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1d90612643565b60405180910390fd5b809150505b92915050565b6000611f44611f3f846127d8565b6127b3565b90508083825260208201905082856020860282011115611f6757611f66612b43565b5b60005b85811015611f975781611f7d8882611fa1565b845260208401935060208301925050600181019050611f6a565b5050509392505050565b600081359050611fb081612e30565b92915050565b600081519050611fc581612e30565b92915050565b600082601f830112611fe057611fdf612b3e565b5b8135611ff0848260208601611f31565b91505092915050565b60008151905061200881612e47565b92915050565b60008135905061201d81612e5e565b92915050565b60008151905061203281612e5e565b92915050565b60006020828403121561204e5761204d612b4d565b5b600061205c84828501611fa1565b91505092915050565b60006020828403121561207b5761207a612b4d565b5b600061208984828501611fb6565b91505092915050565b600080604083850312156120a9576120a8612b4d565b5b60006120b785828601611fa1565b92505060206120c885828601611fa1565b9150509250929050565b6000806000606084860312156120eb576120ea612b4d565b5b60006120f986828701611fa1565b935050602061210a86828701611fa1565b925050604061211b8682870161200e565b9150509250925092565b6000806040838503121561213c5761213b612b4d565b5b600061214a85828601611fa1565b925050602061215b8582860161200e565b9150509250929050565b60006020828403121561217b5761217a612b4d565b5b600082013567ffffffffffffffff81111561219957612198612b48565b5b6121a584828501611fcb565b91505092915050565b6000602082840312156121c4576121c3612b4d565b5b60006121d284828501611ff9565b91505092915050565b6000806000606084860312156121f4576121f3612b4d565b5b600061220286828701612023565b935050602061221386828701612023565b925050604061222486828701612023565b9150509250925092565b600061223a8383612246565b60208301905092915050565b61224f8161296e565b82525050565b61225e8161296e565b82525050565b600061226f82612814565b6122798185612837565b935061228483612804565b8060005b838110156122b557815161229c888261222e565b97506122a78361282a565b925050600181019050612288565b5085935050505092915050565b6122cb81612980565b82525050565b6122da816129c3565b82525050565b60006122eb8261281f565b6122f58185612848565b93506123058185602086016129d5565b61230e81612b52565b840191505092915050565b6000612326602383612848565b915061233182612b63565b604082019050919050565b6000612349602a83612848565b915061235482612bb2565b604082019050919050565b600061236c602283612848565b915061237782612c01565b604082019050919050565b600061238f601b83612848565b915061239a82612c50565b602082019050919050565b60006123b2602183612848565b91506123bd82612c79565b604082019050919050565b60006123d5602083612848565b91506123e082612cc8565b602082019050919050565b60006123f8602983612848565b915061240382612cf1565b604082019050919050565b600061241b602583612848565b915061242682612d40565b604082019050919050565b600061243e602483612848565b915061244982612d8f565b604082019050919050565b6000612461601783612848565b915061246c82612dde565b602082019050919050565b6000612484600383612848565b915061248f82612e07565b602082019050919050565b6124a3816129ac565b82525050565b6124b2816129b6565b82525050565b60006020820190506124cd6000830184612255565b92915050565b60006040820190506124e86000830185612255565b6124f56020830184612255565b9392505050565b60006040820190506125116000830185612255565b61251e602083018461249a565b9392505050565b600060c08201905061253a6000830189612255565b612547602083018861249a565b61255460408301876122d1565b61256160608301866122d1565b61256e6080830185612255565b61257b60a083018461249a565b979650505050505050565b600060208201905061259b60008301846122c2565b92915050565b600060208201905081810360008301526125bb81846122e0565b905092915050565b600060208201905081810360008301526125dc81612319565b9050919050565b600060208201905081810360008301526125fc8161233c565b9050919050565b6000602082019050818103600083015261261c8161235f565b9050919050565b6000602082019050818103600083015261263c81612382565b9050919050565b6000602082019050818103600083015261265c816123a5565b9050919050565b6000602082019050818103600083015261267c816123c8565b9050919050565b6000602082019050818103600083015261269c816123eb565b9050919050565b600060208201905081810360008301526126bc8161240e565b9050919050565b600060208201905081810360008301526126dc81612431565b9050919050565b600060208201905081810360008301526126fc81612454565b9050919050565b6000602082019050818103600083015261271c81612477565b9050919050565b6000602082019050612738600083018461249a565b92915050565b600060a082019050612753600083018861249a565b61276060208301876122d1565b81810360408301526127728186612264565b90506127816060830185612255565b61278e608083018461249a565b9695505050505050565b60006020820190506127ad60008301846124a9565b92915050565b60006127bd6127ce565b90506127c98282612a08565b919050565b6000604051905090565b600067ffffffffffffffff8211156127f3576127f2612b0f565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612864826129ac565b915061286f836129ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156128a4576128a3612a82565b5b828201905092915050565b60006128ba826129ac565b91506128c5836129ac565b9250826128d5576128d4612ab1565b5b828204905092915050565b60006128eb826129ac565b91506128f6836129ac565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561292f5761292e612a82565b5b828202905092915050565b6000612945826129ac565b9150612950836129ac565b92508282101561296357612962612a82565b5b828203905092915050565b60006129798261298c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129ce826129ac565b9050919050565b60005b838110156129f35780820151818401526020810190506129d8565b83811115612a02576000848401525b50505050565b612a1182612b52565b810181811067ffffffffffffffff82111715612a3057612a2f612b0f565b5b80604052505050565b6000612a44826129ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a7757612a76612a82565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f426f740000000000000000000000000000000000000000000000000000000000600082015250565b612e398161296e565b8114612e4457600080fd5b50565b612e5081612980565b8114612e5b57600080fd5b50565b612e67816129ac565b8114612e7257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204544312c53d86985e205686f404465087e1a0257e12a1100e59a266afa8a78bb64736f6c63430008070033

Deployed Bytecode Sourcemap

3961:9307:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5488:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6340:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5765:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6509:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9968:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5674:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11146:422;;;;;;;;;;;;;:::i;:::-;;5868:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3040:148;;;;;;;;;;;;;:::i;:::-;;2826:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5579:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6014:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9792:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9042:738;;;;;;;;;;;;;:::i;:::-;;6189:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5488:83;5525:13;5558:5;;;;;;;;;;;;;;;;;5551:12;;5488:83;:::o;6340:161::-;6415:4;6432:39;6441:12;:10;:12::i;:::-;6455:7;6464:6;6432:8;:39::i;:::-;6489:4;6482:11;;6340:161;;;;:::o;5765:95::-;5818:7;4408:12;5838:14;;5765:95;:::o;6509:313::-;6607:4;6624:36;6634:6;6642:9;6653:6;6624:9;:36::i;:::-;6671:121;6680:6;6688:12;:10;:12::i;:::-;6702:89;6740:6;6702:89;;;;;;;;;;;;;;;;;:11;:19;6714:6;6702:19;;;;;;;;;;;;;;;:33;6722:12;:10;:12::i;:::-;6702:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6671:8;:121::i;:::-;6810:4;6803:11;;6509:313;;;;;:::o;9968:88::-;2963:12;:10;:12::i;:::-;2953:22;;:6;;;;;;;;;;:22;;;2945:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10043:5:::1;10028:4;:12;10033:6;10028:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;9968:88:::0;:::o;5674:83::-;5715:5;4773:1;5733:16;;5674:83;:::o;11146:422::-;11219:14;;;;;;;;;;;11203:30;;:12;:10;:12::i;:::-;:30;;;11195:39;;;;;;11255:23;11281:24;11299:4;11281:9;:24::i;:::-;11255:50;;11338:1;11320:15;:19;11316:85;;;11356:33;11373:15;11356:16;:33::i;:::-;11316:85;11413:26;11442:21;11413:50;;11499:1;11478:18;:22;11474:87;;;11517:32;11530:18;11517:12;:32::i;:::-;11474:87;11184:384;;11146:422::o;5868:138::-;5934:7;5961:37;5981:7;:16;5989:7;5981:16;;;;;;;;;;;;;;;;5961:19;:37::i;:::-;5954:44;;5868:138;;;:::o;3040:148::-;2963:12;:10;:12::i;:::-;2953:22;;:6;;;;;;;;;;:22;;;2945:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3147:1:::1;3110:40;;3131:6;::::0;::::1;;;;;;;;3110:40;;;;;;;;;;;;3178:1;3161:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3040:148::o:0;2826:79::-;2864:7;2891:6;;;;;;;;;;;2884:13;;2826:79;:::o;5579:87::-;5618:13;5651:7;;;;;;;;;;;;;;;;;5644:14;;5579:87;:::o;6014:167::-;6092:4;6109:42;6119:12;:10;:12::i;:::-;6133:9;6144:6;6109:9;:42::i;:::-;6169:4;6162:11;;6014:167;;;;:::o;9792:164::-;2963:12;:10;:12::i;:::-;2953:22;;:6;;;;;;;;;;:22;;;2945:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9866:6:::1;9861:88;9882:5;:12;9878:1;:16;9861:88;;;9933:4;9916;:14;9921:5;9927:1;9921:8;;;;;;;;:::i;:::-;;;;;;;;9916:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9896:3;;;;;:::i;:::-;;;;9861:88;;;;9792:164:::0;:::o;9042:738::-;2963:12;:10;:12::i;:::-;2953:22;;:6;;;;;;;;;;:22;;;2945:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9106:11:::1;;;;;;;;;;;9105:12;9097:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9155:35;9212:42;9155:100;;9284:16;9266:15;;:34;;;;;;;;;;;;;;;;;;9311:58;9328:4;9343:15;;;;;;;;;;;4408:12;9311:8;:58::i;:::-;9414:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9396:56;;;9461:4;9468:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9396:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9380:13;;:112;;;;;;;;;;;;;;;;;;9503:15;;;;;;;;;;;:31;;;9542:21;9573:4;9579:24;9597:4;9579:9;:24::i;:::-;9604:1;9606::::0;9608:7:::1;:5;:7::i;:::-;9616:15;9503:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9657:4;9643:11;;:18;;;;;;;;;;;;;;;;;;9686:4;9672:11;;:18;;;;;;;;;;;;;;;;;;9708:13;;;;;;;;;;;9701:29;;;9739:15;;;;;;;;;;;9757:14;9701:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9086:694;9042:738::o:0;6189:143::-;6270:7;6297:11;:18;6309:5;6297:18;;;;;;;;;;;;;;;:27;6316:7;6297:27;;;;;;;;;;;;;;;;6290:34;;6189:143;;;;:::o;544:98::-;597:7;624:10;617:17;;544:98;:::o;7094:335::-;7204:1;7187:19;;:5;:19;;;;7179:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7285:1;7266:21;;:7;:21;;;;7258:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7367:6;7337:11;:18;7349:5;7337:18;;;;;;;;;;;;;;;:27;7356:7;7337:27;;;;;;;;;;;;;;;:36;;;;7405:7;7389:32;;7398:5;7389:32;;;7414:6;7389:32;;;;;;:::i;:::-;;;;;;;;7094:335;;;:::o;7437:990::-;7541:1;7525:18;;:4;:18;;;;7517:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7618:1;7604:16;;:2;:16;;;;7596:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7688:1;7679:6;:10;7671:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7758:1;7746:9;:13;;;;7782:1;7770:9;:13;;;;7806:7;:5;:7::i;:::-;7798:15;;:4;:15;;;;:32;;;;;7823:7;:5;:7::i;:::-;7817:13;;:2;:13;;;;7798:32;7794:583;;;7856:4;:10;7861:4;7856:10;;;;;;;;;;;;;;;;;;;;;;;;;7855:11;:24;;;;;7871:4;:8;7876:2;7871:8;;;;;;;;;;;;;;;;;;;;;;;;;7870:9;7855:24;7847:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;7907:6;;;;;;;;;;;7906:7;:32;;;;;7925:13;;;;;;;;;;;7917:21;;:4;:21;;;;7906:32;:47;;;;;7942:11;;;;;;;;;;;7906:47;7902:464;;;7974:28;8005:24;8023:4;8005:9;:24::i;:::-;7974:55;;8075:1;8052:20;:24;8048:111;;;8101:38;8118:20;8101:16;:38::i;:::-;8048:111;8177:26;8206:21;8177:50;;8270:1;8249:18;:22;8246:105;;;8296:35;8309:21;8296:12;:35::i;:::-;8246:105;7955:411;;7902:464;7794:583;8387:32;8402:4;8408:2;8412:6;8387:14;:32::i;:::-;7437:990;;;:::o;1681:190::-;1767:7;1800:1;1795;:6;;1803:12;1787:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1827:9;1843:1;1839;:5;;;;:::i;:::-;1827:17;;1862:1;1855:8;;;1681:190;;;;;:::o;8435:483::-;5023:4;5014:6;;:13;;;;;;;;;;;;;;;;;;8513:21:::1;8551:1;8537:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8513:40;;8582:4;8564;8569:1;8564:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8608:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8598:4;8603:1;8598:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8641:62;8658:4;8673:15;;;;;;;;;;;8691:11;8641:8;:62::i;:::-;8714:15;;;;;;;;;;;:66;;;8795:11;8821:1;8837:4;8864;8884:15;8714:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8502:416;5059:5:::0;5050:6;;:14;;;;;;;;;;;;;;;;;;8435:483;:::o;8934:96::-;8991:14;;;;;;;;;;;:23;;:31;9015:6;8991:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8934:96;:::o;6832:254::-;6899:7;6938;;6927;:18;;6919:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7003:19;7026:10;:8;:10::i;:::-;7003:33;;7054:24;7066:11;7054:7;:11;;:24;;;;:::i;:::-;7047:31;;;6832:254;;;:::o;10072:146::-;10166:44;10184:6;10192:9;10203:6;10166:17;:44::i;:::-;10072:146;;;:::o;12832:163::-;12873:7;12894:15;12911;12930:19;:17;:19::i;:::-;12893:56;;;;12967:20;12979:7;12967;:11;;:20;;;;:::i;:::-;12960:27;;;;12832:163;:::o;2133:132::-;2191:7;2218:39;2222:1;2225;2218:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2211:46;;2133:132;;;;:::o;10226:488::-;10325:15;10342:23;10367:12;10381:23;10406:12;10420:13;10437:19;10448:7;10437:10;:19::i;:::-;10324:132;;;;;;;;;;;;10485:28;10505:7;10485;:15;10493:6;10485:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10467:7;:15;10475:6;10467:15;;;;;;;;;;;;;;;:46;;;;10545:39;10568:15;10545:7;:18;10553:9;10545:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10524:7;:18;10532:9;10524:18;;;;;;;;;;;;;;;:60;;;;10596:16;10606:5;10596:9;:16::i;:::-;10623:23;10635:4;10641;10623:11;:23::i;:::-;10679:9;10662:44;;10671:6;10662:44;;;10690:15;10662:44;;;;;;:::i;:::-;;;;;;;;10313:401;;;;;;10226:488;;;:::o;13003:262::-;13053:7;13062;13082:15;13100:7;;13082:25;;13118:15;4408:12;13118:25;;13174:20;4408:12;13174:7;;:11;;:20;;;;:::i;:::-;13164:7;:30;13160:61;;;13204:7;;4408:12;13196:25;;;;;;;;13160:61;13240:7;13249;13232:25;;;;;;13003:262;;;:::o;2273:189::-;2359:7;2391:1;2387;:5;2394:12;2379:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2418:9;2434:1;2430;:5;;;;:::i;:::-;2418:17;;2453:1;2446:8;;;2273:189;;;;;:::o;11580:471::-;11639:7;11648;11657;11666;11675;11684;11705:23;11730:12;11744:13;11761:42;11773:7;11782:9;;11793;;11761:11;:42::i;:::-;11704:99;;;;;;11814:19;11837:10;:8;:10::i;:::-;11814:33;;11859:15;11876:23;11901:12;11917:46;11929:7;11938:4;11944:5;11951:11;11917;:46::i;:::-;11858:105;;;;;;11982:7;11991:15;12008:4;12014:15;12031:4;12037:5;11974:69;;;;;;;;;;;;;;;;;;;11580:471;;;;;;;:::o;1537:136::-;1595:7;1622:43;1626:1;1629;1622:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1615:50;;1537:136;;;;:::o;1350:179::-;1408:7;1428:9;1444:1;1440;:5;;;;:::i;:::-;1428:17;;1469:1;1464;:6;;1456:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1520:1;1513:8;;;1350:179;;;;:::o;10722:212::-;10775:19;10798:10;:8;:10::i;:::-;10775:33;;10819:13;10835:22;10845:11;10835:5;:9;;:22;;;;:::i;:::-;10819:38;;10893:33;10920:5;10893:7;:22;10909:4;10893:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;10868:7;:22;10884:4;10868:22;;;;;;;;;;;;;;;:58;;;;10764:170;;10722:212;:::o;10942:147::-;11020:17;11032:4;11020:7;;:11;;:17;;;;:::i;:::-;11010:7;:27;;;;11061:20;11076:4;11061:10;;:14;;:20;;;;:::i;:::-;11048:10;:33;;;;10942:147;;:::o;12059:351::-;12152:7;12161;12170;12190:12;12205:28;12229:3;12205:19;12217:6;12205:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12190:43;;12244:13;12260:29;12285:3;12260:20;12272:7;12260;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12244:45;;12300:23;12326:28;12348:5;12326:17;12338:4;12326:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12300:54;;12373:15;12390:4;12396:5;12365:37;;;;;;;;;12059:351;;;;;;;:::o;12418:409::-;12528:7;12537;12546;12566:15;12584:24;12596:11;12584:7;:11;;:24;;;;:::i;:::-;12566:42;;12619:12;12634:21;12643:11;12634:4;:8;;:21;;;;:::i;:::-;12619:36;;12666:13;12682:22;12692:11;12682:5;:9;;:22;;;;:::i;:::-;12666:38;;12715:23;12741:28;12763:5;12741:17;12753:4;12741:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12715:54;;12788:7;12797:15;12814:4;12780:39;;;;;;;;;;12418:409;;;;;;;;:::o;1879:246::-;1937:7;1966:1;1961;:6;1957:47;;;1991:1;1984:8;;;;1957:47;2014:9;2030:1;2026;:5;;;;:::i;:::-;2014:17;;2059:1;2054;2050;:5;;;;:::i;:::-;:10;2042:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2116:1;2109:8;;;1879:246;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1439:137;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1582:139;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1727:143;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:119;;;1990:79;;:::i;:::-;1952:119;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1876:329;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:119;;;2336:79;;:::i;:::-;2298:119;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2211:351;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:119;;;2699:79;;:::i;:::-;2661:119;2819:1;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2790:117;2946:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;:::i;:::-;2962:63;;2917:118;2568:474;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:119;;;3196:79;;:::i;:::-;3158:119;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3443:2;3469:53;3514:7;3505:6;3494:9;3490:22;3469:53;:::i;:::-;3459:63;;3414:118;3571:2;3597:53;3642:7;3633:6;3622:9;3618:22;3597:53;:::i;:::-;3587:63;;3542:118;3048:619;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:119;;;3804:79;;:::i;:::-;3766:119;3924:1;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3895:117;4051:2;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4022:118;3673:474;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:119;;;4292:79;;:::i;:::-;4254:119;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:117;;;4492:79;;:::i;:::-;4456:117;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4153:539;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:119;;;4820:79;;:::i;:::-;4782:119;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4698:345;;;;:::o;5049:663::-;5137:6;5145;5153;5202:2;5190:9;5181:7;5177:23;5173:32;5170:119;;;5208:79;;:::i;:::-;5170:119;5328:1;5353:64;5409:7;5400:6;5389:9;5385:22;5353:64;:::i;:::-;5343:74;;5299:128;5466:2;5492:64;5548:7;5539:6;5528:9;5524:22;5492:64;:::i;:::-;5482:74;;5437:129;5605:2;5631:64;5687:7;5678:6;5667:9;5663:22;5631:64;:::i;:::-;5621:74;;5576:129;5049:663;;;;;:::o;5718:179::-;5787:10;5808:46;5850:3;5842:6;5808:46;:::i;:::-;5886:4;5881:3;5877:14;5863:28;;5718:179;;;;:::o;5903:108::-;5980:24;5998:5;5980:24;:::i;:::-;5975:3;5968:37;5903:108;;:::o;6017:118::-;6104:24;6122:5;6104:24;:::i;:::-;6099:3;6092:37;6017:118;;:::o;6171:732::-;6290:3;6319:54;6367:5;6319:54;:::i;:::-;6389:86;6468:6;6463:3;6389:86;:::i;:::-;6382:93;;6499:56;6549:5;6499:56;:::i;:::-;6578:7;6609:1;6594:284;6619:6;6616:1;6613:13;6594:284;;;6695:6;6689:13;6722:63;6781:3;6766:13;6722:63;:::i;:::-;6715:70;;6808:60;6861:6;6808:60;:::i;:::-;6798:70;;6654:224;6641:1;6638;6634:9;6629:14;;6594:284;;;6598:14;6894:3;6887:10;;6295:608;;;6171:732;;;;:::o;6909:109::-;6990:21;7005:5;6990:21;:::i;:::-;6985:3;6978:34;6909:109;;:::o;7024:147::-;7119:45;7158:5;7119:45;:::i;:::-;7114:3;7107:58;7024:147;;:::o;7177:364::-;7265:3;7293:39;7326:5;7293:39;:::i;:::-;7348:71;7412:6;7407:3;7348:71;:::i;:::-;7341:78;;7428:52;7473:6;7468:3;7461:4;7454:5;7450:16;7428:52;:::i;:::-;7505:29;7527:6;7505:29;:::i;:::-;7500:3;7496:39;7489:46;;7269:272;7177:364;;;;:::o;7547:366::-;7689:3;7710:67;7774:2;7769:3;7710:67;:::i;:::-;7703:74;;7786:93;7875:3;7786:93;:::i;:::-;7904:2;7899:3;7895:12;7888:19;;7547:366;;;:::o;7919:::-;8061:3;8082:67;8146:2;8141:3;8082:67;:::i;:::-;8075:74;;8158:93;8247:3;8158:93;:::i;:::-;8276:2;8271:3;8267:12;8260:19;;7919:366;;;:::o;8291:::-;8433:3;8454:67;8518:2;8513:3;8454:67;:::i;:::-;8447:74;;8530:93;8619:3;8530:93;:::i;:::-;8648:2;8643:3;8639:12;8632:19;;8291:366;;;:::o;8663:::-;8805:3;8826:67;8890:2;8885:3;8826:67;:::i;:::-;8819:74;;8902:93;8991:3;8902:93;:::i;:::-;9020:2;9015:3;9011:12;9004:19;;8663:366;;;:::o;9035:::-;9177:3;9198:67;9262:2;9257:3;9198:67;:::i;:::-;9191:74;;9274:93;9363:3;9274:93;:::i;:::-;9392:2;9387:3;9383:12;9376:19;;9035:366;;;:::o;9407:::-;9549:3;9570:67;9634:2;9629:3;9570:67;:::i;:::-;9563:74;;9646:93;9735:3;9646:93;:::i;:::-;9764:2;9759:3;9755:12;9748:19;;9407:366;;;:::o;9779:::-;9921:3;9942:67;10006:2;10001:3;9942:67;:::i;:::-;9935:74;;10018:93;10107:3;10018:93;:::i;:::-;10136:2;10131:3;10127:12;10120:19;;9779:366;;;:::o;10151:::-;10293:3;10314:67;10378:2;10373:3;10314:67;:::i;:::-;10307:74;;10390:93;10479:3;10390:93;:::i;:::-;10508:2;10503:3;10499:12;10492:19;;10151:366;;;:::o;10523:::-;10665:3;10686:67;10750:2;10745:3;10686:67;:::i;:::-;10679:74;;10762:93;10851:3;10762:93;:::i;:::-;10880:2;10875:3;10871:12;10864:19;;10523:366;;;:::o;10895:::-;11037:3;11058:67;11122:2;11117:3;11058:67;:::i;:::-;11051:74;;11134:93;11223:3;11134:93;:::i;:::-;11252:2;11247:3;11243:12;11236:19;;10895:366;;;:::o;11267:365::-;11409:3;11430:66;11494:1;11489:3;11430:66;:::i;:::-;11423:73;;11505:93;11594:3;11505:93;:::i;:::-;11623:2;11618:3;11614:12;11607:19;;11267:365;;;:::o;11638:118::-;11725:24;11743:5;11725:24;:::i;:::-;11720:3;11713:37;11638:118;;:::o;11762:112::-;11845:22;11861:5;11845:22;:::i;:::-;11840:3;11833:35;11762:112;;:::o;11880:222::-;11973:4;12011:2;12000:9;11996:18;11988:26;;12024:71;12092:1;12081:9;12077:17;12068:6;12024:71;:::i;:::-;11880:222;;;;:::o;12108:332::-;12229:4;12267:2;12256:9;12252:18;12244:26;;12280:71;12348:1;12337:9;12333:17;12324:6;12280:71;:::i;:::-;12361:72;12429:2;12418:9;12414:18;12405:6;12361:72;:::i;:::-;12108:332;;;;;:::o;12446:::-;12567:4;12605:2;12594:9;12590:18;12582:26;;12618:71;12686:1;12675:9;12671:17;12662:6;12618:71;:::i;:::-;12699:72;12767:2;12756:9;12752:18;12743:6;12699:72;:::i;:::-;12446:332;;;;;:::o;12784:807::-;13033:4;13071:3;13060:9;13056:19;13048:27;;13085:71;13153:1;13142:9;13138:17;13129:6;13085:71;:::i;:::-;13166:72;13234:2;13223:9;13219:18;13210:6;13166:72;:::i;:::-;13248:80;13324:2;13313:9;13309:18;13300:6;13248:80;:::i;:::-;13338;13414:2;13403:9;13399:18;13390:6;13338:80;:::i;:::-;13428:73;13496:3;13485:9;13481:19;13472:6;13428:73;:::i;:::-;13511;13579:3;13568:9;13564:19;13555:6;13511:73;:::i;:::-;12784:807;;;;;;;;;:::o;13597:210::-;13684:4;13722:2;13711:9;13707:18;13699:26;;13735:65;13797:1;13786:9;13782:17;13773:6;13735:65;:::i;:::-;13597:210;;;;:::o;13813:313::-;13926:4;13964:2;13953:9;13949:18;13941:26;;14013:9;14007:4;14003:20;13999:1;13988:9;13984:17;13977:47;14041:78;14114:4;14105:6;14041:78;:::i;:::-;14033:86;;13813:313;;;;:::o;14132:419::-;14298:4;14336:2;14325:9;14321:18;14313:26;;14385:9;14379:4;14375:20;14371:1;14360:9;14356:17;14349:47;14413:131;14539:4;14413:131;:::i;:::-;14405:139;;14132:419;;;:::o;14557:::-;14723:4;14761:2;14750:9;14746:18;14738:26;;14810:9;14804:4;14800:20;14796:1;14785:9;14781:17;14774:47;14838:131;14964:4;14838:131;:::i;:::-;14830:139;;14557:419;;;:::o;14982:::-;15148:4;15186:2;15175:9;15171:18;15163:26;;15235:9;15229:4;15225:20;15221:1;15210:9;15206:17;15199:47;15263:131;15389:4;15263:131;:::i;:::-;15255:139;;14982:419;;;:::o;15407:::-;15573:4;15611:2;15600:9;15596:18;15588:26;;15660:9;15654:4;15650:20;15646:1;15635:9;15631:17;15624:47;15688:131;15814:4;15688:131;:::i;:::-;15680:139;;15407:419;;;:::o;15832:::-;15998:4;16036:2;16025:9;16021:18;16013:26;;16085:9;16079:4;16075:20;16071:1;16060:9;16056:17;16049:47;16113:131;16239:4;16113:131;:::i;:::-;16105:139;;15832:419;;;:::o;16257:::-;16423:4;16461:2;16450:9;16446:18;16438:26;;16510:9;16504:4;16500:20;16496:1;16485:9;16481:17;16474:47;16538:131;16664:4;16538:131;:::i;:::-;16530:139;;16257:419;;;:::o;16682:::-;16848:4;16886:2;16875:9;16871:18;16863:26;;16935:9;16929:4;16925:20;16921:1;16910:9;16906:17;16899:47;16963:131;17089:4;16963:131;:::i;:::-;16955:139;;16682:419;;;:::o;17107:::-;17273:4;17311:2;17300:9;17296:18;17288:26;;17360:9;17354:4;17350:20;17346:1;17335:9;17331:17;17324:47;17388:131;17514:4;17388:131;:::i;:::-;17380:139;;17107:419;;;:::o;17532:::-;17698:4;17736:2;17725:9;17721:18;17713:26;;17785:9;17779:4;17775:20;17771:1;17760:9;17756:17;17749:47;17813:131;17939:4;17813:131;:::i;:::-;17805:139;;17532:419;;;:::o;17957:::-;18123:4;18161:2;18150:9;18146:18;18138:26;;18210:9;18204:4;18200:20;18196:1;18185:9;18181:17;18174:47;18238:131;18364:4;18238:131;:::i;:::-;18230:139;;17957:419;;;:::o;18382:::-;18548:4;18586:2;18575:9;18571:18;18563:26;;18635:9;18629:4;18625:20;18621:1;18610:9;18606:17;18599:47;18663:131;18789:4;18663:131;:::i;:::-;18655:139;;18382:419;;;:::o;18807:222::-;18900:4;18938:2;18927:9;18923:18;18915:26;;18951:71;19019:1;19008:9;19004:17;18995:6;18951:71;:::i;:::-;18807:222;;;;:::o;19035:831::-;19298:4;19336:3;19325:9;19321:19;19313:27;;19350:71;19418:1;19407:9;19403:17;19394:6;19350:71;:::i;:::-;19431:80;19507:2;19496:9;19492:18;19483:6;19431:80;:::i;:::-;19558:9;19552:4;19548:20;19543:2;19532:9;19528:18;19521:48;19586:108;19689:4;19680:6;19586:108;:::i;:::-;19578:116;;19704:72;19772:2;19761:9;19757:18;19748:6;19704:72;:::i;:::-;19786:73;19854:3;19843:9;19839:19;19830:6;19786:73;:::i;:::-;19035:831;;;;;;;;:::o;19872:214::-;19961:4;19999:2;19988:9;19984:18;19976:26;;20012:67;20076:1;20065:9;20061:17;20052:6;20012:67;:::i;:::-;19872:214;;;;:::o;20092:129::-;20126:6;20153:20;;:::i;:::-;20143:30;;20182:33;20210:4;20202:6;20182:33;:::i;:::-;20092:129;;;:::o;20227:75::-;20260:6;20293:2;20287:9;20277:19;;20227:75;:::o;20308:311::-;20385:4;20475:18;20467:6;20464:30;20461:56;;;20497:18;;:::i;:::-;20461:56;20547:4;20539:6;20535:17;20527:25;;20607:4;20601;20597:15;20589:23;;20308:311;;;:::o;20625:132::-;20692:4;20715:3;20707:11;;20745:4;20740:3;20736:14;20728:22;;20625:132;;;:::o;20763:114::-;20830:6;20864:5;20858:12;20848:22;;20763:114;;;:::o;20883:99::-;20935:6;20969:5;20963:12;20953:22;;20883:99;;;:::o;20988:113::-;21058:4;21090;21085:3;21081:14;21073:22;;20988:113;;;:::o;21107:184::-;21206:11;21240:6;21235:3;21228:19;21280:4;21275:3;21271:14;21256:29;;21107:184;;;;:::o;21297:169::-;21381:11;21415:6;21410:3;21403:19;21455:4;21450:3;21446:14;21431:29;;21297:169;;;;:::o;21472:305::-;21512:3;21531:20;21549:1;21531:20;:::i;:::-;21526:25;;21565:20;21583:1;21565:20;:::i;:::-;21560:25;;21719:1;21651:66;21647:74;21644:1;21641:81;21638:107;;;21725:18;;:::i;:::-;21638:107;21769:1;21766;21762:9;21755:16;;21472:305;;;;:::o;21783:185::-;21823:1;21840:20;21858:1;21840:20;:::i;:::-;21835:25;;21874:20;21892:1;21874:20;:::i;:::-;21869:25;;21913:1;21903:35;;21918:18;;:::i;:::-;21903:35;21960:1;21957;21953:9;21948:14;;21783:185;;;;:::o;21974:348::-;22014:7;22037:20;22055:1;22037:20;:::i;:::-;22032:25;;22071:20;22089:1;22071:20;:::i;:::-;22066:25;;22259:1;22191:66;22187:74;22184:1;22181:81;22176:1;22169:9;22162:17;22158:105;22155:131;;;22266:18;;:::i;:::-;22155:131;22314:1;22311;22307:9;22296:20;;21974:348;;;;:::o;22328:191::-;22368:4;22388:20;22406:1;22388:20;:::i;:::-;22383:25;;22422:20;22440:1;22422:20;:::i;:::-;22417:25;;22461:1;22458;22455:8;22452:34;;;22466:18;;:::i;:::-;22452:34;22511:1;22508;22504:9;22496:17;;22328:191;;;;:::o;22525:96::-;22562:7;22591:24;22609:5;22591:24;:::i;:::-;22580:35;;22525:96;;;:::o;22627:90::-;22661:7;22704:5;22697:13;22690:21;22679:32;;22627:90;;;:::o;22723:126::-;22760:7;22800:42;22793:5;22789:54;22778:65;;22723:126;;;:::o;22855:77::-;22892:7;22921:5;22910:16;;22855:77;;;:::o;22938:86::-;22973:7;23013:4;23006:5;23002:16;22991:27;;22938:86;;;:::o;23030:121::-;23088:9;23121:24;23139:5;23121:24;:::i;:::-;23108:37;;23030:121;;;:::o;23157:307::-;23225:1;23235:113;23249:6;23246:1;23243:13;23235:113;;;23334:1;23329:3;23325:11;23319:18;23315:1;23310:3;23306:11;23299:39;23271:2;23268:1;23264:10;23259:15;;23235:113;;;23366:6;23363:1;23360:13;23357:101;;;23446:1;23437:6;23432:3;23428:16;23421:27;23357:101;23206:258;23157:307;;;:::o;23470:281::-;23553:27;23575:4;23553:27;:::i;:::-;23545:6;23541:40;23683:6;23671:10;23668:22;23647:18;23635:10;23632:34;23629:62;23626:88;;;23694:18;;:::i;:::-;23626:88;23734:10;23730:2;23723:22;23513:238;23470:281;;:::o;23757:233::-;23796:3;23819:24;23837:5;23819:24;:::i;:::-;23810:33;;23865:66;23858:5;23855:77;23852:103;;;23935:18;;:::i;:::-;23852:103;23982:1;23975:5;23971:13;23964:20;;23757:233;;;:::o;23996:180::-;24044:77;24041:1;24034:88;24141:4;24138:1;24131:15;24165:4;24162:1;24155:15;24182:180;24230:77;24227:1;24220:88;24327:4;24324:1;24317:15;24351:4;24348:1;24341:15;24368:180;24416:77;24413:1;24406:88;24513:4;24510:1;24503:15;24537:4;24534:1;24527:15;24554:180;24602:77;24599:1;24592:88;24699:4;24696:1;24689:15;24723:4;24720:1;24713:15;24740:117;24849:1;24846;24839:12;24863:117;24972:1;24969;24962:12;24986:117;25095:1;25092;25085:12;25109:117;25218:1;25215;25208:12;25232:102;25273:6;25324:2;25320:7;25315:2;25308:5;25304:14;25300:28;25290:38;;25232:102;;;:::o;25340:222::-;25480:34;25476:1;25468:6;25464:14;25457:58;25549:5;25544:2;25536:6;25532:15;25525:30;25340:222;:::o;25568:229::-;25708:34;25704:1;25696:6;25692:14;25685:58;25777:12;25772:2;25764:6;25760:15;25753:37;25568:229;:::o;25803:221::-;25943:34;25939:1;25931:6;25927:14;25920:58;26012:4;26007:2;25999:6;25995:15;25988:29;25803:221;:::o;26030:177::-;26170:29;26166:1;26158:6;26154:14;26147:53;26030:177;:::o;26213:220::-;26353:34;26349:1;26341:6;26337:14;26330:58;26422:3;26417:2;26409:6;26405:15;26398:28;26213:220;:::o;26439:182::-;26579:34;26575:1;26567:6;26563:14;26556:58;26439:182;:::o;26627:228::-;26767:34;26763:1;26755:6;26751:14;26744:58;26836:11;26831:2;26823:6;26819:15;26812:36;26627:228;:::o;26861:224::-;27001:34;26997:1;26989:6;26985:14;26978:58;27070:7;27065:2;27057:6;27053:15;27046:32;26861:224;:::o;27091:223::-;27231:34;27227:1;27219:6;27215:14;27208:58;27300:6;27295:2;27287:6;27283:15;27276:31;27091:223;:::o;27320:173::-;27460:25;27456:1;27448:6;27444:14;27437:49;27320:173;:::o;27499:153::-;27639:5;27635:1;27627:6;27623:14;27616:29;27499:153;:::o;27658:122::-;27731:24;27749:5;27731:24;:::i;:::-;27724:5;27721:35;27711:63;;27770:1;27767;27760:12;27711:63;27658:122;:::o;27786:116::-;27856:21;27871:5;27856:21;:::i;:::-;27849:5;27846:32;27836:60;;27892:1;27889;27882:12;27836:60;27786:116;:::o;27908:122::-;27981:24;27999:5;27981:24;:::i;:::-;27974:5;27971:35;27961:63;;28020:1;28017;28010:12;27961:63;27908:122;:::o

Swarm Source

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