ETH Price: $2,628.77 (+0.50%)
Gas: 0.87 Gwei

Token

DCPad (DCPAD)
 

Overview

Max Total Supply

5,000,000,000 DCPAD

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
14,082,342.302244277 DCPAD

Value
$0.00
0x818F74B375F044397143711fD70d77a3D0BD7CDA
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:
DCPAD

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 2022-11-03
*/

// SPDX-License-Identifier: Unlicensed

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 swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    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 DCPAD is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 5 * 10**9 * 10**9;
    uint256 private fee1=40;
    uint256 private fee2=40;
    uint256 private liqfee=10;
    uint256 private DCBuyFee=10;
    uint256 private pc1=40;
    uint256 private pc2=30;
    uint256 private pc3=30;
    string private constant _name = "DCPad";
    string private constant _symbol = "DCPAD";
    uint256 private _maxTxAmount = _tTotal.mul(1).div(100);
    uint256 private _maxWalletAmount = _tTotal.div(100).mul(2);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _deployer;
    address payable private _marketingWallet;
    address payable private _development;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private DCBurn = false;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _deployer = payable(msg.sender);
        _marketingWallet = payable(0xc325b5A481A70Db66804937A9f70A0Def0A6f6B3);
        _development = payable(0xe9bFC54574A9264B01f33B1bA283ACACeE2CA679);
        _tOwned[address(this)] = _tTotal.div(100).mul(70);
        _tOwned[_deployer] = _tTotal.div(4);
        _tOwned[address(0xfE3d319aaD1Be56E7B82e897CD129c4c2C8388Dc)] = _tTotal.div(20);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_deployer] = true;
        _isExcludedFromFee[uniswapV2Pair] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal.div(100).mul(70));
        emit Transfer(address(0),_deployer,_tTotal.div(4));
        emit Transfer(address(0),address(0xfE3d319aaD1Be56E7B82e897CD129c4c2C8388Dc),_tTotal.div(20));
    }

    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 _tOwned[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 editFees(uint256 _fee1, uint256 _fee2, uint256 _burn, uint256 _liq) external {
        require(_msgSender() == _deployer);
        require(_fee1 <= 100 && _fee2 <= 100 && _burn <= 100 && _liq <= 10,"fees cannot be higher than 10%");
        fee1 = _fee1;
        fee2 = _fee2;
        DCBuyFee = _burn;
        liqfee = _liq;
    }

    function enableDCBurn() external {
        require(_msgSender() == _deployer);
        DCBurn = !DCBurn;
    }

    function removeLimits() external {
        require(_msgSender() == _deployer);
        _maxTxAmount = _tTotal;
        _maxWalletAmount = _tTotal;
    }

    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _deployer);
        minBalance = newMin;

    }

    function changePercentage(uint256 _pc1, uint256 _pc2, uint256 _pc3) external {
        require(_msgSender() == _deployer);
        require(_pc1 + _pc2 + _pc3 == 100, "percentages have to add up to 100 you tard");
        pc1 = _pc1;
        pc2 = _pc2;
        pc3 = _pc3;
    }
   
    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");
        if(to != uniswapV2Pair && !_isExcludedFromFee[to]) {
            require((_tOwned[to] + amount) <= _maxWalletAmount,"Max wallet size exceeded");
        }
        _tax = 0;
        if(!_isExcludedFromFee[from]) {
            _tax = fee1.add(liqfee).add(DCBuyFee);
        }
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
     
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 2 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapAndLiquify(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        if(DCBurn) {
                            swapEthForDCAndBurn(address(this).balance);
                        }
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2.add(liqfee).add(DCBuyFee);
        }
		
        _transferStandard(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 swapEthForDCAndBurn(uint256 ethAmount) private {
        uint256 buyAmount = ethAmount.div(6);
        address [] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(0x7B4328c127B85369D9f82ca0503B000D09CF9180);
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: buyAmount}(
            0,
            path,
            address(0xdead),
            block.timestamp
        );
    }
    
    function swapAndLiquify(uint256 tokenAmount) private {
        uint256 half = liqfee.div(2);
        uint256 part = fee2.add(half);
        uint256 sum = fee2.add(liqfee);
        uint256 swapTotal = tokenAmount.mul(part).div(sum);
        swapTokensForEth(swapTotal);
        addLiquidity(tokenAmount.sub(swapTotal),address(this).balance.mul(half).div(part),_deployer);
    }

    function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }
    function sendETHToFee(uint256 amount) private {
        _deployer.transfer(amount.div(100).mul(pc1));
        _marketingWallet.transfer(amount.div(100).mul(pc2));
        _development.transfer(amount.div(100).mul(pc3));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (2 minutes);
    }
    
    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 _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _deployer);
        uint256 contractBalance = balanceOf(address(this));
        swapAndLiquify(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _deployer);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _deployer);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_deployer,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pc1","type":"uint256"},{"internalType":"uint256","name":"_pc2","type":"uint256"},{"internalType":"uint256","name":"_pc3","type":"uint256"}],"name":"changePercentage","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"_fee1","type":"uint256"},{"internalType":"uint256","name":"_fee2","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_liq","type":"uint256"}],"name":"editFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableDCBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","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"}]

