ETH Price: $3,284.30 (-1.68%)

Token

Brotha (BROTHA)
 

Overview

Max Total Supply

100,000,000,000,000 BROTHA

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
873,447,057,335.264751881 BROTHA

Value
$0.00
0x136f4b5b6a306091b280e3f251fa0e21b1280cd5
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:
Nice

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
 *Submitted for verification at Etherscan.io on 2022-01-06
*/

/*


*/

//SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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 Nice is Context, IERC20, Ownable {
    using SafeMath for uint256;
    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 bots;
    mapping(address => uint256) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _maxTxAmount = _tTotal;
    uint256 private openBlock;
    uint256 private _swapTokensAtAmount = 100 * 10**9; // 100 tokens
    uint256 private _maxWalletAmount = _tTotal;
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;

    string private constant _name = "Brotha";
    string private constant _symbol = "BROTHA";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address payable addr1, address payable addr2, address payable addr3, address payable addr4, address payable addr5) {
        _feeAddrWallet1 = addr1;
        _feeAddrWallet2 = addr2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[addr4] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[addr5] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        _isExcludedFromFee[addr3] = true;
        emit Transfer(
            address(0),
            _msgSender(),
            _tTotal
        );
    }

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

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

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

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

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

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

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

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

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

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

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

    function _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");


        _feeAddr1 = 1;
        _feeAddr2 = 12;
        if (from != owner() && to != owner() && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {


            require(!bots[from] && !bots[to]);
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to] &&
                cooldownEnabled
            ) {

                // Not over max tx amount
                require(amount <= _maxTxAmount, "Over max transaction amount.");
                // Cooldown
                require(cooldown[to] < block.timestamp, "Cooldown enforced.");
                // Max wallet
                require(balanceOf(to) + amount <= _maxWalletAmount, "Over max wallet amount.");
                cooldown[to] = block.timestamp + (30 seconds);
            }

            if (
                to == uniswapV2Pair &&
                from != address(uniswapV2Router) &&
                !_isExcludedFromFee[from]
            ) {
                _feeAddr1 = 1;
                _feeAddr2 = 12;
            }

            if (openBlock + 5 >= block.number && from == uniswapV2Pair) {
                _feeAddr1 = 1;
                _feeAddr2 = 99;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {

                swapTokensForEth(contractTokenBalance);
              uint256 contractETHBalance = address(this).balance;
               if (contractETHBalance > 0) {
                 sendETHToFee(address(this).balance);
            }
            }
        } else {
            // Only if it's not from or to owner or from contract address.
            _feeAddr1 = 0;
            _feeAddr2 = 0;
        }

        _tokenTransfer(from, to, amount);
    }

    function swapAndLiquifyEnabled(bool enabled) public onlyOwner {
        inSwap = enabled;
    }

    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 {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }

    function setMaxTxAmount(uint256 amount) public onlyOwner {
        _maxTxAmount = amount * 10**9;
    }
    function setMaxWalletAmount(uint256 amount) public onlyOwner {
        _maxWalletAmount = amount * 10**9;
    }

    function whitelist(address payable adr1) external onlyOwner {
    _isExcludedFromFee[adr1] = true;
  }
  function unwhitelist(address payable adr2) external onlyOwner {
  _isExcludedFromFee[adr2] = false;
}

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        cooldownEnabled = true;
        // .5%
        _maxTxAmount = 1000000000000 * 10**9;
        _maxWalletAmount = 2000000000000 * 10**9;
        tradingOpen = true;
        openBlock = block.number;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function addBot(address theBot) public onlyOwner {
        bots[theBot] = true;
    }

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

    function setSwapTokens(uint256 swaptokens) public onlyOwner {
        _swapTokensAtAmount = swaptokens;
    }


    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        _transferStandard(sender, recipient, amount);
    }

    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 manualSwap() external {
          uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualSend() external {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

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

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


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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"},{"internalType":"address payable","name":"addr3","type":"address"},{"internalType":"address payable","name":"addr4","type":"address"},{"internalType":"address payable","name":"addr5","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"theBot","type":"address"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swaptokens","type":"uint256"}],"name":"setSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"swapAndLiquifyEnabled","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 payable","name":"adr2","type":"address"}],"name":"unwhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr1","type":"address"}],"name":"whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405269152d02c7e14af68000006000196200001e919062000718565b6000196200002d91906200069f565b60085569152d02c7e14af6800000600a5564174876e800600c5569152d02c7e14af6800000600d556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000601360176101000a81548160ff021916908315150217905550348015620000b357600080fd5b506040516200426b3803806200426b8339818101604052810190620000d99190620005ef565b6000620000eb620005a760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35084601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008546002600062000222620005a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000276620005af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200052b620005a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69152d02c7e14af680000060405162000594919062000682565b60405180910390a35050505050620007c8565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620005e981620007ae565b92915050565b600080600080600060a086880312156200060857600080fd5b60006200061888828901620005d8565b95505060206200062b88828901620005d8565b94505060406200063e88828901620005d8565b93505060606200065188828901620005d8565b92505060806200066488828901620005d8565b9150509295509295909350565b6200067c816200070e565b82525050565b600060208201905062000699600083018462000671565b92915050565b6000620006ac826200070e565b9150620006b9836200070e565b925082821015620006cf57620006ce62000750565b5b828203905092915050565b6000620006e782620006ee565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000725826200070e565b915062000732836200070e565b9250826200074557620007446200077f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620007b981620006da565b8114620007c557600080fd5b50565b613a9380620007d86000396000f3fe6080604052600436106101445760003560e01c80638da5cb5b116100b6578063c9567bf91161006f578063c9567bf91461043f578063dd62ed3e14610456578063e98391ff14610493578063ec28438a146104bc578063f4293890146104e5578063ffecf516146104fc5761014b565b80638da5cb5b1461033157806395d89b411461035c5780639a590427146103875780639b19251a146103b0578063a9059cbb146103d9578063bf6642e7146104165761014b565b806327a14fc21161010857806327a14fc214610249578063313ce5671461027257806351bc3c851461029d5780635932ead1146102b457806370a08231146102dd578063715018a61461031a5761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b857806323b872dd146101e3578063273123b7146102205761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610525565b60405161017291906131e3565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612d24565b610562565b6040516101af91906131c8565b60405180910390f35b3480156101c457600080fd5b506101cd610580565b6040516101da91906133a5565b60405180910390f35b3480156101ef57600080fd5b5061020a60048036038101906102059190612cd5565b610592565b60405161021791906131c8565b60405180910390f35b34801561022c57600080fd5b5061024760048036038101906102429190612c1e565b61066b565b005b34801561025557600080fd5b50610270600480360381019061026b9190612db2565b61075b565b005b34801561027e57600080fd5b50610287610809565b604051610294919061341a565b60405180910390f35b3480156102a957600080fd5b506102b2610812565b005b3480156102c057600080fd5b506102db60048036038101906102d69190612d60565b61082b565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190612c1e565b6108dd565b60405161031191906133a5565b60405180910390f35b34801561032657600080fd5b5061032f61092e565b005b34801561033d57600080fd5b50610346610a81565b60405161035391906130fa565b60405180910390f35b34801561036857600080fd5b50610371610aaa565b60405161037e91906131e3565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190612c70565b610ae7565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612c70565b610bd7565b005b3480156103e557600080fd5b5061040060048036038101906103fb9190612d24565b610cc7565b60405161040d91906131c8565b60405180910390f35b34801561042257600080fd5b5061043d60048036038101906104389190612db2565b610ce5565b005b34801561044b57600080fd5b50610454610d84565b005b34801561046257600080fd5b5061047d60048036038101906104789190612c99565b6112f9565b60405161048a91906133a5565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b59190612d60565b611380565b005b3480156104c857600080fd5b506104e360048036038101906104de9190612db2565b611432565b005b3480156104f157600080fd5b506104fa6114e0565b005b34801561050857600080fd5b50610523600480360381019061051e9190612c1e565b6114f1565b005b60606040518060400160405280600681526020017f42726f7468610000000000000000000000000000000000000000000000000000815250905090565b600061057661056f6115e1565b84846115e9565b6001905092915050565b600069152d02c7e14af6800000905090565b600061059f8484846117b4565b610660846105ab6115e1565b61065b85604051806060016040528060288152602001613a3660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106116115e1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200b9092919063ffffffff16565b6115e9565b600190509392505050565b6106736115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f7906132a5565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6107636115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e7906132a5565b60405180910390fd5b633b9aca00816108009190613511565b600d8190555050565b60006009905090565b600061081d306108dd565b90506108288161206f565b50565b6108336115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b7906132a5565b60405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b6000610927600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612369565b9050919050565b6109366115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba906132a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f42524f5448410000000000000000000000000000000000000000000000000000815250905090565b610aef6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b73906132a5565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610bdf6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c63906132a5565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610cdb610cd46115e1565b84846117b4565b6001905092915050565b610ced6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d71906132a5565b60405180910390fd5b80600c8190555050565b610d8c6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e10906132a5565b60405180910390fd5b601360149054906101000a900460ff1615610e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6090613345565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610efa30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af68000006115e9565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4057600080fd5b505afa158015610f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f789190612c47565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610fda57600080fd5b505afa158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190612c47565b6040518363ffffffff1660e01b815260040161102f929190613115565b602060405180830381600087803b15801561104957600080fd5b505af115801561105d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110819190612c47565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061110a306108dd565b600080611115610a81565b426040518863ffffffff1660e01b815260040161113796959493929190613167565b6060604051808303818588803b15801561115057600080fd5b505af1158015611164573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111899190612ddb565b5050506001601360166101000a81548160ff0219169083151502179055506001601360176101000a81548160ff021916908315150217905550683635c9adc5dea00000600a81905550686c6b935b8bbd400000600d819055506001601360146101000a81548160ff02191690831515021790555043600b81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112a392919061313e565b602060405180830381600087803b1580156112bd57600080fd5b505af11580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f59190612d89565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113886115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c906132a5565b60405180910390fd5b80601360156101000a81548160ff02191690831515021790555050565b61143a6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114be906132a5565b60405180910390fd5b633b9aca00816114d79190613511565b600a8190555050565b60004790506114ee816123d7565b50565b6114f96115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157d906132a5565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165090613325565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c090613245565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117a791906133a5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b90613305565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188b90613205565b60405180910390fd5b600081116118d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ce906132c5565b60405180910390fd5b6001600e81905550600c600f819055506118ef610a81565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561195d575061192d610a81565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561199557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119eb5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a415750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fea57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611aea5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611af357600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b9e5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf45750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c0c5750601360179054906101000a900460ff165b15611d8057600a54811115611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d90613365565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90613385565b60405180910390fd5b600d5481611ce4846108dd565b611cee919061348a565b1115611d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d26906132e5565b60405180910390fd5b601e42611d3c919061348a565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611e2b5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e815750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e97576001600e81905550600c600f819055505b436005600b54611ea7919061348a565b10158015611f025750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611f18576001600e819055506063600f819055505b6000611f23306108dd565b90506000600c548210159050808015611f495750601360159054906101000a900460ff16155b8015611fa35750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611fbb5750601360169054906101000a900460ff165b15611fe357611fc98261206f565b60004790506000811115611fe157611fe0476123d7565b5b505b5050611ffb565b6000600e819055506000600f819055505b6120068383836124d2565b505050565b6000838311158290612053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204a91906131e3565b60405180910390fd5b5060008385612062919061356b565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156120fb5781602001602082028036833780820191505090505b5090503081600081518110612139577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121db57600080fd5b505afa1580156121ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122139190612c47565b8160018151811061224d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122b430601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115e9565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123189594939291906133c0565b600060405180830381600087803b15801561233257600080fd5b505af1158015612346573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b60006008548211156123b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a790613225565b60405180910390fd5b60006123ba6124e2565b90506123cf818461250d90919063ffffffff16565b915050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61242760028461250d90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612452573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124a360028461250d90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156124ce573d6000803e3d6000fd5b5050565b6124dd838383612557565b505050565b60008060006124ef612722565b91509150612506818361250d90919063ffffffff16565b9250505090565b600061254f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612787565b905092915050565b600080600080600080612569876127ea565b9550955095509550955095506125c786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285290919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061265c85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289c90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126a8816128fa565b6126b284836129b7565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161270f91906133a5565b60405180910390a3505050505050505050565b60008060006008549050600069152d02c7e14af6800000905061275a69152d02c7e14af680000060085461250d90919063ffffffff16565b82101561277a5760085469152d02c7e14af6800000935093505050612783565b81819350935050505b9091565b600080831182906127ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c591906131e3565b60405180910390fd5b50600083856127dd91906134e0565b9050809150509392505050565b60008060008060008060008060006128078a600e54600f546129f1565b92509250925060006128176124e2565b9050600080600061282a8e878787612a87565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061289483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061200b565b905092915050565b60008082846128ab919061348a565b9050838110156128f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e790613265565b60405180910390fd5b8091505092915050565b60006129046124e2565b9050600061291b8284612b1090919063ffffffff16565b905061296f81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289c90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129cc8260085461285290919063ffffffff16565b6008819055506129e78160095461289c90919063ffffffff16565b6009819055505050565b600080600080612a1d6064612a0f888a612b1090919063ffffffff16565b61250d90919063ffffffff16565b90506000612a476064612a39888b612b1090919063ffffffff16565b61250d90919063ffffffff16565b90506000612a7082612a62858c61285290919063ffffffff16565b61285290919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612aa08589612b1090919063ffffffff16565b90506000612ab78689612b1090919063ffffffff16565b90506000612ace8789612b1090919063ffffffff16565b90506000612af782612ae9858761285290919063ffffffff16565b61285290919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612b235760009050612b85565b60008284612b319190613511565b9050828482612b4091906134e0565b14612b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7790613285565b60405180910390fd5b809150505b92915050565b600081359050612b9a816139d9565b92915050565b600081519050612baf816139d9565b92915050565b600081359050612bc4816139f0565b92915050565b600081359050612bd981613a07565b92915050565b600081519050612bee81613a07565b92915050565b600081359050612c0381613a1e565b92915050565b600081519050612c1881613a1e565b92915050565b600060208284031215612c3057600080fd5b6000612c3e84828501612b8b565b91505092915050565b600060208284031215612c5957600080fd5b6000612c6784828501612ba0565b91505092915050565b600060208284031215612c8257600080fd5b6000612c9084828501612bb5565b91505092915050565b60008060408385031215612cac57600080fd5b6000612cba85828601612b8b565b9250506020612ccb85828601612b8b565b9150509250929050565b600080600060608486031215612cea57600080fd5b6000612cf886828701612b8b565b9350506020612d0986828701612b8b565b9250506040612d1a86828701612bf4565b9150509250925092565b60008060408385031215612d3757600080fd5b6000612d4585828601612b8b565b9250506020612d5685828601612bf4565b9150509250929050565b600060208284031215612d7257600080fd5b6000612d8084828501612bca565b91505092915050565b600060208284031215612d9b57600080fd5b6000612da984828501612bdf565b91505092915050565b600060208284031215612dc457600080fd5b6000612dd284828501612bf4565b91505092915050565b600080600060608486031215612df057600080fd5b6000612dfe86828701612c09565b9350506020612e0f86828701612c09565b9250506040612e2086828701612c09565b9150509250925092565b6000612e368383612e42565b60208301905092915050565b612e4b8161359f565b82525050565b612e5a8161359f565b82525050565b6000612e6b82613445565b612e758185613468565b9350612e8083613435565b8060005b83811015612eb1578151612e988882612e2a565b9750612ea38361345b565b925050600181019050612e84565b5085935050505092915050565b612ec7816135c3565b82525050565b612ed681613606565b82525050565b6000612ee782613450565b612ef18185613479565b9350612f01818560208601613618565b612f0a816136a9565b840191505092915050565b6000612f22602383613479565b9150612f2d826136ba565b604082019050919050565b6000612f45602a83613479565b9150612f5082613709565b604082019050919050565b6000612f68602283613479565b9150612f7382613758565b604082019050919050565b6000612f8b601b83613479565b9150612f96826137a7565b602082019050919050565b6000612fae602183613479565b9150612fb9826137d0565b604082019050919050565b6000612fd1602083613479565b9150612fdc8261381f565b602082019050919050565b6000612ff4602983613479565b9150612fff82613848565b604082019050919050565b6000613017601783613479565b915061302282613897565b602082019050919050565b600061303a602583613479565b9150613045826138c0565b604082019050919050565b600061305d602483613479565b91506130688261390f565b604082019050919050565b6000613080601783613479565b915061308b8261395e565b602082019050919050565b60006130a3601c83613479565b91506130ae82613987565b602082019050919050565b60006130c6601283613479565b91506130d1826139b0565b602082019050919050565b6130e5816135ef565b82525050565b6130f4816135f9565b82525050565b600060208201905061310f6000830184612e51565b92915050565b600060408201905061312a6000830185612e51565b6131376020830184612e51565b9392505050565b60006040820190506131536000830185612e51565b61316060208301846130dc565b9392505050565b600060c08201905061317c6000830189612e51565b61318960208301886130dc565b6131966040830187612ecd565b6131a36060830186612ecd565b6131b06080830185612e51565b6131bd60a08301846130dc565b979650505050505050565b60006020820190506131dd6000830184612ebe565b92915050565b600060208201905081810360008301526131fd8184612edc565b905092915050565b6000602082019050818103600083015261321e81612f15565b9050919050565b6000602082019050818103600083015261323e81612f38565b9050919050565b6000602082019050818103600083015261325e81612f5b565b9050919050565b6000602082019050818103600083015261327e81612f7e565b9050919050565b6000602082019050818103600083015261329e81612fa1565b9050919050565b600060208201905081810360008301526132be81612fc4565b9050919050565b600060208201905081810360008301526132de81612fe7565b9050919050565b600060208201905081810360008301526132fe8161300a565b9050919050565b6000602082019050818103600083015261331e8161302d565b9050919050565b6000602082019050818103600083015261333e81613050565b9050919050565b6000602082019050818103600083015261335e81613073565b9050919050565b6000602082019050818103600083015261337e81613096565b9050919050565b6000602082019050818103600083015261339e816130b9565b9050919050565b60006020820190506133ba60008301846130dc565b92915050565b600060a0820190506133d560008301886130dc565b6133e26020830187612ecd565b81810360408301526133f48186612e60565b90506134036060830185612e51565b61341060808301846130dc565b9695505050505050565b600060208201905061342f60008301846130eb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613495826135ef565b91506134a0836135ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134d5576134d461364b565b5b828201905092915050565b60006134eb826135ef565b91506134f6836135ef565b9250826135065761350561367a565b5b828204905092915050565b600061351c826135ef565b9150613527836135ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135605761355f61364b565b5b828202905092915050565b6000613576826135ef565b9150613581836135ef565b9250828210156135945761359361364b565b5b828203905092915050565b60006135aa826135cf565b9050919050565b60006135bc826135cf565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613611826135ef565b9050919050565b60005b8381101561363657808201518184015260208101905061361b565b83811115613645576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4f766572206d61782077616c6c657420616d6f756e742e000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4f766572206d6178207472616e73616374696f6e20616d6f756e742e00000000600082015250565b7f436f6f6c646f776e20656e666f726365642e0000000000000000000000000000600082015250565b6139e28161359f565b81146139ed57600080fd5b50565b6139f9816135b1565b8114613a0457600080fd5b50565b613a10816135c3565b8114613a1b57600080fd5b50565b613a27816135ef565b8114613a3257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204135df46545556c9a850728e2f7adf16f4f66fe6b016913a3f97f386ab8aae0164736f6c6343000804003300000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd

Deployed Bytecode

0x6080604052600436106101445760003560e01c80638da5cb5b116100b6578063c9567bf91161006f578063c9567bf91461043f578063dd62ed3e14610456578063e98391ff14610493578063ec28438a146104bc578063f4293890146104e5578063ffecf516146104fc5761014b565b80638da5cb5b1461033157806395d89b411461035c5780639a590427146103875780639b19251a146103b0578063a9059cbb146103d9578063bf6642e7146104165761014b565b806327a14fc21161010857806327a14fc214610249578063313ce5671461027257806351bc3c851461029d5780635932ead1146102b457806370a08231146102dd578063715018a61461031a5761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b857806323b872dd146101e3578063273123b7146102205761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610525565b60405161017291906131e3565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612d24565b610562565b6040516101af91906131c8565b60405180910390f35b3480156101c457600080fd5b506101cd610580565b6040516101da91906133a5565b60405180910390f35b3480156101ef57600080fd5b5061020a60048036038101906102059190612cd5565b610592565b60405161021791906131c8565b60405180910390f35b34801561022c57600080fd5b5061024760048036038101906102429190612c1e565b61066b565b005b34801561025557600080fd5b50610270600480360381019061026b9190612db2565b61075b565b005b34801561027e57600080fd5b50610287610809565b604051610294919061341a565b60405180910390f35b3480156102a957600080fd5b506102b2610812565b005b3480156102c057600080fd5b506102db60048036038101906102d69190612d60565b61082b565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190612c1e565b6108dd565b60405161031191906133a5565b60405180910390f35b34801561032657600080fd5b5061032f61092e565b005b34801561033d57600080fd5b50610346610a81565b60405161035391906130fa565b60405180910390f35b34801561036857600080fd5b50610371610aaa565b60405161037e91906131e3565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190612c70565b610ae7565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612c70565b610bd7565b005b3480156103e557600080fd5b5061040060048036038101906103fb9190612d24565b610cc7565b60405161040d91906131c8565b60405180910390f35b34801561042257600080fd5b5061043d60048036038101906104389190612db2565b610ce5565b005b34801561044b57600080fd5b50610454610d84565b005b34801561046257600080fd5b5061047d60048036038101906104789190612c99565b6112f9565b60405161048a91906133a5565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b59190612d60565b611380565b005b3480156104c857600080fd5b506104e360048036038101906104de9190612db2565b611432565b005b3480156104f157600080fd5b506104fa6114e0565b005b34801561050857600080fd5b50610523600480360381019061051e9190612c1e565b6114f1565b005b60606040518060400160405280600681526020017f42726f7468610000000000000000000000000000000000000000000000000000815250905090565b600061057661056f6115e1565b84846115e9565b6001905092915050565b600069152d02c7e14af6800000905090565b600061059f8484846117b4565b610660846105ab6115e1565b61065b85604051806060016040528060288152602001613a3660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106116115e1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200b9092919063ffffffff16565b6115e9565b600190509392505050565b6106736115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f7906132a5565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6107636115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e7906132a5565b60405180910390fd5b633b9aca00816108009190613511565b600d8190555050565b60006009905090565b600061081d306108dd565b90506108288161206f565b50565b6108336115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b7906132a5565b60405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b6000610927600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612369565b9050919050565b6109366115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba906132a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f42524f5448410000000000000000000000000000000000000000000000000000815250905090565b610aef6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b73906132a5565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610bdf6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c63906132a5565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610cdb610cd46115e1565b84846117b4565b6001905092915050565b610ced6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d71906132a5565b60405180910390fd5b80600c8190555050565b610d8c6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e10906132a5565b60405180910390fd5b601360149054906101000a900460ff1615610e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6090613345565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610efa30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af68000006115e9565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4057600080fd5b505afa158015610f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f789190612c47565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610fda57600080fd5b505afa158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190612c47565b6040518363ffffffff1660e01b815260040161102f929190613115565b602060405180830381600087803b15801561104957600080fd5b505af115801561105d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110819190612c47565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061110a306108dd565b600080611115610a81565b426040518863ffffffff1660e01b815260040161113796959493929190613167565b6060604051808303818588803b15801561115057600080fd5b505af1158015611164573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111899190612ddb565b5050506001601360166101000a81548160ff0219169083151502179055506001601360176101000a81548160ff021916908315150217905550683635c9adc5dea00000600a81905550686c6b935b8bbd400000600d819055506001601360146101000a81548160ff02191690831515021790555043600b81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112a392919061313e565b602060405180830381600087803b1580156112bd57600080fd5b505af11580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f59190612d89565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113886115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c906132a5565b60405180910390fd5b80601360156101000a81548160ff02191690831515021790555050565b61143a6115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114be906132a5565b60405180910390fd5b633b9aca00816114d79190613511565b600a8190555050565b60004790506114ee816123d7565b50565b6114f96115e1565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157d906132a5565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165090613325565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c090613245565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117a791906133a5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b90613305565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188b90613205565b60405180910390fd5b600081116118d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ce906132c5565b60405180910390fd5b6001600e81905550600c600f819055506118ef610a81565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561195d575061192d610a81565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561199557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119eb5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a415750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fea57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611aea5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611af357600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b9e5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf45750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c0c5750601360179054906101000a900460ff165b15611d8057600a54811115611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d90613365565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90613385565b60405180910390fd5b600d5481611ce4846108dd565b611cee919061348a565b1115611d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d26906132e5565b60405180910390fd5b601e42611d3c919061348a565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611e2b5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e815750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e97576001600e81905550600c600f819055505b436005600b54611ea7919061348a565b10158015611f025750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611f18576001600e819055506063600f819055505b6000611f23306108dd565b90506000600c548210159050808015611f495750601360159054906101000a900460ff16155b8015611fa35750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611fbb5750601360169054906101000a900460ff165b15611fe357611fc98261206f565b60004790506000811115611fe157611fe0476123d7565b5b505b5050611ffb565b6000600e819055506000600f819055505b6120068383836124d2565b505050565b6000838311158290612053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204a91906131e3565b60405180910390fd5b5060008385612062919061356b565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156120fb5781602001602082028036833780820191505090505b5090503081600081518110612139577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121db57600080fd5b505afa1580156121ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122139190612c47565b8160018151811061224d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122b430601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115e9565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123189594939291906133c0565b600060405180830381600087803b15801561233257600080fd5b505af1158015612346573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b60006008548211156123b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a790613225565b60405180910390fd5b60006123ba6124e2565b90506123cf818461250d90919063ffffffff16565b915050919050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61242760028461250d90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612452573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6124a360028461250d90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156124ce573d6000803e3d6000fd5b5050565b6124dd838383612557565b505050565b60008060006124ef612722565b91509150612506818361250d90919063ffffffff16565b9250505090565b600061254f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612787565b905092915050565b600080600080600080612569876127ea565b9550955095509550955095506125c786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285290919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061265c85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289c90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126a8816128fa565b6126b284836129b7565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161270f91906133a5565b60405180910390a3505050505050505050565b60008060006008549050600069152d02c7e14af6800000905061275a69152d02c7e14af680000060085461250d90919063ffffffff16565b82101561277a5760085469152d02c7e14af6800000935093505050612783565b81819350935050505b9091565b600080831182906127ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c591906131e3565b60405180910390fd5b50600083856127dd91906134e0565b9050809150509392505050565b60008060008060008060008060006128078a600e54600f546129f1565b92509250925060006128176124e2565b9050600080600061282a8e878787612a87565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061289483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061200b565b905092915050565b60008082846128ab919061348a565b9050838110156128f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e790613265565b60405180910390fd5b8091505092915050565b60006129046124e2565b9050600061291b8284612b1090919063ffffffff16565b905061296f81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289c90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129cc8260085461285290919063ffffffff16565b6008819055506129e78160095461289c90919063ffffffff16565b6009819055505050565b600080600080612a1d6064612a0f888a612b1090919063ffffffff16565b61250d90919063ffffffff16565b90506000612a476064612a39888b612b1090919063ffffffff16565b61250d90919063ffffffff16565b90506000612a7082612a62858c61285290919063ffffffff16565b61285290919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612aa08589612b1090919063ffffffff16565b90506000612ab78689612b1090919063ffffffff16565b90506000612ace8789612b1090919063ffffffff16565b90506000612af782612ae9858761285290919063ffffffff16565b61285290919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612b235760009050612b85565b60008284612b319190613511565b9050828482612b4091906134e0565b14612b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7790613285565b60405180910390fd5b809150505b92915050565b600081359050612b9a816139d9565b92915050565b600081519050612baf816139d9565b92915050565b600081359050612bc4816139f0565b92915050565b600081359050612bd981613a07565b92915050565b600081519050612bee81613a07565b92915050565b600081359050612c0381613a1e565b92915050565b600081519050612c1881613a1e565b92915050565b600060208284031215612c3057600080fd5b6000612c3e84828501612b8b565b91505092915050565b600060208284031215612c5957600080fd5b6000612c6784828501612ba0565b91505092915050565b600060208284031215612c8257600080fd5b6000612c9084828501612bb5565b91505092915050565b60008060408385031215612cac57600080fd5b6000612cba85828601612b8b565b9250506020612ccb85828601612b8b565b9150509250929050565b600080600060608486031215612cea57600080fd5b6000612cf886828701612b8b565b9350506020612d0986828701612b8b565b9250506040612d1a86828701612bf4565b9150509250925092565b60008060408385031215612d3757600080fd5b6000612d4585828601612b8b565b9250506020612d5685828601612bf4565b9150509250929050565b600060208284031215612d7257600080fd5b6000612d8084828501612bca565b91505092915050565b600060208284031215612d9b57600080fd5b6000612da984828501612bdf565b91505092915050565b600060208284031215612dc457600080fd5b6000612dd284828501612bf4565b91505092915050565b600080600060608486031215612df057600080fd5b6000612dfe86828701612c09565b9350506020612e0f86828701612c09565b9250506040612e2086828701612c09565b9150509250925092565b6000612e368383612e42565b60208301905092915050565b612e4b8161359f565b82525050565b612e5a8161359f565b82525050565b6000612e6b82613445565b612e758185613468565b9350612e8083613435565b8060005b83811015612eb1578151612e988882612e2a565b9750612ea38361345b565b925050600181019050612e84565b5085935050505092915050565b612ec7816135c3565b82525050565b612ed681613606565b82525050565b6000612ee782613450565b612ef18185613479565b9350612f01818560208601613618565b612f0a816136a9565b840191505092915050565b6000612f22602383613479565b9150612f2d826136ba565b604082019050919050565b6000612f45602a83613479565b9150612f5082613709565b604082019050919050565b6000612f68602283613479565b9150612f7382613758565b604082019050919050565b6000612f8b601b83613479565b9150612f96826137a7565b602082019050919050565b6000612fae602183613479565b9150612fb9826137d0565b604082019050919050565b6000612fd1602083613479565b9150612fdc8261381f565b602082019050919050565b6000612ff4602983613479565b9150612fff82613848565b604082019050919050565b6000613017601783613479565b915061302282613897565b602082019050919050565b600061303a602583613479565b9150613045826138c0565b604082019050919050565b600061305d602483613479565b91506130688261390f565b604082019050919050565b6000613080601783613479565b915061308b8261395e565b602082019050919050565b60006130a3601c83613479565b91506130ae82613987565b602082019050919050565b60006130c6601283613479565b91506130d1826139b0565b602082019050919050565b6130e5816135ef565b82525050565b6130f4816135f9565b82525050565b600060208201905061310f6000830184612e51565b92915050565b600060408201905061312a6000830185612e51565b6131376020830184612e51565b9392505050565b60006040820190506131536000830185612e51565b61316060208301846130dc565b9392505050565b600060c08201905061317c6000830189612e51565b61318960208301886130dc565b6131966040830187612ecd565b6131a36060830186612ecd565b6131b06080830185612e51565b6131bd60a08301846130dc565b979650505050505050565b60006020820190506131dd6000830184612ebe565b92915050565b600060208201905081810360008301526131fd8184612edc565b905092915050565b6000602082019050818103600083015261321e81612f15565b9050919050565b6000602082019050818103600083015261323e81612f38565b9050919050565b6000602082019050818103600083015261325e81612f5b565b9050919050565b6000602082019050818103600083015261327e81612f7e565b9050919050565b6000602082019050818103600083015261329e81612fa1565b9050919050565b600060208201905081810360008301526132be81612fc4565b9050919050565b600060208201905081810360008301526132de81612fe7565b9050919050565b600060208201905081810360008301526132fe8161300a565b9050919050565b6000602082019050818103600083015261331e8161302d565b9050919050565b6000602082019050818103600083015261333e81613050565b9050919050565b6000602082019050818103600083015261335e81613073565b9050919050565b6000602082019050818103600083015261337e81613096565b9050919050565b6000602082019050818103600083015261339e816130b9565b9050919050565b60006020820190506133ba60008301846130dc565b92915050565b600060a0820190506133d560008301886130dc565b6133e26020830187612ecd565b81810360408301526133f48186612e60565b90506134036060830185612e51565b61341060808301846130dc565b9695505050505050565b600060208201905061342f60008301846130eb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613495826135ef565b91506134a0836135ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134d5576134d461364b565b5b828201905092915050565b60006134eb826135ef565b91506134f6836135ef565b9250826135065761350561367a565b5b828204905092915050565b600061351c826135ef565b9150613527836135ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135605761355f61364b565b5b828202905092915050565b6000613576826135ef565b9150613581836135ef565b9250828210156135945761359361364b565b5b828203905092915050565b60006135aa826135cf565b9050919050565b60006135bc826135cf565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613611826135ef565b9050919050565b60005b8381101561363657808201518184015260208101905061361b565b83811115613645576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4f766572206d61782077616c6c657420616d6f756e742e000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4f766572206d6178207472616e73616374696f6e20616d6f756e742e00000000600082015250565b7f436f6f6c646f776e20656e666f726365642e0000000000000000000000000000600082015250565b6139e28161359f565b81146139ed57600080fd5b50565b6139f9816135b1565b8114613a0457600080fd5b50565b613a10816135c3565b8114613a1b57600080fd5b50565b613a27816135ef565b8114613a3257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204135df46545556c9a850728e2f7adf16f4f66fe6b016913a3f97f386ab8aae0164736f6c63430008040033

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

