ETH Price: $2,694.11 (-3.39%)

Token

The Sandman-ENDLESS (DREAM)
 

Overview

Max Total Supply

100,000,000,000 DREAM

Holders

15

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: DREAM 17
Balance
0.000006599 DREAM

Value
$0.00
0x220deaa6cf77f177509064ae91113b84f7a0fe98
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:
SmartContract

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: NONLICENSED

/**
Token Name: The Sandman-ENDLESS
Symbol: DREAM
SUPPLY: 100,000,000,000

⌛⌛⌛⌛⌛⌛⌛⌛⌛ENDLESS NEVER FUCKING DIE⌛⌛⌛⌛⌛⌛⌛⌛⌛

Tax: 7% buy / 7% sell

Telegram: https://t.me/dreamserc20
Twitter: https://twitter.com/EndlessErc20

*/

pragma solidity ^0.8.7;

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract SmartContract 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;

    string private constant _name = "The Sandman-ENDLESS";
    string private constant _symbol = "DREAM";
    uint8 private constant _decimals = 9;

    uint256 public buyAutoLiquidityFee = 0;
    uint256 public buyAutoBurnFee = 0;
    uint256 public buyMarketingFee = 700;
    uint256 public totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee;

    uint256 public sellAutoLiquidityFee = 0;
    uint256 public sellAutoBurnFee = 0;
    uint256 public sellMarketingFee = 700;
    uint256 public totalSellFees =  sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee;

    uint256 public tokensForAutoLiquidity;
    uint256 public tokensForAutoBurn;  
    uint256 public tokensForMarketing;
    uint16 public masterTaxDivisor = 10000;

    address public constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address public pairAddress;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private _tTotal = 100000000000 * 10**9;
    uint256 private maxWalletAmount =  2000000001  * 10**9;
    uint256 private maxTxAmount = 2000000001 * 10**9;
    address payable private feeAddrWallet;

    event MaxWalletAmountUpdated(uint maxWalletAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
  
    constructor () {
        require(!tradingOpen,"trading is already open");
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());
        
        feeAddrWallet = payable(0x9b46D29C9adea260c4802DDC24053a11eDE24020); 
        
        _tOwned[owner()] = _tTotal;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[feeAddrWallet] = true;
        
        uint256 _buyAutoLiquidityFee = 0;
        uint256 _buyAutoBurnFee = 0;
        uint256 _buyMarketingFee = 700;

        uint256 _sellAutoLiquidityFee = 0;
        uint256 _sellAutoBurnFee = 0;
        uint256 _sellMarketingFee = 700;
        
        buyAutoLiquidityFee = _buyAutoLiquidityFee;
        buyAutoBurnFee = _buyAutoBurnFee;
        buyMarketingFee = _buyMarketingFee;
        totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee;
        
        sellAutoLiquidityFee = _sellAutoLiquidityFee;
        sellAutoBurnFee = _sellAutoBurnFee;
        sellMarketingFee = _sellMarketingFee;
        totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee;
        
        maxTxAmount = 2000000001 * 10**9;
        maxWalletAmount = 2000000001 * 10**9;

        swapEnabled = true;
        tradingOpen = true;
        
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        emit Transfer(address(0), owner(), _tTotal);
    }


    function name() public pure returns (string memory) { return _name; }
    function symbol() public pure returns (string memory) { return _symbol; }
    function getTxAmount() public view returns(uint256) {return maxTxAmount;}
    function getMaxWallet() public view returns(uint256) {return maxWalletAmount;}
    function decimals() public pure returns (uint8) { return _decimals; }
    function totalSupply() public view 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 virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }

    function _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");
        require(amount <= balanceOf(from),"You are trying to transfer more than your balance");    
        require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet");

        if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) {
                require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= maxWalletAmount, "Exceeds the maxWalletSize.");
        }

        uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

        _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to]));
    }

    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 _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        _tOwned[sender] -= amount;
        uint256 amountReceived = (takeFee) ? takeTaxes(sender, recipient, amount) : amount;
        _tOwned[recipient] += amountReceived;
        emit Transfer(sender, recipient, amountReceived);
    }

    function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) {
        if(from == uniswapV2Pair && totalBuyFees > 0 ) { 
            tokensForAutoLiquidity = amount * buyAutoLiquidityFee / masterTaxDivisor;
            tokensForAutoBurn = amount * buyAutoBurnFee / masterTaxDivisor;         
            tokensForMarketing = amount * buyMarketingFee / masterTaxDivisor;    
        } else if (to == uniswapV2Pair  && totalSellFees > 0 ) { 
            tokensForAutoLiquidity = amount * sellAutoLiquidityFee / masterTaxDivisor;
            tokensForAutoBurn = amount * sellAutoBurnFee / masterTaxDivisor;
            tokensForMarketing = amount * sellMarketingFee / masterTaxDivisor;        
        }
        _tOwned[pairAddress] += tokensForAutoLiquidity;
        emit Transfer(from, pairAddress, tokensForAutoLiquidity);
        
        _tOwned[DEAD] += tokensForAutoBurn;
        _tTotal = _tTotal - tokensForAutoBurn;
        _tTotal = totalSupply();
        emit Transfer(from, DEAD, tokensForAutoBurn);
                
        _tOwned[address(this)] += tokensForMarketing;
        emit Transfer(from, address(this), tokensForMarketing);

        uint256 feeAmount = tokensForAutoLiquidity + tokensForAutoBurn + tokensForMarketing;
        return amount - feeAmount;
    }
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    function SetWalletandTxtAmount(uint256 _maxTxAmount, uint256 _maxWalletSize) external onlyOwner{
        maxTxAmount = _maxTxAmount * 10 **_decimals;
        maxWalletAmount = _maxWalletSize * 10 **_decimals;
    }
    function sendETHToFee(uint256 amount) private {
        feeAddrWallet.transfer(amount);
    } 
    receive() external payable{
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"SetWalletandTxtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"masterTaxDivisor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensForAutoBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForAutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600060045560006005556102bc60065560065460055460045462000029919062000a68565b62000035919062000a68565b600755600060085560006009556102bc600a55600a546009546008546200005d919062000a68565b62000069919062000a68565b600b55612710600f60006101000a81548161ffff021916908361ffff1602179055506000601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff02191690831515021790555068056bc75e2d63100000601255671bc16d678a62ca00601355671bc16d678a62ca00601455348015620000f357600080fd5b5062000114620001086200093a60201b60201c565b6200094260201b60201c565b601160149054906101000a900460ff161562000167576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015e9062000b26565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000233919062000bb2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200029b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c1919062000bb2565b6040518363ffffffff1660e01b8152600401620002e092919062000bf5565b6020604051808303816000875af115801562000300573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000326919062000bb2565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d8919062000bb2565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000440573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000466919062000bb2565b6040518363ffffffff1660e01b81526004016200048592919062000bf5565b602060405180830381865afa158015620004a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004c9919062000bb2565b600f60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739b46d29c9adea260c4802ddc24053a11ede24020601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601254600160006200057562000a0660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620005c962000a0660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008060006102bc905060008060006102bc90508560048190555084600581905550836006819055506006546005546004546200072a919062000a68565b62000736919062000a68565b600781905550826008819055508160098190555080600a81905550600a5460095460085462000766919062000a68565b62000772919062000a68565b600b81905550671bc16d678a62ca00601481905550671bc16d678a62ca006013819055506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016200086d92919062000c33565b6020604051808303816000875af11580156200088d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008b3919062000c9d565b50620008c462000a0660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60125460405162000925919062000ccf565b60405180910390a35050505050505062000cec565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000a758262000a2f565b915062000a828362000a2f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000aba5762000ab962000a39565b5b828201905092915050565b600082825260208201905092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600062000b0e60178362000ac5565b915062000b1b8262000ad6565b602082019050919050565b6000602082019050818103600083015262000b418162000aff565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b7a8262000b4d565b9050919050565b62000b8c8162000b6d565b811462000b9857600080fd5b50565b60008151905062000bac8162000b81565b92915050565b60006020828403121562000bcb5762000bca62000b48565b5b600062000bdb8482850162000b9b565b91505092915050565b62000bef8162000b6d565b82525050565b600060408201905062000c0c600083018562000be4565b62000c1b602083018462000be4565b9392505050565b62000c2d8162000a2f565b82525050565b600060408201905062000c4a600083018562000be4565b62000c59602083018462000c22565b9392505050565b60008115159050919050565b62000c778162000c60565b811462000c8357600080fd5b50565b60008151905062000c978162000c6c565b92915050565b60006020828403121562000cb65762000cb562000b48565b5b600062000cc68482850162000c86565b91505092915050565b600060208201905062000ce6600083018462000c22565b92915050565b612e9e8062000cfc6000396000f3fe6080604052600436106101dc5760003560e01c806384d6c8c611610102578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b37146106b5578063ebece9c9146106de578063f239eab814610707578063f2fde38b14610732576101e3565b8063c99f2fed146105f7578063cc70acee14610622578063d0a398141461064d578063dd62ed3e14610678576101e3565b80639740a946116100d15780639740a94614610539578063a8b0898214610564578063a9059cbb1461058f578063b9e93700146105cc576101e3565b806384d6c8c61461048d5780638da5cb5b146104b857806392136913146104e357806395d89b411461050e576101e3565b806323b872dd1161017a5780636cce46fc116101495780636cce46fc146103e357806370a082311461040e578063715018a61461044b5780637bce5a0414610462576101e3565b806323b872dd14610327578063313ce56714610364578063437823ec1461038f57806347afcbfe146103b8576101e3565b80630fa604e4116101b65780630fa604e41461027b57806318160ddd146102a65780631d6167ac146102d15780631f3fed8f146102fc576101e3565b806303fd2a45146101e857806306fdde0314610213578063095ea7b31461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61075b565b60405161020a9190611fee565b60405180910390f35b34801561021f57600080fd5b50610228610761565b60405161023591906120a2565b60405180910390f35b34801561024a57600080fd5b506102656004803603810190610260919061212b565b61079e565b6040516102729190612186565b60405180910390f35b34801561028757600080fd5b506102906107bc565b60405161029d91906121b0565b60405180910390f35b3480156102b257600080fd5b506102bb6107c6565b6040516102c891906121b0565b60405180910390f35b3480156102dd57600080fd5b506102e66107d0565b6040516102f391906121e8565b60405180910390f35b34801561030857600080fd5b506103116107e4565b60405161031e91906121b0565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190612203565b6107ea565b60405161035b9190612186565b60405180910390f35b34801561037057600080fd5b506103796108eb565b6040516103869190612272565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b1919061228d565b6108f4565b005b3480156103c457600080fd5b506103cd6109cb565b6040516103da91906121b0565b60405180910390f35b3480156103ef57600080fd5b506103f86109d1565b60405161040591906121b0565b60405180910390f35b34801561041a57600080fd5b506104356004803603810190610430919061228d565b6109d7565b60405161044291906121b0565b60405180910390f35b34801561045757600080fd5b50610460610a20565b005b34801561046e57600080fd5b50610477610aa8565b60405161048491906121b0565b60405180910390f35b34801561049957600080fd5b506104a2610aae565b6040516104af91906121b0565b60405180910390f35b3480156104c457600080fd5b506104cd610ab8565b6040516104da9190611fee565b60405180910390f35b3480156104ef57600080fd5b506104f8610ae1565b60405161050591906121b0565b60405180910390f35b34801561051a57600080fd5b50610523610ae7565b60405161053091906120a2565b60405180910390f35b34801561054557600080fd5b5061054e610b24565b60405161055b91906121b0565b60405180910390f35b34801561057057600080fd5b50610579610b2a565b6040516105869190611fee565b60405180910390f35b34801561059b57600080fd5b506105b660048036038101906105b1919061212b565b610b50565b6040516105c39190612186565b60405180910390f35b3480156105d857600080fd5b506105e1610b6e565b6040516105ee91906121b0565b60405180910390f35b34801561060357600080fd5b5061060c610b74565b60405161061991906121b0565b60405180910390f35b34801561062e57600080fd5b50610637610b7a565b60405161064491906121b0565b60405180910390f35b34801561065957600080fd5b50610662610b80565b60405161066f91906121b0565b60405180910390f35b34801561068457600080fd5b5061069f600480360381019061069a91906122ba565b610b86565b6040516106ac91906121b0565b60405180910390f35b3480156106c157600080fd5b506106dc60048036038101906106d7919061228d565b610c0d565b005b3480156106ea57600080fd5b50610705600480360381019061070091906122fa565b610ce4565b005b34801561071357600080fd5b5061071c610da2565b60405161072991906121b0565b60405180910390f35b34801561073e57600080fd5b506107596004803603810190610754919061228d565b610da8565b005b61dead81565b60606040518060400160405280601381526020017f5468652053616e646d616e2d454e444c45535300000000000000000000000000815250905090565b60006107b26107ab610e9f565b8484610ea7565b6001905092915050565b6000601354905090565b6000601254905090565b600f60009054906101000a900461ffff1681565b600e5481565b60006107f7848484611070565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610842610e9f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b9906123ac565b60405180910390fd5b6108df856108ce610e9f565b85846108da91906123fb565b610ea7565b60019150509392505050565b60006009905090565b6108fc610e9f565b73ffffffffffffffffffffffffffffffffffffffff1661091a610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610970576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109679061247b565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b60085481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a28610e9f565b73ffffffffffffffffffffffffffffffffffffffff16610a46610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610a9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a939061247b565b60405180910390fd5b610aa660006115ee565b565b60065481565b6000601454905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600581526020017f445245414d000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b64610b5d610e9f565b8484611070565b6001905092915050565b60075481565b60055481565b600d5481565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c15610e9f565b73ffffffffffffffffffffffffffffffffffffffff16610c33610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c809061247b565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610cec610e9f565b73ffffffffffffffffffffffffffffffffffffffff16610d0a610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d579061247b565b60405180910390fd5b6009600a610d6e91906125ce565b82610d799190612619565b6014819055506009600a610d8d91906125ce565b81610d989190612619565b6013819055505050565b60045481565b610db0610e9f565b73ffffffffffffffffffffffffffffffffffffffff16610dce610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610e24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1b9061247b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8a906126e5565b60405180910390fd5b610e9c816115ee565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0d90612777565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c90612809565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106391906121b0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d69061289b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361114e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111459061292d565b60405180910390fd5b60008111611191576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611188906129bf565b60405180910390fd5b61119a836109d7565b8111156111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d390612a51565b60405180910390fd5b601160149054906101000a900460ff16806112405750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806112945750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6112d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ca90612abd565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561137e5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113d45750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114775760145481111561141e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141590612b29565b60405180910390fd5b6013548161142b846109d7565b6114359190612b49565b1115611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d90612beb565b60405180910390fd5b5b6000611482306109d7565b9050601160159054906101000a900460ff161580156114ef5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115075750601160169054906101000a900460ff165b80156115135750600081115b1561153b57611521816116b2565b60004790506000811115611539576115384761192b565b5b505b6115e8848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115e25750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611997565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156116ea576116e9612c0b565b5b6040519080825280602002602001820160405280156117185781602001602082028036833780820191505090505b50905030816000815181106117305761172f612c3a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fb9190612c7e565b8160018151811061180f5761180e612c3a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061187630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ea7565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118da959493929190612dae565b600060405180830381600087803b1580156118f457600080fd5b505af1158015611908573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611993573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119e691906123fb565b925050819055506000816119fa5782611a06565b611a05858585611aca565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a579190612b49565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611abb91906121b0565b60405180910390a35050505050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b2b57506000600754115b15611bce57600f60009054906101000a900461ffff1661ffff1660045483611b539190612619565b611b5d9190612e37565b600c81905550600f60009054906101000a900461ffff1661ffff1660055483611b869190612619565b611b909190612e37565b600d81905550600f60009054906101000a900461ffff1661ffff1660065483611bb99190612619565b611bc39190612e37565b600e81905550611ccd565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c2d57506000600b54115b15611ccc57600f60009054906101000a900461ffff1661ffff1660085483611c559190612619565b611c5f9190612e37565b600c81905550600f60009054906101000a900461ffff1661ffff1660095483611c889190612619565b611c929190612e37565b600d81905550600f60009054906101000a900461ffff1661ffff16600a5483611cbb9190612619565b611cc59190612e37565b600e819055505b5b600c5460016000600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d409190612b49565b92505081905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051611dc891906121b0565b60405180910390a3600d546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e239190612b49565b92505081905550600d54601254611e3a91906123fb565b601281905550611e486107c6565b60128190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051611eaf91906121b0565b60405180910390a3600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f089190612b49565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e54604051611f6e91906121b0565b60405180910390a36000600e54600d54600c54611f8b9190612b49565b611f959190612b49565b90508083611fa391906123fb565b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fd882611fad565b9050919050565b611fe881611fcd565b82525050565b60006020820190506120036000830184611fdf565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612043578082015181840152602081019050612028565b83811115612052576000848401525b50505050565b6000601f19601f8301169050919050565b600061207482612009565b61207e8185612014565b935061208e818560208601612025565b61209781612058565b840191505092915050565b600060208201905081810360008301526120bc8184612069565b905092915050565b600080fd5b6120d281611fcd565b81146120dd57600080fd5b50565b6000813590506120ef816120c9565b92915050565b6000819050919050565b612108816120f5565b811461211357600080fd5b50565b600081359050612125816120ff565b92915050565b60008060408385031215612142576121416120c4565b5b6000612150858286016120e0565b925050602061216185828601612116565b9150509250929050565b60008115159050919050565b6121808161216b565b82525050565b600060208201905061219b6000830184612177565b92915050565b6121aa816120f5565b82525050565b60006020820190506121c560008301846121a1565b92915050565b600061ffff82169050919050565b6121e2816121cb565b82525050565b60006020820190506121fd60008301846121d9565b92915050565b60008060006060848603121561221c5761221b6120c4565b5b600061222a868287016120e0565b935050602061223b868287016120e0565b925050604061224c86828701612116565b9150509250925092565b600060ff82169050919050565b61226c81612256565b82525050565b60006020820190506122876000830184612263565b92915050565b6000602082840312156122a3576122a26120c4565b5b60006122b1848285016120e0565b91505092915050565b600080604083850312156122d1576122d06120c4565b5b60006122df858286016120e0565b92505060206122f0858286016120e0565b9150509250929050565b60008060408385031215612311576123106120c4565b5b600061231f85828601612116565b925050602061233085828601612116565b9150509250929050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612396602883612014565b91506123a18261233a565b604082019050919050565b600060208201905081810360008301526123c581612389565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612406826120f5565b9150612411836120f5565b925082821015612424576124236123cc565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612465602083612014565b91506124708261242f565b602082019050919050565b6000602082019050818103600083015261249481612458565b9050919050565b60008160011c9050919050565b6000808291508390505b60018511156124f2578086048111156124ce576124cd6123cc565b5b60018516156124dd5780820291505b80810290506124eb8561249b565b94506124b2565b94509492505050565b60008261250b57600190506125c7565b8161251957600090506125c7565b816001811461252f576002811461253957612568565b60019150506125c7565b60ff84111561254b5761254a6123cc565b5b8360020a915084821115612562576125616123cc565b5b506125c7565b5060208310610133831016604e8410600b841016171561259d5782820a905083811115612598576125976123cc565b5b6125c7565b6125aa84848460016124a8565b925090508184048111156125c1576125c06123cc565b5b81810290505b9392505050565b60006125d9826120f5565b91506125e483612256565b92506126117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124fb565b905092915050565b6000612624826120f5565b915061262f836120f5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612668576126676123cc565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006126cf602683612014565b91506126da82612673565b604082019050919050565b600060208201905081810360008301526126fe816126c2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612761602483612014565b915061276c82612705565b604082019050919050565b6000602082019050818103600083015261279081612754565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127f3602283612014565b91506127fe82612797565b604082019050919050565b60006020820190508181036000830152612822816127e6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612885602583612014565b915061289082612829565b604082019050919050565b600060208201905081810360008301526128b481612878565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612917602383612014565b9150612922826128bb565b604082019050919050565b600060208201905081810360008301526129468161290a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006129a9602983612014565b91506129b48261294d565b604082019050919050565b600060208201905081810360008301526129d88161299c565b9050919050565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b6000612a3b603183612014565b9150612a46826129df565b604082019050919050565b60006020820190508181036000830152612a6a81612a2e565b9050919050565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b6000612aa7601783612014565b9150612ab282612a71565b602082019050919050565b60006020820190508181036000830152612ad681612a9a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612b13601983612014565b9150612b1e82612add565b602082019050919050565b60006020820190508181036000830152612b4281612b06565b9050919050565b6000612b54826120f5565b9150612b5f836120f5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b9457612b936123cc565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612bd5601a83612014565b9150612be082612b9f565b602082019050919050565b60006020820190508181036000830152612c0481612bc8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612c78816120c9565b92915050565b600060208284031215612c9457612c936120c4565b5b6000612ca284828501612c69565b91505092915050565b6000819050919050565b6000819050919050565b6000612cda612cd5612cd084612cab565b612cb5565b6120f5565b9050919050565b612cea81612cbf565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d2581611fcd565b82525050565b6000612d378383612d1c565b60208301905092915050565b6000602082019050919050565b6000612d5b82612cf0565b612d658185612cfb565b9350612d7083612d0c565b8060005b83811015612da1578151612d888882612d2b565b9750612d9383612d43565b925050600181019050612d74565b5085935050505092915050565b600060a082019050612dc360008301886121a1565b612dd06020830187612ce1565b8181036040830152612de28186612d50565b9050612df16060830185611fdf565b612dfe60808301846121a1565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e42826120f5565b9150612e4d836120f5565b925082612e5d57612e5c612e08565b5b82820490509291505056fea26469706673582212209188c2178625689b848dd136dc324442405d94efef963032f236f74329214a2d64736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c806384d6c8c611610102578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b37146106b5578063ebece9c9146106de578063f239eab814610707578063f2fde38b14610732576101e3565b8063c99f2fed146105f7578063cc70acee14610622578063d0a398141461064d578063dd62ed3e14610678576101e3565b80639740a946116100d15780639740a94614610539578063a8b0898214610564578063a9059cbb1461058f578063b9e93700146105cc576101e3565b806384d6c8c61461048d5780638da5cb5b146104b857806392136913146104e357806395d89b411461050e576101e3565b806323b872dd1161017a5780636cce46fc116101495780636cce46fc146103e357806370a082311461040e578063715018a61461044b5780637bce5a0414610462576101e3565b806323b872dd14610327578063313ce56714610364578063437823ec1461038f57806347afcbfe146103b8576101e3565b80630fa604e4116101b65780630fa604e41461027b57806318160ddd146102a65780631d6167ac146102d15780631f3fed8f146102fc576101e3565b806303fd2a45146101e857806306fdde0314610213578063095ea7b31461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61075b565b60405161020a9190611fee565b60405180910390f35b34801561021f57600080fd5b50610228610761565b60405161023591906120a2565b60405180910390f35b34801561024a57600080fd5b506102656004803603810190610260919061212b565b61079e565b6040516102729190612186565b60405180910390f35b34801561028757600080fd5b506102906107bc565b60405161029d91906121b0565b60405180910390f35b3480156102b257600080fd5b506102bb6107c6565b6040516102c891906121b0565b60405180910390f35b3480156102dd57600080fd5b506102e66107d0565b6040516102f391906121e8565b60405180910390f35b34801561030857600080fd5b506103116107e4565b60405161031e91906121b0565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190612203565b6107ea565b60405161035b9190612186565b60405180910390f35b34801561037057600080fd5b506103796108eb565b6040516103869190612272565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b1919061228d565b6108f4565b005b3480156103c457600080fd5b506103cd6109cb565b6040516103da91906121b0565b60405180910390f35b3480156103ef57600080fd5b506103f86109d1565b60405161040591906121b0565b60405180910390f35b34801561041a57600080fd5b506104356004803603810190610430919061228d565b6109d7565b60405161044291906121b0565b60405180910390f35b34801561045757600080fd5b50610460610a20565b005b34801561046e57600080fd5b50610477610aa8565b60405161048491906121b0565b60405180910390f35b34801561049957600080fd5b506104a2610aae565b6040516104af91906121b0565b60405180910390f35b3480156104c457600080fd5b506104cd610ab8565b6040516104da9190611fee565b60405180910390f35b3480156104ef57600080fd5b506104f8610ae1565b60405161050591906121b0565b60405180910390f35b34801561051a57600080fd5b50610523610ae7565b60405161053091906120a2565b60405180910390f35b34801561054557600080fd5b5061054e610b24565b60405161055b91906121b0565b60405180910390f35b34801561057057600080fd5b50610579610b2a565b6040516105869190611fee565b60405180910390f35b34801561059b57600080fd5b506105b660048036038101906105b1919061212b565b610b50565b6040516105c39190612186565b60405180910390f35b3480156105d857600080fd5b506105e1610b6e565b6040516105ee91906121b0565b60405180910390f35b34801561060357600080fd5b5061060c610b74565b60405161061991906121b0565b60405180910390f35b34801561062e57600080fd5b50610637610b7a565b60405161064491906121b0565b60405180910390f35b34801561065957600080fd5b50610662610b80565b60405161066f91906121b0565b60405180910390f35b34801561068457600080fd5b5061069f600480360381019061069a91906122ba565b610b86565b6040516106ac91906121b0565b60405180910390f35b3480156106c157600080fd5b506106dc60048036038101906106d7919061228d565b610c0d565b005b3480156106ea57600080fd5b50610705600480360381019061070091906122fa565b610ce4565b005b34801561071357600080fd5b5061071c610da2565b60405161072991906121b0565b60405180910390f35b34801561073e57600080fd5b506107596004803603810190610754919061228d565b610da8565b005b61dead81565b60606040518060400160405280601381526020017f5468652053616e646d616e2d454e444c45535300000000000000000000000000815250905090565b60006107b26107ab610e9f565b8484610ea7565b6001905092915050565b6000601354905090565b6000601254905090565b600f60009054906101000a900461ffff1681565b600e5481565b60006107f7848484611070565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610842610e9f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b9906123ac565b60405180910390fd5b6108df856108ce610e9f565b85846108da91906123fb565b610ea7565b60019150509392505050565b60006009905090565b6108fc610e9f565b73ffffffffffffffffffffffffffffffffffffffff1661091a610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610970576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109679061247b565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b60085481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a28610e9f565b73ffffffffffffffffffffffffffffffffffffffff16610a46610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610a9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a939061247b565b60405180910390fd5b610aa660006115ee565b565b60065481565b6000601454905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600581526020017f445245414d000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b64610b5d610e9f565b8484611070565b6001905092915050565b60075481565b60055481565b600d5481565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c15610e9f565b73ffffffffffffffffffffffffffffffffffffffff16610c33610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c809061247b565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610cec610e9f565b73ffffffffffffffffffffffffffffffffffffffff16610d0a610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d579061247b565b60405180910390fd5b6009600a610d6e91906125ce565b82610d799190612619565b6014819055506009600a610d8d91906125ce565b81610d989190612619565b6013819055505050565b60045481565b610db0610e9f565b73ffffffffffffffffffffffffffffffffffffffff16610dce610ab8565b73ffffffffffffffffffffffffffffffffffffffff1614610e24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1b9061247b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8a906126e5565b60405180910390fd5b610e9c816115ee565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0d90612777565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c90612809565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106391906121b0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d69061289b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361114e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111459061292d565b60405180910390fd5b60008111611191576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611188906129bf565b60405180910390fd5b61119a836109d7565b8111156111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d390612a51565b60405180910390fd5b601160149054906101000a900460ff16806112405750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806112945750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6112d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ca90612abd565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561137e5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113d45750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114775760145481111561141e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141590612b29565b60405180910390fd5b6013548161142b846109d7565b6114359190612b49565b1115611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d90612beb565b60405180910390fd5b5b6000611482306109d7565b9050601160159054906101000a900460ff161580156114ef5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115075750601160169054906101000a900460ff165b80156115135750600081115b1561153b57611521816116b2565b60004790506000811115611539576115384761192b565b5b505b6115e8848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115e25750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611997565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156116ea576116e9612c0b565b5b6040519080825280602002602001820160405280156117185781602001602082028036833780820191505090505b50905030816000815181106117305761172f612c3a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fb9190612c7e565b8160018151811061180f5761180e612c3a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061187630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ea7565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118da959493929190612dae565b600060405180830381600087803b1580156118f457600080fd5b505af1158015611908573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611993573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119e691906123fb565b925050819055506000816119fa5782611a06565b611a05858585611aca565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a579190612b49565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611abb91906121b0565b60405180910390a35050505050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b2b57506000600754115b15611bce57600f60009054906101000a900461ffff1661ffff1660045483611b539190612619565b611b5d9190612e37565b600c81905550600f60009054906101000a900461ffff1661ffff1660055483611b869190612619565b611b909190612e37565b600d81905550600f60009054906101000a900461ffff1661ffff1660065483611bb99190612619565b611bc39190612e37565b600e81905550611ccd565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c2d57506000600b54115b15611ccc57600f60009054906101000a900461ffff1661ffff1660085483611c559190612619565b611c5f9190612e37565b600c81905550600f60009054906101000a900461ffff1661ffff1660095483611c889190612619565b611c929190612e37565b600d81905550600f60009054906101000a900461ffff1661ffff16600a5483611cbb9190612619565b611cc59190612e37565b600e819055505b5b600c5460016000600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d409190612b49565b92505081905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051611dc891906121b0565b60405180910390a3600d546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e239190612b49565b92505081905550600d54601254611e3a91906123fb565b601281905550611e486107c6565b60128190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051611eaf91906121b0565b60405180910390a3600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f089190612b49565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e54604051611f6e91906121b0565b60405180910390a36000600e54600d54600c54611f8b9190612b49565b611f959190612b49565b90508083611fa391906123fb565b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fd882611fad565b9050919050565b611fe881611fcd565b82525050565b60006020820190506120036000830184611fdf565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612043578082015181840152602081019050612028565b83811115612052576000848401525b50505050565b6000601f19601f8301169050919050565b600061207482612009565b61207e8185612014565b935061208e818560208601612025565b61209781612058565b840191505092915050565b600060208201905081810360008301526120bc8184612069565b905092915050565b600080fd5b6120d281611fcd565b81146120dd57600080fd5b50565b6000813590506120ef816120c9565b92915050565b6000819050919050565b612108816120f5565b811461211357600080fd5b50565b600081359050612125816120ff565b92915050565b60008060408385031215612142576121416120c4565b5b6000612150858286016120e0565b925050602061216185828601612116565b9150509250929050565b60008115159050919050565b6121808161216b565b82525050565b600060208201905061219b6000830184612177565b92915050565b6121aa816120f5565b82525050565b60006020820190506121c560008301846121a1565b92915050565b600061ffff82169050919050565b6121e2816121cb565b82525050565b60006020820190506121fd60008301846121d9565b92915050565b60008060006060848603121561221c5761221b6120c4565b5b600061222a868287016120e0565b935050602061223b868287016120e0565b925050604061224c86828701612116565b9150509250925092565b600060ff82169050919050565b61226c81612256565b82525050565b60006020820190506122876000830184612263565b92915050565b6000602082840312156122a3576122a26120c4565b5b60006122b1848285016120e0565b91505092915050565b600080604083850312156122d1576122d06120c4565b5b60006122df858286016120e0565b92505060206122f0858286016120e0565b9150509250929050565b60008060408385031215612311576123106120c4565b5b600061231f85828601612116565b925050602061233085828601612116565b9150509250929050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612396602883612014565b91506123a18261233a565b604082019050919050565b600060208201905081810360008301526123c581612389565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612406826120f5565b9150612411836120f5565b925082821015612424576124236123cc565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612465602083612014565b91506124708261242f565b602082019050919050565b6000602082019050818103600083015261249481612458565b9050919050565b60008160011c9050919050565b6000808291508390505b60018511156124f2578086048111156124ce576124cd6123cc565b5b60018516156124dd5780820291505b80810290506124eb8561249b565b94506124b2565b94509492505050565b60008261250b57600190506125c7565b8161251957600090506125c7565b816001811461252f576002811461253957612568565b60019150506125c7565b60ff84111561254b5761254a6123cc565b5b8360020a915084821115612562576125616123cc565b5b506125c7565b5060208310610133831016604e8410600b841016171561259d5782820a905083811115612598576125976123cc565b5b6125c7565b6125aa84848460016124a8565b925090508184048111156125c1576125c06123cc565b5b81810290505b9392505050565b60006125d9826120f5565b91506125e483612256565b92506126117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846124fb565b905092915050565b6000612624826120f5565b915061262f836120f5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612668576126676123cc565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006126cf602683612014565b91506126da82612673565b604082019050919050565b600060208201905081810360008301526126fe816126c2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612761602483612014565b915061276c82612705565b604082019050919050565b6000602082019050818103600083015261279081612754565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127f3602283612014565b91506127fe82612797565b604082019050919050565b60006020820190508181036000830152612822816127e6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612885602583612014565b915061289082612829565b604082019050919050565b600060208201905081810360008301526128b481612878565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612917602383612014565b9150612922826128bb565b604082019050919050565b600060208201905081810360008301526129468161290a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006129a9602983612014565b91506129b48261294d565b604082019050919050565b600060208201905081810360008301526129d88161299c565b9050919050565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b6000612a3b603183612014565b9150612a46826129df565b604082019050919050565b60006020820190508181036000830152612a6a81612a2e565b9050919050565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b6000612aa7601783612014565b9150612ab282612a71565b602082019050919050565b60006020820190508181036000830152612ad681612a9a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612b13601983612014565b9150612b1e82612add565b602082019050919050565b60006020820190508181036000830152612b4281612b06565b9050919050565b6000612b54826120f5565b9150612b5f836120f5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b9457612b936123cc565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612bd5601a83612014565b9150612be082612b9f565b602082019050919050565b60006020820190508181036000830152612c0481612bc8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612c78816120c9565b92915050565b600060208284031215612c9457612c936120c4565b5b6000612ca284828501612c69565b91505092915050565b6000819050919050565b6000819050919050565b6000612cda612cd5612cd084612cab565b612cb5565b6120f5565b9050919050565b612cea81612cbf565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d2581611fcd565b82525050565b6000612d378383612d1c565b60208301905092915050565b6000602082019050919050565b6000612d5b82612cf0565b612d658185612cfb565b9350612d7083612d0c565b8060005b83811015612da1578151612d888882612d2b565b9750612d9383612d43565b925050600181019050612d74565b5085935050505092915050565b600060a082019050612dc360008301886121a1565b612dd06020830187612ce1565b8181036040830152612de28186612d50565b9050612df16060830185611fdf565b612dfe60808301846121a1565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e42826120f5565b9150612e4d836120f5565b925082612e5d57612e5c612e08565b5b82820490509291505056fea26469706673582212209188c2178625689b848dd136dc324442405d94efef963032f236f74329214a2d64736f6c634300080f0033

Deployed Bytecode Sourcemap

4325:9464:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5381:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7891:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8764:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8124:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8283:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5334:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5294:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8910:418;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8208:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13194:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5026:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4980:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8370:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2988:94;;;;;;;;;;;;;:::i;:::-;;4844:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8045:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2765:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5067:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7966:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5209:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5461:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8479:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4887:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4804:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5253:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5111:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8629:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13311:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13427:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4759:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3090:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5381:73;5412:42;5381:73;:::o;7891:69::-;7928:13;7952:5;;;;;;;;;;;;;;;;;7945:12;;7891:69;:::o;8764:138::-;8839:4;8847:39;8856:12;:10;:12::i;:::-;8870:7;8879:6;8847:8;:39::i;:::-;8895:4;8888:11;;8764:138;;;;:::o;8124:78::-;8168:7;8185:15;;8178:22;;8124:78;:::o;8283:81::-;8336:7;8354;;8347:14;;8283:81;:::o;5334:38::-;;;;;;;;;;;;;:::o;5294:33::-;;;;:::o;8910:418::-;9016:4;9033:36;9043:6;9051:9;9062:6;9033:9;:36::i;:::-;9080:24;9107:11;:19;9119:6;9107:19;;;;;;;;;;;;;;;:33;9127:12;:10;:12::i;:::-;9107:33;;;;;;;;;;;;;;;;9080:60;;9179:6;9159:16;:26;;9151:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9241:57;9250:6;9258:12;:10;:12::i;:::-;9291:6;9272:16;:25;;;;:::i;:::-;9241:8;:57::i;:::-;9316:4;9309:11;;;8910:418;;;;;:::o;8208:69::-;8249:5;4749:1;8258:16;;8208:69;:::o;13194:111::-;2911:12;:10;:12::i;:::-;2900:23;;:7;:5;:7::i;:::-;:23;;;2892:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13293:4:::1;13263:18;:27;13282:7;13263:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;13194:111:::0;:::o;5026:34::-;;;;:::o;4980:39::-;;;;:::o;8370:103::-;8436:7;8454;:16;8462:7;8454:16;;;;;;;;;;;;;;;;8447:23;;8370:103;;;:::o;2988:94::-;2911:12;:10;:12::i;:::-;2900:23;;:7;:5;:7::i;:::-;:23;;;2892:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3053:21:::1;3071:1;3053:9;:21::i;:::-;2988:94::o:0;4844:36::-;;;;:::o;8045:73::-;8088:7;8105:11;;8098:18;;8045:73;:::o;2765:87::-;2811:7;2838:6;;;;;;;;;;;2831:13;;2765:87;:::o;5067:37::-;;;;:::o;7966:73::-;8005:13;8029:7;;;;;;;;;;;;;;;;;8022:14;;7966:73;:::o;5209:37::-;;;;:::o;5461:26::-;;;;;;;;;;;;;:::o;8479:144::-;8557:4;8565:42;8575:12;:10;:12::i;:::-;8589:9;8600:6;8565:9;:42::i;:::-;8616:4;8609:11;;8479:144;;;;:::o;4887:84::-;;;;:::o;4804:33::-;;;;:::o;5253:32::-;;;;:::o;5111:89::-;;;;:::o;8629:129::-;8710:7;8728:11;:18;8740:5;8728:18;;;;;;;;;;;;;;;:27;8747:7;8728:27;;;;;;;;;;;;;;;;8721:34;;8629:129;;;;:::o;13311:110::-;2911:12;:10;:12::i;:::-;2900:23;;:7;:5;:7::i;:::-;:23;;;2892:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13408:5:::1;13378:18;:27;13397:7;13378:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;13311:110:::0;:::o;13427:217::-;2911:12;:10;:12::i;:::-;2900:23;;:7;:5;:7::i;:::-;:23;;;2892:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4749:1:::1;13562:2;:14;;;;:::i;:::-;13547:12;:29;;;;:::i;:::-;13533:11;:43;;;;4749:1;13622:2;:14;;;;:::i;:::-;13605;:31;;;;:::i;:::-;13587:15;:49;;;;13427:217:::0;;:::o;4759:38::-;;;;:::o;3090:192::-;2911:12;:10;:12::i;:::-;2900:23;;:7;:5;:7::i;:::-;:23;;;2892:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3199:1:::1;3179:22;;:8;:22;;::::0;3171:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3255:19;3265:8;3255:9;:19::i;:::-;3090:192:::0;:::o;2188:98::-;2241:7;2268:10;2261:17;;2188:98;:::o;9336:335::-;9446:1;9429:19;;:5;:19;;;9421:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9527:1;9508:21;;:7;:21;;;9500:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9609:6;9579:11;:18;9591:5;9579:18;;;;;;;;;;;;;;;:27;9598:7;9579:27;;;;;;;;;;;;;;;:36;;;;9647:7;9631:32;;9640:5;9631:32;;;9656:6;9631:32;;;;;;:::i;:::-;;;;;;;;9336:335;;;:::o;9679:1335::-;9783:1;9767:18;;:4;:18;;;9759:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9860:1;9846:16;;:2;:16;;;9838:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9930:1;9921:6;:10;9913:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10006:15;10016:4;10006:9;:15::i;:::-;9996:6;:25;;9988:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;10097:11;;;;;;;;;;;:39;;;;10112:18;:24;10131:4;10112:24;;;;;;;;;;;;;;;;;;;;;;;;;10097:39;:65;;;;10140:18;:22;10159:2;10140:22;;;;;;;;;;;;;;;;;;;;;;;;;10097:65;10089:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;10215:13;;;;;;;;;;;10207:21;;:4;:21;;;:55;;;;;10246:15;;;;;;;;;;;10232:30;;:2;:30;;;;10207:55;:83;;;;;10268:18;:22;10287:2;10268:22;;;;;;;;;;;;;;;;;;;;;;;;;10266:24;10207:83;10203:278;;;10329:11;;10319:6;:21;;10311:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10423:15;;10413:6;10397:13;10407:2;10397:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;10389:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;10203:278;10493:28;10524:24;10542:4;10524:9;:24::i;:::-;10493:55;;10568:6;;;;;;;;;;;10567:7;:32;;;;;10586:13;;;;;;;;;;;10578:21;;:4;:21;;;;10567:32;:47;;;;;10603:11;;;;;;;;;;;10567:47;:73;;;;;10639:1;10618:20;:22;10567:73;10563:344;;;10661:38;10678:20;10661:16;:38::i;:::-;10718:26;10747:21;10718:50;;10811:1;10790:18;:22;10787:105;;;10837:35;10850:21;10837:12;:35::i;:::-;10787:105;10642:265;10563:344;10919:87;10934:4;10940:2;10944:6;10954:18;:24;10973:4;10954:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10982:18;:22;11001:2;10982:22;;;;;;;;;;;;;;;;;;;;;;;;;10954:50;10952:53;10919:14;:87::i;:::-;9748:1266;9679:1335;;;:::o;3290:173::-;3346:16;3365:6;;;;;;;;;;;3346:25;;3391:8;3382:6;;:17;;;;;;;;;;;;;;;;;;3446:8;3415:40;;3436:8;3415:40;;;;;;;;;;;;3335:128;3290:173;:::o;11022:483::-;6004:4;5995:6;;:13;;;;;;;;;;;;;;;;;;11100:21:::1;11138:1;11124:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11100:40;;11169:4;11151;11156:1;11151:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11195:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11185:4;11190:1;11185:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11228:62;11245:4;11260:15;;;;;;;;;;;11278:11;11228:8;:62::i;:::-;11301:15;;;;;;;;;;;:66;;;11382:11;11408:1;11424:4;11451;11471:15;11301:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11089:416;6040:5:::0;6031:6;;:14;;;;;;;;;;;;;;;;;;11022:483;:::o;13650:95::-;13707:13;;;;;;;;;;;:22;;:30;13730:6;13707:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13650:95;:::o;11511:340::-;11638:6;11619:7;:15;11627:6;11619:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;11655:22;11681:7;11680:57;;11731:6;11680:57;;;11692:36;11702:6;11710:9;11721:6;11692:9;:36::i;:::-;11680:57;11655:82;;11770:14;11748:7;:18;11756:9;11748:18;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;11817:9;11800:43;;11809:6;11800:43;;;11828:14;11800:43;;;;;;:::i;:::-;;;;;;;;11608:243;11511:340;;;;:::o;11859:1329::-;11938:7;11969:13;;;;;;;;;;;11961:21;;:4;:21;;;:41;;;;;12001:1;11986:12;;:16;11961:41;11958:637;;;12077:16;;;;;;;;;;;12046:47;;12055:19;;12046:6;:28;;;;:::i;:::-;:47;;;;:::i;:::-;12021:22;:72;;;;12154:16;;;;;;;;;;;12128:42;;12137:14;;12128:6;:23;;;;:::i;:::-;:42;;;;:::i;:::-;12108:17;:62;;;;12242:16;;;;;;;;;;;12215:43;;12224:15;;12215:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;12194:18;:64;;;;11958:637;;;12290:13;;;;;;;;;;;12284:19;;:2;:19;;;:41;;;;;12324:1;12308:13;;:17;12284:41;12280:315;;;12401:16;;;;;;;;;;;12369:48;;12378:20;;12369:6;:29;;;;:::i;:::-;:48;;;;:::i;:::-;12344:22;:73;;;;12479:16;;;;;;;;;;;12452:43;;12461:15;;12452:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;12432:17;:63;;;;12559:16;;;;;;;;;;;12531:44;;12540:16;;12531:6;:25;;;;:::i;:::-;:44;;;;:::i;:::-;12510:18;:65;;;;12280:315;11958:637;12629:22;;12605:7;:20;12613:11;;;;;;;;;;;12605:20;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;12682:11;;;;;;;;;;;12667:51;;12676:4;12667:51;;;12695:22;;12667:51;;;;;;:::i;:::-;;;;;;;;12756:17;;12739:7;:13;5412:42;12739:13;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;12804:17;;12794:7;;:27;;;;:::i;:::-;12784:7;:37;;;;12842:13;:11;:13::i;:::-;12832:7;:23;;;;5412:42;12871:39;;12880:4;12871:39;;;12892:17;;12871:39;;;;;;:::i;:::-;;;;;;;;12965:18;;12939:7;:22;12955:4;12939:22;;;;;;;;;;;;;;;;:44;;;;;;;:::i;:::-;;;;;;;;13022:4;12999:49;;13008:4;12999:49;;;13029:18;;12999:49;;;;;;:::i;:::-;;;;;;;;13061:17;13126:18;;13106:17;;13081:22;;:42;;;;:::i;:::-;:63;;;;:::i;:::-;13061:83;;13171:9;13162:6;:18;;;;:::i;:::-;13155:25;;;11859:1329;;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:99::-;645:6;679:5;673:12;663:22;;593:99;;;:::o;698:169::-;782:11;816:6;811:3;804:19;856:4;851:3;847:14;832:29;;698:169;;;;:::o;873:307::-;941:1;951:113;965:6;962:1;959:13;951:113;;;1050:1;1045:3;1041:11;1035:18;1031:1;1026:3;1022:11;1015:39;987:2;984:1;980:10;975:15;;951:113;;;1082:6;1079:1;1076:13;1073:101;;;1162:1;1153:6;1148:3;1144:16;1137:27;1073:101;922:258;873:307;;;:::o;1186:102::-;1227:6;1278:2;1274:7;1269:2;1262:5;1258:14;1254:28;1244:38;;1186:102;;;:::o;1294:364::-;1382:3;1410:39;1443:5;1410:39;:::i;:::-;1465:71;1529:6;1524:3;1465:71;:::i;:::-;1458:78;;1545:52;1590:6;1585:3;1578:4;1571:5;1567:16;1545:52;:::i;:::-;1622:29;1644:6;1622:29;:::i;:::-;1617:3;1613:39;1606:46;;1386:272;1294:364;;;;:::o;1664:313::-;1777:4;1815:2;1804:9;1800:18;1792:26;;1864:9;1858:4;1854:20;1850:1;1839:9;1835:17;1828:47;1892:78;1965:4;1956:6;1892:78;:::i;:::-;1884:86;;1664:313;;;;:::o;2064:117::-;2173:1;2170;2163:12;2310:122;2383:24;2401:5;2383:24;:::i;:::-;2376:5;2373:35;2363:63;;2422:1;2419;2412:12;2363:63;2310:122;:::o;2438:139::-;2484:5;2522:6;2509:20;2500:29;;2538:33;2565:5;2538:33;:::i;:::-;2438:139;;;;:::o;2583:77::-;2620:7;2649:5;2638:16;;2583:77;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:118::-;3933:24;3951:5;3933:24;:::i;:::-;3928:3;3921:37;3846:118;;:::o;3970:222::-;4063:4;4101:2;4090:9;4086:18;4078:26;;4114:71;4182:1;4171:9;4167:17;4158:6;4114:71;:::i;:::-;3970:222;;;;:::o;4198:89::-;4234:7;4274:6;4267:5;4263:18;4252:29;;4198:89;;;:::o;4293:115::-;4378:23;4395:5;4378:23;:::i;:::-;4373:3;4366:36;4293:115;;:::o;4414:218::-;4505:4;4543:2;4532:9;4528:18;4520:26;;4556:69;4622:1;4611:9;4607:17;4598:6;4556:69;:::i;:::-;4414:218;;;;:::o;4638:619::-;4715:6;4723;4731;4780:2;4768:9;4759:7;4755:23;4751:32;4748:119;;;4786:79;;:::i;:::-;4748:119;4906:1;4931:53;4976:7;4967:6;4956:9;4952:22;4931:53;:::i;:::-;4921:63;;4877:117;5033:2;5059:53;5104:7;5095:6;5084:9;5080:22;5059:53;:::i;:::-;5049:63;;5004:118;5161:2;5187:53;5232:7;5223:6;5212:9;5208:22;5187:53;:::i;:::-;5177:63;;5132:118;4638:619;;;;;:::o;5263:86::-;5298:7;5338:4;5331:5;5327:16;5316:27;;5263:86;;;:::o;5355:112::-;5438:22;5454:5;5438:22;:::i;:::-;5433:3;5426:35;5355:112;;:::o;5473:214::-;5562:4;5600:2;5589:9;5585:18;5577:26;;5613:67;5677:1;5666:9;5662:17;5653:6;5613:67;:::i;:::-;5473:214;;;;:::o;5693:329::-;5752:6;5801:2;5789:9;5780:7;5776:23;5772:32;5769:119;;;5807:79;;:::i;:::-;5769:119;5927:1;5952:53;5997:7;5988:6;5977:9;5973:22;5952:53;:::i;:::-;5942:63;;5898:117;5693:329;;;;:::o;6028:474::-;6096:6;6104;6153:2;6141:9;6132:7;6128:23;6124:32;6121:119;;;6159:79;;:::i;:::-;6121:119;6279:1;6304:53;6349:7;6340:6;6329:9;6325:22;6304:53;:::i;:::-;6294:63;;6250:117;6406:2;6432:53;6477:7;6468:6;6457:9;6453:22;6432:53;:::i;:::-;6422:63;;6377:118;6028:474;;;;;:::o;6508:::-;6576:6;6584;6633:2;6621:9;6612:7;6608:23;6604:32;6601:119;;;6639:79;;:::i;:::-;6601:119;6759:1;6784:53;6829:7;6820:6;6809:9;6805:22;6784:53;:::i;:::-;6774:63;;6730:117;6886:2;6912:53;6957:7;6948:6;6937:9;6933:22;6912:53;:::i;:::-;6902:63;;6857:118;6508:474;;;;;:::o;6988:227::-;7128:34;7124:1;7116:6;7112:14;7105:58;7197:10;7192:2;7184:6;7180:15;7173:35;6988:227;:::o;7221:366::-;7363:3;7384:67;7448:2;7443:3;7384:67;:::i;:::-;7377:74;;7460:93;7549:3;7460:93;:::i;:::-;7578:2;7573:3;7569:12;7562:19;;7221:366;;;:::o;7593:419::-;7759:4;7797:2;7786:9;7782:18;7774:26;;7846:9;7840:4;7836:20;7832:1;7821:9;7817:17;7810:47;7874:131;8000:4;7874:131;:::i;:::-;7866:139;;7593:419;;;:::o;8018:180::-;8066:77;8063:1;8056:88;8163:4;8160:1;8153:15;8187:4;8184:1;8177:15;8204:191;8244:4;8264:20;8282:1;8264:20;:::i;:::-;8259:25;;8298:20;8316:1;8298:20;:::i;:::-;8293:25;;8337:1;8334;8331:8;8328:34;;;8342:18;;:::i;:::-;8328:34;8387:1;8384;8380:9;8372:17;;8204:191;;;;:::o;8401:182::-;8541:34;8537:1;8529:6;8525:14;8518:58;8401:182;:::o;8589:366::-;8731:3;8752:67;8816:2;8811:3;8752:67;:::i;:::-;8745:74;;8828:93;8917:3;8828:93;:::i;:::-;8946:2;8941:3;8937:12;8930:19;;8589:366;;;:::o;8961:419::-;9127:4;9165:2;9154:9;9150:18;9142:26;;9214:9;9208:4;9204:20;9200:1;9189:9;9185:17;9178:47;9242:131;9368:4;9242:131;:::i;:::-;9234:139;;8961:419;;;:::o;9386:102::-;9428:8;9475:5;9472:1;9468:13;9447:34;;9386:102;;;:::o;9494:848::-;9555:5;9562:4;9586:6;9577:15;;9610:5;9601:14;;9624:712;9645:1;9635:8;9632:15;9624:712;;;9740:4;9735:3;9731:14;9725:4;9722:24;9719:50;;;9749:18;;:::i;:::-;9719:50;9799:1;9789:8;9785:16;9782:451;;;10214:4;10207:5;10203:16;10194:25;;9782:451;10264:4;10258;10254:15;10246:23;;10294:32;10317:8;10294:32;:::i;:::-;10282:44;;9624:712;;;9494:848;;;;;;;:::o;10348:1073::-;10402:5;10593:8;10583:40;;10614:1;10605:10;;10616:5;;10583:40;10642:4;10632:36;;10659:1;10650:10;;10661:5;;10632:36;10728:4;10776:1;10771:27;;;;10812:1;10807:191;;;;10721:277;;10771:27;10789:1;10780:10;;10791:5;;;10807:191;10852:3;10842:8;10839:17;10836:43;;;10859:18;;:::i;:::-;10836:43;10908:8;10905:1;10901:16;10892:25;;10943:3;10936:5;10933:14;10930:40;;;10950:18;;:::i;:::-;10930:40;10983:5;;;10721:277;;11107:2;11097:8;11094:16;11088:3;11082:4;11079:13;11075:36;11057:2;11047:8;11044:16;11039:2;11033:4;11030:12;11026:35;11010:111;11007:246;;;11163:8;11157:4;11153:19;11144:28;;11198:3;11191:5;11188:14;11185:40;;;11205:18;;:::i;:::-;11185:40;11238:5;;11007:246;11278:42;11316:3;11306:8;11300:4;11297:1;11278:42;:::i;:::-;11263:57;;;;11352:4;11347:3;11343:14;11336:5;11333:25;11330:51;;;11361:18;;:::i;:::-;11330:51;11410:4;11403:5;11399:16;11390:25;;10348:1073;;;;;;:::o;11427:281::-;11485:5;11509:23;11527:4;11509:23;:::i;:::-;11501:31;;11553:25;11569:8;11553:25;:::i;:::-;11541:37;;11597:104;11634:66;11624:8;11618:4;11597:104;:::i;:::-;11588:113;;11427:281;;;;:::o;11714:348::-;11754:7;11777:20;11795:1;11777:20;:::i;:::-;11772:25;;11811:20;11829:1;11811:20;:::i;:::-;11806:25;;11999:1;11931:66;11927:74;11924:1;11921:81;11916:1;11909:9;11902:17;11898:105;11895:131;;;12006:18;;:::i;:::-;11895:131;12054:1;12051;12047:9;12036:20;;11714:348;;;;:::o;12068:225::-;12208:34;12204:1;12196:6;12192:14;12185:58;12277:8;12272:2;12264:6;12260:15;12253:33;12068:225;:::o;12299:366::-;12441:3;12462:67;12526:2;12521:3;12462:67;:::i;:::-;12455:74;;12538:93;12627:3;12538:93;:::i;:::-;12656:2;12651:3;12647:12;12640:19;;12299:366;;;:::o;12671:419::-;12837:4;12875:2;12864:9;12860:18;12852:26;;12924:9;12918:4;12914:20;12910:1;12899:9;12895:17;12888:47;12952:131;13078:4;12952:131;:::i;:::-;12944:139;;12671:419;;;:::o;13096:223::-;13236:34;13232:1;13224:6;13220:14;13213:58;13305:6;13300:2;13292:6;13288:15;13281:31;13096:223;:::o;13325:366::-;13467:3;13488:67;13552:2;13547:3;13488:67;:::i;:::-;13481:74;;13564:93;13653:3;13564:93;:::i;:::-;13682:2;13677:3;13673:12;13666:19;;13325:366;;;:::o;13697:419::-;13863:4;13901:2;13890:9;13886:18;13878:26;;13950:9;13944:4;13940:20;13936:1;13925:9;13921:17;13914:47;13978:131;14104:4;13978:131;:::i;:::-;13970:139;;13697:419;;;:::o;14122:221::-;14262:34;14258:1;14250:6;14246:14;14239:58;14331:4;14326:2;14318:6;14314:15;14307:29;14122:221;:::o;14349:366::-;14491:3;14512:67;14576:2;14571:3;14512:67;:::i;:::-;14505:74;;14588:93;14677:3;14588:93;:::i;:::-;14706:2;14701:3;14697:12;14690:19;;14349:366;;;:::o;14721:419::-;14887:4;14925:2;14914:9;14910:18;14902:26;;14974:9;14968:4;14964:20;14960:1;14949:9;14945:17;14938:47;15002:131;15128:4;15002:131;:::i;:::-;14994:139;;14721:419;;;:::o;15146:224::-;15286:34;15282:1;15274:6;15270:14;15263:58;15355:7;15350:2;15342:6;15338:15;15331:32;15146:224;:::o;15376:366::-;15518:3;15539:67;15603:2;15598:3;15539:67;:::i;:::-;15532:74;;15615:93;15704:3;15615:93;:::i;:::-;15733:2;15728:3;15724:12;15717:19;;15376:366;;;:::o;15748:419::-;15914:4;15952:2;15941:9;15937:18;15929:26;;16001:9;15995:4;15991:20;15987:1;15976:9;15972:17;15965:47;16029:131;16155:4;16029:131;:::i;:::-;16021:139;;15748:419;;;:::o;16173:222::-;16313:34;16309:1;16301:6;16297:14;16290:58;16382:5;16377:2;16369:6;16365:15;16358:30;16173:222;:::o;16401:366::-;16543:3;16564:67;16628:2;16623:3;16564:67;:::i;:::-;16557:74;;16640:93;16729:3;16640:93;:::i;:::-;16758:2;16753:3;16749:12;16742:19;;16401:366;;;:::o;16773:419::-;16939:4;16977:2;16966:9;16962:18;16954:26;;17026:9;17020:4;17016:20;17012:1;17001:9;16997:17;16990:47;17054:131;17180:4;17054:131;:::i;:::-;17046:139;;16773:419;;;:::o;17198:228::-;17338:34;17334:1;17326:6;17322:14;17315:58;17407:11;17402:2;17394:6;17390:15;17383:36;17198:228;:::o;17432:366::-;17574:3;17595:67;17659:2;17654:3;17595:67;:::i;:::-;17588:74;;17671:93;17760:3;17671:93;:::i;:::-;17789:2;17784:3;17780:12;17773:19;;17432:366;;;:::o;17804:419::-;17970:4;18008:2;17997:9;17993:18;17985:26;;18057:9;18051:4;18047:20;18043:1;18032:9;18028:17;18021:47;18085:131;18211:4;18085:131;:::i;:::-;18077:139;;17804:419;;;:::o;18229:236::-;18369:34;18365:1;18357:6;18353:14;18346:58;18438:19;18433:2;18425:6;18421:15;18414:44;18229:236;:::o;18471:366::-;18613:3;18634:67;18698:2;18693:3;18634:67;:::i;:::-;18627:74;;18710:93;18799:3;18710:93;:::i;:::-;18828:2;18823:3;18819:12;18812:19;;18471:366;;;:::o;18843:419::-;19009:4;19047:2;19036:9;19032:18;19024:26;;19096:9;19090:4;19086:20;19082:1;19071:9;19067:17;19060:47;19124:131;19250:4;19124:131;:::i;:::-;19116:139;;18843:419;;;:::o;19268:173::-;19408:25;19404:1;19396:6;19392:14;19385:49;19268:173;:::o;19447:366::-;19589:3;19610:67;19674:2;19669:3;19610:67;:::i;:::-;19603:74;;19686:93;19775:3;19686:93;:::i;:::-;19804:2;19799:3;19795:12;19788:19;;19447:366;;;:::o;19819:419::-;19985:4;20023:2;20012:9;20008:18;20000:26;;20072:9;20066:4;20062:20;20058:1;20047:9;20043:17;20036:47;20100:131;20226:4;20100:131;:::i;:::-;20092:139;;19819:419;;;:::o;20244:175::-;20384:27;20380:1;20372:6;20368:14;20361:51;20244:175;:::o;20425:366::-;20567:3;20588:67;20652:2;20647:3;20588:67;:::i;:::-;20581:74;;20664:93;20753:3;20664:93;:::i;:::-;20782:2;20777:3;20773:12;20766:19;;20425:366;;;:::o;20797:419::-;20963:4;21001:2;20990:9;20986:18;20978:26;;21050:9;21044:4;21040:20;21036:1;21025:9;21021:17;21014:47;21078:131;21204:4;21078:131;:::i;:::-;21070:139;;20797:419;;;:::o;21222:305::-;21262:3;21281:20;21299:1;21281:20;:::i;:::-;21276:25;;21315:20;21333:1;21315:20;:::i;:::-;21310:25;;21469:1;21401:66;21397:74;21394:1;21391:81;21388:107;;;21475:18;;:::i;:::-;21388:107;21519:1;21516;21512:9;21505:16;;21222:305;;;;:::o;21533:176::-;21673:28;21669:1;21661:6;21657:14;21650:52;21533:176;:::o;21715:366::-;21857:3;21878:67;21942:2;21937:3;21878:67;:::i;:::-;21871:74;;21954:93;22043:3;21954:93;:::i;:::-;22072:2;22067:3;22063:12;22056:19;;21715:366;;;:::o;22087:419::-;22253:4;22291:2;22280:9;22276:18;22268:26;;22340:9;22334:4;22330:20;22326:1;22315:9;22311:17;22304:47;22368:131;22494:4;22368:131;:::i;:::-;22360:139;;22087:419;;;:::o;22512:180::-;22560:77;22557:1;22550:88;22657:4;22654:1;22647:15;22681:4;22678:1;22671:15;22698:180;22746:77;22743:1;22736:88;22843:4;22840:1;22833:15;22867:4;22864:1;22857:15;22884:143;22941:5;22972:6;22966:13;22957:22;;22988:33;23015:5;22988:33;:::i;:::-;22884:143;;;;:::o;23033:351::-;23103:6;23152:2;23140:9;23131:7;23127:23;23123:32;23120:119;;;23158:79;;:::i;:::-;23120:119;23278:1;23303:64;23359:7;23350:6;23339:9;23335:22;23303:64;:::i;:::-;23293:74;;23249:128;23033:351;;;;:::o;23390:85::-;23435:7;23464:5;23453:16;;23390:85;;;:::o;23481:60::-;23509:3;23530:5;23523:12;;23481:60;;;:::o;23547:158::-;23605:9;23638:61;23656:42;23665:32;23691:5;23665:32;:::i;:::-;23656:42;:::i;:::-;23638:61;:::i;:::-;23625:74;;23547:158;;;:::o;23711:147::-;23806:45;23845:5;23806:45;:::i;:::-;23801:3;23794:58;23711:147;;:::o;23864:114::-;23931:6;23965:5;23959:12;23949:22;;23864:114;;;:::o;23984:184::-;24083:11;24117:6;24112:3;24105:19;24157:4;24152:3;24148:14;24133:29;;23984:184;;;;:::o;24174:132::-;24241:4;24264:3;24256:11;;24294:4;24289:3;24285:14;24277:22;;24174:132;;;:::o;24312:108::-;24389:24;24407:5;24389:24;:::i;:::-;24384:3;24377:37;24312:108;;:::o;24426:179::-;24495:10;24516:46;24558:3;24550:6;24516:46;:::i;:::-;24594:4;24589:3;24585:14;24571:28;;24426:179;;;;:::o;24611:113::-;24681:4;24713;24708:3;24704:14;24696:22;;24611:113;;;:::o;24760:732::-;24879:3;24908:54;24956:5;24908:54;:::i;:::-;24978:86;25057:6;25052:3;24978:86;:::i;:::-;24971:93;;25088:56;25138:5;25088:56;:::i;:::-;25167:7;25198:1;25183:284;25208:6;25205:1;25202:13;25183:284;;;25284:6;25278:13;25311:63;25370:3;25355:13;25311:63;:::i;:::-;25304:70;;25397:60;25450:6;25397:60;:::i;:::-;25387:70;;25243:224;25230:1;25227;25223:9;25218:14;;25183:284;;;25187:14;25483:3;25476:10;;24884:608;;;24760:732;;;;:::o;25498:831::-;25761:4;25799:3;25788:9;25784:19;25776:27;;25813:71;25881:1;25870:9;25866:17;25857:6;25813:71;:::i;:::-;25894:80;25970:2;25959:9;25955:18;25946:6;25894:80;:::i;:::-;26021:9;26015:4;26011:20;26006:2;25995:9;25991:18;25984:48;26049:108;26152:4;26143:6;26049:108;:::i;:::-;26041:116;;26167:72;26235:2;26224:9;26220:18;26211:6;26167:72;:::i;:::-;26249:73;26317:3;26306:9;26302:19;26293:6;26249:73;:::i;:::-;25498:831;;;;;;;;:::o;26335:180::-;26383:77;26380:1;26373:88;26480:4;26477:1;26470:15;26504:4;26501:1;26494:15;26521:185;26561:1;26578:20;26596:1;26578:20;:::i;:::-;26573:25;;26612:20;26630:1;26612:20;:::i;:::-;26607:25;;26651:1;26641:35;;26656:18;;:::i;:::-;26641:35;26698:1;26695;26691:9;26686:14;;26521:185;;;;:::o

Swarm Source

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