608060405260286009556028600a55600a600b55600a600c556028600d55601e600e55601e600f55620000646064620000506001674563918244f4000062000a5060201b620011ed1790919060201c565b62000ad460201b620012681790919060201c565b601055620000a46002620000906064674563918244f4000062000ad460201b620012681790919060201c565b62000a5060201b620011ed1790919060201c565b601155620000cb6103e8674563918244f4000062000ad460201b620012681790919060201c565b6012556000601760146101000a81548160ff0219169083151502179055506000601760166101000a81548160ff02191690831515021790555060006017806101000a81548160ff02191690831515021790555060006200013062000b2660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c325b5a481a70db66804937a9f70a0def0a6f6b3601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e9bfc54574a9264b01f33b1ba283acacee2ca679601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002f66046620002e26064674563918244f4000062000ad460201b620012681790919060201c565b62000a5060201b620011ed1790919060201c565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200035c6004674563918244f4000062000ad460201b620012681790919060201c565b60026000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003e46014674563918244f4000062000ad460201b620012681790919060201c565b6002600073fe3d319aad1be56e7b82e897cd129c4c2c8388dc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460006200045162000b2e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620006ac57600080fd5b505afa158015620006c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006e7919062000bd6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200076c57600080fd5b505afa15801562000781573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007a7919062000bd6565b6040518363ffffffff1660e01b8152600401620007c692919062000c92565b602060405180830381600087803b158015620007e157600080fd5b505af1158015620007f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200081c919062000bd6565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620008e96046620008d56064674563918244f4000062000ad460201b620012681790919060201c565b62000a5060201b620011ed1790919060201c565b604051620008f8919062000d05565b60405180910390a3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620009956004674563918244f4000062000ad460201b620012681790919060201c565b604051620009a4919062000d05565b60405180910390a373fe3d319aad1be56e7b82e897cd129c4c2c8388dc73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000a336014674563918244f4000062000ad460201b620012681790919060201c565b60405162000a42919062000d05565b60405180910390a362000f28565b60008083141562000a65576000905062000ace565b6000828462000a75919062000d76565b905082848262000a86919062000d3e565b1462000ac9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ac09062000ce3565b60405180910390fd5b809150505b92915050565b600062000b1e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b5760201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000ba1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b98919062000cbf565b60405180910390fd5b506000838562000bb2919062000d3e565b9050809150509392505050565b60008151905062000bd08162000f0e565b92915050565b60006020828403121562000bef5762000bee62000ea9565b5b600062000bff8482850162000bbf565b91505092915050565b62000c138162000dd7565b82525050565b600062000c268262000d22565b62000c32818562000d2d565b935062000c4481856020860162000e15565b62000c4f8162000eae565b840191505092915050565b600062000c6960218362000d2d565b915062000c768262000ebf565b604082019050919050565b62000c8c8162000e0b565b82525050565b600060408201905062000ca9600083018562000c08565b62000cb8602083018462000c08565b9392505050565b6000602082019050818103600083015262000cdb818462000c19565b905092915050565b6000602082019050818103600083015262000cfe8162000c5a565b9050919050565b600060208201905062000d1c600083018462000c81565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000d4b8262000e0b565b915062000d588362000e0b565b92508262000d6b5762000d6a62000e7a565b5b828204905092915050565b600062000d838262000e0b565b915062000d908362000e0b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000dcc5762000dcb62000e4b565b5b828202905092915050565b600062000de48262000deb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000e3557808201518184015260208101905062000e18565b8381111562000e45576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b62000f198162000dd7565b811462000f2557600080fd5b50565b613bd08062000f386000396000f3fe6080604052600436106101395760003560e01c8063710a9d9b116100ab57806395d89b411161006f57806395d89b41146103d1578063a9059cbb146103fc578063b515566a14610439578063c3c8cd8014610462578063c9567bf914610479578063dd62ed3e1461049057610140565b8063710a9d9b14610338578063715018a61461034f578063751039fc146103665780638623aae01461037d5780638da5cb5b146103a657610140565b806323b872dd116100fd57806323b872dd1461022a578063273123b714610267578063313ce567146102905780634ea18fab146102bb5780636fc3eaec146102e457806370a08231146102fb57610140565b806306fdde0314610145578063095ea7b31461017057806316114acd146101ad57806318160ddd146101d65780631d9305bf1461020157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104cd565b60405161016791906131b0565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612ba8565b61050a565b6040516101a49190613149565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf9190612abb565b610528565b005b3480156101e257600080fd5b506101eb6106ca565b6040516101f89190613372565b60405180910390f35b34801561020d57600080fd5b5061022860048036038101906102239190612d5e565b6106da565b005b34801561023657600080fd5b50610251600480360381019061024c9190612b55565b6107c8565b60405161025e9190613149565b60405180910390f35b34801561027357600080fd5b5061028e60048036038101906102899190612abb565b6108a1565b005b34801561029c57600080fd5b506102a5610991565b6040516102b291906133e7565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd9190612c5e565b61099a565b005b3480156102f057600080fd5b506102f9610a05565b005b34801561030757600080fd5b50610322600480360381019061031d9190612abb565b610a77565b60405161032f9190613372565b60405180910390f35b34801561034457600080fd5b5061034d610ac0565b005b34801561035b57600080fd5b50610364610b4d565b005b34801561037257600080fd5b5061037b610ca0565b005b34801561038957600080fd5b506103a4600480360381019061039f9190612cb8565b610d21565b005b3480156103b257600080fd5b506103bb610df5565b6040516103c891906130a4565b60405180910390f35b3480156103dd57600080fd5b506103e6610e1e565b6040516103f391906131b0565b60405180910390f35b34801561040857600080fd5b50610423600480360381019061041e9190612ba8565b610e5b565b6040516104309190613149565b60405180910390f35b34801561044557600080fd5b50610460600480360381019061045b9190612be8565b610e79565b005b34801561046e57600080fd5b50610477610fa3565b005b34801561048557600080fd5b5061048e61101d565b005b34801561049c57600080fd5b506104b760048036038101906104b29190612b15565b611166565b6040516104c49190613372565b60405180910390f35b60606040518060400160405280600581526020017f4443506164000000000000000000000000000000000000000000000000000000815250905090565b600061051e6105176112b2565b84846112ba565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105696112b2565b73ffffffffffffffffffffffffffffffffffffffff161461058957600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161060691906130a4565b60206040518083038186803b15801561061e57600080fd5b505afa158015610632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106569190612c8b565b6040518363ffffffff1660e01b81526004016106739291906130bf565b602060405180830381600087803b15801561068d57600080fd5b505af11580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190612c31565b505050565b6000674563918244f40000905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071b6112b2565b73ffffffffffffffffffffffffffffffffffffffff161461073b57600080fd5b6064841115801561074d575060648311155b801561075a575060648211155b80156107675750600a8111155b6107a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079d906132f2565b60405180910390fd5b8360098190555082600a8190555081600c8190555080600b8190555050505050565b60006107d5848484611485565b610896846107e16112b2565b61089185604051806060016040528060288152602001613b7360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108476112b2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1a9092919063ffffffff16565b6112ba565b600190509392505050565b6108a96112b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90613292565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109db6112b2565b73ffffffffffffffffffffffffffffffffffffffff16146109fb57600080fd5b8060128190555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a466112b2565b73ffffffffffffffffffffffffffffffffffffffff1614610a6657600080fd5b6000479050610a7481611d7e565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b016112b2565b73ffffffffffffffffffffffffffffffffffffffff1614610b2157600080fd5b601760149054906101000a900460ff1615601760146101000a81548160ff021916908315150217905550565b610b556112b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd990613292565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce16112b2565b73ffffffffffffffffffffffffffffffffffffffff1614610d0157600080fd5b674563918244f40000601081905550674563918244f40000601181905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d626112b2565b73ffffffffffffffffffffffffffffffffffffffff1614610d8257600080fd5b6064818385610d9191906134a8565b610d9b91906134a8565b14610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290613212565b60405180910390fd5b82600d8190555081600e8190555080600f81905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4443504144000000000000000000000000000000000000000000000000000000815250905090565b6000610e6f610e686112b2565b8484611485565b6001905092915050565b610e816112b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0590613292565b60405180910390fd5b60005b8151811015610f9f57600160056000848481518110610f3357610f32613765565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f97906136be565b915050610f11565b5050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fe46112b2565b73ffffffffffffffffffffffffffffffffffffffff161461100457600080fd5b600061100f30610a77565b905061101a81611f31565b50565b6110256112b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a990613292565b60405180910390fd5b601760159054906101000a900460ff1615611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f990613352565b60405180910390fd5b61111c61110e30610a77565b47611117610df5565b61201b565b60016017806101000a81548160ff0219169083151502179055506001601760156101000a81548160ff02191690831515021790555060784261115e91906134a8565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808314156112005760009050611262565b6000828461120e919061352f565b905082848261121d91906134fe565b1461125d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125490613272565b60405180910390fd5b809150505b92915050565b60006112aa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061213f565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561132a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132190613332565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190613232565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114789190613372565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ec90613312565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c906131d2565b60405180910390fd5b600081116115a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159f906132b2565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116505750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116e55760115481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116a391906134a8565b11156116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db906132d2565b60405180910390fd5b5b6000600881905550600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661177057611769600c5461175b600b546009546121a290919063ffffffff16565b6121a290919063ffffffff16565b6008819055505b611778610df5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117e657506117b6610df5565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611bd257600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561188f5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61189857600080fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119435750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119995750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119a6575060075442105b15611a56576010548111156119ba57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a0557600080fd5b601e42611a1291906134a8565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601760169054906101000a900460ff16158015611ac15750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ad7575060178054906101000a900460ff165b8015611b2d5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bd1576007544211611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d906131f2565b60405180910390fd5b6000611b8130610a77565b9050601254811115611bcf57611b9681611f31565b60004790506000811115611bcd57601760149054906101000a900460ff1615611bc357611bc247612200565b5b611bcc47611d7e565b5b505b505b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611c7d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cd35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d0a57611d03600c54611cf5600b54600a546121a290919063ffffffff16565b6121a290919063ffffffff16565b6008819055505b611d15838383612453565b505050565b6000838311158290611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5991906131b0565b60405180910390fd5b5060008385611d719190613589565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611de2600d54611dd460648661126890919063ffffffff16565b6111ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e0d573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e72600e54611e6460648661126890919063ffffffff16565b6111ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e9d573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f02600f54611ef460648661126890919063ffffffff16565b6111ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f2d573d6000803e3d6000fd5b5050565b6000611f496002600b5461126890919063ffffffff16565b90506000611f6282600a546121a290919063ffffffff16565b90506000611f7d600b54600a546121a290919063ffffffff16565b90506000611fa682611f9885886111ed90919063ffffffff16565b61126890919063ffffffff16565b9050611fb18161268e565b612014611fc7828761291690919063ffffffff16565b611fec85611fde88476111ed90919063ffffffff16565b61126890919063ffffffff16565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661201b565b5050505050565b6001601760166101000a81548160ff02191690831515021790555061206330601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856112ba565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b81526004016120ca969594939291906130e8565b6060604051808303818588803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061211c9190612d0b565b5050506000601760166101000a81548160ff021916908315150217905550505050565b60008083118290612186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217d91906131b0565b60405180910390fd5b506000838561219591906134fe565b9050809150509392505050565b60008082846121b191906134a8565b9050838110156121f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ed90613252565b60405180910390fd5b8091505092915050565b600061221660068361126890919063ffffffff16565b90506000600267ffffffffffffffff81111561223557612234613794565b5b6040519080825280602002602001820160405280156122635781602001602082028036833780820191505090505b509050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156122ce57600080fd5b505afa1580156122e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123069190612ae8565b8160008151811061231a57612319613765565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737b4328c127b85369d9f82ca0503b000d09cf91808160018151811061237d5761237c613765565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008461dead426040518663ffffffff1660e01b815260040161241c9493929190613164565b6000604051808303818588803b15801561243557600080fd5b505af1158015612449573d6000803e3d6000fd5b5050505050505050565b60008061245f83612960565b915091506124b583600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461291690919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061254a82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125df81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161267f9190613372565b60405180910390a35050505050565b6001601760166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156126c6576126c5613794565b5b6040519080825280602002602001820160405280156126f45781602001602082028036833780820191505090505b509050308160008151811061270c5761270b613765565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ae57600080fd5b505afa1580156127c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e69190612ae8565b816001815181106127fa576127f9613765565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061286130601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112ba565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016128c595949392919061338d565b600060405180830381600087803b1580156128df57600080fd5b505af11580156128f3573d6000803e3d6000fd5b50505050506000601760166101000a81548160ff02191690831515021790555050565b600061295883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d1a565b905092915050565b600080600061298e6103e8612980600854876111ed90919063ffffffff16565b61126890919063ffffffff16565b905060006129a5828661291690919063ffffffff16565b90508082935093505050915091565b60006129c76129c284613427565b613402565b905080838252602082019050828560208602820111156129ea576129e96137c8565b5b60005b85811015612a1a5781612a008882612a24565b8452602084019350602083019250506001810190506129ed565b5050509392505050565b600081359050612a3381613b2d565b92915050565b600081519050612a4881613b2d565b92915050565b600082601f830112612a6357612a626137c3565b5b8135612a738482602086016129b4565b91505092915050565b600081519050612a8b81613b44565b92915050565b600081359050612aa081613b5b565b92915050565b600081519050612ab581613b5b565b92915050565b600060208284031215612ad157612ad06137d2565b5b6000612adf84828501612a24565b91505092915050565b600060208284031215612afe57612afd6137d2565b5b6000612b0c84828501612a39565b91505092915050565b60008060408385031215612b2c57612b2b6137d2565b5b6000612b3a85828601612a24565b9250506020612b4b85828601612a24565b9150509250929050565b600080600060608486031215612b6e57612b6d6137d2565b5b6000612b7c86828701612a24565b9350506020612b8d86828701612a24565b9250506040612b9e86828701612a91565b9150509250925092565b60008060408385031215612bbf57612bbe6137d2565b5b6000612bcd85828601612a24565b9250506020612bde85828601612a91565b9150509250929050565b600060208284031215612bfe57612bfd6137d2565b5b600082013567ffffffffffffffff811115612c1c57612c1b6137cd565b5b612c2884828501612a4e565b91505092915050565b600060208284031215612c4757612c466137d2565b5b6000612c5584828501612a7c565b91505092915050565b600060208284031215612c7457612c736137d2565b5b6000612c8284828501612a91565b91505092915050565b600060208284031215612ca157612ca06137d2565b5b6000612caf84828501612aa6565b91505092915050565b600080600060608486031215612cd157612cd06137d2565b5b6000612cdf86828701612a91565b9350506020612cf086828701612a91565b9250506040612d0186828701612a91565b9150509250925092565b600080600060608486031215612d2457612d236137d2565b5b6000612d3286828701612aa6565b9350506020612d4386828701612aa6565b9250506040612d5486828701612aa6565b9150509250925092565b60008060008060808587031215612d7857612d776137d2565b5b6000612d8687828801612a91565b9450506020612d9787828801612a91565b9350506040612da887828801612a91565b9250506060612db987828801612a91565b91505092959194509250565b6000612dd18383612dec565b60208301905092915050565b612de681613612565b82525050565b612df5816135bd565b82525050565b612e04816135bd565b82525050565b6000612e1582613463565b612e1f8185613486565b9350612e2a83613453565b8060005b83811015612e5b578151612e428882612dc5565b9750612e4d83613479565b925050600181019050612e2e565b5085935050505092915050565b612e71816135cf565b82525050565b612e8081613624565b82525050565b6000612e918261346e565b612e9b8185613497565b9350612eab81856020860161365a565b612eb4816137d7565b840191505092915050565b6000612ecc602383613497565b9150612ed7826137e8565b604082019050919050565b6000612eef602883613497565b9150612efa82613837565b604082019050919050565b6000612f12602a83613497565b9150612f1d82613886565b604082019050919050565b6000612f35602283613497565b9150612f40826138d5565b604082019050919050565b6000612f58601b83613497565b9150612f6382613924565b602082019050919050565b6000612f7b602183613497565b9150612f868261394d565b604082019050919050565b6000612f9e602083613497565b9150612fa98261399c565b602082019050919050565b6000612fc1602983613497565b9150612fcc826139c5565b604082019050919050565b6000612fe4601883613497565b9150612fef82613a14565b602082019050919050565b6000613007601e83613497565b915061301282613a3d565b602082019050919050565b600061302a602583613497565b915061303582613a66565b604082019050919050565b600061304d602483613497565b915061305882613ab5565b604082019050919050565b6000613070601783613497565b915061307b82613b04565b602082019050919050565b61308f816135fb565b82525050565b61309e81613605565b82525050565b60006020820190506130b96000830184612dfb565b92915050565b60006040820190506130d46000830185612ddd565b6130e16020830184613086565b9392505050565b600060c0820190506130fd6000830189612dfb565b61310a6020830188613086565b6131176040830187612e77565b6131246060830186612e77565b6131316080830185612dfb565b61313e60a0830184613086565b979650505050505050565b600060208201905061315e6000830184612e68565b92915050565b60006080820190506131796000830187612e77565b818103602083015261318b8186612e0a565b905061319a6040830185612dfb565b6131a76060830184613086565b95945050505050565b600060208201905081810360008301526131ca8184612e86565b905092915050565b600060208201905081810360008301526131eb81612ebf565b9050919050565b6000602082019050818103600083015261320b81612ee2565b9050919050565b6000602082019050818103600083015261322b81612f05565b9050919050565b6000602082019050818103600083015261324b81612f28565b9050919050565b6000602082019050818103600083015261326b81612f4b565b9050919050565b6000602082019050818103600083015261328b81612f6e565b9050919050565b600060208201905081810360008301526132ab81612f91565b9050919050565b600060208201905081810360008301526132cb81612fb4565b9050919050565b600060208201905081810360008301526132eb81612fd7565b9050919050565b6000602082019050818103600083015261330b81612ffa565b9050919050565b6000602082019050818103600083015261332b8161301d565b9050919050565b6000602082019050818103600083015261334b81613040565b9050919050565b6000602082019050818103600083015261336b81613063565b9050919050565b60006020820190506133876000830184613086565b92915050565b600060a0820190506133a26000830188613086565b6133af6020830187612e77565b81810360408301526133c18186612e0a565b90506133d06060830185612dfb565b6133dd6080830184613086565b9695505050505050565b60006020820190506133fc6000830184613095565b92915050565b600061340c61341d565b9050613418828261368d565b919050565b6000604051905090565b600067ffffffffffffffff82111561344257613441613794565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006134b3826135fb565b91506134be836135fb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134f3576134f2613707565b5b828201905092915050565b6000613509826135fb565b9150613514836135fb565b92508261352457613523613736565b5b828204905092915050565b600061353a826135fb565b9150613545836135fb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561357e5761357d613707565b5b828202905092915050565b6000613594826135fb565b915061359f836135fb565b9250828210156135b2576135b1613707565b5b828203905092915050565b60006135c8826135db565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061361d82613636565b9050919050565b600061362f826135fb565b9050919050565b600061364182613648565b9050919050565b6000613653826135db565b9050919050565b60005b8381101561367857808201518184015260208101905061365d565b83811115613687576000848401525b50505050565b613696826137d7565b810181811067ffffffffffffffff821117156136b5576136b4613794565b5b80604052505050565b60006136c9826135fb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136fc576136fb613707565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203260008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f70657263656e7461676573206861766520746f2061646420757020746f20313060008201527f3020796f75207461726400000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4d61782077616c6c65742073697a652065786365656465640000000000000000600082015250565b7f666565732063616e6e6f7420626520686967686572207468616e203130250000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b613b36816135bd565b8114613b4157600080fd5b50565b613b4d816135cf565b8114613b5857600080fd5b50565b613b64816135fb565b8114613b6f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d9f835da7d8f599a66002c16a4f760f708ade23c6c169167b05e7b160854122664736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063710a9d9b116100ab57806395d89b411161006f57806395d89b41146103d1578063a9059cbb146103fc578063b515566a14610439578063c3c8cd8014610462578063c9567bf914610479578063dd62ed3e1461049057610140565b8063710a9d9b14610338578063715018a61461034f578063751039fc146103665780638623aae01461037d5780638da5cb5b146103a657610140565b806323b872dd116100fd57806323b872dd1461022a578063273123b714610267578063313ce567146102905780634ea18fab146102bb5780636fc3eaec146102e457806370a08231146102fb57610140565b806306fdde0314610145578063095ea7b31461017057806316114acd146101ad57806318160ddd146101d65780631d9305bf1461020157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104cd565b60405161016791906131b0565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612ba8565b61050a565b6040516101a49190613149565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf9190612abb565b610528565b005b3480156101e257600080fd5b506101eb6106ca565b6040516101f89190613372565b60405180910390f35b34801561020d57600080fd5b5061022860048036038101906102239190612d5e565b6106da565b005b34801561023657600080fd5b50610251600480360381019061024c9190612b55565b6107c8565b60405161025e9190613149565b60405180910390f35b34801561027357600080fd5b5061028e60048036038101906102899190612abb565b6108a1565b005b34801561029c57600080fd5b506102a5610991565b6040516102b291906133e7565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd9190612c5e565b61099a565b005b3480156102f057600080fd5b506102f9610a05565b005b34801561030757600080fd5b50610322600480360381019061031d9190612abb565b610a77565b60405161032f9190613372565b60405180910390f35b34801561034457600080fd5b5061034d610ac0565b005b34801561035b57600080fd5b50610364610b4d565b005b34801561037257600080fd5b5061037b610ca0565b005b34801561038957600080fd5b506103a4600480360381019061039f9190612cb8565b610d21565b005b3480156103b257600080fd5b506103bb610df5565b6040516103c891906130a4565b60405180910390f35b3480156103dd57600080fd5b506103e6610e1e565b6040516103f391906131b0565b60405180910390f35b34801561040857600080fd5b50610423600480360381019061041e9190612ba8565b610e5b565b6040516104309190613149565b60405180910390f35b34801561044557600080fd5b50610460600480360381019061045b9190612be8565b610e79565b005b34801561046e57600080fd5b50610477610fa3565b005b34801561048557600080fd5b5061048e61101d565b005b34801561049c57600080fd5b506104b760048036038101906104b29190612b15565b611166565b6040516104c49190613372565b60405180910390f35b60606040518060400160405280600581526020017f4443506164000000000000000000000000000000000000000000000000000000815250905090565b600061051e6105176112b2565b84846112ba565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105696112b2565b73ffffffffffffffffffffffffffffffffffffffff161461058957600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161060691906130a4565b60206040518083038186803b15801561061e57600080fd5b505afa158015610632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106569190612c8b565b6040518363ffffffff1660e01b81526004016106739291906130bf565b602060405180830381600087803b15801561068d57600080fd5b505af11580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190612c31565b505050565b6000674563918244f40000905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071b6112b2565b73ffffffffffffffffffffffffffffffffffffffff161461073b57600080fd5b6064841115801561074d575060648311155b801561075a575060648211155b80156107675750600a8111155b6107a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079d906132f2565b60405180910390fd5b8360098190555082600a8190555081600c8190555080600b8190555050505050565b60006107d5848484611485565b610896846107e16112b2565b61089185604051806060016040528060288152602001613b7360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108476112b2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1a9092919063ffffffff16565b6112ba565b600190509392505050565b6108a96112b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90613292565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109db6112b2565b73ffffffffffffffffffffffffffffffffffffffff16146109fb57600080fd5b8060128190555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a466112b2565b73ffffffffffffffffffffffffffffffffffffffff1614610a6657600080fd5b6000479050610a7481611d7e565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b016112b2565b73ffffffffffffffffffffffffffffffffffffffff1614610b2157600080fd5b601760149054906101000a900460ff1615601760146101000a81548160ff021916908315150217905550565b610b556112b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd990613292565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce16112b2565b73ffffffffffffffffffffffffffffffffffffffff1614610d0157600080fd5b674563918244f40000601081905550674563918244f40000601181905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d626112b2565b73ffffffffffffffffffffffffffffffffffffffff1614610d8257600080fd5b6064818385610d9191906134a8565b610d9b91906134a8565b14610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290613212565b60405180910390fd5b82600d8190555081600e8190555080600f81905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4443504144000000000000000000000000000000000000000000000000000000815250905090565b6000610e6f610e686112b2565b8484611485565b6001905092915050565b610e816112b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0590613292565b60405180910390fd5b60005b8151811015610f9f57600160056000848481518110610f3357610f32613765565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f97906136be565b915050610f11565b5050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fe46112b2565b73ffffffffffffffffffffffffffffffffffffffff161461100457600080fd5b600061100f30610a77565b905061101a81611f31565b50565b6110256112b2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a990613292565b60405180910390fd5b601760159054906101000a900460ff1615611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f990613352565b60405180910390fd5b61111c61110e30610a77565b47611117610df5565b61201b565b60016017806101000a81548160ff0219169083151502179055506001601760156101000a81548160ff02191690831515021790555060784261115e91906134a8565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808314156112005760009050611262565b6000828461120e919061352f565b905082848261121d91906134fe565b1461125d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125490613272565b60405180910390fd5b809150505b92915050565b60006112aa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061213f565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561132a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132190613332565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190613232565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114789190613372565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ec90613312565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c906131d2565b60405180910390fd5b600081116115a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159f906132b2565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116505750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116e55760115481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116a391906134a8565b11156116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db906132d2565b60405180910390fd5b5b6000600881905550600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661177057611769600c5461175b600b546009546121a290919063ffffffff16565b6121a290919063ffffffff16565b6008819055505b611778610df5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117e657506117b6610df5565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611bd257600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561188f5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61189857600080fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119435750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119995750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119a6575060075442105b15611a56576010548111156119ba57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a0557600080fd5b601e42611a1291906134a8565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601760169054906101000a900460ff16158015611ac15750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ad7575060178054906101000a900460ff165b8015611b2d5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bd1576007544211611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d906131f2565b60405180910390fd5b6000611b8130610a77565b9050601254811115611bcf57611b9681611f31565b60004790506000811115611bcd57601760149054906101000a900460ff1615611bc357611bc247612200565b5b611bcc47611d7e565b5b505b505b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611c7d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cd35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d0a57611d03600c54611cf5600b54600a546121a290919063ffffffff16565b6121a290919063ffffffff16565b6008819055505b611d15838383612453565b505050565b6000838311158290611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5991906131b0565b60405180910390fd5b5060008385611d719190613589565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611de2600d54611dd460648661126890919063ffffffff16565b6111ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e0d573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e72600e54611e6460648661126890919063ffffffff16565b6111ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e9d573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f02600f54611ef460648661126890919063ffffffff16565b6111ed90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f2d573d6000803e3d6000fd5b5050565b6000611f496002600b5461126890919063ffffffff16565b90506000611f6282600a546121a290919063ffffffff16565b90506000611f7d600b54600a546121a290919063ffffffff16565b90506000611fa682611f9885886111ed90919063ffffffff16565b61126890919063ffffffff16565b9050611fb18161268e565b612014611fc7828761291690919063ffffffff16565b611fec85611fde88476111ed90919063ffffffff16565b61126890919063ffffffff16565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661201b565b5050505050565b6001601760166101000a81548160ff02191690831515021790555061206330601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856112ba565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b81526004016120ca969594939291906130e8565b6060604051808303818588803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061211c9190612d0b565b5050506000601760166101000a81548160ff021916908315150217905550505050565b60008083118290612186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217d91906131b0565b60405180910390fd5b506000838561219591906134fe565b9050809150509392505050565b60008082846121b191906134a8565b9050838110156121f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ed90613252565b60405180910390fd5b8091505092915050565b600061221660068361126890919063ffffffff16565b90506000600267ffffffffffffffff81111561223557612234613794565b5b6040519080825280602002602001820160405280156122635781602001602082028036833780820191505090505b509050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156122ce57600080fd5b505afa1580156122e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123069190612ae8565b8160008151811061231a57612319613765565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737b4328c127b85369d9f82ca0503b000d09cf91808160018151811061237d5761237c613765565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008461dead426040518663ffffffff1660e01b815260040161241c9493929190613164565b6000604051808303818588803b15801561243557600080fd5b505af1158015612449573d6000803e3d6000fd5b5050505050505050565b60008061245f83612960565b915091506124b583600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461291690919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061254a82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125df81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121a290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161267f9190613372565b60405180910390a35050505050565b6001601760166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156126c6576126c5613794565b5b6040519080825280602002602001820160405280156126f45781602001602082028036833780820191505090505b509050308160008151811061270c5761270b613765565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ae57600080fd5b505afa1580156127c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e69190612ae8565b816001815181106127fa576127f9613765565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061286130601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112ba565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016128c595949392919061338d565b600060405180830381600087803b1580156128df57600080fd5b505af11580156128f3573d6000803e3d6000fd5b50505050506000601760166101000a81548160ff02191690831515021790555050565b600061295883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d1a565b905092915050565b600080600061298e6103e8612980600854876111ed90919063ffffffff16565b61126890919063ffffffff16565b905060006129a5828661291690919063ffffffff16565b90508082935093505050915091565b60006129c76129c284613427565b613402565b905080838252602082019050828560208602820111156129ea576129e96137c8565b5b60005b85811015612a1a5781612a008882612a24565b8452602084019350602083019250506001810190506129ed565b5050509392505050565b600081359050612a3381613b2d565b92915050565b600081519050612a4881613b2d565b92915050565b600082601f830112612a6357612a626137c3565b5b8135612a738482602086016129b4565b91505092915050565b600081519050612a8b81613b44565b92915050565b600081359050612aa081613b5b565b92915050565b600081519050612ab581613b5b565b92915050565b600060208284031215612ad157612ad06137d2565b5b6000612adf84828501612a24565b91505092915050565b600060208284031215612afe57612afd6137d2565b5b6000612b0c84828501612a39565b91505092915050565b60008060408385031215612b2c57612b2b6137d2565b5b6000612b3a85828601612a24565b9250506020612b4b85828601612a24565b9150509250929050565b600080600060608486031215612b6e57612b6d6137d2565b5b6000612b7c86828701612a24565b9350506020612b8d86828701612a24565b9250506040612b9e86828701612a91565b9150509250925092565b60008060408385031215612bbf57612bbe6137d2565b5b6000612bcd85828601612a24565b9250506020612bde85828601612a91565b9150509250929050565b600060208284031215612bfe57612bfd6137d2565b5b600082013567ffffffffffffffff811115612c1c57612c1b6137cd565b5b612c2884828501612a4e565b91505092915050565b600060208284031215612c4757612c466137d2565b5b6000612c5584828501612a7c565b91505092915050565b600060208284031215612c7457612c736137d2565b5b6000612c8284828501612a91565b91505092915050565b600060208284031215612ca157612ca06137d2565b5b6000612caf84828501612aa6565b91505092915050565b600080600060608486031215612cd157612cd06137d2565b5b6000612cdf86828701612a91565b9350506020612cf086828701612a91565b9250506040612d0186828701612a91565b9150509250925092565b600080600060608486031215612d2457612d236137d2565b5b6000612d3286828701612aa6565b9350506020612d4386828701612aa6565b9250506040612d5486828701612aa6565b9150509250925092565b60008060008060808587031215612d7857612d776137d2565b5b6000612d8687828801612a91565b9450506020612d9787828801612a91565b9350506040612da887828801612a91565b9250506060612db987828801612a91565b91505092959194509250565b6000612dd18383612dec565b60208301905092915050565b612de681613612565b82525050565b612df5816135bd565b82525050565b612e04816135bd565b82525050565b6000612e1582613463565b612e1f8185613486565b9350612e2a83613453565b8060005b83811015612e5b578151612e428882612dc5565b9750612e4d83613479565b925050600181019050612e2e565b5085935050505092915050565b612e71816135cf565b82525050565b612e8081613624565b82525050565b6000612e918261346e565b612e9b8185613497565b9350612eab81856020860161365a565b612eb4816137d7565b840191505092915050565b6000612ecc602383613497565b9150612ed7826137e8565b604082019050919050565b6000612eef602883613497565b9150612efa82613837565b604082019050919050565b6000612f12602a83613497565b9150612f1d82613886565b604082019050919050565b6000612f35602283613497565b9150612f40826138d5565b604082019050919050565b6000612f58601b83613497565b9150612f6382613924565b602082019050919050565b6000612f7b602183613497565b9150612f868261394d565b604082019050919050565b6000612f9e602083613497565b9150612fa98261399c565b602082019050919050565b6000612fc1602983613497565b9150612fcc826139c5565b604082019050919050565b6000612fe4601883613497565b9150612fef82613a14565b602082019050919050565b6000613007601e83613497565b915061301282613a3d565b602082019050919050565b600061302a602583613497565b915061303582613a66565b604082019050919050565b600061304d602483613497565b915061305882613ab5565b604082019050919050565b6000613070601783613497565b915061307b82613b04565b602082019050919050565b61308f816135fb565b82525050565b61309e81613605565b82525050565b60006020820190506130b96000830184612dfb565b92915050565b60006040820190506130d46000830185612ddd565b6130e16020830184613086565b9392505050565b600060c0820190506130fd6000830189612dfb565b61310a6020830188613086565b6131176040830187612e77565b6131246060830186612e77565b6131316080830185612dfb565b61313e60a0830184613086565b979650505050505050565b600060208201905061315e6000830184612e68565b92915050565b60006080820190506131796000830187612e77565b818103602083015261318b8186612e0a565b905061319a6040830185612dfb565b6131a76060830184613086565b95945050505050565b600060208201905081810360008301526131ca8184612e86565b905092915050565b600060208201905081810360008301526131eb81612ebf565b9050919050565b6000602082019050818103600083015261320b81612ee2565b9050919050565b6000602082019050818103600083015261322b81612f05565b9050919050565b6000602082019050818103600083015261324b81612f28565b9050919050565b6000602082019050818103600083015261326b81612f4b565b9050919050565b6000602082019050818103600083015261328b81612f6e565b9050919050565b600060208201905081810360008301526132ab81612f91565b9050919050565b600060208201905081810360008301526132cb81612fb4565b9050919050565b600060208201905081810360008301526132eb81612fd7565b9050919050565b6000602082019050818103600083015261330b81612ffa565b9050919050565b6000602082019050818103600083015261332b8161301d565b9050919050565b6000602082019050818103600083015261334b81613040565b9050919050565b6000602082019050818103600083015261336b81613063565b9050919050565b60006020820190506133876000830184613086565b92915050565b600060a0820190506133a26000830188613086565b6133af6020830187612e77565b81810360408301526133c18186612e0a565b90506133d06060830185612dfb565b6133dd6080830184613086565b9695505050505050565b60006020820190506133fc6000830184613095565b92915050565b600061340c61341d565b9050613418828261368d565b919050565b6000604051905090565b600067ffffffffffffffff82111561344257613441613794565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006134b3826135fb565b91506134be836135fb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134f3576134f2613707565b5b828201905092915050565b6000613509826135fb565b9150613514836135fb565b92508261352457613523613736565b5b828204905092915050565b600061353a826135fb565b9150613545836135fb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561357e5761357d613707565b5b828202905092915050565b6000613594826135fb565b915061359f836135fb565b9250828210156135b2576135b1613707565b5b828203905092915050565b60006135c8826135db565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061361d82613636565b9050919050565b600061362f826135fb565b9050919050565b600061364182613648565b9050919050565b6000613653826135db565b9050919050565b60005b8381101561367857808201518184015260208101905061365d565b83811115613687576000848401525b50505050565b613696826137d7565b810181811067ffffffffffffffff821117156136b5576136b4613794565b5b80604052505050565b60006136c9826135fb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136fc576136fb613707565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203260008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f70657263656e7461676573206861766520746f2061646420757020746f20313060008201527f3020796f75207461726400000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4d61782077616c6c65742073697a652065786365656465640000000000000000600082015250565b7f666565732063616e6e6f7420626520686967686572207468616e203130250000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b613b36816135bd565b8114613b4157600080fd5b50565b613b4d816135cf565b8114613b5857600080fd5b50565b613b64816135fb565b8114613b6f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d9f835da7d8f599a66002c16a4f760f708ade23c6c169167b05e7b160854122664736f6c63430008070033

