ETH Price: $3,164.28 (-4.52%)
 

Overview

Max Total Supply

1,000,000 ANGEL

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
7,225 ANGEL

Value
$0.00
0x49bc5395d92c48ac80dcebbb492583a055170c50
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:
Angel

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/**
Angel 👼

From the pool party, to splish splashing, we end up with the angel emoji.
✅ 1,000,000 Total Supply
✅ 15% LP Fee (party gets sent to creator wallet to buy back ETH)
✅ No buy limit
✅ 1 month liquidity lock
✅ No renounced ownership, no contract functions I could use to do anything malicious anyway. 
When I renounce the owner wallet will be the dead address, so I won't be able to do buy backs.

https://t.me/AngelTokenETH

**/

/**
// SPDX-License-Identifier: Unlicensed
**/
pragma solidity ^0.8.6;
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);
}
contract Ownable is Context {
    address private _owner;
    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);
}
interface IWETH {
    function deposit() external payable;
    function transfer(address to, uint value) external returns (bool);
    function approve(address to, uint value) external returns (bool);
}
contract Angel is Context, IERC20, Ownable {
    string private constant _name = unicode"👼";
    string private constant _symbol = "ANGEL";
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping(address => uint256)) private _allowances;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    IUniswapV2Router02 private uniswapV2Router;
    address[] private _excluded;
    address private c;
    address private wallet1;
    address private uniswapV2Pair;
    address private WETH;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _taxFee;
    uint256 private _LiquidityFee;
    uint64 private buyCounter;
    uint8 private constant _decimals = 9;
    uint16 private maxTx;
    bool private tradingOpen;
    bool private inSwap;
    bool private swapEnabled;

    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 ethToOwner);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor(address payable _wallet1) {
        c = address(this);
        wallet1 = _wallet1;
        _rOwned[c] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[c] = true;
        _isExcludedFromFee[wallet1] = true;
        excludeFromReward(owner());
        excludeFromReward(c);
        excludeFromReward(wallet1);
        emit Transfer(address(0),c,_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) {
        if (_isExcluded[account]) return _tOwned[account];
        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()] - amount);
        return true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns (uint256) {
        require(rAmount <= _rTotal,"Amount must be less than total reflections");
        uint256 currentRate = _getRate();
        return rAmount / currentRate;
    }

    function nofees() private {
        _taxFee = 0;
        _LiquidityFee = 0;
    }

    function basefees() private {
        _taxFee = 0;
        _LiquidityFee = 15;
    }

    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _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(amount > 0, "Transfer amount must be greater than zero");
        require(!bots[from] && !bots[to]);
        basefees();
        if (from != owner() && to != owner() && tradingOpen) {
            if (!inSwap) {
                if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) {
                    require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only");
                }
            }
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && !inSwap) {
                if (buyCounter < 100)
                    require(amount <= _tTotal * maxTx / 1000);
                buyCounter++;
            }
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from] && !inSwap) {
                if (swapEnabled) {
                    uint256 contractTokenBalance = balanceOf(c);
                    if (contractTokenBalance > balanceOf(uniswapV2Pair) * 1 / 10000) {
                        swapAndLiquify(contractTokenBalance);
                    }
                }
            }
            if (!inSwap) {
                if (buyCounter == 2)
                    maxTx = 1000; //100%
                if (buyCounter == 20)
                    maxTx = 1000; //100%
                if (buyCounter == 30) {
                    maxTx = 1000; //100%
                }
            }
        }
        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to] || inSwap) {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
    }
	function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
 			swapTokensForEth(contractTokenBalance);
 			uint256 balance = c.balance / 5;
 			sendETHToFee(balance*4);
            sendETHToOwner(balance);
 			emit SwapAndLiquify(contractTokenBalance, balance*4, balance);
 	}
 	function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
 			_approve(c, address(uniswapV2Router), tokenAmount);
 			uniswapV2Router.addLiquidityETH{value: ethAmount}(
 					c,
 					tokenAmount,
 					0,
 					0,
 					owner(),
 					block.timestamp
 			);
 	}
    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = c;
        path[1] = WETH;
        _approve(c, address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, c, block.timestamp);
    }

    function sendETHToFee(uint256 ETHamount) private {
        payable(wallet1).transfer(ETHamount);
    }
     function sendETHToOwner(uint256 ETHamount) private {
        payable(owner()).transfer(ETHamount);
    }
    function openTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = uniswapV2Router.WETH();
        _approve(c, address(uniswapV2Router), ~uint256(0));
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(c, WETH);
        uniswapV2Router.addLiquidityETH{value: c.balance}(c,balanceOf(c),0,0,owner(),block.timestamp);
        maxTx = 1000; // 100%
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router),~uint256(0));
        tradingOpen = true;
        swapEnabled = true;
    }
    function manualswap() external {
        uint256 contractBalance = balanceOf(c);
        swapTokensForEth(contractBalance);
    }
    function manualsend() external {
        uint256 contractETHBalance = c.balance;
        sendETHToFee(contractETHBalance);
    }
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if (!takeFee) nofees();
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _tOwned[recipient] = _tOwned[recipient] + tTransferAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender] - tAmount;
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender] - tAmount;
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _tOwned[recipient] = _tOwned[recipient] + tTransferAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _takeLiquidity(uint256 tLiquidity) private {
        uint256 currentRate =  _getRate();
        uint256 rLiquidity = tLiquidity * currentRate;
        _rOwned[c] = _rOwned[c] + rLiquidity;
        _tOwned[c] = _tOwned[c] + tLiquidity;
    }
	function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal - rFee;
        _tFeeTotal = _tFeeTotal + tFee;
    }
    receive() external payable {}
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount, _taxFee, _LiquidityFee);
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, _getRate());
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tLiquidity);
    }
    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 LiquidityFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount * taxFee / 100;
        uint256 tLiquidity = tAmount * LiquidityFee / 100;
		uint256 tTransferAmount = tAmount - tFee - tLiquidity;
        return (tTransferAmount, tFee, tLiquidity);
    }
    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount * currentRate;
        uint256 rFee = tFee * currentRate;
        uint256 rLiquidity = tLiquidity * currentRate;
		uint256 rTransferAmount = rAmount - rFee - rLiquidity;
        return (rAmount, rTransferAmount, rFee);
    }
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply / tSupply;
    }
    function excludeFromReward(address addr) internal {
        require(addr != address(uniswapV2Router), 'ERR: Can\'t exclude Uniswap router');
        require(!_isExcluded[addr], "Account is already excluded");
        if(_rOwned[addr] > 0) {
            _tOwned[addr] = tokenFromReflection(_rOwned[addr]);
        }
        _isExcluded[addr] = true;
        _excluded.push(addr);
    }
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply - _rOwned[_excluded[i]];
            tSupply = tSupply - _tOwned[_excluded[i]];
        }
        if (rSupply < _rTotal / _tTotal) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_wallet1","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethToOwner","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405266038d7ea4c680006000196200001b919062000d34565b6000196200002a919062000c6d565b600e553480156200003a57600080fd5b5060405162004fec38038062004fec833981810160405281019062000060919062000ae9565b6000620000726200047360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35030600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5460016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620002106200047b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000375620003696200047b60201b60201c565b620004a460201b60201c565b620003a8600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620004a460201b60201c565b620003db600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620004a460201b60201c565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c6800060405162000464919062000c07565b60405180910390a35062000edf565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000538576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200052f9062000be5565b60405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620005c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005bf9062000bc3565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115620006a55762000661600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200076360201b60201c565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600e54821115620007ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a49062000ba1565b60405180910390fd5b6000620007bf620007d760201b60201c565b90508083620007cf919062000c35565b915050919050565b6000806000620007ec6200080560201b60201c565b915091508082620007fe919062000c35565b9250505090565b6000806000600e549050600066038d7ea4c68000905060005b60098054905081101562000a8e5782600160006009848154811062000848576200084762000dca565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806200093a5750816002600060098481548110620008d257620008d162000dca565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156200095857600e5466038d7ea4c680009450945050505062000ace565b600160006009838154811062000973576200097262000dca565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483620009e6919062000c6d565b9250600260006009838154811062000a035762000a0262000dca565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548262000a76919062000c6d565b9150808062000a859062000ce6565b9150506200081e565b5066038d7ea4c68000600e5462000aa6919062000c35565b82101562000ac557600e5466038d7ea4c6800093509350505062000ace565b81819350935050505b9091565b60008151905062000ae38162000ec5565b92915050565b60006020828403121562000b025762000b0162000df9565b5b600062000b128482850162000ad2565b91505092915050565b600062000b2a602a8362000c24565b915062000b378262000dfe565b604082019050919050565b600062000b51601b8362000c24565b915062000b5e8262000e4d565b602082019050919050565b600062000b7860218362000c24565b915062000b858262000e76565b604082019050919050565b62000b9b8162000cdc565b82525050565b6000602082019050818103600083015262000bbc8162000b1b565b9050919050565b6000602082019050818103600083015262000bde8162000b42565b9050919050565b6000602082019050818103600083015262000c008162000b69565b9050919050565b600060208201905062000c1e600083018462000b90565b92915050565b600082825260208201905092915050565b600062000c428262000cdc565b915062000c4f8362000cdc565b92508262000c625762000c6162000d9b565b5b828204905092915050565b600062000c7a8262000cdc565b915062000c878362000cdc565b92508282101562000c9d5762000c9c62000d6c565b5b828203905092915050565b600062000cb58262000cbc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000cf38262000cdc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000d295762000d2862000d6c565b5b600182019050919050565b600062000d418262000cdc565b915062000d4e8362000cdc565b92508262000d615762000d6062000d9b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f4552523a2043616e2774206578636c75646520556e697377617020726f75746560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b62000ed08162000ca8565b811462000edc57600080fd5b50565b6140fd8062000eef6000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063b515566a11610059578063b515566a14610325578063c3c8cd801461034e578063c9567bf914610365578063dd62ed3e1461037c576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063273123b7116100c6578063273123b7146101d3578063313ce567146101fc5780636fc3eaec1461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b604051610125919061389e565b60405180910390f35b34801561013a57600080fd5b506101556004803603810190610150919061348b565b6103f6565b6040516101629190613883565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d91906139c0565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190613438565b610423565b6040516101ca9190613883565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061339e565b6104db565b005b34801561020857600080fd5b506102116105cb565b60405161021e9190613a6c565b60405180910390f35b34801561023357600080fd5b5061023c6105d4565b005b34801561024a57600080fd5b506102656004803603810190610260919061339e565b61061e565b60405161027291906139c0565b60405180910390f35b34801561028757600080fd5b50610290610709565b005b34801561029e57600080fd5b506102a761085c565b6040516102b491906137b5565b60405180910390f35b3480156102c957600080fd5b506102d2610885565b6040516102df919061389e565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a919061348b565b6108c2565b60405161031c9190613883565b60405180910390f35b34801561033157600080fd5b5061034c600480360381019061034791906134cb565b6108e0565b005b34801561035a57600080fd5b50610363610a0a565b005b34801561037157600080fd5b5061037a610a45565b005b34801561038857600080fd5b506103a3600480360381019061039e91906133f8565b6110d3565b6040516103b091906139c0565b60405180910390f35b60606040518060400160405280600481526020017ff09f91bc00000000000000000000000000000000000000000000000000000000815250905090565b600061040a61040361115a565b8484611162565b6001905092915050565b600066038d7ea4c68000905090565b600061043084848461132d565b6104d08461043c61115a565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061048661115a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104cb9190613c0e565b611162565b600190509392505050565b6104e361115a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056790613900565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631905061061b81611cb2565b50565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156106b957600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610704565b610701600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1e565b90505b919050565b61071161115a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079590613900565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f414e47454c000000000000000000000000000000000000000000000000000000815250905090565b60006108d66108cf61115a565b848461132d565b6001905092915050565b6108e861115a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c90613900565b60405180910390fd5b60005b8151811015610a065760016004600084848151811061099a57610999613df9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109fe90613d21565b915050610978565b5050565b6000610a37600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b9050610a4281611d85565b50565b610a4d61115a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad190613900565b60405180910390fd5b6012600a9054906101000a900460ff1615610b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2190613980565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610be757600080fd5b505afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f91906133cb565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cb0600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600019611162565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1857600080fd5b505afa158015610d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5091906133cb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401610dce9291906137d0565b602060405180830381600087803b158015610de857600080fd5b505af1158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2091906133cb565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f26600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b600080610f3161085c565b426040518863ffffffff1660e01b8152600401610f5396959493929190613822565b6060604051808303818588803b158015610f6c57600080fd5b505af1158015610f80573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fa59190613541565b5050506103e8601260086101000a81548161ffff021916908361ffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016110489291906137f9565b602060405180830381600087803b15801561106257600080fd5b505af1158015611076573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109a9190613514565b5060016012600a6101000a81548160ff02191690831515021790555060016012600c6101000a81548160ff021916908315150217905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c990613960565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611242576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611239906138e0565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161132091906139c0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139490613940565b60405180910390fd5b600081116113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d790613920565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114845750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61148d57600080fd5b611495611fc0565b61149d61085c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561150b57506114db61085c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561152357506012600a9054906101000a900460ff165b15611bd8576012600b9054906101000a900460ff16611755573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115a457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115fe5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116585750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561175457600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661169e61115a565b73ffffffffffffffffffffffffffffffffffffffff1614806117145750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116fc61115a565b73ffffffffffffffffffffffffffffffffffffffff16145b611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a906139a0565b60405180910390fd5b5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118005750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118565750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561186f57506012600b9054906101000a900460ff16155b1561192c576064601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff1610156118de576103e8601260089054906101000a900461ffff1661ffff1666038d7ea4c680006118c79190613bb4565b6118d19190613b83565b8111156118dd57600080fd5b5b6012600081819054906101000a900467ffffffffffffffff168092919061190490613d6a565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119d75750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a2d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a4657506012600b9054906101000a900460ff16155b15611ae7576012600c9054906101000a900460ff1615611ae6576000611a8d600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b90506127106001611abf600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b611ac99190613bb4565b611ad39190613b83565b811115611ae457611ae381611fd2565b5b505b5b6012600b9054906101000a900460ff16611bd7576002601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611b44576103e8601260086101000a81548161ffff021916908361ffff1602179055505b6014601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611b8d576103e8601260086101000a81548161ffff021916908361ffff1602179055505b601e601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611bd6576103e8601260086101000a81548161ffff021916908361ffff1602179055505b5b5b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c7f5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611c9657506012600b9054906101000a900460ff165b15611ca057600090505b611cac848484846120c4565b50505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d1a573d6000803e3d6000fd5b5050565b6000600e54821115611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c906138c0565b60405180910390fd5b6000611d6f61230d565b90508083611d7d9190613b83565b915050919050565b6000600267ffffffffffffffff811115611da257611da1613e28565b5b604051908082528060200260200182016040528015611dd05781602001602082028036833780820191505090505b509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110611e0a57611e09613df9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611e7b57611e7a613df9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f04600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611162565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611f8a9594939291906139db565b600060405180830381600087803b158015611fa457600080fd5b505af1158015611fb8573d6000803e3d6000fd5b505050505050565b6000601081905550600f601181905550565b60016012600b6101000a81548160ff021916908315150217905550611ff681611d85565b60006005600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163161203e9190613b83565b90506120556004826120509190613bb4565b611cb2565b61205e81612331565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618260048361208d9190613bb4565b8360405161209d93929190613a35565b60405180910390a15060006012600b6101000a81548160ff02191690831515021790555050565b806120d2576120d1612382565b5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121755750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561218a57612185848484612394565b612307565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561222d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122425761223d8484846125df565b612306565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122e45750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122f9576122f484848461282a565b612305565b612304848484612b03565b5b5b5b50505050565b600080600061231a612cc0565b91509150808261232a9190613b83565b9250505090565b61233961085c565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561237e573d6000803e3d6000fd5b5050565b60006010819055506000601181905550565b6000806000806000806123a687612f72565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123fd9190613c0e565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248b9190613c0e565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125199190613b2d565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061256581612fd4565b61256f8483613199565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125cc91906139c0565b60405180910390a3505050505050505050565b6000806000806000806125f187612f72565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126489190613c0e565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d69190613b2d565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127649190613b2d565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127b081612fd4565b6127ba8483613199565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161281791906139c0565b60405180910390a3505050505050505050565b60008060008060008061283c87612f72565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128939190613c0e565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129219190613c0e565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129af9190613b2d565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a3d9190613b2d565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a8981612fd4565b612a938483613199565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612af091906139c0565b60405180910390a3505050505050505050565b600080600080600080612b1587612f72565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b6c9190613c0e565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bfa9190613b2d565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4681612fd4565b612c508483613199565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612cad91906139c0565b60405180910390a3505050505050505050565b6000806000600e549050600066038d7ea4c68000905060005b600980549050811015612f3257826001600060098481548110612cff57612cfe613df9565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612ded5750816002600060098481548110612d8557612d84613df9565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612e0957600e5466038d7ea4c6800094509450505050612f6e565b6001600060098381548110612e2157612e20613df9565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612e929190613c0e565b92506002600060098381548110612eac57612eab613df9565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612f1d9190613c0e565b91508080612f2a90613d21565b915050612cd9565b5066038d7ea4c68000600e54612f489190613b83565b821015612f6557600e5466038d7ea4c68000935093505050612f6e565b81819350935050505b9091565b6000806000806000806000806000612f8f8a6010546011546131c5565b9250925092506000806000612fad8d8686612fa861230d565b613231565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b6000612fde61230d565b905060008183612fee9190613bb4565b90508060016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305d9190613b2d565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508260026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312f9190613b2d565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b81600e546131a79190613c0e565b600e8190555080600f546131bb9190613b2d565b600f819055505050565b600080600080606486886131d99190613bb4565b6131e39190613b83565b90506000606486896131f59190613bb4565b6131ff9190613b83565b9050600081838a6132109190613c0e565b61321a9190613c0e565b905080838395509550955050505093509350939050565b60008060008084886132439190613bb4565b9050600085886132539190613bb4565b9050600086886132639190613bb4565b905060008183856132749190613c0e565b61327e9190613c0e565b9050838184965096509650505050509450945094915050565b60006132aa6132a584613aac565b613a87565b905080838252602082019050828560208602820111156132cd576132cc613e5c565b5b60005b858110156132fd57816132e38882613307565b8452602084019350602083019250506001810190506132d0565b5050509392505050565b60008135905061331681614082565b92915050565b60008151905061332b81614082565b92915050565b600082601f83011261334657613345613e57565b5b8135613356848260208601613297565b91505092915050565b60008151905061336e81614099565b92915050565b600081359050613383816140b0565b92915050565b600081519050613398816140b0565b92915050565b6000602082840312156133b4576133b3613e66565b5b60006133c284828501613307565b91505092915050565b6000602082840312156133e1576133e0613e66565b5b60006133ef8482850161331c565b91505092915050565b6000806040838503121561340f5761340e613e66565b5b600061341d85828601613307565b925050602061342e85828601613307565b9150509250929050565b60008060006060848603121561345157613450613e66565b5b600061345f86828701613307565b935050602061347086828701613307565b925050604061348186828701613374565b9150509250925092565b600080604083850312156134a2576134a1613e66565b5b60006134b085828601613307565b92505060206134c185828601613374565b9150509250929050565b6000602082840312156134e1576134e0613e66565b5b600082013567ffffffffffffffff8111156134ff576134fe613e61565b5b61350b84828501613331565b91505092915050565b60006020828403121561352a57613529613e66565b5b60006135388482850161335f565b91505092915050565b60008060006060848603121561355a57613559613e66565b5b600061356886828701613389565b935050602061357986828701613389565b925050604061358a86828701613389565b9150509250925092565b60006135a083836135ac565b60208301905092915050565b6135b581613c42565b82525050565b6135c481613c42565b82525050565b60006135d582613ae8565b6135df8185613b0b565b93506135ea83613ad8565b8060005b8381101561361b5781516136028882613594565b975061360d83613afe565b9250506001810190506135ee565b5085935050505092915050565b61363181613c54565b82525050565b61364081613cab565b82525050565b600061365182613af3565b61365b8185613b1c565b935061366b818560208601613cbd565b61367481613e6b565b840191505092915050565b600061368c602a83613b1c565b915061369782613e7c565b604082019050919050565b60006136af602283613b1c565b91506136ba82613ecb565b604082019050919050565b60006136d2602083613b1c565b91506136dd82613f1a565b602082019050919050565b60006136f5602983613b1c565b915061370082613f43565b604082019050919050565b6000613718602583613b1c565b915061372382613f92565b604082019050919050565b600061373b602483613b1c565b915061374682613fe1565b604082019050919050565b600061375e601783613b1c565b915061376982614030565b602082019050919050565b6000613781601183613b1c565b915061378c82614059565b602082019050919050565b6137a081613c80565b82525050565b6137af81613c9e565b82525050565b60006020820190506137ca60008301846135bb565b92915050565b60006040820190506137e560008301856135bb565b6137f260208301846135bb565b9392505050565b600060408201905061380e60008301856135bb565b61381b6020830184613797565b9392505050565b600060c08201905061383760008301896135bb565b6138446020830188613797565b6138516040830187613637565b61385e6060830186613637565b61386b60808301856135bb565b61387860a0830184613797565b979650505050505050565b60006020820190506138986000830184613628565b92915050565b600060208201905081810360008301526138b88184613646565b905092915050565b600060208201905081810360008301526138d98161367f565b9050919050565b600060208201905081810360008301526138f9816136a2565b9050919050565b60006020820190508181036000830152613919816136c5565b9050919050565b60006020820190508181036000830152613939816136e8565b9050919050565b600060208201905081810360008301526139598161370b565b9050919050565b600060208201905081810360008301526139798161372e565b9050919050565b6000602082019050818103600083015261399981613751565b9050919050565b600060208201905081810360008301526139b981613774565b9050919050565b60006020820190506139d56000830184613797565b92915050565b600060a0820190506139f06000830188613797565b6139fd6020830187613637565b8181036040830152613a0f81866135ca565b9050613a1e60608301856135bb565b613a2b6080830184613797565b9695505050505050565b6000606082019050613a4a6000830186613797565b613a576020830185613797565b613a646040830184613797565b949350505050565b6000602082019050613a8160008301846137a6565b92915050565b6000613a91613aa2565b9050613a9d8282613cf0565b919050565b6000604051905090565b600067ffffffffffffffff821115613ac757613ac6613e28565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b3882613c80565b9150613b4383613c80565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b7857613b77613d9b565b5b828201905092915050565b6000613b8e82613c80565b9150613b9983613c80565b925082613ba957613ba8613dca565b5b828204905092915050565b6000613bbf82613c80565b9150613bca83613c80565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c0357613c02613d9b565b5b828202905092915050565b6000613c1982613c80565b9150613c2483613c80565b925082821015613c3757613c36613d9b565b5b828203905092915050565b6000613c4d82613c60565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b6000613cb682613c80565b9050919050565b60005b83811015613cdb578082015181840152602081019050613cc0565b83811115613cea576000848401525b50505050565b613cf982613e6b565b810181811067ffffffffffffffff82111715613d1857613d17613e28565b5b80604052505050565b6000613d2c82613c80565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d5f57613d5e613d9b565b5b600182019050919050565b6000613d7582613c8a565b915067ffffffffffffffff821415613d9057613d8f613d9b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b61408b81613c42565b811461409657600080fd5b50565b6140a281613c54565b81146140ad57600080fd5b50565b6140b981613c80565b81146140c457600080fd5b5056fea264697066735822122007a367066db587505fe14dd768ea7ce9d5b3aaf4a68100cfc72fc936a60c830464736f6c634300080600330000000000000000000000001d8900c692e58ed553cf82561bc304e0b2dd73ba

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063715018a61161008a578063b515566a11610059578063b515566a14610325578063c3c8cd801461034e578063c9567bf914610365578063dd62ed3e1461037c576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063273123b7116100c6578063273123b7146101d3578063313ce567146101fc5780636fc3eaec1461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b604051610125919061389e565b60405180910390f35b34801561013a57600080fd5b506101556004803603810190610150919061348b565b6103f6565b6040516101629190613883565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d91906139c0565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190613438565b610423565b6040516101ca9190613883565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061339e565b6104db565b005b34801561020857600080fd5b506102116105cb565b60405161021e9190613a6c565b60405180910390f35b34801561023357600080fd5b5061023c6105d4565b005b34801561024a57600080fd5b506102656004803603810190610260919061339e565b61061e565b60405161027291906139c0565b60405180910390f35b34801561028757600080fd5b50610290610709565b005b34801561029e57600080fd5b506102a761085c565b6040516102b491906137b5565b60405180910390f35b3480156102c957600080fd5b506102d2610885565b6040516102df919061389e565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a919061348b565b6108c2565b60405161031c9190613883565b60405180910390f35b34801561033157600080fd5b5061034c600480360381019061034791906134cb565b6108e0565b005b34801561035a57600080fd5b50610363610a0a565b005b34801561037157600080fd5b5061037a610a45565b005b34801561038857600080fd5b506103a3600480360381019061039e91906133f8565b6110d3565b6040516103b091906139c0565b60405180910390f35b60606040518060400160405280600481526020017ff09f91bc00000000000000000000000000000000000000000000000000000000815250905090565b600061040a61040361115a565b8484611162565b6001905092915050565b600066038d7ea4c68000905090565b600061043084848461132d565b6104d08461043c61115a565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061048661115a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104cb9190613c0e565b611162565b600190509392505050565b6104e361115a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056790613900565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631905061061b81611cb2565b50565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156106b957600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610704565b610701600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1e565b90505b919050565b61071161115a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079590613900565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f414e47454c000000000000000000000000000000000000000000000000000000815250905090565b60006108d66108cf61115a565b848461132d565b6001905092915050565b6108e861115a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c90613900565b60405180910390fd5b60005b8151811015610a065760016004600084848151811061099a57610999613df9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109fe90613d21565b915050610978565b5050565b6000610a37600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b9050610a4281611d85565b50565b610a4d61115a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad190613900565b60405180910390fd5b6012600a9054906101000a900460ff1615610b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2190613980565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610be757600080fd5b505afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f91906133cb565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cb0600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600019611162565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1857600080fd5b505afa158015610d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5091906133cb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401610dce9291906137d0565b602060405180830381600087803b158015610de857600080fd5b505af1158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2091906133cb565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f26600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b600080610f3161085c565b426040518863ffffffff1660e01b8152600401610f5396959493929190613822565b6060604051808303818588803b158015610f6c57600080fd5b505af1158015610f80573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fa59190613541565b5050506103e8601260086101000a81548161ffff021916908361ffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016110489291906137f9565b602060405180830381600087803b15801561106257600080fd5b505af1158015611076573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109a9190613514565b5060016012600a6101000a81548160ff02191690831515021790555060016012600c6101000a81548160ff021916908315150217905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c990613960565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611242576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611239906138e0565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161132091906139c0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139490613940565b60405180910390fd5b600081116113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d790613920565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114845750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61148d57600080fd5b611495611fc0565b61149d61085c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561150b57506114db61085c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561152357506012600a9054906101000a900460ff165b15611bd8576012600b9054906101000a900460ff16611755573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115a457503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115fe5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116585750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561175457600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661169e61115a565b73ffffffffffffffffffffffffffffffffffffffff1614806117145750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116fc61115a565b73ffffffffffffffffffffffffffffffffffffffff16145b611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a906139a0565b60405180910390fd5b5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118005750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118565750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561186f57506012600b9054906101000a900460ff16155b1561192c576064601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff1610156118de576103e8601260089054906101000a900461ffff1661ffff1666038d7ea4c680006118c79190613bb4565b6118d19190613b83565b8111156118dd57600080fd5b5b6012600081819054906101000a900467ffffffffffffffff168092919061190490613d6a565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119d75750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a2d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a4657506012600b9054906101000a900460ff16155b15611ae7576012600c9054906101000a900460ff1615611ae6576000611a8d600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b90506127106001611abf600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b611ac99190613bb4565b611ad39190613b83565b811115611ae457611ae381611fd2565b5b505b5b6012600b9054906101000a900460ff16611bd7576002601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611b44576103e8601260086101000a81548161ffff021916908361ffff1602179055505b6014601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611b8d576103e8601260086101000a81548161ffff021916908361ffff1602179055505b601e601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611bd6576103e8601260086101000a81548161ffff021916908361ffff1602179055505b5b5b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c7f5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611c9657506012600b9054906101000a900460ff165b15611ca057600090505b611cac848484846120c4565b50505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d1a573d6000803e3d6000fd5b5050565b6000600e54821115611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c906138c0565b60405180910390fd5b6000611d6f61230d565b90508083611d7d9190613b83565b915050919050565b6000600267ffffffffffffffff811115611da257611da1613e28565b5b604051908082528060200260200182016040528015611dd05781602001602082028036833780820191505090505b509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110611e0a57611e09613df9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611e7b57611e7a613df9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f04600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611162565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611f8a9594939291906139db565b600060405180830381600087803b158015611fa457600080fd5b505af1158015611fb8573d6000803e3d6000fd5b505050505050565b6000601081905550600f601181905550565b60016012600b6101000a81548160ff021916908315150217905550611ff681611d85565b60006005600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163161203e9190613b83565b90506120556004826120509190613bb4565b611cb2565b61205e81612331565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618260048361208d9190613bb4565b8360405161209d93929190613a35565b60405180910390a15060006012600b6101000a81548160ff02191690831515021790555050565b806120d2576120d1612382565b5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121755750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561218a57612185848484612394565b612307565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561222d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122425761223d8484846125df565b612306565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122e45750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122f9576122f484848461282a565b612305565b612304848484612b03565b5b5b5b50505050565b600080600061231a612cc0565b91509150808261232a9190613b83565b9250505090565b61233961085c565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561237e573d6000803e3d6000fd5b5050565b60006010819055506000601181905550565b6000806000806000806123a687612f72565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123fd9190613c0e565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248b9190613c0e565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125199190613b2d565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061256581612fd4565b61256f8483613199565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125cc91906139c0565b60405180910390a3505050505050505050565b6000806000806000806125f187612f72565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126489190613c0e565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d69190613b2d565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127649190613b2d565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127b081612fd4565b6127ba8483613199565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161281791906139c0565b60405180910390a3505050505050505050565b60008060008060008061283c87612f72565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128939190613c0e565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129219190613c0e565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129af9190613b2d565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a3d9190613b2d565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a8981612fd4565b612a938483613199565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612af091906139c0565b60405180910390a3505050505050505050565b600080600080600080612b1587612f72565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b6c9190613c0e565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bfa9190613b2d565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4681612fd4565b612c508483613199565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612cad91906139c0565b60405180910390a3505050505050505050565b6000806000600e549050600066038d7ea4c68000905060005b600980549050811015612f3257826001600060098481548110612cff57612cfe613df9565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612ded5750816002600060098481548110612d8557612d84613df9565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612e0957600e5466038d7ea4c6800094509450505050612f6e565b6001600060098381548110612e2157612e20613df9565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612e929190613c0e565b92506002600060098381548110612eac57612eab613df9565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612f1d9190613c0e565b91508080612f2a90613d21565b915050612cd9565b5066038d7ea4c68000600e54612f489190613b83565b821015612f6557600e5466038d7ea4c68000935093505050612f6e565b81819350935050505b9091565b6000806000806000806000806000612f8f8a6010546011546131c5565b9250925092506000806000612fad8d8686612fa861230d565b613231565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b6000612fde61230d565b905060008183612fee9190613bb4565b90508060016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305d9190613b2d565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508260026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312f9190613b2d565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b81600e546131a79190613c0e565b600e8190555080600f546131bb9190613b2d565b600f819055505050565b600080600080606486886131d99190613bb4565b6131e39190613b83565b90506000606486896131f59190613bb4565b6131ff9190613b83565b9050600081838a6132109190613c0e565b61321a9190613c0e565b905080838395509550955050505093509350939050565b60008060008084886132439190613bb4565b9050600085886132539190613bb4565b9050600086886132639190613bb4565b905060008183856132749190613c0e565b61327e9190613c0e565b9050838184965096509650505050509450945094915050565b60006132aa6132a584613aac565b613a87565b905080838252602082019050828560208602820111156132cd576132cc613e5c565b5b60005b858110156132fd57816132e38882613307565b8452602084019350602083019250506001810190506132d0565b5050509392505050565b60008135905061331681614082565b92915050565b60008151905061332b81614082565b92915050565b600082601f83011261334657613345613e57565b5b8135613356848260208601613297565b91505092915050565b60008151905061336e81614099565b92915050565b600081359050613383816140b0565b92915050565b600081519050613398816140b0565b92915050565b6000602082840312156133b4576133b3613e66565b5b60006133c284828501613307565b91505092915050565b6000602082840312156133e1576133e0613e66565b5b60006133ef8482850161331c565b91505092915050565b6000806040838503121561340f5761340e613e66565b5b600061341d85828601613307565b925050602061342e85828601613307565b9150509250929050565b60008060006060848603121561345157613450613e66565b5b600061345f86828701613307565b935050602061347086828701613307565b925050604061348186828701613374565b9150509250925092565b600080604083850312156134a2576134a1613e66565b5b60006134b085828601613307565b92505060206134c185828601613374565b9150509250929050565b6000602082840312156134e1576134e0613e66565b5b600082013567ffffffffffffffff8111156134ff576134fe613e61565b5b61350b84828501613331565b91505092915050565b60006020828403121561352a57613529613e66565b5b60006135388482850161335f565b91505092915050565b60008060006060848603121561355a57613559613e66565b5b600061356886828701613389565b935050602061357986828701613389565b925050604061358a86828701613389565b9150509250925092565b60006135a083836135ac565b60208301905092915050565b6135b581613c42565b82525050565b6135c481613c42565b82525050565b60006135d582613ae8565b6135df8185613b0b565b93506135ea83613ad8565b8060005b8381101561361b5781516136028882613594565b975061360d83613afe565b9250506001810190506135ee565b5085935050505092915050565b61363181613c54565b82525050565b61364081613cab565b82525050565b600061365182613af3565b61365b8185613b1c565b935061366b818560208601613cbd565b61367481613e6b565b840191505092915050565b600061368c602a83613b1c565b915061369782613e7c565b604082019050919050565b60006136af602283613b1c565b91506136ba82613ecb565b604082019050919050565b60006136d2602083613b1c565b91506136dd82613f1a565b602082019050919050565b60006136f5602983613b1c565b915061370082613f43565b604082019050919050565b6000613718602583613b1c565b915061372382613f92565b604082019050919050565b600061373b602483613b1c565b915061374682613fe1565b604082019050919050565b600061375e601783613b1c565b915061376982614030565b602082019050919050565b6000613781601183613b1c565b915061378c82614059565b602082019050919050565b6137a081613c80565b82525050565b6137af81613c9e565b82525050565b60006020820190506137ca60008301846135bb565b92915050565b60006040820190506137e560008301856135bb565b6137f260208301846135bb565b9392505050565b600060408201905061380e60008301856135bb565b61381b6020830184613797565b9392505050565b600060c08201905061383760008301896135bb565b6138446020830188613797565b6138516040830187613637565b61385e6060830186613637565b61386b60808301856135bb565b61387860a0830184613797565b979650505050505050565b60006020820190506138986000830184613628565b92915050565b600060208201905081810360008301526138b88184613646565b905092915050565b600060208201905081810360008301526138d98161367f565b9050919050565b600060208201905081810360008301526138f9816136a2565b9050919050565b60006020820190508181036000830152613919816136c5565b9050919050565b60006020820190508181036000830152613939816136e8565b9050919050565b600060208201905081810360008301526139598161370b565b9050919050565b600060208201905081810360008301526139798161372e565b9050919050565b6000602082019050818103600083015261399981613751565b9050919050565b600060208201905081810360008301526139b981613774565b9050919050565b60006020820190506139d56000830184613797565b92915050565b600060a0820190506139f06000830188613797565b6139fd6020830187613637565b8181036040830152613a0f81866135ca565b9050613a1e60608301856135bb565b613a2b6080830184613797565b9695505050505050565b6000606082019050613a4a6000830186613797565b613a576020830185613797565b613a646040830184613797565b949350505050565b6000602082019050613a8160008301846137a6565b92915050565b6000613a91613aa2565b9050613a9d8282613cf0565b919050565b6000604051905090565b600067ffffffffffffffff821115613ac757613ac6613e28565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b3882613c80565b9150613b4383613c80565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b7857613b77613d9b565b5b828201905092915050565b6000613b8e82613c80565b9150613b9983613c80565b925082613ba957613ba8613dca565b5b828204905092915050565b6000613bbf82613c80565b9150613bca83613c80565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c0357613c02613d9b565b5b828202905092915050565b6000613c1982613c80565b9150613c2483613c80565b925082821015613c3757613c36613d9b565b5b828203905092915050565b6000613c4d82613c60565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b6000613cb682613c80565b9050919050565b60005b83811015613cdb578082015181840152602081019050613cc0565b83811115613cea576000848401525b50505050565b613cf982613e6b565b810181811067ffffffffffffffff82111715613d1857613d17613e28565b5b80604052505050565b6000613d2c82613c80565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d5f57613d5e613d9b565b5b600182019050919050565b6000613d7582613c8a565b915067ffffffffffffffff821415613d9057613d8f613d9b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b61408b81613c42565b811461409657600080fd5b50565b6140a281613c54565b81146140ad57600080fd5b50565b6140b981613c80565b81146140c457600080fd5b5056fea264697066735822122007a367066db587505fe14dd768ea7ce9d5b3aaf4a68100cfc72fc936a60c830464736f6c63430008060033

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