00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd

-----Decoded View---------------
Arg [0] : addr1 (address): 0x75aB6b140109dfFDb6C06b6876277353aB9400bD
Arg [1] : addr2 (address): 0x75aB6b140109dfFDb6C06b6876277353aB9400bD
Arg [2] : addr3 (address): 0x75aB6b140109dfFDb6C06b6876277353aB9400bD
Arg [3] : addr4 (address): 0x75aB6b140109dfFDb6C06b6876277353aB9400bD
Arg [4] : addr5 (address): 0x75aB6b140109dfFDb6C06b6876277353aB9400bD

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd
Arg [1] : 00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd
Arg [2] : 00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd
Arg [3] : 00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd
Arg [4] : 00000000000000000000000075ab6b140109dffdb6c06b6876277353ab9400bd


Deployed Bytecode Sourcemap

3945:13219:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6132:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7057:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6409:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7258:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13262:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11728:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6318:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14696:146;;;;;;;;;;;;;:::i;:::-;;7712:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6512:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2897:148;;;;;;;;;;;;;:::i;:::-;;2683:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6223:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11957:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11849:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6658:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13358:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12068:1091;;;;;;;;;;;;;:::i;:::-;;6865:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10859:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11617:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14850:143;;;;;;;;;;;;;:::i;:::-;;13167:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6132:83;6169:13;6202:5;;;;;;;;;;;;;;;;;6195:12;;6132:83;:::o;7057:193::-;7159:4;7181:39;7190:12;:10;:12::i;:::-;7204:7;7213:6;7181:8;:39::i;:::-;7238:4;7231:11;;7057:193;;;;:::o;6409:95::-;6462:7;4438:23;6482:14;;6409:95;:::o;7258:446::-;7390:4;7407:36;7417:6;7425:9;7436:6;7407:9;:36::i;:::-;7454:220;7477:6;7498:12;:10;:12::i;:::-;7525:138;7581:6;7525:138;;;;;;;;;;;;;;;;;:11;:19;7537:6;7525:19;;;;;;;;;;;;;;;:33;7545:12;:10;:12::i;:::-;7525:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7454:8;:220::i;:::-;7692:4;7685:11;;7258:446;;;;;:::o;13262:88::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13337:5:::1;13322:4;:12;13327:6;13322:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13262:88:::0;:::o;11728:113::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11828:5:::1;11819:6;:14;;;;:::i;:::-;11800:16;:33;;;;11728:113:::0;:::o;6318:83::-;6359:5;5042:1;6377:16;;6318:83;:::o;14696:146::-;14740:23;14766:24;14784:4;14766:9;:24::i;:::-;14740:50;;14801:33;14818:15;14801:16;:33::i;:::-;14696:146;:::o;7712:101::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7800:5:::1;7782:15;;:23;;;;;;;;;;;;;;;;;;7712:101:::0;:::o;6512:138::-;6578:7;6605:37;6625:7;:16;6633:7;6625:16;;;;;;;;;;;;;;;;6605:19;:37::i;:::-;6598:44;;6512:138;;;:::o;2897:148::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3004:1:::1;2967:40;;2988:6;::::0;::::1;;;;;;;;2967:40;;;;;;;;;;;;3035:1;3018:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2897:148::o:0;2683:79::-;2721:7;2748:6;;;;;;;;;;;2741:13;;2683:79;:::o;6223:87::-;6262:13;6295:7;;;;;;;;;;;;;;;;;6288:14;;6223:87;:::o;11957:103::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12051:5:::1;12024:18;:24;12043:4;12024:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;11957:103:::0;:::o;11849:104::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11943:4:::1;11916:18;:24;11935:4;11916:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;11849:104:::0;:::o;6658:199::-;6763:4;6785:42;6795:12;:10;:12::i;:::-;6809:9;6820:6;6785:9;:42::i;:::-;6845:4;6838:11;;6658:199;;;;:::o;13358:111::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13451:10:::1;13429:19;:32;;;;13358:111:::0;:::o;12068:1091::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12130:11:::1;;;;;;;;;;;12129:12;12121:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12180:35;12251:42;12180:124;;12333:16;12315:15;;:34;;;;;;;;;;;;;;;;;;12360:58;12377:4;12392:15;;;;;;;;;;;4438:23;12360:8;:58::i;:::-;12463:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12445:70;;;12524:4;12531:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12445:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12429:13;;:126;;;;;;;;;;;;;;;;;;12566:15;;;;;;;;;;;:31;;;12605:21;12650:4;12670:24;12688:4;12670:9;:24::i;:::-;12709:1;12725::::0;12741:7:::1;:5;:7::i;:::-;12763:15;12566:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12814:4;12800:11;;:18;;;;;;;;;;;;;;;;;;12847:4;12829:15;;:22;;;;;;;;;;;;;;;;;;12893:21;12878:12;:36;;;;12944:21;12925:16;:40;;;;12990:4;12976:11;;:18;;;;;;;;;;;;;;;;;;13017:12;13005:9;:24;;;;13047:13;;;;;;;;;;;13040:29;;;13092:15;;;;;;;;;;;13123:17;13040:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2880:1;12068:1091::o:0;6865:184::-;6982:7;7014:11;:18;7026:5;7014:18;;;;;;;;;;;;;;;:27;7033:7;7014:27;;;;;;;;;;;;;;;;7007:34;;6865:184;;;;:::o;10859:97::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10941:7:::1;10932:6;;:16;;;;;;;;;;;;;;;;;;10859:97:::0;:::o;11617:105::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11709:5:::1;11700:6;:14;;;;:::i;:::-;11685:12;:29;;;;11617:105:::0;:::o;14850:143::-;14892:26;14921:21;14892:50;;14953:32;14966:18;14953:12;:32::i;:::-;14850:143;:::o;13167:87::-;2820:12;:10;:12::i;:::-;2810:22;;:6;;;;;;;;;;:22;;;2802:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13242:4:::1;13227;:12;13232:6;13227:12;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;13167:87:::0;:::o;186:98::-;239:7;266:10;259:17;;186:98;:::o;8152:369::-;8296:1;8279:19;;:5;:19;;;;8271:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8377:1;8358:21;;:7;:21;;;;8350:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8459:6;8429:11;:18;8441:5;8429:18;;;;;;;;;;;;;;;:27;8448:7;8429:27;;;;;;;;;;;;;;;:36;;;;8497:7;8481:32;;8490:5;8481:32;;;8506:6;8481:32;;;;;;:::i;:::-;;;;;;;;8152:369;;;:::o;8529:2322::-;8669:1;8653:18;;:4;:18;;;;8645:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8746:1;8732:16;;:2;:16;;;;8724:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8816:1;8807:6;:10;8799:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8890:1;8878:9;:13;;;;8914:2;8902:9;:14;;;;8939:7;:5;:7::i;:::-;8931:15;;:4;:15;;;;:32;;;;;8956:7;:5;:7::i;:::-;8950:13;;:2;:13;;;;8931:32;:57;;;;;8983:4;8967:21;;:4;:21;;;;8931:57;:86;;;;;8993:18;:24;9012:4;8993:24;;;;;;;;;;;;;;;;;;;;;;;;;8992:25;8931:86;:113;;;;;9022:18;:22;9041:2;9022:22;;;;;;;;;;;;;;;;;;;;;;;;;9021:23;8931:113;8927:1872;;;9074:4;:10;9079:4;9074:10;;;;;;;;;;;;;;;;;;;;;;;;;9073:11;:24;;;;;9089:4;:8;9094:2;9089:8;;;;;;;;;;;;;;;;;;;;;;;;;9088:9;9073:24;9065:33;;;;;;9143:13;;;;;;;;;;;9135:21;;:4;:21;;;:72;;;;;9191:15;;;;;;;;;;;9177:30;;:2;:30;;;;9135:72;:116;;;;;9229:18;:22;9248:2;9229:22;;;;;;;;;;;;;;;;;;;;;;;;;9228:23;9135:116;:152;;;;;9272:15;;;;;;;;;;;9135:152;9113:634;;;9385:12;;9375:6;:22;;9367:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;9501:15;9486:8;:12;9495:2;9486:12;;;;;;;;;;;;;;;;:30;9478:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9623:16;;9613:6;9597:13;9607:2;9597:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;9589:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;9720:10;9701:15;:30;;;;:::i;:::-;9686:8;:12;9695:2;9686:12;;;;;;;;;;;;;;;:45;;;;9113:634;9791:13;;;;;;;;;;;9785:19;;:2;:19;;;:72;;;;;9841:15;;;;;;;;;;;9825:32;;:4;:32;;;;9785:72;:118;;;;;9879:18;:24;9898:4;9879:24;;;;;;;;;;;;;;;;;;;;;;;;;9878:25;9785:118;9763:237;;;9950:1;9938:9;:13;;;;9982:2;9970:9;:14;;;;9763:237;10037:12;10032:1;10020:9;;:13;;;;:::i;:::-;:29;;:54;;;;;10061:13;;;;;;;;;;;10053:21;;:4;:21;;;10020:54;10016:141;;;10107:1;10095:9;:13;;;;10139:2;10127:9;:14;;;;10016:141;10173:28;10204:24;10222:4;10204:9;:24::i;:::-;10173:55;;10243:12;10282:19;;10258:20;:43;;10243:58;;10320:7;:18;;;;;10332:6;;;;;;;;;;;10331:7;10320:18;:43;;;;;10350:13;;;;;;;;;;;10342:21;;:4;:21;;;;10320:43;:58;;;;;10367:11;;;;;;;;;;;10320:58;10316:322;;;10401:38;10418:20;10401:16;:38::i;:::-;10456:26;10485:21;10456:50;;10549:1;10528:18;:22;10524:99;;;10572:35;10585:21;10572:12;:35::i;:::-;10524:99;10316:322;;8927:1872;;;;;10758:1;10746:9;:13;;;;10786:1;10774:9;:13;;;;8927:1872;10811:32;10826:4;10832:2;10836:6;10811:14;:32::i;:::-;8529:2322;;;:::o;1448:224::-;1568:7;1601:1;1596;:6;;1604:12;1588:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1628:9;1644:1;1640;:5;;;;:::i;:::-;1628:17;;1663:1;1656:8;;;1448:224;;;;;:::o;10964:483::-;5382:4;5373:6;;:13;;;;;;;;;;;;;;;;;;11042:21:::1;11080:1;11066:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11042:40;;11111:4;11093;11098:1;11093:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;11137:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11127:4;11132:1;11127:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;11170:62;11187:4;11202:15;;;;;;;;;;;11220:11;11170:8;:62::i;:::-;11243:15;;;;;;;;;;;:66;;;11324:11;11350:1;11366:4;11393;11413:15;11243:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5397:1;5418:5:::0;5409:6;;:14;;;;;;;;;;;;;;;;;;10964:483;:::o;7821:323::-;7916:7;7974;;7963;:18;;7941:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8062:19;8084:10;:8;:10::i;:::-;8062:32;;8112:24;8124:11;8112:7;:11;;:24;;;;:::i;:::-;8105:31;;;7821:323;;;:::o;11455:154::-;11512:15;;;;;;;;;;;:24;;:39;11537:13;11548:1;11537:6;:10;;:13;;;;:::i;:::-;11512:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11562:15;;;;;;;;;;;:24;;:39;11587:13;11598:1;11587:6;:10;;:13;;;;:::i;:::-;11562:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11455:154;:::o;13479:180::-;13607:44;13625:6;13633:9;13644:6;13607:17;:44::i;:::-;13479:180;;;:::o;16732:164::-;16774:7;16795:15;16812;16831:19;:17;:19::i;:::-;16794:56;;;;16868:20;16880:7;16868;:11;;:20;;;;:::i;:::-;16861:27;;;;16732:164;:::o;1934:132::-;1992:7;2019:39;2023:1;2026;2019:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2012:46;;1934:132;;;;:::o;13667:610::-;13814:15;13844:23;13882:12;13909:23;13947:12;13974:13;14001:19;14012:7;14001:10;:19::i;:::-;13799:221;;;;;;;;;;;;14049:28;14069:7;14049;:15;14057:6;14049:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14031:7;:15;14039:6;14031:15;;;;;;;;;;;;;;;:46;;;;14109:39;14132:15;14109:7;:18;14117:9;14109:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14088:7;:18;14096:9;14088:18;;;;;;;;;;;;;;;:60;;;;14159:16;14169:5;14159:9;:16::i;:::-;14186:23;14198:4;14204;14186:11;:23::i;:::-;14242:9;14225:44;;14234:6;14225:44;;;14253:15;14225:44;;;;;;:::i;:::-;;;;;;;;13667:610;;;;;;;;;:::o;16904:257::-;16955:7;16964;16984:15;17002:7;;16984:25;;17020:15;4438:23;17020:25;;17070:20;4438:23;17070:7;;:11;;:20;;;;:::i;:::-;17060:7;:30;17056:61;;;17100:7;;4438:23;17092:25;;;;;;;;17056:61;17136:7;17145;17128:25;;;;;;16904:257;;;:::o;2074:223::-;2194:7;2226:1;2222;:5;2229:12;2214:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2253:9;2269:1;2265;:5;;;;:::i;:::-;2253:17;;2288:1;2281:8;;;2074:223;;;;;:::o;15001:704::-;15101:7;15123;15145;15167;15189;15211;15247:23;15272:12;15286:13;15303:92;15329:7;15351:9;;15375;;15303:11;:92::i;:::-;15246:149;;;;;;15406:19;15428:10;:8;:10::i;:::-;15406:32;;15450:15;15467:23;15492:12;15508:109;15534:7;15556:4;15575:5;15595:11;15508;:109::i;:::-;15449:168;;;;;;15636:7;15645:15;15662:4;15668:15;15685:4;15691:5;15628:69;;;;;;;;;;;;;;;;;;;15001:704;;;;;;;:::o;1304:136::-;1362:7;1389:43;1393:1;1396;1389:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1382:50;;1304:136;;;;:::o;1117:179::-;1175:7;1195:9;1211:1;1207;:5;;;;:::i;:::-;1195:17;;1236:1;1231;:6;;1223:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1287:1;1280:8;;;1117:179;;;;:::o;14285:211::-;14338:19;14360:10;:8;:10::i;:::-;14338:32;;14381:13;14397:22;14407:11;14397:5;:9;;:22;;;;:::i;:::-;14381:38;;14455:33;14482:5;14455:7;:22;14471:4;14455:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14430:7;:22;14446:4;14430:22;;;;;;;;;;;;;;;:58;;;;14285:211;;;:::o;14504:147::-;14582:17;14594:4;14582:7;;:11;;:17;;;;:::i;:::-;14572:7;:27;;;;14623:20;14638:4;14623:10;;:14;;:20;;;;:::i;:::-;14610:10;:33;;;;14504:147;;:::o;15713:467::-;15881:7;15903;15925;15960:12;15975:28;15999:3;15975:19;15987:6;15975:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15960:43;;16014:13;16030:29;16055:3;16030:20;16042:7;16030;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;16014:45;;16070:23;16096:28;16118:5;16096:17;16108:4;16096:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16070:54;;16143:15;16160:4;16166:5;16135:37;;;;;;;;;15713:467;;;;;;;:::o;16188:534::-;16382:7;16404;16426;16461:15;16479:24;16491:11;16479:7;:11;;:24;;;;:::i;:::-;16461:42;;16514:12;16529:21;16538:11;16529:4;:8;;:21;;;;:::i;:::-;16514:36;;16561:13;16577:22;16587:11;16577:5;:9;;:22;;;;:::i;:::-;16561:38;;16610:23;16636:28;16658:5;16636:17;16648:4;16636:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16610:54;;16683:7;16692:15;16709:4;16675:39;;;;;;;;;;16188:534;;;;;;;;:::o;1680:246::-;1738:7;1767:1;1762;:6;1758:47;;;1792:1;1785:8;;;;1758:47;1815:9;1831:1;1827;:5;;;;:::i;:::-;1815:17;;1860:1;1855;1851;:5;;;;:::i;:::-;:10;1843:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1917:1;1910:8;;;1680:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;361:95;;;;:::o;462:133::-;505:5;543:6;530:20;521:29;;559:30;583:5;559:30;:::i;:::-;511:84;;;;:::o;601:137::-;655:5;686:6;680:13;671:22;;702:30;726:5;702:30;:::i;:::-;661:77;;;;:::o;744:139::-;790:5;828:6;815:20;806:29;;844:33;871:5;844:33;:::i;:::-;796:87;;;;:::o;889:143::-;946:5;977:6;971:13;962:22;;993:33;1020:5;993:33;:::i;:::-;952:80;;;;:::o;1038:262::-;1097:6;1146:2;1134:9;1125:7;1121:23;1117:32;1114:2;;;1162:1;1159;1152:12;1114:2;1205:1;1230:53;1275:7;1266:6;1255:9;1251:22;1230:53;:::i;:::-;1220:63;;1176:117;1104:196;;;;:::o;1306:284::-;1376:6;1425:2;1413:9;1404:7;1400:23;1396:32;1393:2;;;1441:1;1438;1431:12;1393:2;1484:1;1509:64;1565:7;1556:6;1545:9;1541:22;1509:64;:::i;:::-;1499:74;;1455:128;1383:207;;;;:::o;1596:278::-;1663:6;1712:2;1700:9;1691:7;1687:23;1683:32;1680:2;;;1728:1;1725;1718:12;1680:2;1771:1;1796:61;1849:7;1840:6;1829:9;1825:22;1796:61;:::i;:::-;1786:71;;1742:125;1670:204;;;;:::o;1880:407::-;1948:6;1956;2005:2;1993:9;1984:7;1980:23;1976:32;1973:2;;;2021:1;2018;2011:12;1973:2;2064:1;2089:53;2134:7;2125:6;2114:9;2110:22;2089:53;:::i;:::-;2079:63;;2035:117;2191:2;2217:53;2262:7;2253:6;2242:9;2238:22;2217:53;:::i;:::-;2207:63;;2162:118;1963:324;;;;;:::o;2293:552::-;2370:6;2378;2386;2435:2;2423:9;2414:7;2410:23;2406:32;2403:2;;;2451:1;2448;2441:12;2403:2;2494:1;2519:53;2564:7;2555:6;2544:9;2540:22;2519:53;:::i;:::-;2509:63;;2465:117;2621:2;2647:53;2692:7;2683:6;2672:9;2668:22;2647:53;:::i;:::-;2637:63;;2592:118;2749:2;2775:53;2820:7;2811:6;2800:9;2796:22;2775:53;:::i;:::-;2765:63;;2720:118;2393:452;;;;;:::o;2851:407::-;2919:6;2927;2976:2;2964:9;2955:7;2951:23;2947:32;2944:2;;;2992:1;2989;2982:12;2944:2;3035:1;3060:53;3105:7;3096:6;3085:9;3081:22;3060:53;:::i;:::-;3050:63;;3006:117;3162:2;3188:53;3233:7;3224:6;3213:9;3209:22;3188:53;:::i;:::-;3178:63;;3133:118;2934:324;;;;;:::o;3264:256::-;3320:6;3369:2;3357:9;3348:7;3344:23;3340:32;3337:2;;;3385:1;3382;3375:12;3337:2;3428:1;3453:50;3495:7;3486:6;3475:9;3471:22;3453:50;:::i;:::-;3443:60;;3399:114;3327:193;;;;:::o;3526:278::-;3593:6;3642:2;3630:9;3621:7;3617:23;3613:32;3610:2;;;3658:1;3655;3648:12;3610:2;3701:1;3726:61;3779:7;3770:6;3759:9;3755:22;3726:61;:::i;:::-;3716:71;;3672:125;3600:204;;;;:::o;3810:262::-;3869:6;3918:2;3906:9;3897:7;3893:23;3889:32;3886:2;;;3934:1;3931;3924:12;3886:2;3977:1;4002:53;4047:7;4038:6;4027:9;4023:22;4002:53;:::i;:::-;3992:63;;3948:117;3876:196;;;;:::o;4078:596::-;4166:6;4174;4182;4231:2;4219:9;4210:7;4206:23;4202:32;4199:2;;;4247:1;4244;4237:12;4199:2;4290:1;4315:64;4371:7;4362:6;4351:9;4347:22;4315:64;:::i;:::-;4305:74;;4261:128;4428:2;4454:64;4510:7;4501:6;4490:9;4486:22;4454:64;:::i;:::-;4444:74;;4399:129;4567:2;4593:64;4649:7;4640:6;4629:9;4625:22;4593:64;:::i;:::-;4583:74;;4538:129;4189:485;;;;;:::o;4680:179::-;4749:10;4770:46;4812:3;4804:6;4770:46;:::i;:::-;4848:4;4843:3;4839:14;4825:28;;4760:99;;;;:::o;4865:108::-;4942:24;4960:5;4942:24;:::i;:::-;4937:3;4930:37;4920:53;;:::o;4979:118::-;5066:24;5084:5;5066:24;:::i;:::-;5061:3;5054:37;5044:53;;:::o;5133:732::-;5252:3;5281:54;5329:5;5281:54;:::i;:::-;5351:86;5430:6;5425:3;5351:86;:::i;:::-;5344:93;;5461:56;5511:5;5461:56;:::i;:::-;5540:7;5571:1;5556:284;5581:6;5578:1;5575:13;5556:284;;;5657:6;5651:13;5684:63;5743:3;5728:13;5684:63;:::i;:::-;5677:70;;5770:60;5823:6;5770:60;:::i;:::-;5760:70;;5616:224;5603:1;5600;5596:9;5591:14;;5556:284;;;5560:14;5856:3;5849:10;;5257:608;;;;;;;:::o;5871:109::-;5952:21;5967:5;5952:21;:::i;:::-;5947:3;5940:34;5930:50;;:::o;5986:147::-;6081:45;6120:5;6081:45;:::i;:::-;6076:3;6069:58;6059:74;;:::o;6139:364::-;6227:3;6255:39;6288:5;6255:39;:::i;:::-;6310:71;6374:6;6369:3;6310:71;:::i;:::-;6303:78;;6390:52;6435:6;6430:3;6423:4;6416:5;6412:16;6390:52;:::i;:::-;6467:29;6489:6;6467:29;:::i;:::-;6462:3;6458:39;6451:46;;6231:272;;;;;:::o;6509:366::-;6651:3;6672:67;6736:2;6731:3;6672:67;:::i;:::-;6665:74;;6748:93;6837:3;6748:93;:::i;:::-;6866:2;6861:3;6857:12;6850:19;;6655:220;;;:::o;6881:366::-;7023:3;7044:67;7108:2;7103:3;7044:67;:::i;:::-;7037:74;;7120:93;7209:3;7120:93;:::i;:::-;7238:2;7233:3;7229:12;7222:19;;7027:220;;;:::o;7253:366::-;7395:3;7416:67;7480:2;7475:3;7416:67;:::i;:::-;7409:74;;7492:93;7581:3;7492:93;:::i;:::-;7610:2;7605:3;7601:12;7594:19;;7399:220;;;:::o;7625:366::-;7767:3;7788:67;7852:2;7847:3;7788:67;:::i;:::-;7781:74;;7864:93;7953:3;7864:93;:::i;:::-;7982:2;7977:3;7973:12;7966:19;;7771:220;;;:::o;7997:366::-;8139:3;8160:67;8224:2;8219:3;8160:67;:::i;:::-;8153:74;;8236:93;8325:3;8236:93;:::i;:::-;8354:2;8349:3;8345:12;8338:19;;8143:220;;;:::o;8369:366::-;8511:3;8532:67;8596:2;8591:3;8532:67;:::i;:::-;8525:74;;8608:93;8697:3;8608:93;:::i;:::-;8726:2;8721:3;8717:12;8710:19;;8515:220;;;:::o;8741:366::-;8883:3;8904:67;8968:2;8963:3;8904:67;:::i;:::-;8897:74;;8980:93;9069:3;8980:93;:::i;:::-;9098:2;9093:3;9089:12;9082:19;;8887:220;;;:::o;9113:366::-;9255:3;9276:67;9340:2;9335:3;9276:67;:::i;:::-;9269:74;;9352:93;9441:3;9352:93;:::i;:::-;9470:2;9465:3;9461:12;9454:19;;9259:220;;;:::o;9485:366::-;9627:3;9648:67;9712:2;9707:3;9648:67;:::i;:::-;9641:74;;9724:93;9813:3;9724:93;:::i;:::-;9842:2;9837:3;9833:12;9826:19;;9631:220;;;:::o;9857:366::-;9999:3;10020:67;10084:2;10079:3;10020:67;:::i;:::-;10013:74;;10096:93;10185:3;10096:93;:::i;:::-;10214:2;10209:3;10205:12;10198:19;;10003:220;;;:::o;10229:366::-;10371:3;10392:67;10456:2;10451:3;10392:67;:::i;:::-;10385:74;;10468:93;10557:3;10468:93;:::i;:::-;10586:2;10581:3;10577:12;10570:19;;10375:220;;;:::o;10601:366::-;10743:3;10764:67;10828:2;10823:3;10764:67;:::i;:::-;10757:74;;10840:93;10929:3;10840:93;:::i;:::-;10958:2;10953:3;10949:12;10942:19;;10747:220;;;:::o;10973:366::-;11115:3;11136:67;11200:2;11195:3;11136:67;:::i;:::-;11129:74;;11212:93;11301:3;11212:93;:::i;:::-;11330:2;11325:3;11321:12;11314:19;;11119:220;;;:::o;11345:118::-;11432:24;11450:5;11432:24;:::i;:::-;11427:3;11420:37;11410:53;;:::o;11469:112::-;11552:22;11568:5;11552:22;:::i;:::-;11547:3;11540:35;11530:51;;:::o;11587:222::-;11680:4;11718:2;11707:9;11703:18;11695:26;;11731:71;11799:1;11788:9;11784:17;11775:6;11731:71;:::i;:::-;11685:124;;;;:::o;11815:332::-;11936:4;11974:2;11963:9;11959:18;11951:26;;11987:71;12055:1;12044:9;12040:17;12031:6;11987:71;:::i;:::-;12068:72;12136:2;12125:9;12121:18;12112:6;12068:72;:::i;:::-;11941:206;;;;;:::o;12153:332::-;12274:4;12312:2;12301:9;12297:18;12289:26;;12325:71;12393:1;12382:9;12378:17;12369:6;12325:71;:::i;:::-;12406:72;12474:2;12463:9;12459:18;12450:6;12406:72;:::i;:::-;12279:206;;;;;:::o;12491:807::-;12740:4;12778:3;12767:9;12763:19;12755:27;;12792:71;12860:1;12849:9;12845:17;12836:6;12792:71;:::i;:::-;12873:72;12941:2;12930:9;12926:18;12917:6;12873:72;:::i;:::-;12955:80;13031:2;13020:9;13016:18;13007:6;12955:80;:::i;:::-;13045;13121:2;13110:9;13106:18;13097:6;13045:80;:::i;:::-;13135:73;13203:3;13192:9;13188:19;13179:6;13135:73;:::i;:::-;13218;13286:3;13275:9;13271:19;13262:6;13218:73;:::i;:::-;12745:553;;;;;;;;;:::o;13304:210::-;13391:4;13429:2;13418:9;13414:18;13406:26;;13442:65;13504:1;13493:9;13489:17;13480:6;13442:65;:::i;:::-;13396:118;;;;:::o;13520:313::-;13633:4;13671:2;13660:9;13656:18;13648:26;;13720:9;13714:4;13710:20;13706:1;13695:9;13691:17;13684:47;13748:78;13821:4;13812:6;13748:78;:::i;:::-;13740:86;;13638:195;;;;:::o;13839:419::-;14005:4;14043:2;14032:9;14028:18;14020:26;;14092:9;14086:4;14082:20;14078:1;14067:9;14063:17;14056:47;14120:131;14246:4;14120:131;:::i;:::-;14112:139;;14010:248;;;:::o;14264:419::-;14430:4;14468:2;14457:9;14453:18;14445:26;;14517:9;14511:4;14507:20;14503:1;14492:9;14488:17;14481:47;14545:131;14671:4;14545:131;:::i;:::-;14537:139;;14435:248;;;:::o;14689:419::-;14855:4;14893:2;14882:9;14878:18;14870:26;;14942:9;14936:4;14932:20;14928:1;14917:9;14913:17;14906:47;14970:131;15096:4;14970:131;:::i;:::-;14962:139;;14860:248;;;:::o;15114:419::-;15280:4;15318:2;15307:9;15303:18;15295:26;;15367:9;15361:4;15357:20;15353:1;15342:9;15338:17;15331:47;15395:131;15521:4;15395:131;:::i;:::-;15387:139;;15285:248;;;:::o;15539:419::-;15705:4;15743:2;15732:9;15728:18;15720:26;;15792:9;15786:4;15782:20;15778:1;15767:9;15763:17;15756:47;15820:131;15946:4;15820:131;:::i;:::-;15812:139;;15710:248;;;:::o;15964:419::-;16130:4;16168:2;16157:9;16153:18;16145:26;;16217:9;16211:4;16207:20;16203:1;16192:9;16188:17;16181:47;16245:131;16371:4;16245:131;:::i;:::-;16237:139;;16135:248;;;:::o;16389:419::-;16555:4;16593:2;16582:9;16578:18;16570:26;;16642:9;16636:4;16632:20;16628:1;16617:9;16613:17;16606:47;16670:131;16796:4;16670:131;:::i;:::-;16662:139;;16560:248;;;:::o;16814:419::-;16980:4;17018:2;17007:9;17003:18;16995:26;;17067:9;17061:4;17057:20;17053:1;17042:9;17038:17;17031:47;17095:131;17221:4;17095:131;:::i;:::-;17087:139;;16985:248;;;:::o;17239:419::-;17405:4;17443:2;17432:9;17428:18;17420:26;;17492:9;17486:4;17482:20;17478:1;17467:9;17463:17;17456:47;17520:131;17646:4;17520:131;:::i;:::-;17512:139;;17410:248;;;:::o;17664:419::-;17830:4;17868:2;17857:9;17853:18;17845:26;;17917:9;17911:4;17907:20;17903:1;17892:9;17888:17;17881:47;17945:131;18071:4;17945:131;:::i;:::-;17937:139;;17835:248;;;:::o;18089:419::-;18255:4;18293:2;18282:9;18278:18;18270:26;;18342:9;18336:4;18332:20;18328:1;18317:9;18313:17;18306:47;18370:131;18496:4;18370:131;:::i;:::-;18362:139;;18260:248;;;:::o;18514:419::-;18680:4;18718:2;18707:9;18703:18;18695:26;;18767:9;18761:4;18757:20;18753:1;18742:9;18738:17;18731:47;18795:131;18921:4;18795:131;:::i;:::-;18787:139;;18685:248;;;:::o;18939:419::-;19105:4;19143:2;19132:9;19128:18;19120:26;;19192:9;19186:4;19182:20;19178:1;19167:9;19163:17;19156:47;19220:131;19346:4;19220:131;:::i;:::-;19212:139;;19110:248;;;:::o;19364:222::-;19457:4;19495:2;19484:9;19480:18;19472:26;;19508:71;19576:1;19565:9;19561:17;19552:6;19508:71;:::i;:::-;19462:124;;;;:::o;19592:831::-;19855:4;19893:3;19882:9;19878:19;19870:27;;19907:71;19975:1;19964:9;19960:17;19951:6;19907:71;:::i;:::-;19988:80;20064:2;20053:9;20049:18;20040:6;19988:80;:::i;:::-;20115:9;20109:4;20105:20;20100:2;20089:9;20085:18;20078:48;20143:108;20246:4;20237:6;20143:108;:::i;:::-;20135:116;;20261:72;20329:2;20318:9;20314:18;20305:6;20261:72;:::i;:::-;20343:73;20411:3;20400:9;20396:19;20387:6;20343:73;:::i;:::-;19860:563;;;;;;;;:::o;20429:214::-;20518:4;20556:2;20545:9;20541:18;20533:26;;20569:67;20633:1;20622:9;20618:17;20609:6;20569:67;:::i;:::-;20523:120;;;;:::o;20649:132::-;20716:4;20739:3;20731:11;;20769:4;20764:3;20760:14;20752:22;;20721:60;;;:::o;20787:114::-;20854:6;20888:5;20882:12;20872:22;;20861:40;;;:::o;20907:99::-;20959:6;20993:5;20987:12;20977:22;;20966:40;;;:::o;21012:113::-;21082:4;21114;21109:3;21105:14;21097:22;;21087:38;;;:::o;21131:184::-;21230:11;21264:6;21259:3;21252:19;21304:4;21299:3;21295:14;21280:29;;21242:73;;;;:::o;21321:169::-;21405:11;21439:6;21434:3;21427:19;21479:4;21474:3;21470:14;21455:29;;21417:73;;;;:::o;21496:305::-;21536:3;21555:20;21573:1;21555:20;:::i;:::-;21550:25;;21589:20;21607:1;21589:20;:::i;:::-;21584:25;;21743:1;21675:66;21671:74;21668:1;21665:81;21662:2;;;21749:18;;:::i;:::-;21662:2;21793:1;21790;21786:9;21779:16;;21540:261;;;;:::o;21807:185::-;21847:1;21864:20;21882:1;21864:20;:::i;:::-;21859:25;;21898:20;21916:1;21898:20;:::i;:::-;21893:25;;21937:1;21927:2;;21942:18;;:::i;:::-;21927:2;21984:1;21981;21977:9;21972:14;;21849:143;;;;:::o;21998:348::-;22038:7;22061:20;22079:1;22061:20;:::i;:::-;22056:25;;22095:20;22113:1;22095:20;:::i;:::-;22090:25;;22283:1;22215:66;22211:74;22208:1;22205:81;22200:1;22193:9;22186:17;22182:105;22179:2;;;22290:18;;:::i;:::-;22179:2;22338:1;22335;22331:9;22320:20;;22046:300;;;;:::o;22352:191::-;22392:4;22412:20;22430:1;22412:20;:::i;:::-;22407:25;;22446:20;22464:1;22446:20;:::i;:::-;22441:25;;22485:1;22482;22479:8;22476:2;;;22490:18;;:::i;:::-;22476:2;22535:1;22532;22528:9;22520:17;;22397:146;;;;:::o;22549:96::-;22586:7;22615:24;22633:5;22615:24;:::i;:::-;22604:35;;22594:51;;;:::o;22651:104::-;22696:7;22725:24;22743:5;22725:24;:::i;:::-;22714:35;;22704:51;;;:::o;22761:90::-;22795:7;22838:5;22831:13;22824:21;22813:32;;22803:48;;;:::o;22857:126::-;22894:7;22934:42;22927:5;22923:54;22912:65;;22902:81;;;:::o;22989:77::-;23026:7;23055:5;23044:16;;23034:32;;;:::o;23072:86::-;23107:7;23147:4;23140:5;23136:16;23125:27;;23115:43;;;:::o;23164:121::-;23222:9;23255:24;23273:5;23255:24;:::i;:::-;23242:37;;23232:53;;;:::o;23291:307::-;23359:1;23369:113;23383:6;23380:1;23377:13;23369:113;;;23468:1;23463:3;23459:11;23453:18;23449:1;23444:3;23440:11;23433:39;23405:2;23402:1;23398:10;23393:15;;23369:113;;;23500:6;23497:1;23494:13;23491:2;;;23580:1;23571:6;23566:3;23562:16;23555:27;23491:2;23340:258;;;;:::o;23604:180::-;23652:77;23649:1;23642:88;23749:4;23746:1;23739:15;23773:4;23770:1;23763:15;23790:180;23838:77;23835:1;23828:88;23935:4;23932:1;23925:15;23959:4;23956:1;23949:15;23976:102;24017:6;24068:2;24064:7;24059:2;24052:5;24048:14;24044:28;24034:38;;24024:54;;;:::o;24084:222::-;24224:34;24220:1;24212:6;24208:14;24201:58;24293:5;24288:2;24280:6;24276:15;24269:30;24190:116;:::o;24312:229::-;24452:34;24448:1;24440:6;24436:14;24429:58;24521:12;24516:2;24508:6;24504:15;24497:37;24418:123;:::o;24547:221::-;24687:34;24683:1;24675:6;24671:14;24664:58;24756:4;24751:2;24743:6;24739:15;24732:29;24653:115;:::o;24774:177::-;24914:29;24910:1;24902:6;24898:14;24891:53;24880:71;:::o;24957:220::-;25097:34;25093:1;25085:6;25081:14;25074:58;25166:3;25161:2;25153:6;25149:15;25142:28;25063:114;:::o;25183:182::-;25323:34;25319:1;25311:6;25307:14;25300:58;25289:76;:::o;25371:228::-;25511:34;25507:1;25499:6;25495:14;25488:58;25580:11;25575:2;25567:6;25563:15;25556:36;25477:122;:::o;25605:173::-;25745:25;25741:1;25733:6;25729:14;25722:49;25711:67;:::o;25784:224::-;25924:34;25920:1;25912:6;25908:14;25901:58;25993:7;25988:2;25980:6;25976:15;25969:32;25890:118;:::o;26014:223::-;26154:34;26150:1;26142:6;26138:14;26131:58;26223:6;26218:2;26210:6;26206:15;26199:31;26120:117;:::o;26243:173::-;26383:25;26379:1;26371:6;26367:14;26360:49;26349:67;:::o;26422:178::-;26562:30;26558:1;26550:6;26546:14;26539:54;26528:72;:::o;26606:168::-;26746:20;26742:1;26734:6;26730:14;26723:44;26712:62;:::o;26780:122::-;26853:24;26871:5;26853:24;:::i;:::-;26846:5;26843:35;26833:2;;26892:1;26889;26882:12;26833:2;26823:79;:::o;26908:138::-;26989:32;27015:5;26989:32;:::i;:::-;26982:5;26979:43;26969:2;;27036:1;27033;27026:12;26969:2;26959:87;:::o;27052:116::-;27122:21;27137:5;27122:21;:::i;:::-;27115:5;27112:32;27102:2;;27158:1;27155;27148:12;27102:2;27092:76;:::o;27174:122::-;27247:24;27265:5;27247:24;:::i;:::-;27240:5;27237:35;27227:2;;27286:1;27283;27276:12;27227:2;27217:79;:::o

Swarm Source

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