Deployed Bytecode Sourcemap

3716:11182:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6258:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7089:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14651:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6535:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7582:347;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7258:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13445:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6444:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8222:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14210:188;;;;;;;;;;;;;:::i;:::-;;6638:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7937:113;;;;;;;;;;;;;:::i;:::-;;2598:148;;;;;;;;;;;;;:::i;:::-;;8058:156;;;;;;;;;;;;;:::i;:::-;;8366:284;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2384:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6349:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6763:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13269:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14011:187;;;;;;;;;;;;;:::i;:::-;;12963:294;;;;;;;;;;;;;:::i;:::-;;6938:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6258:83;6295:13;6328:5;;;;;;;;;;;;;;;;;6321:12;;6258:83;:::o;7089:161::-;7164:4;7181:39;7190:12;:10;:12::i;:::-;7204:7;7213:6;7181:8;:39::i;:::-;7238:4;7231:11;;7089:161;;;;:::o;14651:244::-;14740:9;;;;;;;;;;;14724:25;;:12;:10;:12::i;:::-;:25;;;14716:34;;;;;;14761:20;14791:12;14761:43;;14815:13;:22;;;14838:9;;;;;;;;;;;14848:13;:23;;;14880:4;14848:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14815:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14705:190;14651:244;:::o;6535:95::-;6588:7;4170:17;6608:14;;6535:95;:::o;7582:347::-;7703:9;;;;;;;;;;;7687:25;;:12;:10;:12::i;:::-;:25;;;7679:34;;;;;;7741:3;7732:5;:12;;:28;;;;;7757:3;7748:5;:12;;7732:28;:44;;;;;7773:3;7764:5;:12;;7732:44;:58;;;;;7788:2;7780:4;:10;;7732:58;7724:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;7842:5;7835:4;:12;;;;7865:5;7858:4;:12;;;;7892:5;7881:8;:16;;;;7917:4;7908:6;:13;;;;7582:347;;;;:::o;7258:313::-;7356:4;7373:36;7383:6;7391:9;7402:6;7373:9;:36::i;:::-;7420:121;7429:6;7437:12;:10;:12::i;:::-;7451:89;7489:6;7451:89;;;;;;;;;;;;;;;;;:11;:19;7463:6;7451:19;;;;;;;;;;;;;;;:33;7471:12;:10;:12::i;:::-;7451:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7420:8;:121::i;:::-;7559:4;7552:11;;7258:313;;;;;:::o;13445:88::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13520:5:::1;13505:4;:12;13510:6;13505:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13445:88:::0;:::o;6444:83::-;6485:5;4719:1;6503:16;;6444:83;:::o;8222:136::-;8308:9;;;;;;;;;;;8292:25;;:12;:10;:12::i;:::-;:25;;;8284:34;;;;;;8342:6;8329:10;:19;;;;8222:136;:::o;14210:188::-;14276:9;;;;;;;;;;;14260:25;;:12;:10;:12::i;:::-;:25;;;14252:34;;;;;;14297:26;14326:21;14297:50;;14358:32;14371:18;14358:12;:32::i;:::-;14241:157;14210:188::o;6638:117::-;6704:7;6731;:16;6739:7;6731:16;;;;;;;;;;;;;;;;6724:23;;6638:117;;;:::o;7937:113::-;8005:9;;;;;;;;;;;7989:25;;:12;:10;:12::i;:::-;:25;;;7981:34;;;;;;8036:6;;;;;;;;;;;8035:7;8026:6;;:16;;;;;;;;;;;;;;;;;;7937:113::o;2598:148::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2705:1:::1;2668:40;;2689:6;::::0;::::1;;;;;;;;2668:40;;;;;;;;;;;;2736:1;2719:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2598:148::o:0;8058:156::-;8126:9;;;;;;;;;;;8110:25;;:12;:10;:12::i;:::-;:25;;;8102:34;;;;;;4170:17;8147:12;:22;;;;4170:17;8180:16;:26;;;;8058:156::o;8366:284::-;8478:9;;;;;;;;;;;8462:25;;:12;:10;:12::i;:::-;:25;;;8454:34;;;;;;8529:3;8521:4;8514;8507;:11;;;;:::i;:::-;:18;;;;:::i;:::-;:25;8499:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;8596:4;8590:3;:10;;;;8617:4;8611:3;:10;;;;8638:4;8632:3;:10;;;;8366:284;;;:::o;2384:79::-;2422:7;2449:6;;;;;;;;;;;2442:13;;2384:79;:::o;6349:87::-;6388:13;6421:7;;;;;;;;;;;;;;;;;6414:14;;6349:87;:::o;6763:167::-;6841:4;6858:42;6868:12;:10;:12::i;:::-;6882:9;6893:6;6858:9;:42::i;:::-;6918:4;6911:11;;6763:167;;;;:::o;13269:164::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13343:6:::1;13338:88;13359:5;:12;13355:1;:16;13338:88;;;13410:4;13393;:14;13398:5;13404:1;13398:8;;;;;;;;:::i;:::-;;;;;;;;13393:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13373:3;;;;;:::i;:::-;;;;13338:88;;;;13269:164:::0;:::o;14011:187::-;14077:9;;;;;;;;;;;14061:25;;:12;:10;:12::i;:::-;:25;;;14053:34;;;;;;14098:23;14124:24;14142:4;14124:9;:24::i;:::-;14098:50;;14159:31;14174:15;14159:14;:31::i;:::-;14042:156;14011:187::o;12963:294::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13027:11:::1;;;;;;;;;;;13026:12;13018:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13076:68;13089:24;13107:4;13089:9;:24::i;:::-;13114:21;13136:7;:5;:7::i;:::-;13076:12;:68::i;:::-;13169:4;13155:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;13198:4;13184:11;;:18;;;;;;;;;;;;;;;;;;13239:9;13220:15;:29;;;;:::i;:::-;13213:4;:36;;;;12963:294::o:0;6938:143::-;7019:7;7046:11;:18;7058:5;7046:18;;;;;;;;;;;;;;;:27;7065:7;7046:27;;;;;;;;;;;;;;;;7039:34;;6938:143;;;;:::o;1437:246::-;1495:7;1524:1;1519;:6;1515:47;;;1549:1;1542:8;;;;1515:47;1572:9;1588:1;1584;:5;;;;:::i;:::-;1572:17;;1617:1;1612;1608;:5;;;;:::i;:::-;:10;1600:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1674:1;1667:8;;;1437:246;;;;;:::o;1691:132::-;1749:7;1776:39;1780:1;1783;1776:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1769:46;;1691:132;;;;:::o;102:98::-;155:7;182:10;175:17;;102:98;:::o;8661:335::-;8771:1;8754:19;;:5;:19;;;;8746:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8852:1;8833:21;;:7;:21;;;;8825:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8934:6;8904:11;:18;8916:5;8904:18;;;;;;;;;;;;;;;:27;8923:7;8904:27;;;;;;;;;;;;;;;:36;;;;8972:7;8956:32;;8965:5;8956:32;;;8981:6;8956:32;;;;;;:::i;:::-;;;;;;;;8661:335;;;:::o;9004:2043::-;9108:1;9092:18;;:4;:18;;;;9084:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9185:1;9171:16;;:2;:16;;;;9163:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9255:1;9246:6;:10;9238:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9322:13;;;;;;;;;;;9316:19;;:2;:19;;;;:46;;;;;9340:18;:22;9359:2;9340:22;;;;;;;;;;;;;;;;;;;;;;;;;9339:23;9316:46;9313:156;;;9413:16;;9402:6;9388:7;:11;9396:2;9388:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;9387:42;;9379:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;9313:156;9486:1;9479:4;:8;;;;9502:18;:24;9521:4;9502:24;;;;;;;;;;;;;;;;;;;;;;;;;9498:94;;9550:30;9571:8;;9550:16;9559:6;;9550:4;;:8;;:16;;;;:::i;:::-;:20;;:30;;;;:::i;:::-;9543:4;:37;;;;9498:94;9614:7;:5;:7::i;:::-;9606:15;;:4;:15;;;;:32;;;;;9631:7;:5;:7::i;:::-;9625:13;;:2;:13;;;;9606:32;9602:1225;;;9664:4;:10;9669:4;9664:10;;;;;;;;;;;;;;;;;;;;;;;;;9663:11;:24;;;;;9679:4;:8;9684:2;9679:8;;;;;;;;;;;;;;;;;;;;;;;;;9678:9;9663:24;9655:33;;;;;;9715:13;;;;;;;;;;;9707:21;;:4;:21;;;:55;;;;;9746:15;;;;;;;;;;;9732:30;;:2;:30;;;;9707:55;:83;;;;;9768:18;:22;9787:2;9768:22;;;;;;;;;;;;;;;;;;;;;;;;;9766:24;9707:83;:111;;;;;9813:4;;9795:15;:22;9707:111;9703:333;;;9885:12;;9875:6;:22;;9867:31;;;;;;9940:15;9925:8;:12;9934:2;9925:12;;;;;;;;;;;;;;;;:30;9917:39;;;;;;10009:10;9990:15;:30;;;;:::i;:::-;9975:8;:12;9984:2;9975:12;;;;;;;;;;;;;;;:45;;;;9703:333;10076:6;;;;;;;;;;;10075:7;:32;;;;;10094:13;;;;;;;;;;;10086:21;;:4;:21;;;;10075:32;:47;;;;;10111:11;;;;;;;;;;10075:47;:76;;;;;10127:18;:24;10146:4;10127:24;;;;;;;;;;;;;;;;;;;;;;;;;10126:25;10075:76;10071:745;;;10198:4;;10180:15;:22;10172:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10265:28;10296:24;10314:4;10296:9;:24::i;:::-;10265:55;;10365:10;;10342:20;:33;10339:462;;;10399:36;10414:20;10399:14;:36::i;:::-;10458:26;10487:21;10458:50;;10555:1;10534:18;:22;10531:251;;;10588:6;;;;;;;;;;;10585:112;;;10627:42;10647:21;10627:19;:42::i;:::-;10585:112;10723:35;10736:21;10723:12;:35::i;:::-;10531:251;10376:425;10339:462;10153:663;10071:745;9602:1225;10847:13;;;;;;;;;;;10841:19;;:2;:19;;;:55;;;;;10880:15;;;;;;;;;;;10864:32;;:4;:32;;;;10841:55;:85;;;;;10902:18;:24;10921:4;10902:24;;;;;;;;;;;;;;;;;;;;;;;;;10900:26;10841:85;10837:155;;;10950:30;10971:8;;10950:16;10959:6;;10950:4;;:8;;:16;;;;:::i;:::-;:20;;:30;;;;:::i;:::-;10943:4;:37;;;;10837:155;11006:33;11024:4;11029:2;11032:6;11006:17;:33::i;:::-;9004:2043;;;:::o;1239:190::-;1325:7;1358:1;1353;:6;;1361:12;1345:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1385:9;1401:1;1397;:5;;;;:::i;:::-;1385:17;;1420:1;1413:8;;;1239:190;;;;;:::o;12722:229::-;12779:9;;;;;;;;;;;:18;;:44;12798:24;12818:3;;12798:15;12809:3;12798:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;12779:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12834:16;;;;;;;;;;;:25;;:51;12860:24;12880:3;;12860:15;12871:3;12860:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;12834:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12896:12;;;;;;;;;;;:21;;:47;12918:24;12938:3;;12918:15;12929:3;12918:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;12896:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12722:229;:::o;12037:383::-;12101:12;12116:13;12127:1;12116:6;;:10;;:13;;;;:::i;:::-;12101:28;;12140:12;12155:14;12164:4;12155;;:8;;:14;;;;:::i;:::-;12140:29;;12180:11;12194:16;12203:6;;12194:4;;:8;;:16;;;;:::i;:::-;12180:30;;12221:17;12241:30;12267:3;12241:21;12257:4;12241:11;:15;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;12221:50;;12282:27;12299:9;12282:16;:27::i;:::-;12320:92;12333:26;12349:9;12333:11;:15;;:26;;;;:::i;:::-;12360:41;12396:4;12360:31;12386:4;12360:21;:25;;:31;;;;:::i;:::-;:35;;:41;;;;:::i;:::-;12402:9;;;;;;;;;;;12320:12;:92::i;:::-;12090:330;;;;12037:383;:::o;12428:288::-;5121:4;5112:6;;:13;;;;;;;;;;;;;;;;;;12534:60:::1;12551:4;12565:15;;;;;;;;;;;12582:11;12534:8;:60::i;:::-;12605:15;;;;;;;;;;;:31;;;12644:9;12663:4;12669:11;12681:1;12683::::0;12685:6:::1;12692:15;12605:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5157:5:::0;5148:6;;:14;;;;;;;;;;;;;;;;;;12428:288;;;:::o;1831:189::-;1917:7;1949:1;1945;:5;1952:12;1937:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1976:9;1992:1;1988;:5;;;;:::i;:::-;1976:17;;2011:1;2004:8;;;1831:189;;;;;:::o;908:179::-;966:7;986:9;1002:1;998;:5;;;;:::i;:::-;986:17;;1027:1;1022;:6;;1014:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1078:1;1071:8;;;908:179;;;;:::o;11546:479::-;11613:17;11633:16;11647:1;11633:9;:13;;:16;;;;:::i;:::-;11613:36;;11660:22;11699:1;11685:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11660:41;;11722:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11712:4;11717:1;11712:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;11773:42;11755:4;11760:1;11755:7;;;;;;;;:::i;:::-;;;;;;;:61;;;;;;;;;;;11827:15;;;;;;;;;;;:66;;;11901:9;11926:1;11942:4;11969:6;11991:15;11827:190;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11602:423;;11546:479;:::o;13541:421::-;13640:22;13663:12;13679:20;13691:7;13679:11;:20::i;:::-;13639:60;;;;13728:28;13748:7;13728;:15;13736:6;13728:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13710:7;:15;13718:6;13710:15;;;;;;;;;;;;;;;:46;;;;13788:38;13811:14;13788:7;:18;13796:9;13788:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;13767:7;:18;13775:9;13767:18;;;;;;;;;;;;;;;:59;;;;13863:32;13890:4;13863:7;:22;13879:4;13863:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;13838:7;:22;13854:4;13838:22;;;;;;;;;;;;;;;:57;;;;13928:9;13911:43;;13920:6;13911:43;;;13939:14;13911:43;;;;;;:::i;:::-;;;;;;;;13628:334;;13541:421;;;:::o;11055:483::-;5121:4;5112:6;;:13;;;;;;;;;;;;;;;;;;11133:21:::1;11171:1;11157:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11133:40;;11202:4;11184;11189:1;11184:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11228:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11218:4;11223:1;11218:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11261:62;11278:4;11293:15;;;;;;;;;;;11311:11;11261:8;:62::i;:::-;11334:15;;;;;;;;;;;:66;;;11415:11;11441:1;11457:4;11484;11504:15;11334:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11122:416;5157:5:::0;5148:6;;:14;;;;;;;;;;;;;;;;;;11055:483;:::o;1095:136::-;1153:7;1180:43;1184:1;1187;1180:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1173:50;;1095:136;;;;:::o;14409:234::-;14469:7;14478;14498:12;14513:27;14535:4;14513:17;14525:4;;14513:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;14498:42;;14551:23;14577:17;14589:4;14577:7;:11;;:17;;;;:::i;:::-;14551:43;;14613:15;14630:4;14605:30;;;;;;14409:234;;;:::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:329::-;5108:6;5157:2;5145:9;5136:7;5132:23;5128:32;5125:119;;;5163:79;;:::i;:::-;5125:119;5283:1;5308:53;5353:7;5344:6;5333:9;5329:22;5308:53;:::i;:::-;5298:63;;5254:117;5049:329;;;;:::o;5384:351::-;5454:6;5503:2;5491:9;5482:7;5478:23;5474:32;5471:119;;;5509:79;;:::i;:::-;5471:119;5629:1;5654:64;5710:7;5701:6;5690:9;5686:22;5654:64;:::i;:::-;5644:74;;5600:128;5384:351;;;;:::o;5741:619::-;5818:6;5826;5834;5883:2;5871:9;5862:7;5858:23;5854:32;5851:119;;;5889:79;;:::i;:::-;5851:119;6009:1;6034:53;6079:7;6070:6;6059:9;6055:22;6034:53;:::i;:::-;6024:63;;5980:117;6136:2;6162:53;6207:7;6198:6;6187:9;6183:22;6162:53;:::i;:::-;6152:63;;6107:118;6264:2;6290:53;6335:7;6326:6;6315:9;6311:22;6290:53;:::i;:::-;6280:63;;6235:118;5741:619;;;;;:::o;6366:663::-;6454:6;6462;6470;6519:2;6507:9;6498:7;6494:23;6490:32;6487:119;;;6525:79;;:::i;:::-;6487:119;6645:1;6670:64;6726:7;6717:6;6706:9;6702:22;6670:64;:::i;:::-;6660:74;;6616:128;6783:2;6809:64;6865:7;6856:6;6845:9;6841:22;6809:64;:::i;:::-;6799:74;;6754:129;6922:2;6948:64;7004:7;6995:6;6984:9;6980:22;6948:64;:::i;:::-;6938:74;;6893:129;6366:663;;;;;:::o;7035:765::-;7121:6;7129;7137;7145;7194:3;7182:9;7173:7;7169:23;7165:33;7162:120;;;7201:79;;:::i;:::-;7162:120;7321:1;7346:53;7391:7;7382:6;7371:9;7367:22;7346:53;:::i;:::-;7336:63;;7292:117;7448:2;7474:53;7519:7;7510:6;7499:9;7495:22;7474:53;:::i;:::-;7464:63;;7419:118;7576:2;7602:53;7647:7;7638:6;7627:9;7623:22;7602:53;:::i;:::-;7592:63;;7547:118;7704:2;7730:53;7775:7;7766:6;7755:9;7751:22;7730:53;:::i;:::-;7720:63;;7675:118;7035:765;;;;;;;:::o;7806:179::-;7875:10;7896:46;7938:3;7930:6;7896:46;:::i;:::-;7974:4;7969:3;7965:14;7951:28;;7806:179;;;;:::o;7991:147::-;8086:45;8125:5;8086:45;:::i;:::-;8081:3;8074:58;7991:147;;:::o;8144:108::-;8221:24;8239:5;8221:24;:::i;:::-;8216:3;8209:37;8144:108;;:::o;8258:118::-;8345:24;8363:5;8345:24;:::i;:::-;8340:3;8333:37;8258:118;;:::o;8412:732::-;8531:3;8560:54;8608:5;8560:54;:::i;:::-;8630:86;8709:6;8704:3;8630:86;:::i;:::-;8623:93;;8740:56;8790:5;8740:56;:::i;:::-;8819:7;8850:1;8835:284;8860:6;8857:1;8854:13;8835:284;;;8936:6;8930:13;8963:63;9022:3;9007:13;8963:63;:::i;:::-;8956:70;;9049:60;9102:6;9049:60;:::i;:::-;9039:70;;8895:224;8882:1;8879;8875:9;8870:14;;8835:284;;;8839:14;9135:3;9128:10;;8536:608;;;8412:732;;;;:::o;9150:109::-;9231:21;9246:5;9231:21;:::i;:::-;9226:3;9219:34;9150:109;;:::o;9265:147::-;9360:45;9399:5;9360:45;:::i;:::-;9355:3;9348:58;9265:147;;:::o;9418:364::-;9506:3;9534:39;9567:5;9534:39;:::i;:::-;9589:71;9653:6;9648:3;9589:71;:::i;:::-;9582:78;;9669:52;9714:6;9709:3;9702:4;9695:5;9691:16;9669:52;:::i;:::-;9746:29;9768:6;9746:29;:::i;:::-;9741:3;9737:39;9730:46;;9510:272;9418:364;;;;:::o;9788:366::-;9930:3;9951:67;10015:2;10010:3;9951:67;:::i;:::-;9944:74;;10027:93;10116:3;10027:93;:::i;:::-;10145:2;10140:3;10136:12;10129:19;;9788:366;;;:::o;10160:::-;10302:3;10323:67;10387:2;10382:3;10323:67;:::i;:::-;10316:74;;10399:93;10488:3;10399:93;:::i;:::-;10517:2;10512:3;10508:12;10501:19;;10160:366;;;:::o;10532:::-;10674:3;10695:67;10759:2;10754:3;10695:67;:::i;:::-;10688:74;;10771:93;10860:3;10771:93;:::i;:::-;10889:2;10884:3;10880:12;10873:19;;10532:366;;;:::o;10904:::-;11046:3;11067:67;11131:2;11126:3;11067:67;:::i;:::-;11060:74;;11143:93;11232:3;11143:93;:::i;:::-;11261:2;11256:3;11252:12;11245:19;;10904:366;;;:::o;11276:::-;11418:3;11439:67;11503:2;11498:3;11439:67;:::i;:::-;11432:74;;11515:93;11604:3;11515:93;:::i;:::-;11633:2;11628:3;11624:12;11617:19;;11276:366;;;:::o;11648:::-;11790:3;11811:67;11875:2;11870:3;11811:67;:::i;:::-;11804:74;;11887:93;11976:3;11887:93;:::i;:::-;12005:2;12000:3;11996:12;11989:19;;11648:366;;;:::o;12020:::-;12162:3;12183:67;12247:2;12242:3;12183:67;:::i;:::-;12176:74;;12259:93;12348:3;12259:93;:::i;:::-;12377:2;12372:3;12368:12;12361:19;;12020:366;;;:::o;12392:::-;12534:3;12555:67;12619:2;12614:3;12555:67;:::i;:::-;12548:74;;12631:93;12720:3;12631:93;:::i;:::-;12749:2;12744:3;12740:12;12733:19;;12392:366;;;:::o;12764:::-;12906:3;12927:67;12991:2;12986:3;12927:67;:::i;:::-;12920:74;;13003:93;13092:3;13003:93;:::i;:::-;13121:2;13116:3;13112:12;13105:19;;12764:366;;;:::o;13136:::-;13278:3;13299:67;13363:2;13358:3;13299:67;:::i;:::-;13292:74;;13375:93;13464:3;13375:93;:::i;:::-;13493:2;13488:3;13484:12;13477:19;;13136:366;;;:::o;13508:::-;13650:3;13671:67;13735:2;13730:3;13671:67;:::i;:::-;13664:74;;13747:93;13836:3;13747:93;:::i;:::-;13865:2;13860:3;13856:12;13849:19;;13508:366;;;:::o;13880:::-;14022:3;14043:67;14107:2;14102:3;14043:67;:::i;:::-;14036:74;;14119:93;14208:3;14119:93;:::i;:::-;14237:2;14232:3;14228:12;14221:19;;13880:366;;;:::o;14252:::-;14394:3;14415:67;14479:2;14474:3;14415:67;:::i;:::-;14408:74;;14491:93;14580:3;14491:93;:::i;:::-;14609:2;14604:3;14600:12;14593:19;;14252:366;;;:::o;14624:118::-;14711:24;14729:5;14711:24;:::i;:::-;14706:3;14699:37;14624:118;;:::o;14748:112::-;14831:22;14847:5;14831:22;:::i;:::-;14826:3;14819:35;14748:112;;:::o;14866:222::-;14959:4;14997:2;14986:9;14982:18;14974:26;;15010:71;15078:1;15067:9;15063:17;15054:6;15010:71;:::i;:::-;14866:222;;;;:::o;15094:348::-;15223:4;15261:2;15250:9;15246:18;15238:26;;15274:79;15350:1;15339:9;15335:17;15326:6;15274:79;:::i;:::-;15363:72;15431:2;15420:9;15416:18;15407:6;15363:72;:::i;:::-;15094:348;;;;;:::o;15448:807::-;15697:4;15735:3;15724:9;15720:19;15712:27;;15749:71;15817:1;15806:9;15802:17;15793:6;15749:71;:::i;:::-;15830:72;15898:2;15887:9;15883:18;15874:6;15830:72;:::i;:::-;15912:80;15988:2;15977:9;15973:18;15964:6;15912:80;:::i;:::-;16002;16078:2;16067:9;16063:18;16054:6;16002:80;:::i;:::-;16092:73;16160:3;16149:9;16145:19;16136:6;16092:73;:::i;:::-;16175;16243:3;16232:9;16228:19;16219:6;16175:73;:::i;:::-;15448:807;;;;;;;;;:::o;16261:210::-;16348:4;16386:2;16375:9;16371:18;16363:26;;16399:65;16461:1;16450:9;16446:17;16437:6;16399:65;:::i;:::-;16261:210;;;;:::o;16477:720::-;16712:4;16750:3;16739:9;16735:19;16727:27;;16764:79;16840:1;16829:9;16825:17;16816:6;16764:79;:::i;:::-;16890:9;16884:4;16880:20;16875:2;16864:9;16860:18;16853:48;16918:108;17021:4;17012:6;16918:108;:::i;:::-;16910:116;;17036:72;17104:2;17093:9;17089:18;17080:6;17036:72;:::i;:::-;17118;17186:2;17175:9;17171:18;17162:6;17118:72;:::i;:::-;16477:720;;;;;;;:::o;17203:313::-;17316:4;17354:2;17343:9;17339:18;17331:26;;17403:9;17397:4;17393:20;17389:1;17378:9;17374:17;17367:47;17431:78;17504:4;17495:6;17431:78;:::i;:::-;17423:86;;17203:313;;;;:::o;17522:419::-;17688:4;17726:2;17715:9;17711:18;17703:26;;17775:9;17769:4;17765:20;17761:1;17750:9;17746:17;17739:47;17803:131;17929:4;17803:131;:::i;:::-;17795:139;;17522:419;;;:::o;17947:::-;18113:4;18151:2;18140:9;18136:18;18128:26;;18200:9;18194:4;18190:20;18186:1;18175:9;18171:17;18164:47;18228:131;18354:4;18228:131;:::i;:::-;18220:139;;17947:419;;;:::o;18372:::-;18538:4;18576:2;18565:9;18561:18;18553:26;;18625:9;18619:4;18615:20;18611:1;18600:9;18596:17;18589:47;18653:131;18779:4;18653:131;:::i;:::-;18645:139;;18372:419;;;:::o;18797:::-;18963:4;19001:2;18990:9;18986:18;18978:26;;19050:9;19044:4;19040:20;19036:1;19025:9;19021:17;19014:47;19078:131;19204:4;19078:131;:::i;:::-;19070:139;;18797:419;;;:::o;19222:::-;19388:4;19426:2;19415:9;19411:18;19403:26;;19475:9;19469:4;19465:20;19461:1;19450:9;19446:17;19439:47;19503:131;19629:4;19503:131;:::i;:::-;19495:139;;19222:419;;;:::o;19647:::-;19813:4;19851:2;19840:9;19836:18;19828:26;;19900:9;19894:4;19890:20;19886:1;19875:9;19871:17;19864:47;19928:131;20054:4;19928:131;:::i;:::-;19920:139;;19647:419;;;:::o;20072:::-;20238:4;20276:2;20265:9;20261:18;20253:26;;20325:9;20319:4;20315:20;20311:1;20300:9;20296:17;20289:47;20353:131;20479:4;20353:131;:::i;:::-;20345:139;;20072:419;;;:::o;20497:::-;20663:4;20701:2;20690:9;20686:18;20678:26;;20750:9;20744:4;20740:20;20736:1;20725:9;20721:17;20714:47;20778:131;20904:4;20778:131;:::i;:::-;20770:139;;20497:419;;;:::o;20922:::-;21088:4;21126:2;21115:9;21111:18;21103:26;;21175:9;21169:4;21165:20;21161:1;21150:9;21146:17;21139:47;21203:131;21329:4;21203:131;:::i;:::-;21195:139;;20922:419;;;:::o;21347:::-;21513:4;21551:2;21540:9;21536:18;21528:26;;21600:9;21594:4;21590:20;21586:1;21575:9;21571:17;21564:47;21628:131;21754:4;21628:131;:::i;:::-;21620:139;;21347:419;;;:::o;21772:::-;21938:4;21976:2;21965:9;21961:18;21953:26;;22025:9;22019:4;22015:20;22011:1;22000:9;21996:17;21989:47;22053:131;22179:4;22053:131;:::i;:::-;22045:139;;21772:419;;;:::o;22197:::-;22363:4;22401:2;22390:9;22386:18;22378:26;;22450:9;22444:4;22440:20;22436:1;22425:9;22421:17;22414:47;22478:131;22604:4;22478:131;:::i;:::-;22470:139;;22197:419;;;:::o;22622:::-;22788:4;22826:2;22815:9;22811:18;22803:26;;22875:9;22869:4;22865:20;22861:1;22850:9;22846:17;22839:47;22903:131;23029:4;22903:131;:::i;:::-;22895:139;;22622:419;;;:::o;23047:222::-;23140:4;23178:2;23167:9;23163:18;23155:26;;23191:71;23259:1;23248:9;23244:17;23235:6;23191:71;:::i;:::-;23047:222;;;;:::o;23275:831::-;23538:4;23576:3;23565:9;23561:19;23553:27;;23590:71;23658:1;23647:9;23643:17;23634:6;23590:71;:::i;:::-;23671:80;23747:2;23736:9;23732:18;23723:6;23671:80;:::i;:::-;23798:9;23792:4;23788:20;23783:2;23772:9;23768:18;23761:48;23826:108;23929:4;23920:6;23826:108;:::i;:::-;23818:116;;23944:72;24012:2;24001:9;23997:18;23988:6;23944:72;:::i;:::-;24026:73;24094:3;24083:9;24079:19;24070:6;24026:73;:::i;:::-;23275:831;;;;;;;;:::o;24112:214::-;24201:4;24239:2;24228:9;24224:18;24216:26;;24252:67;24316:1;24305:9;24301:17;24292:6;24252:67;:::i;:::-;24112:214;;;;:::o;24332:129::-;24366:6;24393:20;;:::i;:::-;24383:30;;24422:33;24450:4;24442:6;24422:33;:::i;:::-;24332:129;;;:::o;24467:75::-;24500:6;24533:2;24527:9;24517:19;;24467:75;:::o;24548:311::-;24625:4;24715:18;24707:6;24704:30;24701:56;;;24737:18;;:::i;:::-;24701:56;24787:4;24779:6;24775:17;24767:25;;24847:4;24841;24837:15;24829:23;;24548:311;;;:::o;24865:132::-;24932:4;24955:3;24947:11;;24985:4;24980:3;24976:14;24968:22;;24865:132;;;:::o;25003:114::-;25070:6;25104:5;25098:12;25088:22;;25003:114;;;:::o;25123:99::-;25175:6;25209:5;25203:12;25193:22;;25123:99;;;:::o;25228:113::-;25298:4;25330;25325:3;25321:14;25313:22;;25228:113;;;:::o;25347:184::-;25446:11;25480:6;25475:3;25468:19;25520:4;25515:3;25511:14;25496:29;;25347:184;;;;:::o;25537:169::-;25621:11;25655:6;25650:3;25643:19;25695:4;25690:3;25686:14;25671:29;;25537:169;;;;:::o;25712:305::-;25752:3;25771:20;25789:1;25771:20;:::i;:::-;25766:25;;25805:20;25823:1;25805:20;:::i;:::-;25800:25;;25959:1;25891:66;25887:74;25884:1;25881:81;25878:107;;;25965:18;;:::i;:::-;25878:107;26009:1;26006;26002:9;25995:16;;25712:305;;;;:::o;26023:185::-;26063:1;26080:20;26098:1;26080:20;:::i;:::-;26075:25;;26114:20;26132:1;26114:20;:::i;:::-;26109:25;;26153:1;26143:35;;26158:18;;:::i;:::-;26143:35;26200:1;26197;26193:9;26188:14;;26023:185;;;;:::o;26214:348::-;26254:7;26277:20;26295:1;26277:20;:::i;:::-;26272:25;;26311:20;26329:1;26311:20;:::i;:::-;26306:25;;26499:1;26431:66;26427:74;26424:1;26421:81;26416:1;26409:9;26402:17;26398:105;26395:131;;;26506:18;;:::i;:::-;26395:131;26554:1;26551;26547:9;26536:20;;26214:348;;;;:::o;26568:191::-;26608:4;26628:20;26646:1;26628:20;:::i;:::-;26623:25;;26662:20;26680:1;26662:20;:::i;:::-;26657:25;;26701:1;26698;26695:8;26692:34;;;26706:18;;:::i;:::-;26692:34;26751:1;26748;26744:9;26736:17;;26568:191;;;;:::o;26765:96::-;26802:7;26831:24;26849:5;26831:24;:::i;:::-;26820:35;;26765:96;;;:::o;26867:90::-;26901:7;26944:5;26937:13;26930:21;26919:32;;26867:90;;;:::o;26963:126::-;27000:7;27040:42;27033:5;27029:54;27018:65;;26963:126;;;:::o;27095:77::-;27132:7;27161:5;27150:16;;27095:77;;;:::o;27178:86::-;27213:7;27253:4;27246:5;27242:16;27231:27;;27178:86;;;:::o;27270:134::-;27328:9;27361:37;27392:5;27361:37;:::i;:::-;27348:50;;27270:134;;;:::o;27410:121::-;27468:9;27501:24;27519:5;27501:24;:::i;:::-;27488:37;;27410:121;;;:::o;27537:126::-;27587:9;27620:37;27651:5;27620:37;:::i;:::-;27607:50;;27537:126;;;:::o;27669:113::-;27719:9;27752:24;27770:5;27752:24;:::i;:::-;27739:37;;27669:113;;;:::o;27788:307::-;27856:1;27866:113;27880:6;27877:1;27874:13;27866:113;;;27965:1;27960:3;27956:11;27950:18;27946:1;27941:3;27937:11;27930:39;27902:2;27899:1;27895:10;27890:15;;27866:113;;;27997:6;27994:1;27991:13;27988:101;;;28077:1;28068:6;28063:3;28059:16;28052:27;27988:101;27837:258;27788:307;;;:::o;28101:281::-;28184:27;28206:4;28184:27;:::i;:::-;28176:6;28172:40;28314:6;28302:10;28299:22;28278:18;28266:10;28263:34;28260:62;28257:88;;;28325:18;;:::i;:::-;28257:88;28365:10;28361:2;28354:22;28144:238;28101:281;;:::o;28388:233::-;28427:3;28450:24;28468:5;28450:24;:::i;:::-;28441:33;;28496:66;28489:5;28486:77;28483:103;;;28566:18;;:::i;:::-;28483:103;28613:1;28606:5;28602:13;28595:20;;28388:233;;;:::o;28627:180::-;28675:77;28672:1;28665:88;28772:4;28769:1;28762:15;28796:4;28793:1;28786:15;28813:180;28861:77;28858:1;28851:88;28958:4;28955:1;28948:15;28982:4;28979:1;28972:15;28999:180;29047:77;29044:1;29037:88;29144:4;29141:1;29134:15;29168:4;29165:1;29158:15;29185:180;29233:77;29230:1;29223:88;29330:4;29327:1;29320:15;29354:4;29351:1;29344:15;29371:117;29480:1;29477;29470:12;29494:117;29603:1;29600;29593:12;29617:117;29726:1;29723;29716:12;29740:117;29849:1;29846;29839:12;29863:102;29904:6;29955:2;29951:7;29946:2;29939:5;29935:14;29931:28;29921:38;;29863:102;;;:::o;29971:222::-;30111:34;30107:1;30099:6;30095:14;30088:58;30180:5;30175:2;30167:6;30163:15;30156:30;29971:222;:::o;30199:227::-;30339:34;30335:1;30327:6;30323:14;30316:58;30408:10;30403:2;30395:6;30391:15;30384:35;30199:227;:::o;30432:229::-;30572:34;30568:1;30560:6;30556:14;30549:58;30641:12;30636:2;30628:6;30624:15;30617:37;30432:229;:::o;30667:221::-;30807:34;30803:1;30795:6;30791:14;30784:58;30876:4;30871:2;30863:6;30859:15;30852:29;30667:221;:::o;30894:177::-;31034:29;31030:1;31022:6;31018:14;31011:53;30894:177;:::o;31077:220::-;31217:34;31213:1;31205:6;31201:14;31194:58;31286:3;31281:2;31273:6;31269:15;31262:28;31077:220;:::o;31303:182::-;31443:34;31439:1;31431:6;31427:14;31420:58;31303:182;:::o;31491:228::-;31631:34;31627:1;31619:6;31615:14;31608:58;31700:11;31695:2;31687:6;31683:15;31676:36;31491:228;:::o;31725:174::-;31865:26;31861:1;31853:6;31849:14;31842:50;31725:174;:::o;31905:180::-;32045:32;32041:1;32033:6;32029:14;32022:56;31905:180;:::o;32091:224::-;32231:34;32227:1;32219:6;32215:14;32208:58;32300:7;32295:2;32287:6;32283:15;32276:32;32091:224;:::o;32321:223::-;32461:34;32457:1;32449:6;32445:14;32438:58;32530:6;32525:2;32517:6;32513:15;32506:31;32321:223;:::o;32550:173::-;32690:25;32686:1;32678:6;32674:14;32667:49;32550:173;:::o;32729:122::-;32802:24;32820:5;32802:24;:::i;:::-;32795:5;32792:35;32782:63;;32841:1;32838;32831:12;32782:63;32729:122;:::o;32857:116::-;32927:21;32942:5;32927:21;:::i;:::-;32920:5;32917:32;32907:60;;32963:1;32960;32953:12;32907:60;32857:116;:::o;32979:122::-;33052:24;33070:5;33052:24;:::i;:::-;33045:5;33042:35;33032:63;;33091:1;33088;33081:12;33032:63;32979:122;:::o

Swarm Source

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