0000000000000000000000001d8900c692e58ed553cf82561bc304e0b2dd73ba

-----Decoded View---------------
Arg [0] : _wallet1 (address): 0x1d8900c692E58eD553CF82561Bc304e0b2DD73Ba

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001d8900c692e58ed553cf82561bc304e0b2dd73ba


Deployed Bytecode Sourcemap

3033:13870:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4827:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5739:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5104:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5908:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6797:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5013:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11108:131;;;;;;;;;;;;;:::i;:::-;;5207:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1885:148;;;;;;;;;;;;;:::i;:::-;;1671:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4918:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5413:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6625:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10970:132;;;;;;;;;;;;;:::i;:::-;;10299:665;;;;;;;;;;;;;:::i;:::-;;5588:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4827:83;4864:13;4897:5;;;;;;;;;;;;;;;;;4890:12;;4827:83;:::o;5739:161::-;5814:4;5831:39;5840:12;:10;:12::i;:::-;5854:7;5863:6;5831:8;:39::i;:::-;5888:4;5881:11;;5739:161;;;;:::o;5104:95::-;5157:7;3849:15;5177:14;;5104:95;:::o;5908:264::-;6006:4;6023:36;6033:6;6041:9;6052:6;6023:9;:36::i;:::-;6070:72;6079:6;6086:12;:10;:12::i;:::-;6135:6;6099:11;:19;6111:6;6099:19;;;;;;;;;;;;;;;:33;6119:12;:10;:12::i;:::-;6099:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6070:8;:72::i;:::-;6160:4;6153:11;;5908:264;;;;;:::o;6797:88::-;1808:12;:10;:12::i;:::-;1798:22;;:6;;;;;;;;;;:22;;;1790:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6872:5:::1;6857:4;:12;6862:6;6857:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;6797:88:::0;:::o;5013:83::-;5054:5;4093:1;5072:16;;5013:83;:::o;11108:131::-;11150:26;11179:1;;;;;;;;;;;:9;;;11150:38;;11199:32;11212:18;11199:12;:32::i;:::-;11139:100;11108:131::o;5207:198::-;5273:7;5297:11;:20;5309:7;5297:20;;;;;;;;;;;;;;;;;;;;;;;;;5293:49;;;5326:7;:16;5334:7;5326:16;;;;;;;;;;;;;;;;5319:23;;;;5293:49;5360:37;5380:7;:16;5388:7;5380:16;;;;;;;;;;;;;;;;5360:19;:37::i;:::-;5353:44;;5207:198;;;;:::o;1885:148::-;1808:12;:10;:12::i;:::-;1798:22;;:6;;;;;;;;;;:22;;;1790:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1992:1:::1;1955:40;;1976:6;::::0;::::1;;;;;;;;1955:40;;;;;;;;;;;;2023:1;2006:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1885:148::o:0;1671:79::-;1709:7;1736:6;;;;;;;;;;;1729:13;;1671:79;:::o;4918:87::-;4957:13;4990:7;;;;;;;;;;;;;;;;;4983:14;;4918:87;:::o;5413:167::-;5491:4;5508:42;5518:12;:10;:12::i;:::-;5532:9;5543:6;5508:9;:42::i;:::-;5568:4;5561:11;;5413:167;;;;:::o;6625:164::-;1808:12;:10;:12::i;:::-;1798:22;;:6;;;;;;;;;;:22;;;1790:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6699:6:::1;6694:88;6715:5;:12;6711:1;:16;6694:88;;;6766:4;6749;:14;6754:5;6760:1;6754:8;;;;;;;;:::i;:::-;;;;;;;;6749:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;6729:3;;;;;:::i;:::-;;;;6694:88;;;;6625:164:::0;:::o;10970:132::-;11012:23;11038:12;11048:1;;;;;;;;;;;11038:9;:12::i;:::-;11012:38;;11061:33;11078:15;11061:16;:33::i;:::-;11001:101;10970:132::o;10299:665::-;1808:12;:10;:12::i;:::-;1798:22;;:6;;;;;;;;;;:22;;;1790:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10363:11:::1;;;;;;;;;;;10362:12;10354:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10450:42;10413:15;;:80;;;;;;;;;;;;;;;;;;10511:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10504:4;;:29;;;;;;;;;;;;;;;;;;10544:50;10553:1;;;;;;;;;;;10564:15;;;;;;;;;;;10591:1;10582:11;10544:8;:50::i;:::-;10639:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10621:55;;;10677:1;;;;;;;;;;;10680:4;;;;;;;;;;;10621:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10605:13;;:80;;;;;;;;;;;;;;;;;;10696:15;;;;;;;;;;;:31;;;10735:1;;;;;;;;;;;:9;;;10746:1;;;;;;;;;;;10748:12;10758:1;;;;;;;;;;;10748:9;:12::i;:::-;10761:1;10763::::0;10765:7:::1;:5;:7::i;:::-;10773:15;10696:93;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10808:4;10800:5;;:12;;;;;;;;;;;;;;;;;;10838:13;;;;;;;;;;;10831:29;;;10869:15;;;;;;;;;;;10895:1;10886:11;10831:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10923:4;10909:11;;:18;;;;;;;;;;;;;;;;;;10952:4;10938:11;;:18;;;;;;;;;;;;;;;;;;10299:665::o:0;5588:143::-;5669:7;5696:11;:18;5708:5;5696:18;;;;;;;;;;;;;;;:27;5715:7;5696:27;;;;;;;;;;;;;;;;5689:34;;5588:143;;;;:::o;576:98::-;629:7;656:10;649:17;;576:98;:::o;6893:335::-;7003:1;6986:19;;:5;:19;;;;6978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7084:1;7065:21;;:7;:21;;;;7057:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7166:6;7136:11;:18;7148:5;7136:18;;;;;;;;;;;;;;;:27;7155:7;7136:27;;;;;;;;;;;;;;;:36;;;;7204:7;7188:32;;7197:5;7188:32;;;7213:6;7188:32;;;;;;:::i;:::-;;;;;;;;6893:335;;;:::o;7236:1893::-;7340:1;7324:18;;:4;:18;;;;7316:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7412:1;7403:6;:10;7395:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7479:4;:10;7484:4;7479:10;;;;;;;;;;;;;;;;;;;;;;;;;7478:11;:24;;;;;7494:4;:8;7499:2;7494:8;;;;;;;;;;;;;;;;;;;;;;;;;7493:9;7478:24;7470:33;;;;;;7514:10;:8;:10::i;:::-;7547:7;:5;:7::i;:::-;7539:15;;:4;:15;;;;:32;;;;;7564:7;:5;:7::i;:::-;7558:13;;:2;:13;;;;7539:32;:47;;;;;7575:11;;;;;;;;;;;7539:47;7535:1387;;;7608:6;;;;;;;;;;;7603:312;;7655:4;7639:21;;:4;:21;;;;:44;;;;;7678:4;7664:19;;:2;:19;;;;7639:44;:80;;;;;7703:15;;;;;;;;;;;7687:32;;:4;:32;;;;7639:80;:114;;;;;7737:15;;;;;;;;;;;7723:30;;:2;:30;;;;7639:114;7635:265;;;7810:15;;;;;;;;;;;7786:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;7846:13;;;;;;;;;;;7830:29;;:12;:10;:12::i;:::-;:29;;;7786:73;7778:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;7635:265;7603:312;7941:13;;;;;;;;;;;7933:21;;:4;:21;;;:55;;;;;7972:15;;;;;;;;;;;7958:30;;:2;:30;;;;7933:55;:82;;;;;7993:18;:22;8012:2;7993:22;;;;;;;;;;;;;;;;;;;;;;;;;7992:23;7933:82;:93;;;;;8020:6;;;;;;;;;;;8019:7;7933:93;7929:249;;;8064:3;8051:10;;;;;;;;;;;:16;;;8047:84;;;8126:4;8118:5;;;;;;;;;;;8108:15;;3849;8108;;;;:::i;:::-;:22;;;;:::i;:::-;8098:6;:32;;8090:41;;;;;;8047:84;8150:10;;:12;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7929:249;8202:13;;;;;;;;;;;8196:19;;:2;:19;;;:55;;;;;8235:15;;;;;;;;;;;8219:32;;:4;:32;;;;8196:55;:85;;;;;8257:18;:24;8276:4;8257:24;;;;;;;;;;;;;;;;;;;;;;;;;8255:26;8196:85;:96;;;;;8286:6;;;;;;;;;;;8285:7;8196:96;8192:413;;;8317:11;;;;;;;;;;;8313:277;;;8353:28;8384:12;8394:1;;;;;;;;;;;8384:9;:12::i;:::-;8353:43;;8477:5;8473:1;8446:24;8456:13;;;;;;;;;;;8446:9;:24::i;:::-;:28;;;;:::i;:::-;:36;;;;:::i;:::-;8423:20;:59;8419:152;;;8511:36;8526:20;8511:14;:36::i;:::-;8419:152;8330:260;8313:277;8192:413;8624:6;;;;;;;;;;;8619:292;;8669:1;8655:10;;;;;;;;;;;:15;;;8651:54;;;8701:4;8693:5;;:12;;;;;;;;;;;;;;;;;;8651:54;8749:2;8735:10;;;;;;;;;;;:16;;;8731:55;;;8782:4;8774:5;;:12;;;;;;;;;;;;;;;;;;8731:55;8830:2;8816:10;;;;;;;;;;;:16;;;8812:84;;;8865:4;8857:5;;:12;;;;;;;;;;;;;;;;;;8812:84;8619:292;7535:1387;8932:12;8947:4;8932:19;;8966:18;:24;8985:4;8966:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8994:18;:22;9013:2;8994:22;;;;;;;;;;;;;;;;;;;;;;;;;8966:50;:60;;;;9020:6;;;;;;;;;;;8966:60;8962:108;;;9053:5;9043:15;;8962:108;9080:41;9095:4;9101:2;9105:6;9113:7;9080:14;:41::i;:::-;7305:1824;7236:1893;;;:::o;10076:104::-;10144:7;;;;;;;;;;;10136:25;;:36;10162:9;10136:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10076:104;:::o;6180:250::-;6248:7;6287;;6276;:18;;6268:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6351:19;6373:10;:8;:10::i;:::-;6351:32;;6411:11;6401:7;:21;;;;:::i;:::-;6394:28;;;6180:250;;;:::o;9727:341::-;9793:21;9831:1;9817:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9793:40;;9854:1;;;;;;;;;;;9844:4;9849:1;9844:7;;;;;;;;:::i;:::-;;;;;;;:11;;;;;;;;;;;9876:4;;;;;;;;;;;9866;9871:1;9866:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;9891:50;9900:1;;;;;;;;;;;9911:15;;;;;;;;;;;9929:11;9891:8;:50::i;:::-;9952:15;;;;;;;;;;;:66;;;10019:11;10032:1;10035:4;10041:1;;;;;;;;;;;10044:15;9952:108;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9782:286;9727:341;:::o;6530:87::-;6579:1;6569:7;:11;;;;6607:2;6591:13;:18;;;;6530:87::o;9132:299::-;4350:4;4341:6;;:13;;;;;;;;;;;;;;;;;;9213:38:::1;9230:20;9213:16;:38::i;:::-;9258:15;9288:1;9276;;;;;;;;;;;:9;;;:13;;;;:::i;:::-;9258:31;;9296:23;9317:1;9309:7;:9;;;;:::i;:::-;9296:12;:23::i;:::-;9334;9349:7;9334:14;:23::i;:::-;9369:56;9384:20;9414:1;9406:7;:9;;;;:::i;:::-;9417:7;9369:56;;;;;;;;:::i;:::-;;;;;;;;9206:225;4386:5:::0;4377:6;;:14;;;;;;;;;;;;;;;;;;9132:299;:::o;11245:615::-;11358:7;11353:22;;11367:8;:6;:8::i;:::-;11353:22;11390:11;:19;11402:6;11390:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;11414:11;:22;11426:9;11414:22;;;;;;;;;;;;;;;;;;;;;;;;;11413:23;11390:46;11386:467;;;11453:48;11475:6;11483:9;11494:6;11453:21;:48::i;:::-;11386:467;;;11524:11;:19;11536:6;11524:19;;;;;;;;;;;;;;;;;;;;;;;;;11523:20;:46;;;;;11547:11;:22;11559:9;11547:22;;;;;;;;;;;;;;;;;;;;;;;;;11523:46;11519:334;;;11586:46;11606:6;11614:9;11625:6;11586:19;:46::i;:::-;11519:334;;;11654:11;:19;11666:6;11654:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;11677:11;:22;11689:9;11677:22;;;;;;;;;;;;;;;;;;;;;;;;;11654:45;11650:203;;;11716:48;11738:6;11746:9;11757:6;11716:21;:48::i;:::-;11650:203;;;11797:44;11815:6;11823:9;11834:6;11797:17;:44::i;:::-;11650:203;11519:334;11386:467;11245:615;;;;:::o;15788:161::-;15830:7;15851:15;15868;15887:19;:17;:19::i;:::-;15850:56;;;;15934:7;15924;:17;;;;:::i;:::-;15917:24;;;;15788:161;:::o;10187:106::-;10257:7;:5;:7::i;:::-;10249:25;;:36;10275:9;10249:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10187:106;:::o;6438:84::-;6485:1;6475:7;:11;;;;6513:1;6497:13;:17;;;;6438:84::o;12438:554::-;12541:15;12558:23;12583:12;12597:23;12622:12;12636:18;12658:19;12669:7;12658:10;:19::i;:::-;12540:137;;;;;;;;;;;;12724:7;12706;:15;12714:6;12706:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;12688:7;:15;12696:6;12688:15;;;;;;;;;;;;;;;:43;;;;12778:7;12760;:15;12768:6;12760:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;12742:7;:15;12750:6;12742:15;;;;;;;;;;;;;;;:43;;;;12838:15;12817:7;:18;12825:9;12817:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;12796:7;:18;12804:9;12796:18;;;;;;;;;;;;;;;:57;;;;12864:26;12879:10;12864:14;:26::i;:::-;12901:23;12913:4;12919;12901:11;:23::i;:::-;12957:9;12940:44;;12949:6;12940:44;;;12968:15;12940:44;;;;;;:::i;:::-;;;;;;;;12529:463;;;;;;12438:554;;;:::o;11866:566::-;11967:15;11984:23;12009:12;12023:23;12048:12;12062:18;12084:19;12095:7;12084:10;:19::i;:::-;11966:137;;;;;;;;;;;;12150:7;12132;:15;12140:6;12132:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;12114:7;:15;12122:6;12114:15;;;;;;;;;;;;;;;:43;;;;12210:15;12189:7;:18;12197:9;12189:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;12168:7;:18;12176:9;12168:18;;;;;;;;;;;;;;;:57;;;;12278:15;12257:7;:18;12265:9;12257:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;12236:7;:18;12244:9;12236:18;;;;;;;;;;;;;;;:57;;;;12304:26;12319:10;12304:14;:26::i;:::-;12341:23;12353:4;12359;12341:11;:23::i;:::-;12397:9;12380:44;;12389:6;12380:44;;;12408:15;12380:44;;;;;;:::i;:::-;;;;;;;;11955:477;;;;;;11866:566;;;:::o;12998:622::-;13101:15;13118:23;13143:12;13157:23;13182:12;13196:18;13218:19;13229:7;13218:10;:19::i;:::-;13100:137;;;;;;;;;;;;13284:7;13266;:15;13274:6;13266:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;13248:7;:15;13256:6;13248:15;;;;;;;;;;;;;;;:43;;;;13338:7;13320;:15;13328:6;13320:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;13302:7;:15;13310:6;13302:15;;;;;;;;;;;;;;;:43;;;;13398:15;13377:7;:18;13385:9;13377:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;13356:7;:18;13364:9;13356:18;;;;;;;;;;;;;;;:57;;;;13466:15;13445:7;:18;13453:9;13445:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;13424:7;:18;13432:9;13424:18;;;;;;;;;;;;;;;:57;;;;13492:26;13507:10;13492:14;:26::i;:::-;13529:23;13541:4;13547;13529:11;:23::i;:::-;13585:9;13568:44;;13577:6;13568:44;;;13596:15;13568:44;;;;;;:::i;:::-;;;;;;;;13089:531;;;;;;12998:622;;;:::o;13626:496::-;13725:15;13742:23;13767:12;13781:23;13806:12;13820:18;13842:19;13853:7;13842:10;:19::i;:::-;13724:137;;;;;;;;;;;;13908:7;13890;:15;13898:6;13890:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;13872:7;:15;13880:6;13872:15;;;;;;;;;;;;;;;:43;;;;13968:15;13947:7;:18;13955:9;13947:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;13926:7;:18;13934:9;13926:18;;;;;;;;;;;;;;;:57;;;;13994:26;14009:10;13994:14;:26::i;:::-;14031:23;14043:4;14049;14031:11;:23::i;:::-;14087:9;14070:44;;14079:6;14070:44;;;14098:15;14070:44;;;;;;:::i;:::-;;;;;;;;13713:409;;;;;;13626:496;;;:::o;16353:547::-;16404:7;16413;16433:15;16451:7;;16433:25;;16469:15;3849;16469:25;;16510:9;16505:283;16529:9;:16;;;;16525:1;:20;16505:283;;;16595:7;16571;:21;16579:9;16589:1;16579:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16571:21;;;;;;;;;;;;;;;;:31;:66;;;;16630:7;16606;:21;16614:9;16624:1;16614:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16606:21;;;;;;;;;;;;;;;;:31;16571:66;16567:97;;;16647:7;;3849:15;16639:25;;;;;;;;;16567:97;16699:7;:21;16707:9;16717:1;16707:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16699:21;;;;;;;;;;;;;;;;16689:7;:31;;;;:::i;:::-;16679:41;;16755:7;:21;16763:9;16773:1;16763:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16755:21;;;;;;;;;;;;;;;;16745:7;:31;;;;:::i;:::-;16735:41;;16547:3;;;;;:::i;:::-;;;;16505:283;;;;3849:15;16812:7;;:17;;;;:::i;:::-;16802:7;:27;16798:58;;;16839:7;;3849:15;16831:25;;;;;;;;16798:58;16875:7;16884;16867:25;;;;;;16353:547;;;:::o;14567:443::-;14626:7;14635;14644;14653;14662;14671;14692:23;14717:12;14731:18;14753:44;14765:7;14774;;14783:13;;14753:11;:44::i;:::-;14691:106;;;;;;14809:15;14826:23;14851:12;14867:50;14879:7;14888:4;14894:10;14906;:8;:10::i;:::-;14867:11;:50::i;:::-;14808:109;;;;;;14936:7;14945:15;14962:4;14968:15;14985:4;14991:10;14928:74;;;;;;;;;;;;;;;;;;14567:443;;;;;;;:::o;14128:254::-;14191:19;14214:10;:8;:10::i;:::-;14191:33;;14235:18;14269:11;14256:10;:24;;;;:::i;:::-;14235:45;;14317:10;14304:7;:10;14312:1;;;;;;;;;;;14304:10;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;14291:7;:10;14299:1;;;;;;;;;;;14291:10;;;;;;;;;;;;;;;:36;;;;14364:10;14351:7;:10;14359:1;;;;;;;;;;;14351:10;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;14338:7;:10;14346:1;;;;;;;;;;;14338:10;;;;;;;;;;;;;;;:36;;;;14180:202;;14128:254;:::o;14385:141::-;14473:4;14463:7;;:14;;;;:::i;:::-;14453:7;:24;;;;14514:4;14501:10;;:17;;;;:::i;:::-;14488:10;:30;;;;14385:141;;:::o;15016:352::-;15114:7;15123;15132;15152:12;15186:3;15177:6;15167:7;:16;;;;:::i;:::-;:22;;;;:::i;:::-;15152:37;;15200:18;15246:3;15231:12;15221:7;:22;;;;:::i;:::-;:28;;;;:::i;:::-;15200:49;;15254:23;15297:10;15290:4;15280:7;:14;;;;:::i;:::-;:27;;;;:::i;:::-;15254:53;;15326:15;15343:4;15349:10;15318:42;;;;;;;;;15016:352;;;;;;;:::o;15374:408::-;15489:7;15498;15507;15527:15;15555:11;15545:7;:21;;;;:::i;:::-;15527:39;;15577:12;15599:11;15592:4;:18;;;;:::i;:::-;15577:33;;15621:18;15655:11;15642:10;:24;;;;:::i;:::-;15621:45;;15671:23;15714:10;15707:4;15697:7;:14;;;;:::i;:::-;:27;;;;:::i;:::-;15671:53;;15743:7;15752:15;15769:4;15735:39;;;;;;;;;;15374:408;;;;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;404:79;;:::i;:::-;350:2;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;804:87;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;960:80;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:2;;1191:79;;:::i;:::-;1150:2;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1499:77;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1634:87;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1790:80;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:2;;;1990:79;;:::i;:::-;1952:2;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1942:263;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:2;;;2336:79;;:::i;:::-;2298:2;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2288:274;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:2;;;2699:79;;:::i;:::-;2661:2;2819:1;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2790:117;2946:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;:::i;:::-;2962:63;;2917:118;2651:391;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:2;;;3196:79;;:::i;:::-;3158:2;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3443:2;3469:53;3514:7;3505:6;3494:9;3490:22;3469:53;:::i;:::-;3459:63;;3414:118;3571:2;3597:53;3642:7;3633:6;3622:9;3618:22;3597:53;:::i;:::-;3587:63;;3542:118;3148:519;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:2;;;3804:79;;:::i;:::-;3766:2;3924:1;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3895:117;4051:2;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4022:118;3756:391;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:2;;;4292:79;;:::i;:::-;4254:2;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:2;;;4492:79;;:::i;:::-;4456:2;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4244:448;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:2;;;4820:79;;:::i;:::-;4782:2;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4772:271;;;;:::o;5049:663::-;5137:6;5145;5153;5202:2;5190:9;5181:7;5177:23;5173:32;5170:2;;;5208:79;;:::i;:::-;5170:2;5328:1;5353:64;5409:7;5400:6;5389:9;5385:22;5353:64;:::i;:::-;5343:74;;5299:128;5466:2;5492:64;5548:7;5539:6;5528:9;5524:22;5492:64;:::i;:::-;5482:74;;5437:129;5605:2;5631:64;5687:7;5678:6;5667:9;5663:22;5631:64;:::i;:::-;5621:74;;5576:129;5160:552;;;;;:::o;5718:179::-;5787:10;5808:46;5850:3;5842:6;5808:46;:::i;:::-;5886:4;5881:3;5877:14;5863:28;;5798:99;;;;:::o;5903:108::-;5980:24;5998:5;5980:24;:::i;:::-;5975:3;5968:37;5958:53;;:::o;6017:118::-;6104:24;6122:5;6104:24;:::i;:::-;6099:3;6092:37;6082:53;;:::o;6171:732::-;6290:3;6319:54;6367:5;6319:54;:::i;:::-;6389:86;6468:6;6463:3;6389:86;:::i;:::-;6382:93;;6499:56;6549:5;6499:56;:::i;:::-;6578:7;6609:1;6594:284;6619:6;6616:1;6613:13;6594:284;;;6695:6;6689:13;6722:63;6781:3;6766:13;6722:63;:::i;:::-;6715:70;;6808:60;6861:6;6808:60;:::i;:::-;6798:70;;6654:224;6641:1;6638;6634:9;6629:14;;6594:284;;;6598:14;6894:3;6887:10;;6295:608;;;;;;;:::o;6909:109::-;6990:21;7005:5;6990:21;:::i;:::-;6985:3;6978:34;6968:50;;:::o;7024:147::-;7119:45;7158:5;7119:45;:::i;:::-;7114:3;7107:58;7097:74;;:::o;7177:364::-;7265:3;7293:39;7326:5;7293:39;:::i;:::-;7348:71;7412:6;7407:3;7348:71;:::i;:::-;7341:78;;7428:52;7473:6;7468:3;7461:4;7454:5;7450:16;7428:52;:::i;:::-;7505:29;7527:6;7505:29;:::i;:::-;7500:3;7496:39;7489:46;;7269:272;;;;;:::o;7547:366::-;7689:3;7710:67;7774:2;7769:3;7710:67;:::i;:::-;7703:74;;7786:93;7875:3;7786:93;:::i;:::-;7904:2;7899:3;7895:12;7888:19;;7693:220;;;:::o;7919:366::-;8061:3;8082:67;8146:2;8141:3;8082:67;:::i;:::-;8075:74;;8158:93;8247:3;8158:93;:::i;:::-;8276:2;8271:3;8267:12;8260:19;;8065:220;;;:::o;8291:366::-;8433:3;8454:67;8518:2;8513:3;8454:67;:::i;:::-;8447:74;;8530:93;8619:3;8530:93;:::i;:::-;8648:2;8643:3;8639:12;8632:19;;8437:220;;;:::o;8663:366::-;8805:3;8826:67;8890:2;8885:3;8826:67;:::i;:::-;8819:74;;8902:93;8991:3;8902:93;:::i;:::-;9020:2;9015:3;9011:12;9004:19;;8809:220;;;:::o;9035:366::-;9177:3;9198:67;9262:2;9257:3;9198:67;:::i;:::-;9191:74;;9274:93;9363:3;9274:93;:::i;:::-;9392:2;9387:3;9383:12;9376:19;;9181:220;;;:::o;9407:366::-;9549:3;9570:67;9634:2;9629:3;9570:67;:::i;:::-;9563:74;;9646:93;9735:3;9646:93;:::i;:::-;9764:2;9759:3;9755:12;9748:19;;9553:220;;;:::o;9779:366::-;9921:3;9942:67;10006:2;10001:3;9942:67;:::i;:::-;9935:74;;10018:93;10107:3;10018:93;:::i;:::-;10136:2;10131:3;10127:12;10120:19;;9925:220;;;:::o;10151:366::-;10293:3;10314:67;10378:2;10373:3;10314:67;:::i;:::-;10307:74;;10390:93;10479:3;10390:93;:::i;:::-;10508:2;10503:3;10499:12;10492:19;;10297:220;;;:::o;10523:118::-;10610:24;10628:5;10610:24;:::i;:::-;10605:3;10598:37;10588:53;;:::o;10647:112::-;10730:22;10746:5;10730:22;:::i;:::-;10725:3;10718:35;10708:51;;:::o;10765:222::-;10858:4;10896:2;10885:9;10881:18;10873:26;;10909:71;10977:1;10966:9;10962:17;10953:6;10909:71;:::i;:::-;10863:124;;;;:::o;10993:332::-;11114:4;11152:2;11141:9;11137:18;11129:26;;11165:71;11233:1;11222:9;11218:17;11209:6;11165:71;:::i;:::-;11246:72;11314:2;11303:9;11299:18;11290:6;11246:72;:::i;:::-;11119:206;;;;;:::o;11331:332::-;11452:4;11490:2;11479:9;11475:18;11467:26;;11503:71;11571:1;11560:9;11556:17;11547:6;11503:71;:::i;:::-;11584:72;11652:2;11641:9;11637:18;11628:6;11584:72;:::i;:::-;11457:206;;;;;:::o;11669:807::-;11918:4;11956:3;11945:9;11941:19;11933:27;;11970:71;12038:1;12027:9;12023:17;12014:6;11970:71;:::i;:::-;12051:72;12119:2;12108:9;12104:18;12095:6;12051:72;:::i;:::-;12133:80;12209:2;12198:9;12194:18;12185:6;12133:80;:::i;:::-;12223;12299:2;12288:9;12284:18;12275:6;12223:80;:::i;:::-;12313:73;12381:3;12370:9;12366:19;12357:6;12313:73;:::i;:::-;12396;12464:3;12453:9;12449:19;12440:6;12396:73;:::i;:::-;11923:553;;;;;;;;;:::o;12482:210::-;12569:4;12607:2;12596:9;12592:18;12584:26;;12620:65;12682:1;12671:9;12667:17;12658:6;12620:65;:::i;:::-;12574:118;;;;:::o;12698:313::-;12811:4;12849:2;12838:9;12834:18;12826:26;;12898:9;12892:4;12888:20;12884:1;12873:9;12869:17;12862:47;12926:78;12999:4;12990:6;12926:78;:::i;:::-;12918:86;;12816:195;;;;:::o;13017:419::-;13183:4;13221:2;13210:9;13206:18;13198:26;;13270:9;13264:4;13260:20;13256:1;13245:9;13241:17;13234:47;13298:131;13424:4;13298:131;:::i;:::-;13290:139;;13188:248;;;:::o;13442:419::-;13608:4;13646:2;13635:9;13631:18;13623:26;;13695:9;13689:4;13685:20;13681:1;13670:9;13666:17;13659:47;13723:131;13849:4;13723:131;:::i;:::-;13715:139;;13613:248;;;:::o;13867:419::-;14033:4;14071:2;14060:9;14056:18;14048:26;;14120:9;14114:4;14110:20;14106:1;14095:9;14091:17;14084:47;14148:131;14274:4;14148:131;:::i;:::-;14140:139;;14038:248;;;:::o;14292:419::-;14458:4;14496:2;14485:9;14481:18;14473:26;;14545:9;14539:4;14535:20;14531:1;14520:9;14516:17;14509:47;14573:131;14699:4;14573:131;:::i;:::-;14565:139;;14463:248;;;:::o;14717:419::-;14883:4;14921:2;14910:9;14906:18;14898:26;;14970:9;14964:4;14960:20;14956:1;14945:9;14941:17;14934:47;14998:131;15124:4;14998:131;:::i;:::-;14990:139;;14888:248;;;:::o;15142:419::-;15308:4;15346:2;15335:9;15331:18;15323:26;;15395:9;15389:4;15385:20;15381:1;15370:9;15366:17;15359:47;15423:131;15549:4;15423:131;:::i;:::-;15415:139;;15313:248;;;:::o;15567:419::-;15733:4;15771:2;15760:9;15756:18;15748:26;;15820:9;15814:4;15810:20;15806:1;15795:9;15791:17;15784:47;15848:131;15974:4;15848:131;:::i;:::-;15840:139;;15738:248;;;:::o;15992:419::-;16158:4;16196:2;16185:9;16181:18;16173:26;;16245:9;16239:4;16235:20;16231:1;16220:9;16216:17;16209:47;16273:131;16399:4;16273:131;:::i;:::-;16265:139;;16163:248;;;:::o;16417:222::-;16510:4;16548:2;16537:9;16533:18;16525:26;;16561:71;16629:1;16618:9;16614:17;16605:6;16561:71;:::i;:::-;16515:124;;;;:::o;16645:831::-;16908:4;16946:3;16935:9;16931:19;16923:27;;16960:71;17028:1;17017:9;17013:17;17004:6;16960:71;:::i;:::-;17041:80;17117:2;17106:9;17102:18;17093:6;17041:80;:::i;:::-;17168:9;17162:4;17158:20;17153:2;17142:9;17138:18;17131:48;17196:108;17299:4;17290:6;17196:108;:::i;:::-;17188:116;;17314:72;17382:2;17371:9;17367:18;17358:6;17314:72;:::i;:::-;17396:73;17464:3;17453:9;17449:19;17440:6;17396:73;:::i;:::-;16913:563;;;;;;;;:::o;17482:442::-;17631:4;17669:2;17658:9;17654:18;17646:26;;17682:71;17750:1;17739:9;17735:17;17726:6;17682:71;:::i;:::-;17763:72;17831:2;17820:9;17816:18;17807:6;17763:72;:::i;:::-;17845;17913:2;17902:9;17898:18;17889:6;17845:72;:::i;:::-;17636:288;;;;;;:::o;17930:214::-;18019:4;18057:2;18046:9;18042:18;18034:26;;18070:67;18134:1;18123:9;18119:17;18110:6;18070:67;:::i;:::-;18024:120;;;;:::o;18150:129::-;18184:6;18211:20;;:::i;:::-;18201:30;;18240:33;18268:4;18260:6;18240:33;:::i;:::-;18191:88;;;:::o;18285:75::-;18318:6;18351:2;18345:9;18335:19;;18325:35;:::o;18366:311::-;18443:4;18533:18;18525:6;18522:30;18519:2;;;18555:18;;:::i;:::-;18519:2;18605:4;18597:6;18593:17;18585:25;;18665:4;18659;18655:15;18647:23;;18448:229;;;:::o;18683:132::-;18750:4;18773:3;18765:11;;18803:4;18798:3;18794:14;18786:22;;18755:60;;;:::o;18821:114::-;18888:6;18922:5;18916:12;18906:22;;18895:40;;;:::o;18941:99::-;18993:6;19027:5;19021:12;19011:22;;19000:40;;;:::o;19046:113::-;19116:4;19148;19143:3;19139:14;19131:22;;19121:38;;;:::o;19165:184::-;19264:11;19298:6;19293:3;19286:19;19338:4;19333:3;19329:14;19314:29;;19276:73;;;;:::o;19355:169::-;19439:11;19473:6;19468:3;19461:19;19513:4;19508:3;19504:14;19489:29;;19451:73;;;;:::o;19530:305::-;19570:3;19589:20;19607:1;19589:20;:::i;:::-;19584:25;;19623:20;19641:1;19623:20;:::i;:::-;19618:25;;19777:1;19709:66;19705:74;19702:1;19699:81;19696:2;;;19783:18;;:::i;:::-;19696:2;19827:1;19824;19820:9;19813:16;;19574:261;;;;:::o;19841:185::-;19881:1;19898:20;19916:1;19898:20;:::i;:::-;19893:25;;19932:20;19950:1;19932:20;:::i;:::-;19927:25;;19971:1;19961:2;;19976:18;;:::i;:::-;19961:2;20018:1;20015;20011:9;20006:14;;19883:143;;;;:::o;20032:348::-;20072:7;20095:20;20113:1;20095:20;:::i;:::-;20090:25;;20129:20;20147:1;20129:20;:::i;:::-;20124:25;;20317:1;20249:66;20245:74;20242:1;20239:81;20234:1;20227:9;20220:17;20216:105;20213:2;;;20324:18;;:::i;:::-;20213:2;20372:1;20369;20365:9;20354:20;;20080:300;;;;:::o;20386:191::-;20426:4;20446:20;20464:1;20446:20;:::i;:::-;20441:25;;20480:20;20498:1;20480:20;:::i;:::-;20475:25;;20519:1;20516;20513:8;20510:2;;;20524:18;;:::i;:::-;20510:2;20569:1;20566;20562:9;20554:17;;20431:146;;;;:::o;20583:96::-;20620:7;20649:24;20667:5;20649:24;:::i;:::-;20638:35;;20628:51;;;:::o;20685:90::-;20719:7;20762:5;20755:13;20748:21;20737:32;;20727:48;;;:::o;20781:126::-;20818:7;20858:42;20851:5;20847:54;20836:65;;20826:81;;;:::o;20913:77::-;20950:7;20979:5;20968:16;;20958:32;;;:::o;20996:101::-;21032:7;21072:18;21065:5;21061:30;21050:41;;21040:57;;;:::o;21103:86::-;21138:7;21178:4;21171:5;21167:16;21156:27;;21146:43;;;:::o;21195:121::-;21253:9;21286:24;21304:5;21286:24;:::i;:::-;21273:37;;21263:53;;;:::o;21322:307::-;21390:1;21400:113;21414:6;21411:1;21408:13;21400:113;;;21499:1;21494:3;21490:11;21484:18;21480:1;21475:3;21471:11;21464:39;21436:2;21433:1;21429:10;21424:15;;21400:113;;;21531:6;21528:1;21525:13;21522:2;;;21611:1;21602:6;21597:3;21593:16;21586:27;21522:2;21371:258;;;;:::o;21635:281::-;21718:27;21740:4;21718:27;:::i;:::-;21710:6;21706:40;21848:6;21836:10;21833:22;21812:18;21800:10;21797:34;21794:62;21791:2;;;21859:18;;:::i;:::-;21791:2;21899:10;21895:2;21888:22;21678:238;;;:::o;21922:233::-;21961:3;21984:24;22002:5;21984:24;:::i;:::-;21975:33;;22030:66;22023:5;22020:77;22017:2;;;22100:18;;:::i;:::-;22017:2;22147:1;22140:5;22136:13;22129:20;;21965:190;;;:::o;22161:183::-;22199:3;22222:23;22239:5;22222:23;:::i;:::-;22213:32;;22267:18;22260:5;22257:29;22254:2;;;22289:18;;:::i;:::-;22254:2;22336:1;22329:5;22325:13;22318:20;;22203:141;;;:::o;22350:180::-;22398:77;22395:1;22388:88;22495:4;22492:1;22485:15;22519:4;22516:1;22509:15;22536:180;22584:77;22581:1;22574:88;22681:4;22678:1;22671:15;22705:4;22702:1;22695:15;22722:180;22770:77;22767:1;22760:88;22867:4;22864:1;22857:15;22891:4;22888:1;22881:15;22908:180;22956:77;22953:1;22946:88;23053:4;23050:1;23043:15;23077:4;23074:1;23067:15;23094:117;23203:1;23200;23193:12;23217:117;23326:1;23323;23316:12;23340:117;23449:1;23446;23439:12;23463:117;23572:1;23569;23562:12;23586:102;23627:6;23678:2;23674:7;23669:2;23662:5;23658:14;23654:28;23644:38;;23634:54;;;:::o;23694:229::-;23834:34;23830:1;23822:6;23818:14;23811:58;23903:12;23898:2;23890:6;23886:15;23879:37;23800:123;:::o;23929:221::-;24069:34;24065:1;24057:6;24053:14;24046:58;24138:4;24133:2;24125:6;24121:15;24114:29;24035:115;:::o;24156:182::-;24296:34;24292:1;24284:6;24280:14;24273:58;24262:76;:::o;24344:228::-;24484:34;24480:1;24472:6;24468:14;24461:58;24553:11;24548:2;24540:6;24536:15;24529:36;24450:122;:::o;24578:224::-;24718:34;24714:1;24706:6;24702:14;24695:58;24787:7;24782:2;24774:6;24770:15;24763:32;24684:118;:::o;24808:223::-;24948:34;24944:1;24936:6;24932:14;24925:58;25017:6;25012:2;25004:6;25000:15;24993:31;24914:117;:::o;25037:173::-;25177:25;25173:1;25165:6;25161:14;25154:49;25143:67;:::o;25216:167::-;25356:19;25352:1;25344:6;25340:14;25333:43;25322:61;:::o;25389:122::-;25462:24;25480:5;25462:24;:::i;:::-;25455:5;25452:35;25442:2;;25501:1;25498;25491:12;25442:2;25432:79;:::o;25517:116::-;25587:21;25602:5;25587:21;:::i;:::-;25580:5;25577:32;25567:2;;25623:1;25620;25613:12;25567:2;25557:76;:::o;25639:122::-;25712:24;25730:5;25712:24;:::i;:::-;25705:5;25702:35;25692:2;;25751:1;25748;25741:12;25692:2;25682:79;:::o

Swarm Source

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