ETH Price: $3,458.33 (-0.72%)
Gas: 3 Gwei

Token

0xSyndicate (0xSyndicate)
 

Overview

Max Total Supply

1,000,000,000 0xSyndicate

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
mamonas.eth
Balance
7,806,846.745280949 0xSyndicate

Value
$0.00
0x8a2b4216602250a0098658ac2762a94b95f2cd70
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:
Syndicate0x

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-28
*/

/**
 *
*/

/**


█
░█████╗░██╗░░██╗░██████╗██╗░░░██╗███╗░░██╗██████╗░██╗░█████╗░░█████╗░████████╗███████╗
██╔══██╗╚██╗██╔╝██╔════╝╚██╗░██╔╝████╗░██║██╔══██╗██║██╔══██╗██╔══██╗╚══██╔══╝██╔════╝
██║░░██║░╚███╔╝░╚█████╗░░╚████╔╝░██╔██╗██║██║░░██║██║██║░░╚═╝███████║░░░██║░░░█████╗░░
██║░░██║░██╔██╗░░╚═══██╗░░╚██╔╝░░██║╚████║██║░░██║██║██║░░██╗██╔══██║░░░██║░░░██╔══╝░░
╚█████╔╝██╔╝╚██╗██████╔╝░░░██║░░░██║░╚███║██████╔╝██║╚█████╔╝██║░░██║░░░██║░░░███████╗
░╚════╝░╚═╝░░╚═╝╚═════╝░░░░╚═╝░░░╚═╝░░╚══╝╚═════╝░╚═╝░╚════╝░╚═╝░░╚═╝░░░╚═╝░░░╚══════╝

 https://twitter.com/0xsyndicateErc
 https://t.me/0xsyndicateErc
 https://0xsyndicate.org/
 




**/


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

 
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 internal _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
 
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
 
    function factory() external pure returns (address);
 
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
 
