ETH Price: $3,466.38 (-1.43%)
Gas: 5 Gwei

Token

eMastiff (STIFF)
 

Overview

Max Total Supply

1,000,000,000,000 STIFF

Holders

345

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,131,785,833.340099692 STIFF

Value
$0.00
0xb4065b5c8285966fcf307a1c8e85873acee75514
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:
eMastiff

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-12
*/

/*
SPDX-License-Identifier: Mines™®©
*/



pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

contract eMastiff is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode"eMastiff";
    string private constant _symbol = "STIFF";
    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _taxFee = 2;
    uint256 private _teamFee = 8;
    mapping(address => bool) private bots;
    mapping(address => uint256) private buycooldown;
    mapping(address => uint256) private sellcooldown;
    mapping(address => uint256) private firstsell;
    mapping(address => uint256) private sellnumber;
    address payable private _teamAddress;
    address payable private _marketingFunds;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private liquidityAdded = false;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor(address payable addr1, address payable addr2) {
        _teamAddress = addr1;
        _marketingFunds = addr2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_teamAddress] = true;
        _isExcludedFromFee[_marketingFunds] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns (uint256) {
        require(rAmount <= _rTotal,"Amount must be less than total reflections");
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
    
    function removeAllFee() private {
        if (_taxFee == 0 && _teamFee == 0) return;
        _taxFee = 0;
        _teamFee = 0;
    }

    function restoreAllFee() private {
        _taxFee = 2;
        _teamFee = 8;
    }
    
 

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            if (cooldownEnabled) {
                if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) {
                    require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only");
                }
            }
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled) {
                require(tradingOpen);
                require(amount <= _maxTxAmount);
                require(buycooldown[to] < block.timestamp);
                buycooldown[to] = block.timestamp + (60 seconds);
                _teamFee = 8;
                _taxFee = 2;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                require(amount <= _maxTxAmount);
           
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                
            }
        }
        bool takeFee = true;

        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

        _tokenTransfer(from, to, amount, takeFee);
        restoreAllFee;
    }

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

    function sendETHToFee(uint256 amount) private {
        _teamAddress.transfer(amount.div(2));
        _marketingFunds.transfer(amount.div(2));
    }
    
    function openTrading() public onlyOwner {
        require(liquidityAdded);
        tradingOpen = true;
    }

    function addLiquidity() external onlyOwner() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        liquidityAdded = true;
        _maxTxAmount = 3000000000 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router),type(uint256).max);
    }

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

    function manualsend() external {
        require(_msgSender() == _teamAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

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

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

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

    receive() external payable {}

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

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

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

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

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

    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d9190620005f8565b6000196200002c91906200057f565b600655600260085560086009556000601260146101000a81548160ff0219169083151502179055506000601260156101000a81548160ff0219169083151502179055506000601260166101000a81548160ff0219169083151502179055506000601260176101000a81548160ff0219169083151502179055506000601260186101000a81548160ff021916908315150217905550683635c9adc5dea00000601355348015620000da57600080fd5b5060405162003ad838038062003ad883398181016040528101906200010091906200050a565b600062000112620004c260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006546002600062000249620004c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200029d620004ca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200044a620004c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620004b2919062000562565b60405180910390a35050620006ad565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620005048162000693565b92915050565b600080604083850312156200052457620005236200068e565b5b60006200053485828601620004f3565b92505060206200054785828601620004f3565b9150509250929050565b6200055c81620005ee565b82525050565b600060208201905062000579600083018462000551565b92915050565b60006200058c82620005ee565b91506200059983620005ee565b925082821015620005af57620005ae62000630565b5b828203905092915050565b6000620005c782620005ce565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200060582620005ee565b91506200061283620005ee565b9250826200062557620006246200065f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6200069e81620005ba565b8114620006aa57600080fd5b50565b61341b80620006bd6000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063c3c8cd8011610064578063c3c8cd8014610330578063c9567bf914610347578063d543dbeb1461035e578063dd62ed3e14610387578063e8078d94146103c457610109565b8063715018a6146102865780638da5cb5b1461029d57806395d89b41146102c8578063a9059cbb146102f357610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b6040516101309190612bc3565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190612736565b610418565b60405161016d9190612ba8565b60405180910390f35b34801561018257600080fd5b5061018b610436565b6040516101989190612d45565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906126e3565b610447565b6040516101d59190612ba8565b60405180910390f35b3480156101ea57600080fd5b506101f3610520565b6040516102009190612dba565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190612776565b610529565b005b34801561023e57600080fd5b506102476105db565b005b34801561025557600080fd5b50610270600480360381019061026b9190612649565b61064d565b60405161027d9190612d45565b60405180910390f35b34801561029257600080fd5b5061029b61069e565b005b3480156102a957600080fd5b506102b26107f1565b6040516102bf9190612ada565b60405180910390f35b3480156102d457600080fd5b506102dd61081a565b6040516102ea9190612bc3565b60405180910390f35b3480156102ff57600080fd5b5061031a60048036038101906103159190612736565b610857565b6040516103279190612ba8565b60405180910390f35b34801561033c57600080fd5b50610345610875565b005b34801561035357600080fd5b5061035c6108ef565b005b34801561036a57600080fd5b50610385600480360381019061038091906127d0565b6109ba565b005b34801561039357600080fd5b506103ae60048036038101906103a991906126a3565b610b03565b6040516103bb9190612d45565b60405180910390f35b3480156103d057600080fd5b506103d9610b8a565b005b60606040518060400160405280600881526020017f654d617374696666000000000000000000000000000000000000000000000000815250905090565b600061042c610425611096565b848461109e565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610454848484611269565b61051584610460611096565b610510856040518060600160405280602881526020016133be60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c6611096565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a609092919063ffffffff16565b61109e565b600190509392505050565b60006009905090565b610531611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b590612ca5565b60405180910390fd5b80601260186101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061c611096565b73ffffffffffffffffffffffffffffffffffffffff161461063c57600080fd5b600047905061064a81611ac4565b50565b6000610697600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbf565b9050919050565b6106a6611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072a90612ca5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5354494646000000000000000000000000000000000000000000000000000000815250905090565b600061086b610864611096565b8484611269565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b6611096565b73ffffffffffffffffffffffffffffffffffffffff16146108d657600080fd5b60006108e13061064d565b90506108ec81611c2d565b50565b6108f7611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90612ca5565b60405180910390fd5b601260159054906101000a900460ff1661099d57600080fd5b6001601260146101000a81548160ff021916908315150217905550565b6109c2611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4690612ca5565b60405180910390fd5b60008111610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8990612c65565b60405180910390fd5b610ac16064610ab383683635c9adc5dea00000611eb590919063ffffffff16565b611f3090919063ffffffff16565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601354604051610af89190612d45565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b92611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1690612ca5565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610caf30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061109e565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2d9190612676565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8f57600080fd5b505afa158015610da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc79190612676565b6040518363ffffffff1660e01b8152600401610de4929190612af5565b602060405180830381600087803b158015610dfe57600080fd5b505af1158015610e12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e369190612676565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ebf3061064d565b600080610eca6107f1565b426040518863ffffffff1660e01b8152600401610eec96959493929190612b47565b6060604051808303818588803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f3e91906127fd565b5050506001601260176101000a81548160ff0219169083151502179055506001601260186101000a81548160ff0219169083151502179055506001601260156101000a81548160ff0219169083151502179055506729a2241af62c0000601381905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611040929190612b1e565b602060405180830381600087803b15801561105a57600080fd5b505af115801561106e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109291906127a3565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110590612d05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561117e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117590612c25565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161125c9190612d45565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d090612ce5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134090612be5565b60405180910390fd5b6000811161138c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138390612cc5565b60405180910390fd5b6113946107f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140257506113d26107f1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561199d57601260189054906101000a900460ff1615611635573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561148457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114de5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115385750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561163457601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661157e611096565b73ffffffffffffffffffffffffffffffffffffffff1614806115f45750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115dc611096565b73ffffffffffffffffffffffffffffffffffffffff16145b611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a90612d25565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116d95750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116e257600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561178d5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117e35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117fb5750601260189054906101000a900460ff165b156118d457601260149054906101000a900460ff1661181957600080fd5b60135481111561182857600080fd5b42600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061187357600080fd5b603c426118809190612e2a565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860098190555060026008819055505b60006118df3061064d565b9050601260169054906101000a900460ff1615801561194c5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119645750601260179054906101000a900460ff165b1561199b5760135482111561197857600080fd5b61198181611c2d565b600047905060008111156119995761199847611ac4565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a445750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611a4e57600090505b611a5a84848484611f7a565b50505050565b6000838311158290611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f9190612bc3565b60405180910390fd5b5060008385611ab79190612f0b565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b14600284611f3090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b3f573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b90600284611f3090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611bbb573d6000803e3d6000fd5b5050565b6000600654821115611c06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfd90612c05565b60405180910390fd5b6000611c10611fb9565b9050611c258184611f3090919063ffffffff16565b915050919050565b6001601260166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c6557611c64613066565b5b604051908082528060200260200182016040528015611c935781602001602082028036833780820191505090505b5090503081600081518110611cab57611caa613037565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d4d57600080fd5b505afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d859190612676565b81600181518110611d9957611d98613037565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e0030601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461109e565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e64959493929190612d60565b600060405180830381600087803b158015611e7e57600080fd5b505af1158015611e92573d6000803e3d6000fd5b50505050506000601260166101000a81548160ff02191690831515021790555050565b600080831415611ec85760009050611f2a565b60008284611ed69190612eb1565b9050828482611ee59190612e80565b14611f25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1c90612c85565b60405180910390fd5b809150505b92915050565b6000611f7283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fe4565b905092915050565b80611f8857611f87612047565b5b611f93848484612078565b80611fa157611fa0611fa7565b5b50505050565b60026008819055506008600981905550565b6000806000611fc6612243565b91509150611fdd8183611f3090919063ffffffff16565b9250505090565b6000808311829061202b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120229190612bc3565b60405180910390fd5b506000838561203a9190612e80565b9050809150509392505050565b600060085414801561205b57506000600954145b1561206557612076565b600060088190555060006009819055505b565b60008060008060008061208a876122a5565b9550955095509550955095506120e886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230d90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061217d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121c9816123b5565b6121d38483612472565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516122309190612d45565b60405180910390a3505050505050505050565b600080600060065490506000683635c9adc5dea000009050612279683635c9adc5dea00000600654611f3090919063ffffffff16565b82101561229857600654683635c9adc5dea000009350935050506122a1565b81819350935050505b9091565b60008060008060008060008060006122c28a6008546009546124ac565b92509250925060006122d2611fb9565b905060008060006122e58e878787612542565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061234f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a60565b905092915050565b60008082846123669190612e2a565b9050838110156123ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a290612c45565b60405180910390fd5b8091505092915050565b60006123bf611fb9565b905060006123d68284611eb590919063ffffffff16565b905061242a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6124878260065461230d90919063ffffffff16565b6006819055506124a28160075461235790919063ffffffff16565b6007819055505050565b6000806000806124d860646124ca888a611eb590919063ffffffff16565b611f3090919063ffffffff16565b9050600061250260646124f4888b611eb590919063ffffffff16565b611f3090919063ffffffff16565b9050600061252b8261251d858c61230d90919063ffffffff16565b61230d90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061255b8589611eb590919063ffffffff16565b905060006125728689611eb590919063ffffffff16565b905060006125898789611eb590919063ffffffff16565b905060006125b2826125a4858761230d90919063ffffffff16565b61230d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506125da81613378565b92915050565b6000815190506125ef81613378565b92915050565b6000813590506126048161338f565b92915050565b6000815190506126198161338f565b92915050565b60008135905061262e816133a6565b92915050565b600081519050612643816133a6565b92915050565b60006020828403121561265f5761265e613095565b5b600061266d848285016125cb565b91505092915050565b60006020828403121561268c5761268b613095565b5b600061269a848285016125e0565b91505092915050565b600080604083850312156126ba576126b9613095565b5b60006126c8858286016125cb565b92505060206126d9858286016125cb565b9150509250929050565b6000806000606084860312156126fc576126fb613095565b5b600061270a868287016125cb565b935050602061271b868287016125cb565b925050604061272c8682870161261f565b9150509250925092565b6000806040838503121561274d5761274c613095565b5b600061275b858286016125cb565b925050602061276c8582860161261f565b9150509250929050565b60006020828403121561278c5761278b613095565b5b600061279a848285016125f5565b91505092915050565b6000602082840312156127b9576127b8613095565b5b60006127c78482850161260a565b91505092915050565b6000602082840312156127e6576127e5613095565b5b60006127f48482850161261f565b91505092915050565b60008060006060848603121561281657612815613095565b5b600061282486828701612634565b935050602061283586828701612634565b925050604061284686828701612634565b9150509250925092565b600061285c8383612868565b60208301905092915050565b61287181612f3f565b82525050565b61288081612f3f565b82525050565b600061289182612de5565b61289b8185612e08565b93506128a683612dd5565b8060005b838110156128d75781516128be8882612850565b97506128c983612dfb565b9250506001810190506128aa565b5085935050505092915050565b6128ed81612f51565b82525050565b6128fc81612f94565b82525050565b600061290d82612df0565b6129178185612e19565b9350612927818560208601612fa6565b6129308161309a565b840191505092915050565b6000612948602383612e19565b9150612953826130ab565b604082019050919050565b600061296b602a83612e19565b9150612976826130fa565b604082019050919050565b600061298e602283612e19565b915061299982613149565b604082019050919050565b60006129b1601b83612e19565b91506129bc82613198565b602082019050919050565b60006129d4601d83612e19565b91506129df826131c1565b602082019050919050565b60006129f7602183612e19565b9150612a02826131ea565b604082019050919050565b6000612a1a602083612e19565b9150612a2582613239565b602082019050919050565b6000612a3d602983612e19565b9150612a4882613262565b604082019050919050565b6000612a60602583612e19565b9150612a6b826132b1565b604082019050919050565b6000612a83602483612e19565b9150612a8e82613300565b604082019050919050565b6000612aa6601183612e19565b9150612ab18261334f565b602082019050919050565b612ac581612f7d565b82525050565b612ad481612f87565b82525050565b6000602082019050612aef6000830184612877565b92915050565b6000604082019050612b0a6000830185612877565b612b176020830184612877565b9392505050565b6000604082019050612b336000830185612877565b612b406020830184612abc565b9392505050565b600060c082019050612b5c6000830189612877565b612b696020830188612abc565b612b7660408301876128f3565b612b8360608301866128f3565b612b906080830185612877565b612b9d60a0830184612abc565b979650505050505050565b6000602082019050612bbd60008301846128e4565b92915050565b60006020820190508181036000830152612bdd8184612902565b905092915050565b60006020820190508181036000830152612bfe8161293b565b9050919050565b60006020820190508181036000830152612c1e8161295e565b9050919050565b60006020820190508181036000830152612c3e81612981565b9050919050565b60006020820190508181036000830152612c5e816129a4565b9050919050565b60006020820190508181036000830152612c7e816129c7565b9050919050565b60006020820190508181036000830152612c9e816129ea565b9050919050565b60006020820190508181036000830152612cbe81612a0d565b9050919050565b60006020820190508181036000830152612cde81612a30565b9050919050565b60006020820190508181036000830152612cfe81612a53565b9050919050565b60006020820190508181036000830152612d1e81612a76565b9050919050565b60006020820190508181036000830152612d3e81612a99565b9050919050565b6000602082019050612d5a6000830184612abc565b92915050565b600060a082019050612d756000830188612abc565b612d8260208301876128f3565b8181036040830152612d948186612886565b9050612da36060830185612877565b612db06080830184612abc565b9695505050505050565b6000602082019050612dcf6000830184612acb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612e3582612f7d565b9150612e4083612f7d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e7557612e74612fd9565b5b828201905092915050565b6000612e8b82612f7d565b9150612e9683612f7d565b925082612ea657612ea5613008565b5b828204905092915050565b6000612ebc82612f7d565b9150612ec783612f7d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f0057612eff612fd9565b5b828202905092915050565b6000612f1682612f7d565b9150612f2183612f7d565b925082821015612f3457612f33612fd9565b5b828203905092915050565b6000612f4a82612f5d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612f9f82612f7d565b9050919050565b60005b83811015612fc4578082015181840152602081019050612fa9565b83811115612fd3576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b61338181612f3f565b811461338c57600080fd5b50565b61339881612f51565b81146133a357600080fd5b50565b6133af81612f7d565b81146133ba57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220606883be22f194735abde77c90db423ed8f9b716f6f015d444d45af1c85cbad064736f6c634300080500330000000000000000000000004b60782f4ecaf6816fe301bd1c432224cfcf953e0000000000000000000000000efcddfd41f71aef9388ae8a2d6c9b8cb2a7b42f

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a611610095578063c3c8cd8011610064578063c3c8cd8014610330578063c9567bf914610347578063d543dbeb1461035e578063dd62ed3e14610387578063e8078d94146103c457610109565b8063715018a6146102865780638da5cb5b1461029d57806395d89b41146102c8578063a9059cbb146102f357610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b6040516101309190612bc3565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190612736565b610418565b60405161016d9190612ba8565b60405180910390f35b34801561018257600080fd5b5061018b610436565b6040516101989190612d45565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906126e3565b610447565b6040516101d59190612ba8565b60405180910390f35b3480156101ea57600080fd5b506101f3610520565b6040516102009190612dba565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190612776565b610529565b005b34801561023e57600080fd5b506102476105db565b005b34801561025557600080fd5b50610270600480360381019061026b9190612649565b61064d565b60405161027d9190612d45565b60405180910390f35b34801561029257600080fd5b5061029b61069e565b005b3480156102a957600080fd5b506102b26107f1565b6040516102bf9190612ada565b60405180910390f35b3480156102d457600080fd5b506102dd61081a565b6040516102ea9190612bc3565b60405180910390f35b3480156102ff57600080fd5b5061031a60048036038101906103159190612736565b610857565b6040516103279190612ba8565b60405180910390f35b34801561033c57600080fd5b50610345610875565b005b34801561035357600080fd5b5061035c6108ef565b005b34801561036a57600080fd5b50610385600480360381019061038091906127d0565b6109ba565b005b34801561039357600080fd5b506103ae60048036038101906103a991906126a3565b610b03565b6040516103bb9190612d45565b60405180910390f35b3480156103d057600080fd5b506103d9610b8a565b005b60606040518060400160405280600881526020017f654d617374696666000000000000000000000000000000000000000000000000815250905090565b600061042c610425611096565b848461109e565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610454848484611269565b61051584610460611096565b610510856040518060600160405280602881526020016133be60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c6611096565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a609092919063ffffffff16565b61109e565b600190509392505050565b60006009905090565b610531611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b590612ca5565b60405180910390fd5b80601260186101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061c611096565b73ffffffffffffffffffffffffffffffffffffffff161461063c57600080fd5b600047905061064a81611ac4565b50565b6000610697600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbf565b9050919050565b6106a6611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072a90612ca5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5354494646000000000000000000000000000000000000000000000000000000815250905090565b600061086b610864611096565b8484611269565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b6611096565b73ffffffffffffffffffffffffffffffffffffffff16146108d657600080fd5b60006108e13061064d565b90506108ec81611c2d565b50565b6108f7611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90612ca5565b60405180910390fd5b601260159054906101000a900460ff1661099d57600080fd5b6001601260146101000a81548160ff021916908315150217905550565b6109c2611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4690612ca5565b60405180910390fd5b60008111610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8990612c65565b60405180910390fd5b610ac16064610ab383683635c9adc5dea00000611eb590919063ffffffff16565b611f3090919063ffffffff16565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601354604051610af89190612d45565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b92611096565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1690612ca5565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610caf30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061109e565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2d9190612676565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8f57600080fd5b505afa158015610da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc79190612676565b6040518363ffffffff1660e01b8152600401610de4929190612af5565b602060405180830381600087803b158015610dfe57600080fd5b505af1158015610e12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e369190612676565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ebf3061064d565b600080610eca6107f1565b426040518863ffffffff1660e01b8152600401610eec96959493929190612b47565b6060604051808303818588803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f3e91906127fd565b5050506001601260176101000a81548160ff0219169083151502179055506001601260186101000a81548160ff0219169083151502179055506001601260156101000a81548160ff0219169083151502179055506729a2241af62c0000601381905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611040929190612b1e565b602060405180830381600087803b15801561105a57600080fd5b505af115801561106e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109291906127a3565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110590612d05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561117e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117590612c25565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161125c9190612d45565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d090612ce5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134090612be5565b60405180910390fd5b6000811161138c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138390612cc5565b60405180910390fd5b6113946107f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140257506113d26107f1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561199d57601260189054906101000a900460ff1615611635573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561148457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114de5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115385750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561163457601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661157e611096565b73ffffffffffffffffffffffffffffffffffffffff1614806115f45750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115dc611096565b73ffffffffffffffffffffffffffffffffffffffff16145b611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a90612d25565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116d95750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116e257600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561178d5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117e35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117fb5750601260189054906101000a900460ff165b156118d457601260149054906101000a900460ff1661181957600080fd5b60135481111561182857600080fd5b42600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061187357600080fd5b603c426118809190612e2a565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860098190555060026008819055505b60006118df3061064d565b9050601260169054906101000a900460ff1615801561194c5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119645750601260179054906101000a900460ff165b1561199b5760135482111561197857600080fd5b61198181611c2d565b600047905060008111156119995761199847611ac4565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a445750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611a4e57600090505b611a5a84848484611f7a565b50505050565b6000838311158290611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f9190612bc3565b60405180910390fd5b5060008385611ab79190612f0b565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b14600284611f3090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b3f573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b90600284611f3090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611bbb573d6000803e3d6000fd5b5050565b6000600654821115611c06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfd90612c05565b60405180910390fd5b6000611c10611fb9565b9050611c258184611f3090919063ffffffff16565b915050919050565b6001601260166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c6557611c64613066565b5b604051908082528060200260200182016040528015611c935781602001602082028036833780820191505090505b5090503081600081518110611cab57611caa613037565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d4d57600080fd5b505afa158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d859190612676565b81600181518110611d9957611d98613037565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e0030601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461109e565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e64959493929190612d60565b600060405180830381600087803b158015611e7e57600080fd5b505af1158015611e92573d6000803e3d6000fd5b50505050506000601260166101000a81548160ff02191690831515021790555050565b600080831415611ec85760009050611f2a565b60008284611ed69190612eb1565b9050828482611ee59190612e80565b14611f25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1c90612c85565b60405180910390fd5b809150505b92915050565b6000611f7283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fe4565b905092915050565b80611f8857611f87612047565b5b611f93848484612078565b80611fa157611fa0611fa7565b5b50505050565b60026008819055506008600981905550565b6000806000611fc6612243565b91509150611fdd8183611f3090919063ffffffff16565b9250505090565b6000808311829061202b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120229190612bc3565b60405180910390fd5b506000838561203a9190612e80565b9050809150509392505050565b600060085414801561205b57506000600954145b1561206557612076565b600060088190555060006009819055505b565b60008060008060008061208a876122a5565b9550955095509550955095506120e886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230d90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061217d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121c9816123b5565b6121d38483612472565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516122309190612d45565b60405180910390a3505050505050505050565b600080600060065490506000683635c9adc5dea000009050612279683635c9adc5dea00000600654611f3090919063ffffffff16565b82101561229857600654683635c9adc5dea000009350935050506122a1565b81819350935050505b9091565b60008060008060008060008060006122c28a6008546009546124ac565b92509250925060006122d2611fb9565b905060008060006122e58e878787612542565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061234f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a60565b905092915050565b60008082846123669190612e2a565b9050838110156123ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a290612c45565b60405180910390fd5b8091505092915050565b60006123bf611fb9565b905060006123d68284611eb590919063ffffffff16565b905061242a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6124878260065461230d90919063ffffffff16565b6006819055506124a28160075461235790919063ffffffff16565b6007819055505050565b6000806000806124d860646124ca888a611eb590919063ffffffff16565b611f3090919063ffffffff16565b9050600061250260646124f4888b611eb590919063ffffffff16565b611f3090919063ffffffff16565b9050600061252b8261251d858c61230d90919063ffffffff16565b61230d90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061255b8589611eb590919063ffffffff16565b905060006125728689611eb590919063ffffffff16565b905060006125898789611eb590919063ffffffff16565b905060006125b2826125a4858761230d90919063ffffffff16565b61230d90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506125da81613378565b92915050565b6000815190506125ef81613378565b92915050565b6000813590506126048161338f565b92915050565b6000815190506126198161338f565b92915050565b60008135905061262e816133a6565b92915050565b600081519050612643816133a6565b92915050565b60006020828403121561265f5761265e613095565b5b600061266d848285016125cb565b91505092915050565b60006020828403121561268c5761268b613095565b5b600061269a848285016125e0565b91505092915050565b600080604083850312156126ba576126b9613095565b5b60006126c8858286016125cb565b92505060206126d9858286016125cb565b9150509250929050565b6000806000606084860312156126fc576126fb613095565b5b600061270a868287016125cb565b935050602061271b868287016125cb565b925050604061272c8682870161261f565b9150509250925092565b6000806040838503121561274d5761274c613095565b5b600061275b858286016125cb565b925050602061276c8582860161261f565b9150509250929050565b60006020828403121561278c5761278b613095565b5b600061279a848285016125f5565b91505092915050565b6000602082840312156127b9576127b8613095565b5b60006127c78482850161260a565b91505092915050565b6000602082840312156127e6576127e5613095565b5b60006127f48482850161261f565b91505092915050565b60008060006060848603121561281657612815613095565b5b600061282486828701612634565b935050602061283586828701612634565b925050604061284686828701612634565b9150509250925092565b600061285c8383612868565b60208301905092915050565b61287181612f3f565b82525050565b61288081612f3f565b82525050565b600061289182612de5565b61289b8185612e08565b93506128a683612dd5565b8060005b838110156128d75781516128be8882612850565b97506128c983612dfb565b9250506001810190506128aa565b5085935050505092915050565b6128ed81612f51565b82525050565b6128fc81612f94565b82525050565b600061290d82612df0565b6129178185612e19565b9350612927818560208601612fa6565b6129308161309a565b840191505092915050565b6000612948602383612e19565b9150612953826130ab565b604082019050919050565b600061296b602a83612e19565b9150612976826130fa565b604082019050919050565b600061298e602283612e19565b915061299982613149565b604082019050919050565b60006129b1601b83612e19565b91506129bc82613198565b602082019050919050565b60006129d4601d83612e19565b91506129df826131c1565b602082019050919050565b60006129f7602183612e19565b9150612a02826131ea565b604082019050919050565b6000612a1a602083612e19565b9150612a2582613239565b602082019050919050565b6000612a3d602983612e19565b9150612a4882613262565b604082019050919050565b6000612a60602583612e19565b9150612a6b826132b1565b604082019050919050565b6000612a83602483612e19565b9150612a8e82613300565b604082019050919050565b6000612aa6601183612e19565b9150612ab18261334f565b602082019050919050565b612ac581612f7d565b82525050565b612ad481612f87565b82525050565b6000602082019050612aef6000830184612877565b92915050565b6000604082019050612b0a6000830185612877565b612b176020830184612877565b9392505050565b6000604082019050612b336000830185612877565b612b406020830184612abc565b9392505050565b600060c082019050612b5c6000830189612877565b612b696020830188612abc565b612b7660408301876128f3565b612b8360608301866128f3565b612b906080830185612877565b612b9d60a0830184612abc565b979650505050505050565b6000602082019050612bbd60008301846128e4565b92915050565b60006020820190508181036000830152612bdd8184612902565b905092915050565b60006020820190508181036000830152612bfe8161293b565b9050919050565b60006020820190508181036000830152612c1e8161295e565b9050919050565b60006020820190508181036000830152612c3e81612981565b9050919050565b60006020820190508181036000830152612c5e816129a4565b9050919050565b60006020820190508181036000830152612c7e816129c7565b9050919050565b60006020820190508181036000830152612c9e816129ea565b9050919050565b60006020820190508181036000830152612cbe81612a0d565b9050919050565b60006020820190508181036000830152612cde81612a30565b9050919050565b60006020820190508181036000830152612cfe81612a53565b9050919050565b60006020820190508181036000830152612d1e81612a76565b9050919050565b60006020820190508181036000830152612d3e81612a99565b9050919050565b6000602082019050612d5a6000830184612abc565b92915050565b600060a082019050612d756000830188612abc565b612d8260208301876128f3565b8181036040830152612d948186612886565b9050612da36060830185612877565b612db06080830184612abc565b9695505050505050565b6000602082019050612dcf6000830184612acb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612e3582612f7d565b9150612e4083612f7d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e7557612e74612fd9565b5b828201905092915050565b6000612e8b82612f7d565b9150612e9683612f7d565b925082612ea657612ea5613008565b5b828204905092915050565b6000612ebc82612f7d565b9150612ec783612f7d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f0057612eff612fd9565b5b828202905092915050565b6000612f1682612f7d565b9150612f2183612f7d565b925082821015612f3457612f33612fd9565b5b828203905092915050565b6000612f4a82612f5d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612f9f82612f7d565b9050919050565b60005b83811015612fc4578082015181840152602081019050612fa9565b83811115612fd3576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b61338181612f3f565b811461338c57600080fd5b50565b61339881612f51565b81146133a357600080fd5b50565b6133af81612f7d565b81146133ba57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220606883be22f194735abde77c90db423ed8f9b716f6f015d444d45af1c85cbad064736f6c63430008050033

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

0000000000000000000000004b60782f4ecaf6816fe301bd1c432224cfcf953e0000000000000000000000000efcddfd41f71aef9388ae8a2d6c9b8cb2a7b42f

-----Decoded View---------------
Arg [0] : addr1 (address): 0x4b60782f4ECaf6816FE301Bd1C432224CfCF953E
Arg [1] : addr2 (address): 0x0efcddFD41f71aEF9388ae8A2d6C9b8cB2A7b42f

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000004b60782f4ecaf6816fe301bd1c432224cfcf953e
Arg [1] : 0000000000000000000000000efcddfd41f71aef9388ae8a2d6c9b8cb2a7b42f


Deployed Bytecode Sourcemap

3553:11144:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5550:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6402:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5827:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6571:310;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5736:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6889:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11399:191;;;;;;;;;;;;;:::i;:::-;;5930:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2606:148;;;;;;;;;;;;;:::i;:::-;;2392:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5641:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6076:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11199:192;;;;;;;;;;;;;:::i;:::-;;10309:111;;;;;;;;;;;;;:::i;:::-;;14439:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6251:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10428:763;;;;;;;;;;;;;:::i;:::-;;5550:83;5587:13;5620:5;;;;;;;;;;;;;;;;;5613:12;;5550:83;:::o;6402:161::-;6477:4;6494:39;6503:12;:10;:12::i;:::-;6517:7;6526:6;6494:8;:39::i;:::-;6551:4;6544:11;;6402:161;;;;:::o;5827:95::-;5880:7;4102:21;5900:14;;5827:95;:::o;6571:310::-;6669:4;6686:36;6696:6;6704:9;6715:6;6686:9;:36::i;:::-;6733:118;6742:6;6749:12;:10;:12::i;:::-;6762:88;6800:6;6762:88;;;;;;;;;;;;;;;;;:11;:19;6774:6;6762:19;;;;;;;;;;;;;;;:33;6782:12;:10;:12::i;:::-;6762:33;;;;;;;;;;;;;;;;:37;;:88;;;;;:::i;:::-;6733:8;:118::i;:::-;6869:4;6862:11;;6571:310;;;;;:::o;5736:83::-;5777:5;3778:1;5795:16;;5736:83;:::o;6889:103::-;2529:12;:10;:12::i;:::-;2519:22;;:6;;;;;;;;;;:22;;;2511:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6979:5:::1;6961:15;;:23;;;;;;;;;;;;;;;;;;6889:103:::0;:::o;11399:191::-;11465:12;;;;;;;;;;;11449:28;;:12;:10;:12::i;:::-;:28;;;11441:37;;;;;;11489:26;11518:21;11489:50;;11550:32;11563:18;11550:12;:32::i;:::-;11430:160;11399:191::o;5930:138::-;5996:7;6023:37;6043:7;:16;6051:7;6043:16;;;;;;;;;;;;;;;;6023:19;:37::i;:::-;6016:44;;5930:138;;;:::o;2606:148::-;2529:12;:10;:12::i;:::-;2519:22;;:6;;;;;;;;;;:22;;;2511:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2713:1:::1;2676:40;;2697:6;::::0;::::1;;;;;;;;2676:40;;;;;;;;;;;;2744:1;2727:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2606:148::o:0;2392:79::-;2430:7;2457:6;;;;;;;;;;;2450:13;;2392:79;:::o;5641:87::-;5680:13;5713:7;;;;;;;;;;;;;;;;;5706:14;;5641:87;:::o;6076:167::-;6154:4;6171:42;6181:12;:10;:12::i;:::-;6195:9;6206:6;6171:9;:42::i;:::-;6231:4;6224:11;;6076:167;;;;:::o;11199:192::-;11265:12;;;;;;;;;;;11249:28;;:12;:10;:12::i;:::-;:28;;;11241:37;;;;;;11289:23;11315:24;11333:4;11315:9;:24::i;:::-;11289:50;;11350:33;11367:15;11350:16;:33::i;:::-;11230:161;11199:192::o;10309:111::-;2529:12;:10;:12::i;:::-;2519:22;;:6;;;;;;;;;;:22;;;2511:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10368:14:::1;;;;;;;;;;;10360:23;;;::::0;::::1;;10408:4;10394:11;;:18;;;;;;;;;;;;;;;;;;10309:111::o:0;14439:255::-;2529:12;:10;:12::i;:::-;2519:22;;:6;;;;;;;;;;:22;;;2511:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14541:1:::1;14526:12;:16;14518:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;14602:36;14632:5;14602:25;14614:12;4102:21;14602:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;14587:12;:51;;;;14654:32;14673:12;;14654:32;;;;;;:::i;:::-;;;;;;;;14439:255:::0;:::o;6251:143::-;6332:7;6359:11;:18;6371:5;6359:18;;;;;;;;;;;;;;;:27;6378:7;6359:27;;;;;;;;;;;;;;;;6352:34;;6251:143;;;;:::o;10428:763::-;2529:12;:10;:12::i;:::-;2519:22;;:6;;;;;;;;;;:22;;;2511:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10484:35:::1;10541:42;10484:100;;10613:16;10595:15;;:34;;;;;;;;;;;;;;;;;;10640:58;10657:4;10672:15;;;;;;;;;;;4102:21;10640:8;:58::i;:::-;10743:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10725:56;;;10790:4;10797:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10725:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10709:13;;:112;;;;;;;;;;;;;;;;;;10832:15;;;;;;;;;;;:31;;;10871:21;10902:4;10908:24;10926:4;10908:9;:24::i;:::-;10933:1;10935::::0;10937:7:::1;:5;:7::i;:::-;10945:15;10832:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10986:4;10972:11;;:18;;;;;;;;;;;;;;;;;;11019:4;11001:15;;:22;;;;;;;;;;;;;;;;;;11051:4;11034:14;;:21;;;;;;;;;;;;;;;;;;11081:18;11066:12;:33;;;;11117:13;;;;;;;;;;;11110:29;;;11148:15;;;;;;;;;;;11165:17;11110:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10473:718;10428:763::o:0;113:98::-;166:7;193:10;186:17;;113:98;:::o;7513:335::-;7623:1;7606:19;;:5;:19;;;;7598:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7704:1;7685:21;;:7;:21;;;;7677:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7786:6;7756:11;:18;7768:5;7756:18;;;;;;;;;;;;;;;:27;7775:7;7756:27;;;;;;;;;;;;;;;:36;;;;7824:7;7808:32;;7817:5;7808:32;;;7833:6;7808:32;;;;;;:::i;:::-;;;;;;;;7513:335;;;:::o;7856:1867::-;7960:1;7944:18;;:4;:18;;;;7936:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8037:1;8023:16;;:2;:16;;;;8015:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8107:1;8098:6;:10;8090:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8179:7;:5;:7::i;:::-;8171:15;;:4;:15;;;;:32;;;;;8196:7;:5;:7::i;:::-;8190:13;;:2;:13;;;;8171:32;8167:1331;;;8224:15;;;;;;;;;;;8220:320;;;8280:4;8264:21;;:4;:21;;;;:44;;;;;8303:4;8289:19;;:2;:19;;;;8264:44;:80;;;;;8328:15;;;;;;;;;;;8312:32;;:4;:32;;;;8264:80;:114;;;;;8362:15;;;;;;;;;;;8348:30;;:2;:30;;;;8264:114;8260:265;;;8435:15;;;;;;;;;;;8411:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;8471:13;;;;;;;;;;;8455:29;;:12;:10;:12::i;:::-;:29;;;8411:73;8403:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8260:265;8220:320;8563:4;:10;8568:4;8563:10;;;;;;;;;;;;;;;;;;;;;;;;;8562:11;:24;;;;;8578:4;:8;8583:2;8578:8;;;;;;;;;;;;;;;;;;;;;;;;;8577:9;8562:24;8554:33;;;;;;8614:13;;;;;;;;;;;8606:21;;:4;:21;;;:55;;;;;8645:15;;;;;;;;;;;8631:30;;:2;:30;;;;8606:55;:82;;;;;8666:18;:22;8685:2;8666:22;;;;;;;;;;;;;;;;;;;;;;;;;8665:23;8606:82;:101;;;;;8692:15;;;;;;;;;;;8606:101;8602:401;;;8736:11;;;;;;;;;;;8728:20;;;;;;8785:12;;8775:6;:22;;8767:31;;;;;;8843:15;8825:11;:15;8837:2;8825:15;;;;;;;;;;;;;;;;:33;8817:42;;;;;;8915:10;8896:15;:30;;;;:::i;:::-;8878:11;:15;8890:2;8878:15;;;;;;;;;;;;;;;:48;;;;8956:1;8945:8;:12;;;;8986:1;8976:7;:11;;;;8602:401;9017:28;9048:24;9066:4;9048:9;:24::i;:::-;9017:55;;9092:6;;;;;;;;;;;9091:7;:32;;;;;9110:13;;;;;;;;;;;9102:21;;:4;:21;;;;9091:32;:47;;;;;9127:11;;;;;;;;;;;9091:47;9087:400;;;9177:12;;9167:6;:22;;9159:31;;;;;;9222:38;9239:20;9222:16;:38::i;:::-;9279:26;9308:21;9279:50;;9373:1;9352:18;:22;9348:106;;;9399:35;9412:21;9399:12;:35::i;:::-;9348:106;9140:347;9087:400;8205:1293;8167:1331;9508:12;9523:4;9508:19;;9544:18;:24;9563:4;9544:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9572:18;:22;9591:2;9572:22;;;;;;;;;;;;;;;;;;;;;;;;;9544:50;9540:98;;;9621:5;9611:15;;9540:98;9650:41;9665:4;9671:2;9675:6;9683:7;9650:14;:41::i;:::-;7925:1798;7856:1867;;;:::o;1250:190::-;1336:7;1369:1;1364;:6;;1372:12;1356:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1396:9;1412:1;1408;:5;;;;:::i;:::-;1396:17;;1431:1;1424:8;;;1250:190;;;;;:::o;10146:151::-;10203:12;;;;;;;;;;;:21;;:36;10225:13;10236:1;10225:6;:10;;:13;;;;:::i;:::-;10203:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10250:15;;;;;;;;;;;:24;;:39;10275:13;10286:1;10275:6;:10;;:13;;;;:::i;:::-;10250:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10146:151;:::o;7000:253::-;7068:7;7107;;7096;:18;;7088:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7171:19;7193:10;:8;:10::i;:::-;7171:32;;7221:24;7233:11;7221:7;:11;;:24;;;;:::i;:::-;7214:31;;;7000:253;;;:::o;9731:407::-;5056:4;5047:6;;:13;;;;;;;;;;;;;;;;;;9809:21:::1;9847:1;9833:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9809:40;;9878:4;9860;9865:1;9860:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9904:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9894:4;9899:1;9894:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9937:62;9954:4;9969:15;;;;;;;;;;;9987:11;9937:8;:62::i;:::-;10010:15;;;;;;;;;;;:66;;;10077:11;10090:1;10093:4;10107;10114:15;10010:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9798:340;5092:5:::0;5083:6;;:14;;;;;;;;;;;;;;;;;;9731:407;:::o;1448:246::-;1506:7;1535:1;1530;:6;1526:47;;;1560:1;1553:8;;;;1526:47;1583:9;1599:1;1595;:5;;;;:::i;:::-;1583:17;;1628:1;1623;1619;:5;;;;:::i;:::-;:10;1611:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1685:1;1678:8;;;1448:246;;;;;:::o;1702:132::-;1760:7;1787:39;1791:1;1794;1787:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1780:46;;1702:132;;;;:::o;11598:239::-;11711:7;11706:28;;11720:14;:12;:14::i;:::-;11706:28;11745:44;11763:6;11771:9;11782:6;11745:17;:44::i;:::-;11805:7;11800:29;;11814:15;:13;:15::i;:::-;11800:29;11598:239;;;;:::o;7410:86::-;7464:1;7454:7;:11;;;;7487:1;7476:8;:12;;;;7410:86::o;14002:164::-;14044:7;14065:15;14082;14101:19;:17;:19::i;:::-;14064:56;;;;14138:20;14150:7;14138;:11;;:20;;;;:::i;:::-;14131:27;;;;14002:164;:::o;1842:189::-;1928:7;1960:1;1956;:5;1963:12;1948:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1987:9;2003:1;1999;:5;;;;:::i;:::-;1987:17;;2022:1;2015:8;;;1842:189;;;;;:::o;7265:137::-;7323:1;7312:7;;:12;:29;;;;;7340:1;7328:8;;:13;7312:29;7308:42;;;7343:7;;7308:42;7370:1;7360:7;:11;;;;7393:1;7382:8;:12;;;;7265:137;:::o;11845:487::-;11944:15;11961:23;11986:12;12000:23;12025:12;12039:13;12056:19;12067:7;12056:10;:19::i;:::-;11943:132;;;;;;;;;;;;12104:28;12124:7;12104;:15;12112:6;12104:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12086:7;:15;12094:6;12086:15;;;;;;;;;;;;;;;:46;;;;12164:39;12187:15;12164:7;:18;12172:9;12164:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12143:7;:18;12151:9;12143:18;;;;;;;;;;;;;;;:60;;;;12214:16;12224:5;12214:9;:16::i;:::-;12241:23;12253:4;12259;12241:11;:23::i;:::-;12297:9;12280:44;;12289:6;12280:44;;;12308:15;12280:44;;;;;;:::i;:::-;;;;;;;;11932:400;;;;;;11845:487;;;:::o;14174:257::-;14225:7;14234;14254:15;14272:7;;14254:25;;14290:15;4102:21;14290:25;;14340:20;4102:21;14340:7;;:11;;:20;;;;:::i;:::-;14330:7;:30;14326:61;;;14370:7;;4102:21;14362:25;;;;;;;;14326:61;14406:7;14415;14398:25;;;;;;14174:257;;;:::o;12751:467::-;12810:7;12819;12828;12837;12846;12855;12876:23;12901:12;12915:13;12932:39;12944:7;12953;;12962:8;;12932:11;:39::i;:::-;12875:96;;;;;;12982:19;13004:10;:8;:10::i;:::-;12982:32;;13026:15;13043:23;13068:12;13084:46;13096:7;13105:4;13111:5;13118:11;13084;:46::i;:::-;13025:105;;;;;;13149:7;13158:15;13175:4;13181:15;13198:4;13204:5;13141:69;;;;;;;;;;;;;;;;;;;12751:467;;;;;;;:::o;1106:136::-;1164:7;1191:43;1195:1;1198;1191:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1184:50;;1106:136;;;;:::o;919:179::-;977:7;997:9;1013:1;1009;:5;;;;:::i;:::-;997:17;;1038:1;1033;:6;;1025:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1089:1;1082:8;;;919:179;;;;:::o;12340:211::-;12393:19;12415:10;:8;:10::i;:::-;12393:32;;12436:13;12452:22;12462:11;12452:5;:9;;:22;;;;:::i;:::-;12436:38;;12510:33;12537:5;12510:7;:22;12526:4;12510:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12485:7;:22;12501:4;12485:22;;;;;;;;;;;;;;;:58;;;;12382:169;;12340:211;:::o;12559:147::-;12637:17;12649:4;12637:7;;:11;;:17;;;;:::i;:::-;12627:7;:27;;;;12678:20;12693:4;12678:10;;:14;;:20;;;;:::i;:::-;12665:10;:33;;;;12559:147;;:::o;13226:351::-;13319:7;13328;13337;13357:12;13372:28;13396:3;13372:19;13384:6;13372:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13357:43;;13411:13;13427:29;13452:3;13427:20;13439:7;13427;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;13411:45;;13467:23;13493:28;13515:5;13493:17;13505:4;13493:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13467:54;;13540:15;13557:4;13563:5;13532:37;;;;;;;;;13226:351;;;;;;;:::o;13585:409::-;13695:7;13704;13713;13733:15;13751:24;13763:11;13751:7;:11;;:24;;;;:::i;:::-;13733:42;;13786:12;13801:21;13810:11;13801:4;:8;;:21;;;;:::i;:::-;13786:36;;13833:13;13849:22;13859:11;13849:5;:9;;:22;;;;:::i;:::-;13833:38;;13882:23;13908:28;13930:5;13908:17;13920:4;13908:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13882:54;;13955:7;13964:15;13981:4;13947:39;;;;;;;;;;13585:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:329::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;991:79;;:::i;:::-;953:2;1111:1;1136:53;1181:7;1172:6;1161:9;1157:22;1136:53;:::i;:::-;1126:63;;1082:117;943:263;;;;:::o;1212:351::-;1282:6;1331:2;1319:9;1310:7;1306:23;1302:32;1299:2;;;1337:79;;:::i;:::-;1299:2;1457:1;1482:64;1538:7;1529:6;1518:9;1514:22;1482:64;:::i;:::-;1472:74;;1428:128;1289:274;;;;:::o;1569:474::-;1637:6;1645;1694:2;1682:9;1673:7;1669:23;1665:32;1662:2;;;1700:79;;:::i;:::-;1662:2;1820:1;1845:53;1890:7;1881:6;1870:9;1866:22;1845:53;:::i;:::-;1835:63;;1791:117;1947:2;1973:53;2018:7;2009:6;1998:9;1994:22;1973:53;:::i;:::-;1963:63;;1918:118;1652:391;;;;;:::o;2049:619::-;2126:6;2134;2142;2191:2;2179:9;2170:7;2166:23;2162:32;2159:2;;;2197:79;;:::i;:::-;2159:2;2317:1;2342:53;2387:7;2378:6;2367:9;2363:22;2342:53;:::i;:::-;2332:63;;2288:117;2444:2;2470:53;2515:7;2506:6;2495:9;2491:22;2470:53;:::i;:::-;2460:63;;2415:118;2572:2;2598:53;2643:7;2634:6;2623:9;2619:22;2598:53;:::i;:::-;2588:63;;2543:118;2149:519;;;;;:::o;2674:474::-;2742:6;2750;2799:2;2787:9;2778:7;2774:23;2770:32;2767:2;;;2805:79;;:::i;:::-;2767:2;2925:1;2950:53;2995:7;2986:6;2975:9;2971:22;2950:53;:::i;:::-;2940:63;;2896:117;3052:2;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3023:118;2757:391;;;;;:::o;3154:323::-;3210:6;3259:2;3247:9;3238:7;3234:23;3230:32;3227:2;;;3265:79;;:::i;:::-;3227:2;3385:1;3410:50;3452:7;3443:6;3432:9;3428:22;3410:50;:::i;:::-;3400:60;;3356:114;3217:260;;;;:::o;3483:345::-;3550:6;3599:2;3587:9;3578:7;3574:23;3570:32;3567:2;;;3605:79;;:::i;:::-;3567:2;3725:1;3750:61;3803:7;3794:6;3783:9;3779:22;3750:61;:::i;:::-;3740:71;;3696:125;3557:271;;;;:::o;3834:329::-;3893:6;3942:2;3930:9;3921:7;3917:23;3913:32;3910:2;;;3948:79;;:::i;:::-;3910:2;4068:1;4093:53;4138:7;4129:6;4118:9;4114:22;4093:53;:::i;:::-;4083:63;;4039:117;3900:263;;;;:::o;4169:663::-;4257:6;4265;4273;4322:2;4310:9;4301:7;4297:23;4293:32;4290:2;;;4328:79;;:::i;:::-;4290:2;4448:1;4473:64;4529:7;4520:6;4509:9;4505:22;4473:64;:::i;:::-;4463:74;;4419:128;4586:2;4612:64;4668:7;4659:6;4648:9;4644:22;4612:64;:::i;:::-;4602:74;;4557:129;4725:2;4751:64;4807:7;4798:6;4787:9;4783:22;4751:64;:::i;:::-;4741:74;;4696:129;4280:552;;;;;:::o;4838:179::-;4907:10;4928:46;4970:3;4962:6;4928:46;:::i;:::-;5006:4;5001:3;4997:14;4983:28;;4918:99;;;;:::o;5023:108::-;5100:24;5118:5;5100:24;:::i;:::-;5095:3;5088:37;5078:53;;:::o;5137:118::-;5224:24;5242:5;5224:24;:::i;:::-;5219:3;5212:37;5202:53;;:::o;5291:732::-;5410:3;5439:54;5487:5;5439:54;:::i;:::-;5509:86;5588:6;5583:3;5509:86;:::i;:::-;5502:93;;5619:56;5669:5;5619:56;:::i;:::-;5698:7;5729:1;5714:284;5739:6;5736:1;5733:13;5714:284;;;5815:6;5809:13;5842:63;5901:3;5886:13;5842:63;:::i;:::-;5835:70;;5928:60;5981:6;5928:60;:::i;:::-;5918:70;;5774:224;5761:1;5758;5754:9;5749:14;;5714:284;;;5718:14;6014:3;6007:10;;5415:608;;;;;;;:::o;6029:109::-;6110:21;6125:5;6110:21;:::i;:::-;6105:3;6098:34;6088:50;;:::o;6144:147::-;6239:45;6278:5;6239:45;:::i;:::-;6234:3;6227:58;6217:74;;:::o;6297:364::-;6385:3;6413:39;6446:5;6413:39;:::i;:::-;6468:71;6532:6;6527:3;6468:71;:::i;:::-;6461:78;;6548:52;6593:6;6588:3;6581:4;6574:5;6570:16;6548:52;:::i;:::-;6625:29;6647:6;6625:29;:::i;:::-;6620:3;6616:39;6609:46;;6389:272;;;;;:::o;6667:366::-;6809:3;6830:67;6894:2;6889:3;6830:67;:::i;:::-;6823:74;;6906:93;6995:3;6906:93;:::i;:::-;7024:2;7019:3;7015:12;7008:19;;6813:220;;;:::o;7039:366::-;7181:3;7202:67;7266:2;7261:3;7202:67;:::i;:::-;7195:74;;7278:93;7367:3;7278:93;:::i;:::-;7396:2;7391:3;7387:12;7380:19;;7185:220;;;:::o;7411:366::-;7553:3;7574:67;7638:2;7633:3;7574:67;:::i;:::-;7567:74;;7650:93;7739:3;7650:93;:::i;:::-;7768:2;7763:3;7759:12;7752:19;;7557:220;;;:::o;7783:366::-;7925:3;7946:67;8010:2;8005:3;7946:67;:::i;:::-;7939:74;;8022:93;8111:3;8022:93;:::i;:::-;8140:2;8135:3;8131:12;8124:19;;7929:220;;;:::o;8155:366::-;8297:3;8318:67;8382:2;8377:3;8318:67;:::i;:::-;8311:74;;8394:93;8483:3;8394:93;:::i;:::-;8512:2;8507:3;8503:12;8496:19;;8301:220;;;:::o;8527:366::-;8669:3;8690:67;8754:2;8749:3;8690:67;:::i;:::-;8683:74;;8766:93;8855:3;8766:93;:::i;:::-;8884:2;8879:3;8875:12;8868:19;;8673:220;;;:::o;8899:366::-;9041:3;9062:67;9126:2;9121:3;9062:67;:::i;:::-;9055:74;;9138:93;9227:3;9138:93;:::i;:::-;9256:2;9251:3;9247:12;9240:19;;9045:220;;;:::o;9271:366::-;9413:3;9434:67;9498:2;9493:3;9434:67;:::i;:::-;9427:74;;9510:93;9599:3;9510:93;:::i;:::-;9628:2;9623:3;9619:12;9612:19;;9417:220;;;:::o;9643:366::-;9785:3;9806:67;9870:2;9865:3;9806:67;:::i;:::-;9799:74;;9882:93;9971:3;9882:93;:::i;:::-;10000:2;9995:3;9991:12;9984:19;;9789:220;;;:::o;10015:366::-;10157:3;10178:67;10242:2;10237:3;10178:67;:::i;:::-;10171:74;;10254:93;10343:3;10254:93;:::i;:::-;10372:2;10367:3;10363:12;10356:19;;10161:220;;;:::o;10387:366::-;10529:3;10550:67;10614:2;10609:3;10550:67;:::i;:::-;10543:74;;10626:93;10715:3;10626:93;:::i;:::-;10744:2;10739:3;10735:12;10728:19;;10533:220;;;:::o;10759:118::-;10846:24;10864:5;10846:24;:::i;:::-;10841:3;10834:37;10824:53;;:::o;10883:112::-;10966:22;10982:5;10966:22;:::i;:::-;10961:3;10954:35;10944:51;;:::o;11001:222::-;11094:4;11132:2;11121:9;11117:18;11109:26;;11145:71;11213:1;11202:9;11198:17;11189:6;11145:71;:::i;:::-;11099:124;;;;:::o;11229:332::-;11350:4;11388:2;11377:9;11373:18;11365:26;;11401:71;11469:1;11458:9;11454:17;11445:6;11401:71;:::i;:::-;11482:72;11550:2;11539:9;11535:18;11526:6;11482:72;:::i;:::-;11355:206;;;;;:::o;11567:332::-;11688:4;11726:2;11715:9;11711:18;11703:26;;11739:71;11807:1;11796:9;11792:17;11783:6;11739:71;:::i;:::-;11820:72;11888:2;11877:9;11873:18;11864:6;11820:72;:::i;:::-;11693:206;;;;;:::o;11905:807::-;12154:4;12192:3;12181:9;12177:19;12169:27;;12206:71;12274:1;12263:9;12259:17;12250:6;12206:71;:::i;:::-;12287:72;12355:2;12344:9;12340:18;12331:6;12287:72;:::i;:::-;12369:80;12445:2;12434:9;12430:18;12421:6;12369:80;:::i;:::-;12459;12535:2;12524:9;12520:18;12511:6;12459:80;:::i;:::-;12549:73;12617:3;12606:9;12602:19;12593:6;12549:73;:::i;:::-;12632;12700:3;12689:9;12685:19;12676:6;12632:73;:::i;:::-;12159:553;;;;;;;;;:::o;12718:210::-;12805:4;12843:2;12832:9;12828:18;12820:26;;12856:65;12918:1;12907:9;12903:17;12894:6;12856:65;:::i;:::-;12810:118;;;;:::o;12934:313::-;13047:4;13085:2;13074:9;13070:18;13062:26;;13134:9;13128:4;13124:20;13120:1;13109:9;13105:17;13098:47;13162:78;13235:4;13226:6;13162:78;:::i;:::-;13154:86;;13052:195;;;;:::o;13253:419::-;13419:4;13457:2;13446:9;13442:18;13434:26;;13506:9;13500:4;13496:20;13492:1;13481:9;13477:17;13470:47;13534:131;13660:4;13534:131;:::i;:::-;13526:139;;13424:248;;;:::o;13678:419::-;13844:4;13882:2;13871:9;13867:18;13859:26;;13931:9;13925:4;13921:20;13917:1;13906:9;13902:17;13895:47;13959:131;14085:4;13959:131;:::i;:::-;13951:139;;13849:248;;;:::o;14103:419::-;14269:4;14307:2;14296:9;14292:18;14284:26;;14356:9;14350:4;14346:20;14342:1;14331:9;14327:17;14320:47;14384:131;14510:4;14384:131;:::i;:::-;14376:139;;14274:248;;;:::o;14528:419::-;14694:4;14732:2;14721:9;14717:18;14709:26;;14781:9;14775:4;14771:20;14767:1;14756:9;14752:17;14745:47;14809:131;14935:4;14809:131;:::i;:::-;14801:139;;14699:248;;;:::o;14953:419::-;15119:4;15157:2;15146:9;15142:18;15134:26;;15206:9;15200:4;15196:20;15192:1;15181:9;15177:17;15170:47;15234:131;15360:4;15234:131;:::i;:::-;15226:139;;15124:248;;;:::o;15378:419::-;15544:4;15582:2;15571:9;15567:18;15559:26;;15631:9;15625:4;15621:20;15617:1;15606:9;15602:17;15595:47;15659:131;15785:4;15659:131;:::i;:::-;15651:139;;15549:248;;;:::o;15803:419::-;15969:4;16007:2;15996:9;15992:18;15984:26;;16056:9;16050:4;16046:20;16042:1;16031:9;16027:17;16020:47;16084:131;16210:4;16084:131;:::i;:::-;16076:139;;15974:248;;;:::o;16228:419::-;16394:4;16432:2;16421:9;16417:18;16409:26;;16481:9;16475:4;16471:20;16467:1;16456:9;16452:17;16445:47;16509:131;16635:4;16509:131;:::i;:::-;16501:139;;16399:248;;;:::o;16653:419::-;16819:4;16857:2;16846:9;16842:18;16834:26;;16906:9;16900:4;16896:20;16892:1;16881:9;16877:17;16870:47;16934:131;17060:4;16934:131;:::i;:::-;16926:139;;16824:248;;;:::o;17078:419::-;17244:4;17282:2;17271:9;17267:18;17259:26;;17331:9;17325:4;17321:20;17317:1;17306:9;17302:17;17295:47;17359:131;17485:4;17359:131;:::i;:::-;17351:139;;17249:248;;;:::o;17503:419::-;17669:4;17707:2;17696:9;17692:18;17684:26;;17756:9;17750:4;17746:20;17742:1;17731:9;17727:17;17720:47;17784:131;17910:4;17784:131;:::i;:::-;17776:139;;17674:248;;;:::o;17928:222::-;18021:4;18059:2;18048:9;18044:18;18036:26;;18072:71;18140:1;18129:9;18125:17;18116:6;18072:71;:::i;:::-;18026:124;;;;:::o;18156:831::-;18419:4;18457:3;18446:9;18442:19;18434:27;;18471:71;18539:1;18528:9;18524:17;18515:6;18471:71;:::i;:::-;18552:80;18628:2;18617:9;18613:18;18604:6;18552:80;:::i;:::-;18679:9;18673:4;18669:20;18664:2;18653:9;18649:18;18642:48;18707:108;18810:4;18801:6;18707:108;:::i;:::-;18699:116;;18825:72;18893:2;18882:9;18878:18;18869:6;18825:72;:::i;:::-;18907:73;18975:3;18964:9;18960:19;18951:6;18907:73;:::i;:::-;18424:563;;;;;;;;:::o;18993:214::-;19082:4;19120:2;19109:9;19105:18;19097:26;;19133:67;19197:1;19186:9;19182:17;19173:6;19133:67;:::i;:::-;19087:120;;;;:::o;19294:132::-;19361:4;19384:3;19376:11;;19414:4;19409:3;19405:14;19397:22;;19366:60;;;:::o;19432:114::-;19499:6;19533:5;19527:12;19517:22;;19506:40;;;:::o;19552:99::-;19604:6;19638:5;19632:12;19622:22;;19611:40;;;:::o;19657:113::-;19727:4;19759;19754:3;19750:14;19742:22;;19732:38;;;:::o;19776:184::-;19875:11;19909:6;19904:3;19897:19;19949:4;19944:3;19940:14;19925:29;;19887:73;;;;:::o;19966:169::-;20050:11;20084:6;20079:3;20072:19;20124:4;20119:3;20115:14;20100:29;;20062:73;;;;:::o;20141:305::-;20181:3;20200:20;20218:1;20200:20;:::i;:::-;20195:25;;20234:20;20252:1;20234:20;:::i;:::-;20229:25;;20388:1;20320:66;20316:74;20313:1;20310:81;20307:2;;;20394:18;;:::i;:::-;20307:2;20438:1;20435;20431:9;20424:16;;20185:261;;;;:::o;20452:185::-;20492:1;20509:20;20527:1;20509:20;:::i;:::-;20504:25;;20543:20;20561:1;20543:20;:::i;:::-;20538:25;;20582:1;20572:2;;20587:18;;:::i;:::-;20572:2;20629:1;20626;20622:9;20617:14;;20494:143;;;;:::o;20643:348::-;20683:7;20706:20;20724:1;20706:20;:::i;:::-;20701:25;;20740:20;20758:1;20740:20;:::i;:::-;20735:25;;20928:1;20860:66;20856:74;20853:1;20850:81;20845:1;20838:9;20831:17;20827:105;20824:2;;;20935:18;;:::i;:::-;20824:2;20983:1;20980;20976:9;20965:20;;20691:300;;;;:::o;20997:191::-;21037:4;21057:20;21075:1;21057:20;:::i;:::-;21052:25;;21091:20;21109:1;21091:20;:::i;:::-;21086:25;;21130:1;21127;21124:8;21121:2;;;21135:18;;:::i;:::-;21121:2;21180:1;21177;21173:9;21165:17;;21042:146;;;;:::o;21194:96::-;21231:7;21260:24;21278:5;21260:24;:::i;:::-;21249:35;;21239:51;;;:::o;21296:90::-;21330:7;21373:5;21366:13;21359:21;21348:32;;21338:48;;;:::o;21392:126::-;21429:7;21469:42;21462:5;21458:54;21447:65;;21437:81;;;:::o;21524:77::-;21561:7;21590:5;21579:16;;21569:32;;;:::o;21607:86::-;21642:7;21682:4;21675:5;21671:16;21660:27;;21650:43;;;:::o;21699:121::-;21757:9;21790:24;21808:5;21790:24;:::i;:::-;21777:37;;21767:53;;;:::o;21826:307::-;21894:1;21904:113;21918:6;21915:1;21912:13;21904:113;;;22003:1;21998:3;21994:11;21988:18;21984:1;21979:3;21975:11;21968:39;21940:2;21937:1;21933:10;21928:15;;21904:113;;;22035:6;22032:1;22029:13;22026:2;;;22115:1;22106:6;22101:3;22097:16;22090:27;22026:2;21875:258;;;;:::o;22139:180::-;22187:77;22184:1;22177:88;22284:4;22281:1;22274:15;22308:4;22305:1;22298:15;22325:180;22373:77;22370:1;22363:88;22470:4;22467:1;22460:15;22494:4;22491:1;22484:15;22511:180;22559:77;22556:1;22549:88;22656:4;22653:1;22646:15;22680:4;22677:1;22670:15;22697:180;22745:77;22742:1;22735:88;22842:4;22839:1;22832:15;22866:4;22863:1;22856:15;23006:117;23115:1;23112;23105:12;23129:102;23170:6;23221:2;23217:7;23212:2;23205:5;23201:14;23197:28;23187:38;;23177:54;;;:::o;23237:222::-;23377:34;23373:1;23365:6;23361:14;23354:58;23446:5;23441:2;23433:6;23429:15;23422:30;23343:116;:::o;23465:229::-;23605:34;23601:1;23593:6;23589:14;23582:58;23674:12;23669:2;23661:6;23657:15;23650:37;23571:123;:::o;23700:221::-;23840:34;23836:1;23828:6;23824:14;23817:58;23909:4;23904:2;23896:6;23892:15;23885:29;23806:115;:::o;23927:177::-;24067:29;24063:1;24055:6;24051:14;24044:53;24033:71;:::o;24110:179::-;24250:31;24246:1;24238:6;24234:14;24227:55;24216:73;:::o;24295:220::-;24435:34;24431:1;24423:6;24419:14;24412:58;24504:3;24499:2;24491:6;24487:15;24480:28;24401:114;:::o;24521:182::-;24661:34;24657:1;24649:6;24645:14;24638:58;24627:76;:::o;24709:228::-;24849:34;24845:1;24837:6;24833:14;24826:58;24918:11;24913:2;24905:6;24901:15;24894:36;24815:122;:::o;24943:224::-;25083:34;25079:1;25071:6;25067:14;25060:58;25152:7;25147:2;25139:6;25135:15;25128:32;25049:118;:::o;25173:223::-;25313:34;25309:1;25301:6;25297:14;25290:58;25382:6;25377:2;25369:6;25365:15;25358:31;25279:117;:::o;25402:167::-;25542:19;25538:1;25530:6;25526:14;25519:43;25508:61;:::o;25575:122::-;25648:24;25666:5;25648:24;:::i;:::-;25641:5;25638:35;25628:2;;25687:1;25684;25677:12;25628:2;25618:79;:::o;25703:116::-;25773:21;25788:5;25773:21;:::i;:::-;25766:5;25763:32;25753:2;;25809:1;25806;25799:12;25753:2;25743:76;:::o;25825:122::-;25898:24;25916:5;25898:24;:::i;:::-;25891:5;25888:35;25878:2;;25937:1;25934;25927:12;25878:2;25868:79;:::o

Swarm Source

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