contract Syndicate0x is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "0xSyndicate";
    string private constant _symbol = "0xSyndicate";
    uint8 private constant _decimals = 9;
 
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _isExcludedFromMax;
    uint256 private constant MAX = ~uint256(0);

    uint256 private constant _tTotal = 1_000_000_000 * 10**9;

    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;  
    uint256 private _taxFeeOnBuy = 26;  
    uint256 private _redisFeeOnSell = 0;  
    uint256 private _taxFeeOnSell = 39;
 
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _marketingAddress = payable(0xC58FEA7BDE3CDd2a973A14e13a1D52F8d26Fd44B);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    address private _uncxLPLocker = 0x663A5C229c09b049E36dCc11a9B0d4a8Eb9db214;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = _tTotal.mul(100).div(100);
    uint256 public _maxWalletSize = _tTotal.mul(2).div(100); 
    uint256 public _swapTokensAtAmount = _tTotal.mul(1).div(1000);
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[address(_uniswapV2Router)] = true;
        _isExcludedFromFee[_uncxLPLocker] = true; //UNCX LP Lock address

        _isExcludedFromMax[owner()] = true;
        _isExcludedFromMax[address(this)] = true;
        _isExcludedFromMax[_marketingAddress] = true;
        _isExcludedFromMax[address(_uniswapV2Router)] = true;
        _isExcludedFromMax[_uncxLPLocker] = true; //UNCX LP Lock address


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

    }
 
    function name() public pure returns (string memory) {
        return _name;
    }
 
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
 
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }
 
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
 
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
 
    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        if (from != owner() && to != owner()) {
 
            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            if (!_isExcludedFromMax[from]){
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            }
            
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(to != uniswapV2Pair && !_isExcludedFromMax[to]) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        } 
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }
 
    function manualswap() external {
        require( _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require( _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
 
    function unsetBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
 
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }
 
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
 
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
 
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {

        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;

    }
 
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    function setMaxWalletSize(uint256 amountPercent) public onlyOwner {
        require(amountPercent>0);
        _maxWalletSize = (_tTotal * amountPercent ) / 100;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unsetBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c919062000b80565b6000196200002b919062000be7565b6007556000600955601a600a556000600b556027600c55600b54600d55600c54600e55600d54600f55600e5460105573c58fea7bde3cdd2a973a14e13a1d52f8d26fd44b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073663a5c229c09b049e36dcc11a9b0d4a8eb9db214601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff021916908315150217905550620001766064620001626064670de0b6b3a7640000620009d860201b6200137d1790919060201c565b62000a5c60201b620013f81790919060201c565b601755620001b66064620001a26002670de0b6b3a7640000620009d860201b6200137d1790919060201c565b62000a5c60201b620013f81790919060201c565b601855620001f76103e8620001e36001670de0b6b3a7640000620009d860201b6200137d1790919060201c565b62000a5c60201b620013f81790919060201c565b6019553480156200020757600080fd5b5060006200021a62000aae60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460026000620002cf62000aae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ae57600080fd5b505afa158015620003c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e9919062000c8c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200044c57600080fd5b505afa15801562000461573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000487919062000c8c565b6040518363ffffffff1660e01b8152600401620004a692919062000ccf565b602060405180830381600087803b158015620004c157600080fd5b505af1158015620004d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004fc919062000c8c565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560006200055262000ab660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660006200075d62000ab660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200096262000aae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620009c9919062000d0d565b60405180910390a35062000f23565b600080831415620009ed576000905062000a56565b60008284620009fd919062000d2a565b905082848262000a0e919062000d8b565b1462000a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a489062000e4a565b60405180910390fd5b809150505b92915050565b600062000aa683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000adf60201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000b29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b20919062000eff565b60405180910390fd5b506000838562000b3a919062000d8b565b9050809150509392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b8d8262000b47565b915062000b9a8362000b47565b92508262000bad5762000bac62000b51565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000bf48262000b47565b915062000c018362000b47565b92508282101562000c175762000c1662000bb8565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c548262000c27565b9050919050565b62000c668162000c47565b811462000c7257600080fd5b50565b60008151905062000c868162000c5b565b92915050565b60006020828403121562000ca55762000ca462000c22565b5b600062000cb58482850162000c75565b91505092915050565b62000cc98162000c47565b82525050565b600060408201905062000ce6600083018562000cbe565b62000cf5602083018462000cbe565b9392505050565b62000d078162000b47565b82525050565b600060208201905062000d24600083018462000cfc565b92915050565b600062000d378262000b47565b915062000d448362000b47565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d805762000d7f62000bb8565b5b828202905092915050565b600062000d988262000b47565b915062000da58362000b47565b92508262000db85762000db762000b51565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000e3260218362000dc3565b915062000e3f8262000dd4565b604082019050919050565b6000602082019050818103600083015262000e658162000e23565b9050919050565b600081519050919050565b60005b8381101562000e9757808201518184015260208101905062000e7a565b8381111562000ea7576000848401525b50505050565b6000601f19601f8301169050919050565b600062000ecb8262000e6c565b62000ed7818562000dc3565b935062000ee981856020860162000e77565b62000ef48162000ead565b840191505092915050565b6000602082019050818103600083015262000f1b818462000ebe565b905092915050565b613af08062000f336000396000f3fe6080604052600436106101bb5760003560e01c80637f2feddc116100ec578063a9059cbb1161008a578063c3c8cd8011610064578063c3c8cd80146105f5578063dd62ed3e1461060c578063ea1644d514610649578063f2fde38b14610672576101c2565b8063a9059cbb14610552578063b515566a1461058f578063bfd79284146105b8576101c2565b80638f9a55c0116100c65780638f9a55c0146104aa57806395d89b41146104d557806398a5c31514610500578063a2a957bb14610529576101c2565b80637f2feddc146104195780638da5cb5b146104565780638f70ccf714610481576101c2565b8063313ce5671161015957806370a082311161013357806370a0823114610383578063715018a6146103c0578063751039fc146103d75780637d1db4a5146103ee576101c2565b8063313ce5671461031657806349bd5a5e146103415780636fc3eaec1461036c576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd146102855780632b89628b146102c25780632fd689e3146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61069b565b6040516101e99190612a05565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612acf565b6106d8565b6040516102269190612b2a565b60405180910390f35b34801561023b57600080fd5b506102446106f6565b6040516102519190612ba4565b60405180910390f35b34801561026657600080fd5b5061026f61071c565b60405161027c9190612bce565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a79190612be9565b61072c565b6040516102b99190612b2a565b60405180910390f35b3480156102ce57600080fd5b506102e960048036038101906102e49190612c3c565b610805565b005b3480156102f757600080fd5b506103006108f5565b60405161030d9190612bce565b60405180910390f35b34801561032257600080fd5b5061032b6108fb565b6040516103389190612c85565b60405180910390f35b34801561034d57600080fd5b50610356610904565b6040516103639190612caf565b60405180910390f35b34801561037857600080fd5b5061038161092a565b005b34801561038f57600080fd5b506103aa60048036038101906103a59190612c3c565b61099c565b6040516103b79190612bce565b60405180910390f35b3480156103cc57600080fd5b506103d56109ed565b005b3480156103e357600080fd5b506103ec610b40565b005b3480156103fa57600080fd5b50610403610bf5565b6040516104109190612bce565b60405180910390f35b34801561042557600080fd5b50610440600480360381019061043b9190612c3c565b610bfb565b60405161044d9190612bce565b60405180910390f35b34801561046257600080fd5b5061046b610c13565b6040516104789190612caf565b60405180910390f35b34801561048d57600080fd5b506104a860048036038101906104a39190612cf6565b610c3c565b005b3480156104b657600080fd5b506104bf610cee565b6040516104cc9190612bce565b60405180910390f35b3480156104e157600080fd5b506104ea610cf4565b6040516104f79190612a05565b60405180910390f35b34801561050c57600080fd5b5061052760048036038101906105229190612d23565b610d31565b005b34801561053557600080fd5b50610550600480360381019061054b9190612d50565b610dd0565b005b34801561055e57600080fd5b5061057960048036038101906105749190612acf565b610e87565b6040516105869190612b2a565b60405180910390f35b34801561059b57600080fd5b506105b660048036038101906105b19190612eff565b610ea5565b005b3480156105c457600080fd5b506105df60048036038101906105da9190612c3c565b610fcf565b6040516105ec9190612b2a565b60405180910390f35b34801561060157600080fd5b5061060a610fef565b005b34801561061857600080fd5b50610633600480360381019061062e9190612f48565b611069565b6040516106409190612bce565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190612d23565b6110f0565b005b34801561067e57600080fd5b5061069960048036038101906106949190612c3c565b6111bb565b005b60606040518060400160405280600b81526020017f307853796e646963617465000000000000000000000000000000000000000000815250905090565b60006106ec6106e5611442565b848461144a565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b6000610739848484611615565b6107fa84610745611442565b6107f585604051806060016040528060288152602001613a9360289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107ab611442565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f449092919063ffffffff16565b61144a565b600190509392505050565b61080d611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089190612fd4565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60195481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661096b611442565b73ffffffffffffffffffffffffffffffffffffffff161461098b57600080fd5b600047905061099981611fa8565b50565b60006109e6600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612014565b9050919050565b6109f5611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7990612fd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b48611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcc90612fd4565b60405180910390fd5b670de0b6b3a7640000601781905550670de0b6b3a7640000601881905550565b60175481565b60126020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c44611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc890612fd4565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600b81526020017f307853796e646963617465000000000000000000000000000000000000000000815250905090565b610d39611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbd90612fd4565b60405180910390fd5b8060198190555050565b610dd8611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c90612fd4565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b6000610e9b610e94611442565b8484611615565b6001905092915050565b610ead611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3190612fd4565b60405180910390fd5b60005b8151811015610fcb57600160116000848481518110610f5f57610f5e612ff4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fc390613052565b915050610f3d565b5050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611030611442565b73ffffffffffffffffffffffffffffffffffffffff161461105057600080fd5b600061105b3061099c565b905061106681612082565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110f8611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90612fd4565b60405180910390fd5b6000811161119257600080fd5b606481670de0b6b3a76400006111a8919061309b565b6111b29190613124565b60188190555050565b6111c3611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124790612fd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b7906131c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008083141561139057600090506113f2565b6000828461139e919061309b565b90508284826113ad9190613124565b146113ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e490613259565b60405180910390fd5b809150505b92915050565b600061143a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061230a565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b1906132eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561152a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115219061337d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116089190612bce565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167c9061340f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ec906134a1565b60405180910390fd5b60008111611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f90613533565b60405180910390fd5b611740610c13565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117ae575061177e610c13565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c4357601660149054906101000a900460ff1661183d576117cf610c13565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461183c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611833906135c5565b60405180910390fd5b5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118d4576017548111156118d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ca90613631565b60405180910390fd5b5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119785750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6119b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ae906136c3565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611a5f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611abc5760185481611a718461099c565b611a7b91906136e3565b10611abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab2906137ab565b60405180910390fd5b5b6000611ac73061099c565b9050600060195482101590506017548210611ae25760175491505b808015611afc5750601660159054906101000a900460ff16155b8015611b565750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611b6c575060168054906101000a900460ff165b8015611bc25750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c185750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c4057611c2682612082565b60004790506000811115611c3e57611c3d47611fa8565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cea5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611d9d5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d9c5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611dab5760009050611f32565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e565750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e6e57600954600d81905550600a54600e819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f195750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f3157600b54600d81905550600c54600e819055505b5b611f3e8484848461236d565b50505050565b6000838311158290611f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f839190612a05565b60405180910390fd5b5060008385611f9b91906137cb565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612010573d6000803e3d6000fd5b5050565b600060075482111561205b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205290613871565b60405180910390fd5b600061206561239a565b905061207a81846113f890919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120ba576120b9612dbc565b5b6040519080825280602002602001820160405280156120e85781602001602082028036833780820191505090505b5090503081600081518110612100576120ff612ff4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121a257600080fd5b505afa1580156121b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121da91906138a6565b816001815181106121ee576121ed612ff4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061225530601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461144a565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122b99594939291906139cc565b600060405180830381600087803b1580156122d357600080fd5b505af11580156122e7573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b60008083118290612351576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123489190612a05565b60405180910390fd5b50600083856123609190613124565b9050809150509392505050565b8061237b5761237a6123c5565b5b612386848484612408565b80612394576123936125d3565b5b50505050565b60008060006123a76125e7565b915091506123be81836113f890919063ffffffff16565b9250505090565b6000600d541480156123d957506000600e54145b156123e357612406565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b60008060008060008061241a87612646565b95509550955095509550955061247886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ae90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061250d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126f890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061255981612756565b6125638483612813565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125c09190612bce565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000670de0b6b3a7640000905061261b670de0b6b3a76400006007546113f890919063ffffffff16565b82101561263957600754670de0b6b3a7640000935093505050612642565b81819350935050505b9091565b60008060008060008060008060006126638a600d54600e5461284d565b925092509250600061267361239a565b905060008060006126868e8787876128e3565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126f083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f44565b905092915050565b600080828461270791906136e3565b90508381101561274c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274390613a72565b60405180910390fd5b8091505092915050565b600061276061239a565b90506000612777828461137d90919063ffffffff16565b90506127cb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126f890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612828826007546126ae90919063ffffffff16565b600781905550612843816008546126f890919063ffffffff16565b6008819055505050565b600080600080612879606461286b888a61137d90919063ffffffff16565b6113f890919063ffffffff16565b905060006128a36064612895888b61137d90919063ffffffff16565b6113f890919063ffffffff16565b905060006128cc826128be858c6126ae90919063ffffffff16565b6126ae90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806128fc858961137d90919063ffffffff16565b90506000612913868961137d90919063ffffffff16565b9050600061292a878961137d90919063ffffffff16565b905060006129538261294585876126ae90919063ffffffff16565b6126ae90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156129a657808201518184015260208101905061298b565b838111156129b5576000848401525b50505050565b6000601f19601f8301169050919050565b60006129d78261296c565b6129e18185612977565b93506129f1818560208601612988565b6129fa816129bb565b840191505092915050565b60006020820190508181036000830152612a1f81846129cc565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a6682612a3b565b9050919050565b612a7681612a5b565b8114612a8157600080fd5b50565b600081359050612a9381612a6d565b92915050565b6000819050919050565b612aac81612a99565b8114612ab757600080fd5b50565b600081359050612ac981612aa3565b92915050565b60008060408385031215612ae657612ae5612a31565b5b6000612af485828601612a84565b9250506020612b0585828601612aba565b9150509250929050565b60008115159050919050565b612b2481612b0f565b82525050565b6000602082019050612b3f6000830184612b1b565b92915050565b6000819050919050565b6000612b6a612b65612b6084612a3b565b612b45565b612a3b565b9050919050565b6000612b7c82612b4f565b9050919050565b6000612b8e82612b71565b9050919050565b612b9e81612b83565b82525050565b6000602082019050612bb96000830184612b95565b92915050565b612bc881612a99565b82525050565b6000602082019050612be36000830184612bbf565b92915050565b600080600060608486031215612c0257612c01612a31565b5b6000612c1086828701612a84565b9350506020612c2186828701612a84565b9250506040612c3286828701612aba565b9150509250925092565b600060208284031215612c5257612c51612a31565b5b6000612c6084828501612a84565b91505092915050565b600060ff82169050919050565b612c7f81612c69565b82525050565b6000602082019050612c9a6000830184612c76565b92915050565b612ca981612a5b565b82525050565b6000602082019050612cc46000830184612ca0565b92915050565b612cd381612b0f565b8114612cde57600080fd5b50565b600081359050612cf081612cca565b92915050565b600060208284031215612d0c57612d0b612a31565b5b6000612d1a84828501612ce1565b91505092915050565b600060208284031215612d3957612d38612a31565b5b6000612d4784828501612aba565b91505092915050565b60008060008060808587031215612d6a57612d69612a31565b5b6000612d7887828801612aba565b9450506020612d8987828801612aba565b9350506040612d9a87828801612aba565b9250506060612dab87828801612aba565b91505092959194509250565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612df4826129bb565b810181811067ffffffffffffffff82111715612e1357612e12612dbc565b5b80604052505050565b6000612e26612a27565b9050612e328282612deb565b919050565b600067ffffffffffffffff821115612e5257612e51612dbc565b5b602082029050602081019050919050565b600080fd5b6000612e7b612e7684612e37565b612e1c565b90508083825260208201905060208402830185811115612e9e57612e9d612e63565b5b835b81811015612ec75780612eb38882612a84565b845260208401935050602081019050612ea0565b5050509392505050565b600082601f830112612ee657612ee5612db7565b5b8135612ef6848260208601612e68565b91505092915050565b600060208284031215612f1557612f14612a31565b5b600082013567ffffffffffffffff811115612f3357612f32612a36565b5b612f3f84828501612ed1565b91505092915050565b60008060408385031215612f5f57612f5e612a31565b5b6000612f6d85828601612a84565b9250506020612f7e85828601612a84565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612fbe602083612977565b9150612fc982612f88565b602082019050919050565b60006020820190508181036000830152612fed81612fb1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061305d82612a99565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156130905761308f613023565b5b600182019050919050565b60006130a682612a99565b91506130b183612a99565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130ea576130e9613023565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061312f82612a99565b915061313a83612a99565b92508261314a576131496130f5565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006131b1602683612977565b91506131bc82613155565b604082019050919050565b600060208201905081810360008301526131e0816131a4565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613243602183612977565b915061324e826131e7565b604082019050919050565b6000602082019050818103600083015261327281613236565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132d5602483612977565b91506132e082613279565b604082019050919050565b60006020820190508181036000830152613304816132c8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613367602283612977565b91506133728261330b565b604082019050919050565b600060208201905081810360008301526133968161335a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133f9602583612977565b91506134048261339d565b604082019050919050565b60006020820190508181036000830152613428816133ec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061348b602383612977565b91506134968261342f565b604082019050919050565b600060208201905081810360008301526134ba8161347e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061351d602983612977565b9150613528826134c1565b604082019050919050565b6000602082019050818103600083015261354c81613510565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b60006135af603f83612977565b91506135ba82613553565b604082019050919050565b600060208201905081810360008301526135de816135a2565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061361b601c83612977565b9150613626826135e5565b602082019050919050565b6000602082019050818103600083015261364a8161360e565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006136ad602383612977565b91506136b882613651565b604082019050919050565b600060208201905081810360008301526136dc816136a0565b9050919050565b60006136ee82612a99565b91506136f983612a99565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561372e5761372d613023565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613795602383612977565b91506137a082613739565b604082019050919050565b600060208201905081810360008301526137c481613788565b9050919050565b60006137d682612a99565b91506137e183612a99565b9250828210156137f4576137f3613023565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061385b602a83612977565b9150613866826137ff565b604082019050919050565b6000602082019050818103600083015261388a8161384e565b9050919050565b6000815190506138a081612a6d565b92915050565b6000602082840312156138bc576138bb612a31565b5b60006138ca84828501613891565b91505092915050565b6000819050919050565b60006138f86138f36138ee846138d3565b612b45565b612a99565b9050919050565b613908816138dd565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61394381612a5b565b82525050565b6000613955838361393a565b60208301905092915050565b6000602082019050919050565b60006139798261390e565b6139838185613919565b935061398e8361392a565b8060005b838110156139bf5781516139a68882613949565b97506139b183613961565b925050600181019050613992565b5085935050505092915050565b600060a0820190506139e16000830188612bbf565b6139ee60208301876138ff565b8181036040830152613a00818661396e565b9050613a0f6060830185612ca0565b613a1c6080830184612bbf565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613a5c601b83612977565b9150613a6782613a26565b602082019050919050565b60006020820190508181036000830152613a8b81613a4f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122041aaee2fffa81c114f6aea5a18e7aff81b093cadf338523cea7f9e6af283f57664736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80637f2feddc116100ec578063a9059cbb1161008a578063c3c8cd8011610064578063c3c8cd80146105f5578063dd62ed3e1461060c578063ea1644d514610649578063f2fde38b14610672576101c2565b8063a9059cbb14610552578063b515566a1461058f578063bfd79284146105b8576101c2565b80638f9a55c0116100c65780638f9a55c0146104aa57806395d89b41146104d557806398a5c31514610500578063a2a957bb14610529576101c2565b80637f2feddc146104195780638da5cb5b146104565780638f70ccf714610481576101c2565b8063313ce5671161015957806370a082311161013357806370a0823114610383578063715018a6146103c0578063751039fc146103d75780637d1db4a5146103ee576101c2565b8063313ce5671461031657806349bd5a5e146103415780636fc3eaec1461036c576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd146102855780632b89628b146102c25780632fd689e3146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61069b565b6040516101e99190612a05565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612acf565b6106d8565b6040516102269190612b2a565b60405180910390f35b34801561023b57600080fd5b506102446106f6565b6040516102519190612ba4565b60405180910390f35b34801561026657600080fd5b5061026f61071c565b60405161027c9190612bce565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a79190612be9565b61072c565b6040516102b99190612b2a565b60405180910390f35b3480156102ce57600080fd5b506102e960048036038101906102e49190612c3c565b610805565b005b3480156102f757600080fd5b506103006108f5565b60405161030d9190612bce565b60405180910390f35b34801561032257600080fd5b5061032b6108fb565b6040516103389190612c85565b60405180910390f35b34801561034d57600080fd5b50610356610904565b6040516103639190612caf565b60405180910390f35b34801561037857600080fd5b5061038161092a565b005b34801561038f57600080fd5b506103aa60048036038101906103a59190612c3c565b61099c565b6040516103b79190612bce565b60405180910390f35b3480156103cc57600080fd5b506103d56109ed565b005b3480156103e357600080fd5b506103ec610b40565b005b3480156103fa57600080fd5b50610403610bf5565b6040516104109190612bce565b60405180910390f35b34801561042557600080fd5b50610440600480360381019061043b9190612c3c565b610bfb565b60405161044d9190612bce565b60405180910390f35b34801561046257600080fd5b5061046b610c13565b6040516104789190612caf565b60405180910390f35b34801561048d57600080fd5b506104a860048036038101906104a39190612cf6565b610c3c565b005b3480156104b657600080fd5b506104bf610cee565b6040516104cc9190612bce565b60405180910390f35b3480156104e157600080fd5b506104ea610cf4565b6040516104f79190612a05565b60405180910390f35b34801561050c57600080fd5b5061052760048036038101906105229190612d23565b610d31565b005b34801561053557600080fd5b50610550600480360381019061054b9190612d50565b610dd0565b005b34801561055e57600080fd5b5061057960048036038101906105749190612acf565b610e87565b6040516105869190612b2a565b60405180910390f35b34801561059b57600080fd5b506105b660048036038101906105b19190612eff565b610ea5565b005b3480156105c457600080fd5b506105df60048036038101906105da9190612c3c565b610fcf565b6040516105ec9190612b2a565b60405180910390f35b34801561060157600080fd5b5061060a610fef565b005b34801561061857600080fd5b50610633600480360381019061062e9190612f48565b611069565b6040516106409190612bce565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190612d23565b6110f0565b005b34801561067e57600080fd5b5061069960048036038101906106949190612c3c565b6111bb565b005b60606040518060400160405280600b81526020017f307853796e646963617465000000000000000000000000000000000000000000815250905090565b60006106ec6106e5611442565b848461144a565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b6000610739848484611615565b6107fa84610745611442565b6107f585604051806060016040528060288152602001613a9360289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107ab611442565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f449092919063ffffffff16565b61144a565b600190509392505050565b61080d611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089190612fd4565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60195481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661096b611442565b73ffffffffffffffffffffffffffffffffffffffff161461098b57600080fd5b600047905061099981611fa8565b50565b60006109e6600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612014565b9050919050565b6109f5611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7990612fd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b48611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcc90612fd4565b60405180910390fd5b670de0b6b3a7640000601781905550670de0b6b3a7640000601881905550565b60175481565b60126020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c44611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc890612fd4565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600b81526020017f307853796e646963617465000000000000000000000000000000000000000000815250905090565b610d39611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbd90612fd4565b60405180910390fd5b8060198190555050565b610dd8611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c90612fd4565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b6000610e9b610e94611442565b8484611615565b6001905092915050565b610ead611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3190612fd4565b60405180910390fd5b60005b8151811015610fcb57600160116000848481518110610f5f57610f5e612ff4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fc390613052565b915050610f3d565b5050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611030611442565b73ffffffffffffffffffffffffffffffffffffffff161461105057600080fd5b600061105b3061099c565b905061106681612082565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110f8611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90612fd4565b60405180910390fd5b6000811161119257600080fd5b606481670de0b6b3a76400006111a8919061309b565b6111b29190613124565b60188190555050565b6111c3611442565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124790612fd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b7906131c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008083141561139057600090506113f2565b6000828461139e919061309b565b90508284826113ad9190613124565b146113ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e490613259565b60405180910390fd5b809150505b92915050565b600061143a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061230a565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b1906132eb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561152a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115219061337d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116089190612bce565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167c9061340f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ec906134a1565b60405180910390fd5b60008111611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172f90613533565b60405180910390fd5b611740610c13565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117ae575061177e610c13565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c4357601660149054906101000a900460ff1661183d576117cf610c13565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461183c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611833906135c5565b60405180910390fd5b5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118d4576017548111156118d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ca90613631565b60405180910390fd5b5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119785750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6119b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ae906136c3565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611a5f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611abc5760185481611a718461099c565b611a7b91906136e3565b10611abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab2906137ab565b60405180910390fd5b5b6000611ac73061099c565b9050600060195482101590506017548210611ae25760175491505b808015611afc5750601660159054906101000a900460ff16155b8015611b565750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611b6c575060168054906101000a900460ff165b8015611bc25750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c185750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c4057611c2682612082565b60004790506000811115611c3e57611c3d47611fa8565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cea5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611d9d5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d9c5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611dab5760009050611f32565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611e565750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e6e57600954600d81905550600a54600e819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611f195750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f3157600b54600d81905550600c54600e819055505b5b611f3e8484848461236d565b50505050565b6000838311158290611f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f839190612a05565b60405180910390fd5b5060008385611f9b91906137cb565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612010573d6000803e3d6000fd5b5050565b600060075482111561205b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205290613871565b60405180910390fd5b600061206561239a565b905061207a81846113f890919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120ba576120b9612dbc565b5b6040519080825280602002602001820160405280156120e85781602001602082028036833780820191505090505b5090503081600081518110612100576120ff612ff4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121a257600080fd5b505afa1580156121b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121da91906138a6565b816001815181106121ee576121ed612ff4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061225530601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461144a565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122b99594939291906139cc565b600060405180830381600087803b1580156122d357600080fd5b505af11580156122e7573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b60008083118290612351576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123489190612a05565b60405180910390fd5b50600083856123609190613124565b9050809150509392505050565b8061237b5761237a6123c5565b5b612386848484612408565b80612394576123936125d3565b5b50505050565b60008060006123a76125e7565b915091506123be81836113f890919063ffffffff16565b9250505090565b6000600d541480156123d957506000600e54145b156123e357612406565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b60008060008060008061241a87612646565b95509550955095509550955061247886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ae90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061250d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126f890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061255981612756565b6125638483612813565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125c09190612bce565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000670de0b6b3a7640000905061261b670de0b6b3a76400006007546113f890919063ffffffff16565b82101561263957600754670de0b6b3a7640000935093505050612642565b81819350935050505b9091565b60008060008060008060008060006126638a600d54600e5461284d565b925092509250600061267361239a565b905060008060006126868e8787876128e3565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126f083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f44565b905092915050565b600080828461270791906136e3565b90508381101561274c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274390613a72565b60405180910390fd5b8091505092915050565b600061276061239a565b90506000612777828461137d90919063ffffffff16565b90506127cb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126f890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612828826007546126ae90919063ffffffff16565b600781905550612843816008546126f890919063ffffffff16565b6008819055505050565b600080600080612879606461286b888a61137d90919063ffffffff16565b6113f890919063ffffffff16565b905060006128a36064612895888b61137d90919063ffffffff16565b6113f890919063ffffffff16565b905060006128cc826128be858c6126ae90919063ffffffff16565b6126ae90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806128fc858961137d90919063ffffffff16565b90506000612913868961137d90919063ffffffff16565b9050600061292a878961137d90919063ffffffff16565b905060006129538261294585876126ae90919063ffffffff16565b6126ae90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156129a657808201518184015260208101905061298b565b838111156129b5576000848401525b50505050565b6000601f19601f8301169050919050565b60006129d78261296c565b6129e18185612977565b93506129f1818560208601612988565b6129fa816129bb565b840191505092915050565b60006020820190508181036000830152612a1f81846129cc565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a6682612a3b565b9050919050565b612a7681612a5b565b8114612a8157600080fd5b50565b600081359050612a9381612a6d565b92915050565b6000819050919050565b612aac81612a99565b8114612ab757600080fd5b50565b600081359050612ac981612aa3565b92915050565b60008060408385031215612ae657612ae5612a31565b5b6000612af485828601612a84565b9250506020612b0585828601612aba565b9150509250929050565b60008115159050919050565b612b2481612b0f565b82525050565b6000602082019050612b3f6000830184612b1b565b92915050565b6000819050919050565b6000612b6a612b65612b6084612a3b565b612b45565b612a3b565b9050919050565b6000612b7c82612b4f565b9050919050565b6000612b8e82612b71565b9050919050565b612b9e81612b83565b82525050565b6000602082019050612bb96000830184612b95565b92915050565b612bc881612a99565b82525050565b6000602082019050612be36000830184612bbf565b92915050565b600080600060608486031215612c0257612c01612a31565b5b6000612c1086828701612a84565b9350506020612c2186828701612a84565b9250506040612c3286828701612aba565b9150509250925092565b600060208284031215612c5257612c51612a31565b5b6000612c6084828501612a84565b91505092915050565b600060ff82169050919050565b612c7f81612c69565b82525050565b6000602082019050612c9a6000830184612c76565b92915050565b612ca981612a5b565b82525050565b6000602082019050612cc46000830184612ca0565b92915050565b612cd381612b0f565b8114612cde57600080fd5b50565b600081359050612cf081612cca565b92915050565b600060208284031215612d0c57612d0b612a31565b5b6000612d1a84828501612ce1565b91505092915050565b600060208284031215612d3957612d38612a31565b5b6000612d4784828501612aba565b91505092915050565b60008060008060808587031215612d6a57612d69612a31565b5b6000612d7887828801612aba565b9450506020612d8987828801612aba565b9350506040612d9a87828801612aba565b9250506060612dab87828801612aba565b91505092959194509250565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612df4826129bb565b810181811067ffffffffffffffff82111715612e1357612e12612dbc565b5b80604052505050565b6000612e26612a27565b9050612e328282612deb565b919050565b600067ffffffffffffffff821115612e5257612e51612dbc565b5b602082029050602081019050919050565b600080fd5b6000612e7b612e7684612e37565b612e1c565b90508083825260208201905060208402830185811115612e9e57612e9d612e63565b5b835b81811015612ec75780612eb38882612a84565b845260208401935050602081019050612ea0565b5050509392505050565b600082601f830112612ee657612ee5612db7565b5b8135612ef6848260208601612e68565b91505092915050565b600060208284031215612f1557612f14612a31565b5b600082013567ffffffffffffffff811115612f3357612f32612a36565b5b612f3f84828501612ed1565b91505092915050565b60008060408385031215612f5f57612f5e612a31565b5b6000612f6d85828601612a84565b9250506020612f7e85828601612a84565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612fbe602083612977565b9150612fc982612f88565b602082019050919050565b60006020820190508181036000830152612fed81612fb1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061305d82612a99565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156130905761308f613023565b5b600182019050919050565b60006130a682612a99565b91506130b183612a99565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130ea576130e9613023565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061312f82612a99565b915061313a83612a99565b92508261314a576131496130f5565b5b828204905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006131b1602683612977565b91506131bc82613155565b604082019050919050565b600060208201905081810360008301526131e0816131a4565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613243602183612977565b915061324e826131e7565b604082019050919050565b6000602082019050818103600083015261327281613236565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132d5602483612977565b91506132e082613279565b604082019050919050565b60006020820190508181036000830152613304816132c8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613367602283612977565b91506133728261330b565b604082019050919050565b600060208201905081810360008301526133968161335a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133f9602583612977565b91506134048261339d565b604082019050919050565b60006020820190508181036000830152613428816133ec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061348b602383612977565b91506134968261342f565b604082019050919050565b600060208201905081810360008301526134ba8161347e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061351d602983612977565b9150613528826134c1565b604082019050919050565b6000602082019050818103600083015261354c81613510565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b60006135af603f83612977565b91506135ba82613553565b604082019050919050565b600060208201905081810360008301526135de816135a2565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061361b601c83612977565b9150613626826135e5565b602082019050919050565b6000602082019050818103600083015261364a8161360e565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006136ad602383612977565b91506136b882613651565b604082019050919050565b600060208201905081810360008301526136dc816136a0565b9050919050565b60006136ee82612a99565b91506136f983612a99565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561372e5761372d613023565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613795602383612977565b91506137a082613739565b604082019050919050565b600060208201905081810360008301526137c481613788565b9050919050565b60006137d682612a99565b91506137e183612a99565b9250828210156137f4576137f3613023565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061385b602a83612977565b9150613866826137ff565b604082019050919050565b6000602082019050818103600083015261388a8161384e565b9050919050565b6000815190506138a081612a6d565b92915050565b6000602082840312156138bc576138bb612a31565b5b60006138ca84828501613891565b91505092915050565b6000819050919050565b60006138f86138f36138ee846138d3565b612b45565b612a99565b9050919050565b613908816138dd565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61394381612a5b565b82525050565b6000613955838361393a565b60208301905092915050565b6000602082019050919050565b60006139798261390e565b6139838185613919565b935061398e8361392a565b8060005b838110156139bf5781516139a68882613949565b97506139b183613961565b925050600181019050613992565b5085935050505092915050565b600060a0820190506139e16000830188612bbf565b6139ee60208301876138ff565b8181036040830152613a00818661396e565b9050613a0f6060830185612ca0565b613a1c6080830184612bbf565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613a5c601b83612977565b9150613a6782613a26565b602082019050919050565b60006020820190508181036000830152613a8b81613a4f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122041aaee2fffa81c114f6aea5a18e7aff81b093cadf338523cea7f9e6af283f57664736f6c63430008090033

Deployed Bytecode Sourcemap

5795:13623:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8746:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9678:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7105:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9026:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9880:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15157:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7505:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8934:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7153:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14775:197;;;;;;;;;;;;;:::i;:::-;;9130:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3269:148;;;;;;;;;;;;;:::i;:::-;;19293:118;;;;;;;;;;;;;:::i;:::-;;7380:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6950:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3053:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14458:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7442:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8838:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18968:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18664:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9277:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14981:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6912:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14568:198;;;;;;;;;;;;;:::i;:::-;;9485:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19116:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3426:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8746:83;8783:13;8816:5;;;;;;;;;;;;;;;;;8809:12;;8746:83;:::o;9678:193::-;9780:4;9802:39;9811:12;:10;:12::i;:::-;9825:7;9834:6;9802:8;:39::i;:::-;9859:4;9852:11;;9678:193;;;;:::o;7105:41::-;;;;;;;;;;;;;:::o;9026:95::-;9079:7;6418:21;9099:14;;9026:95;:::o;9880:446::-;10012:4;10029:36;10039:6;10047:9;10058:6;10029:9;:36::i;:::-;10076:220;10099:6;10120:12;:10;:12::i;:::-;10147:138;10203:6;10147:138;;;;;;;;;;;;;;;;;:11;:19;10159:6;10147:19;;;;;;;;;;;;;;;:33;10167:12;:10;:12::i;:::-;10147:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;10076:8;:220::i;:::-;10314:4;10307:11;;9880:446;;;;;:::o;15157:90::-;3191:12;:10;:12::i;:::-;3181:22;;:6;;;;;;;;;;:22;;;3173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15234:5:::1;15219:4;:12;15224:6;15219:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;15157:90:::0;:::o;7505:61::-;;;;:::o;8934:83::-;8975:5;6031:1;8993:16;;8934:83;:::o;7153:28::-;;;;;;;;;;;;;:::o;14775:197::-;14842:17;;;;;;;;;;;14826:33;;:12;:10;:12::i;:::-;:33;;;14817:43;;;;;;14871:26;14900:21;14871:50;;14932:32;14945:18;14932:12;:32::i;:::-;14806:166;14775:197::o;9130:138::-;9196:7;9223:37;9243:7;:16;9251:7;9243:16;;;;;;;;;;;;;;;;9223:19;:37::i;:::-;9216:44;;9130:138;;;:::o;3269:148::-;3191:12;:10;:12::i;:::-;3181:22;;:6;;;;;;;;;;:22;;;3173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3376:1:::1;3339:40;;3360:6;::::0;::::1;;;;;;;;3339:40;;;;;;;;;;;;3407:1;3390:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3269:148::o:0;19293:118::-;3191:12;:10;:12::i;:::-;3181:22;;:6;;;;;;;;;;:22;;;3173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6418:21:::1;19346:12;:22;;;;6418:21;19379:14;:24;;;;19293:118::o:0;7380:55::-;;;;:::o;6950:43::-;;;;;;;;;;;;;;;;;:::o;3053:79::-;3091:7;3118:6;;;;;;;;;;;3111:13;;3053:79;:::o;14458:101::-;3191:12;:10;:12::i;:::-;3181:22;;:6;;;;;;;;;;:22;;;3173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14539:12:::1;14525:11;;:26;;;;;;;;;;;;;;;;;;14458:101:::0;:::o;7442:55::-;;;;:::o;8838:87::-;8877:13;8910:7;;;;;;;;;;;;;;;;;8903:14;;8838:87;:::o;18968:139::-;3191:12;:10;:12::i;:::-;3181:22;;:6;;;;;;;;;;:22;;;3173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19081:18:::1;19059:19;:40;;;;18968:139:::0;:::o;18664:295::-;3191:12;:10;:12::i;:::-;3181:22;;:6;;;;;;;;;;:22;;;3173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18817:13:::1;18800:14;:30;;;;18859:14;18841:15;:32;;;;18899:11;18884:12;:26;;;;18937:12;18921:13;:28;;;;18664:295:::0;;;;:::o;9277:199::-;9382:4;9404:42;9414:12;:10;:12::i;:::-;9428:9;9439:6;9404:9;:42::i;:::-;9464:4;9457:11;;9277:199;;;;:::o;14981:167::-;3191:12;:10;:12::i;:::-;3181:22;;:6;;;;;;;;;;:22;;;3173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15055:9:::1;15050:91;15074:5;:12;15070:1;:16;15050:91;;;15125:4;15108;:14;15113:5;15119:1;15113:8;;;;;;;;:::i;:::-;;;;;;;;15108:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;15088:3;;;;;:::i;:::-;;;;15050:91;;;;14981:167:::0;:::o;6912:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;14568:198::-;14635:17;;;;;;;;;;;14619:33;;:12;:10;:12::i;:::-;:33;;;14610:43;;;;;;14664:23;14690:24;14708:4;14690:9;:24::i;:::-;14664:50;;14725:33;14742:15;14725:16;:33::i;:::-;14599:167;14568:198::o;9485:184::-;9602:7;9634:11;:18;9646:5;9634:18;;;;;;;;;;;;;;;:27;9653:7;9634:27;;;;;;;;;;;;;;;;9627:34;;9485:184;;;;:::o;19116:169::-;3191:12;:10;:12::i;:::-;3181:22;;:6;;;;;;;;;;:22;;;3173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19215:1:::1;19201:13;:15;19193:24;;;::::0;::::1;;19274:3;19256:13;6418:21;19246:23;;;;:::i;:::-;19245:32;;;;:::i;:::-;19228:14;:49;;;;19116:169:::0;:::o;3426:244::-;3191:12;:10;:12::i;:::-;3181:22;;:6;;;;;;;;;;:22;;;3173:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3535:1:::1;3515:22;;:8;:22;;;;3507:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3625:8;3596:38;;3617:6;::::0;::::1;;;;;;;;3596:38;;;;;;;;;;;;3654:8;3645:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3426:244:::0;:::o;4270:246::-;4328:7;4357:1;4352;:6;4348:47;;;4382:1;4375:8;;;;4348:47;4405:9;4421:1;4417;:5;;;;:::i;:::-;4405:17;;4450:1;4445;4441;:5;;;;:::i;:::-;:10;4433:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4507:1;4500:8;;;4270:246;;;;;:::o;4525:132::-;4583:7;4610:39;4614:1;4617;4610:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4603:46;;4525:132;;;;:::o;1801:98::-;1854:7;1881:10;1874:17;;1801:98;:::o;11023:369::-;11167:1;11150:19;;:5;:19;;;;11142:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11248:1;11229:21;;:7;:21;;;;11221:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11330:6;11300:11;:18;11312:5;11300:18;;;;;;;;;;;;;;;:27;11319:7;11300:27;;;;;;;;;;;;;;;:36;;;;11368:7;11352:32;;11361:5;11352:32;;;11377:6;11352:32;;;;;;:::i;:::-;;;;;;;;11023:369;;;:::o;11401:2448::-;11539:1;11523:18;;:4;:18;;;;11515:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11616:1;11602:16;;:2;:16;;;;11594:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11686:1;11677:6;:10;11669:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11759:7;:5;:7::i;:::-;11751:15;;:4;:15;;;;:32;;;;;11776:7;:5;:7::i;:::-;11770:13;;:2;:13;;;;11751:32;11747:1369;;;11841:11;;;;;;;;;;;11836:144;;11889:7;:5;:7::i;:::-;11881:15;;:4;:15;;;11873:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;11836:144;12001:18;:24;12020:4;12001:24;;;;;;;;;;;;;;;;;;;;;;;;;11996:128;;12063:12;;12053:6;:22;;12045:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11996:128;12161:4;:10;12166:4;12161:10;;;;;;;;;;;;;;;;;;;;;;;;;12160:11;:24;;;;;12176:4;:8;12181:2;12176:8;;;;;;;;;;;;;;;;;;;;;;;;;12175:9;12160:24;12152:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12251:13;;;;;;;;;;;12245:19;;:2;:19;;;;:46;;;;;12269:18;:22;12288:2;12269:22;;;;;;;;;;;;;;;;;;;;;;;;;12268:23;12245:46;12242:173;;;12345:14;;12336:6;12320:13;12330:2;12320:9;:13::i;:::-;:22;;;;:::i;:::-;:39;12312:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;12242:173;12432:28;12463:24;12481:4;12463:9;:24::i;:::-;12432:55;;12502:12;12541:19;;12517:20;:43;;12502:58;;12605:12;;12581:20;:36;12578:124;;12674:12;;12651:35;;12578:124;12723:7;:18;;;;;12735:6;;;;;;;;;;;12734:7;12723:18;:43;;;;;12753:13;;;;;;;;;;;12745:21;;:4;:21;;;;12723:43;:58;;;;;12770:11;;;;;;;;;;12723:58;:87;;;;;12786:18;:24;12805:4;12786:24;;;;;;;;;;;;;;;;;;;;;;;;;12785:25;12723:87;:114;;;;;12815:18;:22;12834:2;12815:22;;;;;;;;;;;;;;;;;;;;;;;;;12814:23;12723:114;12719:386;;;12858:38;12875:20;12858:16;:38::i;:::-;12915:26;12944:21;12915:50;;13009:1;12988:18;:22;12984:106;;;13035:35;13048:21;13035:12;:35::i;:::-;12984:106;12839:266;12719:386;11785:1331;;11747:1369;13130:12;13145:4;13130:19;;13195:18;:24;13214:4;13195:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;13223:18;:22;13242:2;13223:22;;;;;;;;;;;;;;;;;;;;;;;;;13195:50;13194:102;;;;13259:13;;;;;;;;;;;13251:21;;:4;:21;;;;:44;;;;;13282:13;;;;;;;;;;;13276:19;;:2;:19;;;;13251:44;13194:102;13190:597;;;13323:5;13313:15;;13190:597;;;13407:13;;;;;;;;;;;13399:21;;:4;:21;;;:55;;;;;13438:15;;;;;;;;;;;13424:30;;:2;:30;;;;13399:55;13396:162;;;13487:14;;13475:9;:26;;;;13530:12;;13520:7;:22;;;;13396:162;13618:13;;;;;;;;;;;13612:19;;:2;:19;;;:55;;;;;13651:15;;;;;;;;;;;13635:32;;:4;:32;;;;13612:55;13608:165;;;13700:15;;13688:9;:27;;;;13744:13;;13734:7;:23;;;;13608:165;13190:597;13800:41;13815:4;13821:2;13825:6;13833:7;13800:14;:41::i;:::-;11504:2345;11401:2448;;;:::o;4037:224::-;4157:7;4190:1;4185;:6;;4193:12;4177:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4217:9;4233:1;4229;:5;;;;:::i;:::-;4217:17;;4252:1;4245:8;;;4037:224;;;;;:::o;14350:99::-;14407:17;;;;;;;;;;;:26;;:34;14434:6;14407:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14350:99;:::o;10335:323::-;10430:7;10488;;10477;:18;;10455:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10576:19;10598:10;:8;:10::i;:::-;10576:32;;10626:24;10638:11;10626:7;:11;;:24;;;;:::i;:::-;10619:31;;;10335:323;;;:::o;13858:483::-;7670:4;7661:6;;:13;;;;;;;;;;;;;;;;;;13936:21:::1;13974:1;13960:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13936:40;;14005:4;13987;13992:1;13987:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;14031:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14021:4;14026:1;14021:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;14064:62;14081:4;14096:15;;;;;;;;;;;14114:11;14064:8;:62::i;:::-;14137:15;;;;;;;;;;;:66;;;14218:11;14244:1;14260:4;14287;14307:15;14137:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13925:416;7706:5:::0;7697:6;;:14;;;;;;;;;;;;;;;;;;13858:483;:::o;4666:223::-;4786:7;4818:1;4814;:5;4821:12;4806:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4845:9;4861:1;4857;:5;;;;:::i;:::-;4845:17;;4880:1;4873:8;;;4666:223;;;;;:::o;15256:282::-;15412:7;15407:28;;15421:14;:12;:14::i;:::-;15407:28;15446:44;15464:6;15472:9;15483:6;15446:17;:44::i;:::-;15506:7;15501:29;;15515:15;:13;:15::i;:::-;15501:29;15256:282;;;;:::o;18225:164::-;18267:7;18288:15;18305;18324:19;:17;:19::i;:::-;18287:56;;;;18361:20;18373:7;18361;:11;;:20;;;;:::i;:::-;18354:27;;;;18225:164;:::o;10667:221::-;10727:1;10714:9;;:14;:30;;;;;10743:1;10732:7;;:12;10714:30;10710:43;;;10746:7;;10710:43;10786:9;;10766:17;:29;;;;10824:7;;10806:15;:25;;;;10857:1;10845:9;:13;;;;10879:1;10869:7;:11;;;;10667:221;:::o;15547:610::-;15694:15;15724:23;15762:12;15789:23;15827:12;15854:13;15881:19;15892:7;15881:10;:19::i;:::-;15679:221;;;;;;;;;;;;15929:28;15949:7;15929;:15;15937:6;15929:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15911:7;:15;15919:6;15911:15;;;;;;;;;;;;;;;:46;;;;15989:39;16012:15;15989:7;:18;15997:9;15989:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15968:7;:18;15976:9;15968:18;;;;;;;;;;;;;;;:60;;;;16039:16;16049:5;16039:9;:16::i;:::-;16066:23;16078:4;16084;16066:11;:23::i;:::-;16122:9;16105:44;;16114:6;16105:44;;;16133:15;16105:44;;;;;;:::i;:::-;;;;;;;;15668:489;;;;;;15547:610;;;:::o;10897:117::-;10953:17;;10941:9;:29;;;;10991:15;;10981:7;:25;;;;10897:117::o;18398:257::-;18449:7;18458;18478:15;18496:7;;18478:25;;18514:15;6418:21;18514:25;;18564:20;6418:21;18564:7;;:11;;:20;;;;:::i;:::-;18554:7;:30;18550:61;;;18594:7;;6418:21;18586:25;;;;;;;;18550:61;18630:7;18639;18622:25;;;;;;18398:257;;;:::o;16580:615::-;16680:7;16702;16724;16746;16768;16790;16826:23;16851:12;16865:13;16895:40;16907:7;16916:9;;16927:7;;16895:11;:40::i;:::-;16825:110;;;;;;16946:19;16968:10;:8;:10::i;:::-;16946:32;;16990:15;17007:23;17032:12;17061:46;17073:7;17082:4;17088:5;17095:11;17061;:46::i;:::-;16989:118;;;;;;17126:7;17135:15;17152:4;17158:15;17175:4;17181:5;17118:69;;;;;;;;;;;;;;;;;;;16580:615;;;;;;;:::o;3892:136::-;3950:7;3977:43;3981:1;3984;3977:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3970:50;;3892:136;;;;:::o;3704:179::-;3762:7;3782:9;3798:1;3794;:5;;;;:::i;:::-;3782:17;;3823:1;3818;:6;;3810:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3874:1;3867:8;;;3704:179;;;;:::o;16166:211::-;16219:19;16241:10;:8;:10::i;:::-;16219:32;;16262:13;16278:22;16288:11;16278:5;:9;;:22;;;;:::i;:::-;16262:38;;16336:33;16363:5;16336:7;:22;16352:4;16336:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;16311:7;:22;16327:4;16311:22;;;;;;;;;;;;;;;:58;;;;16208:169;;16166:211;:::o;16386:147::-;16464:17;16476:4;16464:7;;:11;;:17;;;;:::i;:::-;16454:7;:27;;;;16505:20;16520:4;16505:10;;:14;;:20;;;;:::i;:::-;16492:10;:33;;;;16386:147;;:::o;17204:469::-;17373:7;17395;17417;17452:12;17467:30;17493:3;17467:21;17479:8;17467:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;17452:45;;17508:13;17524:28;17548:3;17524:19;17536:6;17524:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;17508:44;;17563:23;17589:28;17611:5;17589:17;17601:4;17589:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17563:54;;17636:15;17653:4;17659:5;17628:37;;;;;;;;;17204:469;;;;;;;:::o;17682:534::-;17876:7;17898;17920;17955:15;17973:24;17985:11;17973:7;:11;;:24;;;;:::i;:::-;17955:42;;18008:12;18023:21;18032:11;18023:4;:8;;:21;;;;:::i;:::-;18008:36;;18055:13;18071:22;18081:11;18071:5;:9;;:22;;;;:::i;:::-;18055:38;;18104:23;18130:28;18152:5;18130:17;18142:4;18130:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;18104:54;;18177:7;18186:15;18203:4;18169:39;;;;;;;;;;17682:534;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:152::-;3916:9;3949:37;3980:5;3949:37;:::i;:::-;3936:50;;3840:152;;;:::o;3998:183::-;4111:63;4168:5;4111:63;:::i;:::-;4106:3;4099:76;3998:183;;:::o;4187:274::-;4306:4;4344:2;4333:9;4329:18;4321:26;;4357:97;4451:1;4440:9;4436:17;4427:6;4357:97;:::i;:::-;4187:274;;;;:::o;4467:118::-;4554:24;4572:5;4554:24;:::i;:::-;4549:3;4542:37;4467:118;;:::o;4591:222::-;4684:4;4722:2;4711:9;4707:18;4699:26;;4735:71;4803:1;4792:9;4788:17;4779:6;4735:71;:::i;:::-;4591:222;;;;:::o;4819:619::-;4896:6;4904;4912;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;5214:2;5240:53;5285:7;5276:6;5265:9;5261:22;5240:53;:::i;:::-;5230:63;;5185:118;5342:2;5368:53;5413:7;5404:6;5393:9;5389:22;5368:53;:::i;:::-;5358:63;;5313:118;4819:619;;;;;:::o;5444:329::-;5503:6;5552:2;5540:9;5531:7;5527:23;5523:32;5520:119;;;5558:79;;:::i;:::-;5520:119;5678:1;5703:53;5748:7;5739:6;5728:9;5724:22;5703:53;:::i;:::-;5693:63;;5649:117;5444:329;;;;:::o;5779:86::-;5814:7;5854:4;5847:5;5843:16;5832:27;;5779:86;;;:::o;5871:112::-;5954:22;5970:5;5954:22;:::i;:::-;5949:3;5942:35;5871:112;;:::o;5989:214::-;6078:4;6116:2;6105:9;6101:18;6093:26;;6129:67;6193:1;6182:9;6178:17;6169:6;6129:67;:::i;:::-;5989:214;;;;:::o;6209:118::-;6296:24;6314:5;6296:24;:::i;:::-;6291:3;6284:37;6209:118;;:::o;6333:222::-;6426:4;6464:2;6453:9;6449:18;6441:26;;6477:71;6545:1;6534:9;6530:17;6521:6;6477:71;:::i;:::-;6333:222;;;;:::o;6561:116::-;6631:21;6646:5;6631:21;:::i;:::-;6624:5;6621:32;6611:60;;6667:1;6664;6657:12;6611:60;6561:116;:::o;6683:133::-;6726:5;6764:6;6751:20;6742:29;;6780:30;6804:5;6780:30;:::i;:::-;6683:133;;;;:::o;6822:323::-;6878:6;6927:2;6915:9;6906:7;6902:23;6898:32;6895:119;;;6933:79;;:::i;:::-;6895:119;7053:1;7078:50;7120:7;7111:6;7100:9;7096:22;7078:50;:::i;:::-;7068:60;;7024:114;6822:323;;;;:::o;7151:329::-;7210:6;7259:2;7247:9;7238:7;7234:23;7230:32;7227:119;;;7265:79;;:::i;:::-;7227:119;7385:1;7410:53;7455:7;7446:6;7435:9;7431:22;7410:53;:::i;:::-;7400:63;;7356:117;7151:329;;;;:::o;7486:765::-;7572:6;7580;7588;7596;7645:3;7633:9;7624:7;7620:23;7616:33;7613:120;;;7652:79;;:::i;:::-;7613:120;7772:1;7797:53;7842:7;7833:6;7822:9;7818:22;7797:53;:::i;:::-;7787:63;;7743:117;7899:2;7925:53;7970:7;7961:6;7950:9;7946:22;7925:53;:::i;:::-;7915:63;;7870:118;8027:2;8053:53;8098:7;8089:6;8078:9;8074:22;8053:53;:::i;:::-;8043:63;;7998:118;8155:2;8181:53;8226:7;8217:6;8206:9;8202:22;8181:53;:::i;:::-;8171:63;;8126:118;7486:765;;;;;;;:::o;8257:117::-;8366:1;8363;8356:12;8380:180;8428:77;8425:1;8418:88;8525:4;8522:1;8515:15;8549:4;8546:1;8539:15;8566:281;8649:27;8671:4;8649:27;:::i;:::-;8641:6;8637:40;8779:6;8767:10;8764:22;8743:18;8731:10;8728:34;8725:62;8722:88;;;8790:18;;:::i;:::-;8722:88;8830:10;8826:2;8819:22;8609:238;8566:281;;:::o;8853:129::-;8887:6;8914:20;;:::i;:::-;8904:30;;8943:33;8971:4;8963:6;8943:33;:::i;:::-;8853:129;;;:::o;8988:311::-;9065:4;9155:18;9147:6;9144:30;9141:56;;;9177:18;;:::i;:::-;9141:56;9227:4;9219:6;9215:17;9207:25;;9287:4;9281;9277:15;9269:23;;8988:311;;;:::o;9305:117::-;9414:1;9411;9404:12;9445:710;9541:5;9566:81;9582:64;9639:6;9582:64;:::i;:::-;9566:81;:::i;:::-;9557:90;;9667:5;9696:6;9689:5;9682:21;9730:4;9723:5;9719:16;9712:23;;9783:4;9775:6;9771:17;9763:6;9759:30;9812:3;9804:6;9801:15;9798:122;;;9831:79;;:::i;:::-;9798:122;9946:6;9929:220;9963:6;9958:3;9955:15;9929:220;;;10038:3;10067:37;10100:3;10088:10;10067:37;:::i;:::-;10062:3;10055:50;10134:4;10129:3;10125:14;10118:21;;10005:144;9989:4;9984:3;9980:14;9973:21;;9929:220;;;9933:21;9547:608;;9445:710;;;;;:::o;10178:370::-;10249:5;10298:3;10291:4;10283:6;10279:17;10275:27;10265:122;;10306:79;;:::i;:::-;10265:122;10423:6;10410:20;10448:94;10538:3;10530:6;10523:4;10515:6;10511:17;10448:94;:::i;:::-;10439:103;;10255:293;10178:370;;;;:::o;10554:539::-;10638:6;10687:2;10675:9;10666:7;10662:23;10658:32;10655:119;;;10693:79;;:::i;:::-;10655:119;10841:1;10830:9;10826:17;10813:31;10871:18;10863:6;10860:30;10857:117;;;10893:79;;:::i;:::-;10857:117;10998:78;11068:7;11059:6;11048:9;11044:22;10998:78;:::i;:::-;10988:88;;10784:302;10554:539;;;;:::o;11099:474::-;11167:6;11175;11224:2;11212:9;11203:7;11199:23;11195:32;11192:119;;;11230:79;;:::i;:::-;11192:119;11350:1;11375:53;11420:7;11411:6;11400:9;11396:22;11375:53;:::i;:::-;11365:63;;11321:117;11477:2;11503:53;11548:7;11539:6;11528:9;11524:22;11503:53;:::i;:::-;11493:63;;11448:118;11099:474;;;;;:::o;11579:182::-;11719:34;11715:1;11707:6;11703:14;11696:58;11579:182;:::o;11767:366::-;11909:3;11930:67;11994:2;11989:3;11930:67;:::i;:::-;11923:74;;12006:93;12095:3;12006:93;:::i;:::-;12124:2;12119:3;12115:12;12108:19;;11767:366;;;:::o;12139:419::-;12305:4;12343:2;12332:9;12328:18;12320:26;;12392:9;12386:4;12382:20;12378:1;12367:9;12363:17;12356:47;12420:131;12546:4;12420:131;:::i;:::-;12412:139;;12139:419;;;:::o;12564:180::-;12612:77;12609:1;12602:88;12709:4;12706:1;12699:15;12733:4;12730:1;12723:15;12750:180;12798:77;12795:1;12788:88;12895:4;12892:1;12885:15;12919:4;12916:1;12909:15;12936:233;12975:3;12998:24;13016:5;12998:24;:::i;:::-;12989:33;;13044:66;13037:5;13034:77;13031:103;;;13114:18;;:::i;:::-;13031:103;13161:1;13154:5;13150:13;13143:20;;12936:233;;;:::o;13175:348::-;13215:7;13238:20;13256:1;13238:20;:::i;:::-;13233:25;;13272:20;13290:1;13272:20;:::i;:::-;13267:25;;13460:1;13392:66;13388:74;13385:1;13382:81;13377:1;13370:9;13363:17;13359:105;13356:131;;;13467:18;;:::i;:::-;13356:131;13515:1;13512;13508:9;13497:20;;13175:348;;;;:::o;13529:180::-;13577:77;13574:1;13567:88;13674:4;13671:1;13664:15;13698:4;13695:1;13688:15;13715:185;13755:1;13772:20;13790:1;13772:20;:::i;:::-;13767:25;;13806:20;13824:1;13806:20;:::i;:::-;13801:25;;13845:1;13835:35;;13850:18;;:::i;:::-;13835:35;13892:1;13889;13885:9;13880:14;;13715:185;;;;:::o;13906:225::-;14046:34;14042:1;14034:6;14030:14;14023:58;14115:8;14110:2;14102:6;14098:15;14091:33;13906:225;:::o;14137:366::-;14279:3;14300:67;14364:2;14359:3;14300:67;:::i;:::-;14293:74;;14376:93;14465:3;14376:93;:::i;:::-;14494:2;14489:3;14485:12;14478:19;;14137:366;;;:::o;14509:419::-;14675:4;14713:2;14702:9;14698:18;14690:26;;14762:9;14756:4;14752:20;14748:1;14737:9;14733:17;14726:47;14790:131;14916:4;14790:131;:::i;:::-;14782:139;;14509:419;;;:::o;14934:220::-;15074:34;15070:1;15062:6;15058:14;15051:58;15143:3;15138:2;15130:6;15126:15;15119:28;14934:220;:::o;15160:366::-;15302:3;15323:67;15387:2;15382:3;15323:67;:::i;:::-;15316:74;;15399:93;15488:3;15399:93;:::i;:::-;15517:2;15512:3;15508:12;15501:19;;15160:366;;;:::o;15532:419::-;15698:4;15736:2;15725:9;15721:18;15713:26;;15785:9;15779:4;15775:20;15771:1;15760:9;15756:17;15749:47;15813:131;15939:4;15813:131;:::i;:::-;15805:139;;15532:419;;;:::o;15957:223::-;16097:34;16093:1;16085:6;16081:14;16074:58;16166:6;16161:2;16153:6;16149:15;16142:31;15957:223;:::o;16186:366::-;16328:3;16349:67;16413:2;16408:3;16349:67;:::i;:::-;16342:74;;16425:93;16514:3;16425:93;:::i;:::-;16543:2;16538:3;16534:12;16527:19;;16186:366;;;:::o;16558:419::-;16724:4;16762:2;16751:9;16747:18;16739:26;;16811:9;16805:4;16801:20;16797:1;16786:9;16782:17;16775:47;16839:131;16965:4;16839:131;:::i;:::-;16831:139;;16558:419;;;:::o;16983:221::-;17123:34;17119:1;17111:6;17107:14;17100:58;17192:4;17187:2;17179:6;17175:15;17168:29;16983:221;:::o;17210:366::-;17352:3;17373:67;17437:2;17432:3;17373:67;:::i;:::-;17366:74;;17449:93;17538:3;17449:93;:::i;:::-;17567:2;17562:3;17558:12;17551:19;;17210:366;;;:::o;17582:419::-;17748:4;17786:2;17775:9;17771:18;17763:26;;17835:9;17829:4;17825:20;17821:1;17810:9;17806:17;17799:47;17863:131;17989:4;17863:131;:::i;:::-;17855:139;;17582:419;;;:::o;18007:224::-;18147:34;18143:1;18135:6;18131:14;18124:58;18216:7;18211:2;18203:6;18199:15;18192:32;18007:224;:::o;18237:366::-;18379:3;18400:67;18464:2;18459:3;18400:67;:::i;:::-;18393:74;;18476:93;18565:3;18476:93;:::i;:::-;18594:2;18589:3;18585:12;18578:19;;18237:366;;;:::o;18609:419::-;18775:4;18813:2;18802:9;18798:18;18790:26;;18862:9;18856:4;18852:20;18848:1;18837:9;18833:17;18826:47;18890:131;19016:4;18890:131;:::i;:::-;18882:139;;18609:419;;;:::o;19034:222::-;19174:34;19170:1;19162:6;19158:14;19151:58;19243:5;19238:2;19230:6;19226:15;19219:30;19034:222;:::o;19262:366::-;19404:3;19425:67;19489:2;19484:3;19425:67;:::i;:::-;19418:74;;19501:93;19590:3;19501:93;:::i;:::-;19619:2;19614:3;19610:12;19603:19;;19262:366;;;:::o;19634:419::-;19800:4;19838:2;19827:9;19823:18;19815:26;;19887:9;19881:4;19877:20;19873:1;19862:9;19858:17;19851:47;19915:131;20041:4;19915:131;:::i;:::-;19907:139;;19634:419;;;:::o;20059:228::-;20199:34;20195:1;20187:6;20183:14;20176:58;20268:11;20263:2;20255:6;20251:15;20244:36;20059:228;:::o;20293:366::-;20435:3;20456:67;20520:2;20515:3;20456:67;:::i;:::-;20449:74;;20532:93;20621:3;20532:93;:::i;:::-;20650:2;20645:3;20641:12;20634:19;;20293:366;;;:::o;20665:419::-;20831:4;20869:2;20858:9;20854:18;20846:26;;20918:9;20912:4;20908:20;20904:1;20893:9;20889:17;20882:47;20946:131;21072:4;20946:131;:::i;:::-;20938:139;;20665:419;;;:::o;21090:250::-;21230:34;21226:1;21218:6;21214:14;21207:58;21299:33;21294:2;21286:6;21282:15;21275:58;21090:250;:::o;21346:366::-;21488:3;21509:67;21573:2;21568:3;21509:67;:::i;:::-;21502:74;;21585:93;21674:3;21585:93;:::i;:::-;21703:2;21698:3;21694:12;21687:19;;21346:366;;;:::o;21718:419::-;21884:4;21922:2;21911:9;21907:18;21899:26;;21971:9;21965:4;21961:20;21957:1;21946:9;21942:17;21935:47;21999:131;22125:4;21999:131;:::i;:::-;21991:139;;21718:419;;;:::o;22143:178::-;22283:30;22279:1;22271:6;22267:14;22260:54;22143:178;:::o;22327:366::-;22469:3;22490:67;22554:2;22549:3;22490:67;:::i;:::-;22483:74;;22566:93;22655:3;22566:93;:::i;:::-;22684:2;22679:3;22675:12;22668:19;;22327:366;;;:::o;22699:419::-;22865:4;22903:2;22892:9;22888:18;22880:26;;22952:9;22946:4;22942:20;22938:1;22927:9;22923:17;22916:47;22980:131;23106:4;22980:131;:::i;:::-;22972:139;;22699:419;;;:::o;23124:222::-;23264:34;23260:1;23252:6;23248:14;23241:58;23333:5;23328:2;23320:6;23316:15;23309:30;23124:222;:::o;23352:366::-;23494:3;23515:67;23579:2;23574:3;23515:67;:::i;:::-;23508:74;;23591:93;23680:3;23591:93;:::i;:::-;23709:2;23704:3;23700:12;23693:19;;23352:366;;;:::o;23724:419::-;23890:4;23928:2;23917:9;23913:18;23905:26;;23977:9;23971:4;23967:20;23963:1;23952:9;23948:17;23941:47;24005:131;24131:4;24005:131;:::i;:::-;23997:139;;23724:419;;;:::o;24149:305::-;24189:3;24208:20;24226:1;24208:20;:::i;:::-;24203:25;;24242:20;24260:1;24242:20;:::i;:::-;24237:25;;24396:1;24328:66;24324:74;24321:1;24318:81;24315:107;;;24402:18;;:::i;:::-;24315:107;24446:1;24443;24439:9;24432:16;;24149:305;;;;:::o;24460:222::-;24600:34;24596:1;24588:6;24584:14;24577:58;24669:5;24664:2;24656:6;24652:15;24645:30;24460:222;:::o;24688:366::-;24830:3;24851:67;24915:2;24910:3;24851:67;:::i;:::-;24844:74;;24927:93;25016:3;24927:93;:::i;:::-;25045:2;25040:3;25036:12;25029:19;;24688:366;;;:::o;25060:419::-;25226:4;25264:2;25253:9;25249:18;25241:26;;25313:9;25307:4;25303:20;25299:1;25288:9;25284:17;25277:47;25341:131;25467:4;25341:131;:::i;:::-;25333:139;;25060:419;;;:::o;25485:191::-;25525:4;25545:20;25563:1;25545:20;:::i;:::-;25540:25;;25579:20;25597:1;25579:20;:::i;:::-;25574:25;;25618:1;25615;25612:8;25609:34;;;25623:18;;:::i;:::-;25609:34;25668:1;25665;25661:9;25653:17;;25485:191;;;;:::o;25682:229::-;25822:34;25818:1;25810:6;25806:14;25799:58;25891:12;25886:2;25878:6;25874:15;25867:37;25682:229;:::o;25917:366::-;26059:3;26080:67;26144:2;26139:3;26080:67;:::i;:::-;26073:74;;26156:93;26245:3;26156:93;:::i;:::-;26274:2;26269:3;26265:12;26258:19;;25917:366;;;:::o;26289:419::-;26455:4;26493:2;26482:9;26478:18;26470:26;;26542:9;26536:4;26532:20;26528:1;26517:9;26513:17;26506:47;26570:131;26696:4;26570:131;:::i;:::-;26562:139;;26289:419;;;:::o;26714:143::-;26771:5;26802:6;26796:13;26787:22;;26818:33;26845:5;26818:33;:::i;:::-;26714:143;;;;:::o;26863:351::-;26933:6;26982:2;26970:9;26961:7;26957:23;26953:32;26950:119;;;26988:79;;:::i;:::-;26950:119;27108:1;27133:64;27189:7;27180:6;27169:9;27165:22;27133:64;:::i;:::-;27123:74;;27079:128;26863:351;;;;:::o;27220:85::-;27265:7;27294:5;27283:16;;27220:85;;;:::o;27311:158::-;27369:9;27402:61;27420:42;27429:32;27455:5;27429:32;:::i;:::-;27420:42;:::i;:::-;27402:61;:::i;:::-;27389:74;;27311:158;;;:::o;27475:147::-;27570:45;27609:5;27570:45;:::i;:::-;27565:3;27558:58;27475:147;;:::o;27628:114::-;27695:6;27729:5;27723:12;27713:22;;27628:114;;;:::o;27748:184::-;27847:11;27881:6;27876:3;27869:19;27921:4;27916:3;27912:14;27897:29;;27748:184;;;;:::o;27938:132::-;28005:4;28028:3;28020:11;;28058:4;28053:3;28049:14;28041:22;;27938:132;;;:::o;28076:108::-;28153:24;28171:5;28153:24;:::i;:::-;28148:3;28141:37;28076:108;;:::o;28190:179::-;28259:10;28280:46;28322:3;28314:6;28280:46;:::i;:::-;28358:4;28353:3;28349:14;28335:28;;28190:179;;;;:::o;28375:113::-;28445:4;28477;28472:3;28468:14;28460:22;;28375:113;;;:::o;28524:732::-;28643:3;28672:54;28720:5;28672:54;:::i;:::-;28742:86;28821:6;28816:3;28742:86;:::i;:::-;28735:93;;28852:56;28902:5;28852:56;:::i;:::-;28931:7;28962:1;28947:284;28972:6;28969:1;28966:13;28947:284;;;29048:6;29042:13;29075:63;29134:3;29119:13;29075:63;:::i;:::-;29068:70;;29161:60;29214:6;29161:60;:::i;:::-;29151:70;;29007:224;28994:1;28991;28987:9;28982:14;;28947:284;;;28951:14;29247:3;29240:10;;28648:608;;;28524:732;;;;:::o;29262:831::-;29525:4;29563:3;29552:9;29548:19;29540:27;;29577:71;29645:1;29634:9;29630:17;29621:6;29577:71;:::i;:::-;29658:80;29734:2;29723:9;29719:18;29710:6;29658:80;:::i;:::-;29785:9;29779:4;29775:20;29770:2;29759:9;29755:18;29748:48;29813:108;29916:4;29907:6;29813:108;:::i;:::-;29805:116;;29931:72;29999:2;29988:9;29984:18;29975:6;29931:72;:::i;:::-;30013:73;30081:3;30070:9;30066:19;30057:6;30013:73;:::i;:::-;29262:831;;;;;;;;:::o;30099:177::-;30239:29;30235:1;30227:6;30223:14;30216:53;30099:177;:::o;30282:366::-;30424:3;30445:67;30509:2;30504:3;30445:67;:::i;:::-;30438:74;;30521:93;30610:3;30521:93;:::i;:::-;30639:2;30634:3;30630:12;30623:19;;30282:366;;;:::o;30654:419::-;30820:4;30858:2;30847:9;30843:18;30835:26;;30907:9;30901:4;30897:20;30893:1;30882:9;30878:17;30871:47;30935:131;31061:4;30935:131;:::i;:::-;30927:139;;30654:419;;;:::o

Swarm Source

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