ETH Price: $2,885.96 (-2.49%)
 

Overview

Max Total Supply

1,000,000,000 Bsop

Holders

1,406,263 (0.00%)

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
jimbodal.base.eth
Balance
5 Bsop

Value
$0.00
0x4c2d0f9080b4d3299ef51f8684641024522f4549
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

$BSOP is an AI Meme Agent on Base with true degen vibes.

Contract Source Code Verified (Exact Match)

Contract Name:
Bsop

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2024-12-29
*/

// SPDX-License-Identifier: UNLICENSED


pragma solidity 0.8.7;

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

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

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

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

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

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

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

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 IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface InterfaceLP {
    function sync() external;
}

contract Bsop is ERC20, Ownable {
    using SafeMath for uint256;

    uint256 public launchBlock;

    address private WETH;
    address private DEAD = 0x000000000000000000000000000000000000dEaD;
    address private ZERO = 0x0000000000000000000000000000000000000000;

    string constant private _name = "Bsop";
    string constant private _symbol = "Bsop";
    uint8 constant private _decimals = 18;

    uint256 private _totalSupply = 1000000000* 10**_decimals;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    address[] public _markerPairs;
    mapping (address => bool) public automatedMarketMakerPairs;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isMaxWalletExempt;

    uint256 public _maxWalletAmount = _totalSupply / 50;

    bool private preLaunchTime = true; 
    mapping (address => bool) private isWL; 

    address private marketingFeeReceiver = 0x349264E73aA36e9519a860081A270E53AaF792eB;

    IDEXRouter public router;
    address public pair;

    bool public tradingEnabled = false;
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 1 / 1000;

    bool private inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () {
        router = IDEXRouter(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));

        setAutomatedMarketMakerPair(pair, true);

        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;

        isFeeExempt[address(this)] = true; 
        isMaxWalletExempt[address(this)] = true;
        isMaxWalletExempt[pair] = true; 
        isMaxWalletExempt[msg.sender] = true; 

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){
            require(tradingEnabled,"Trading not open yet");
            require(_balances[recipient].add(amount) <= _maxWalletAmount || isMaxWalletExempt[recipient], "Max Wallet Limit Limit Exceeded");
            if(preLaunchTime) {require(isWL[recipient], "Can't buy yet");}
        }
        
        if(shouldSwapBack()){ swapBack(); }
        
        

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        

        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldSwapBack() internal view returns (bool) {
        return
        !automatedMarketMakerPairs[msg.sender]
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    // switch Trading
    function enableTrading() external onlyOwner {
        tradingEnabled = true;
        launchBlock = block.number;
    }

    function swapBack() internal swapping {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapThreshold,
            0,
            path,
            marketingFeeReceiver,
            block.timestamp
        );
    }


    // Admin Functions
    function setAutomatedMarketMakerPair(address _pair, bool _value) internal {
            require(automatedMarketMakerPairs[_pair] != _value, "Value already set");

            automatedMarketMakerPairs[_pair] = _value;

            if(_value){
                _markerPairs.push(_pair);
            }else{
                require(_markerPairs.length > 1, "Required 1 pair");
                for (uint256 i = 0; i < _markerPairs.length; i++) {
                    if (_markerPairs[i] == _pair) {
                        _markerPairs[i] = _markerPairs[_markerPairs.length - 1];
                        _markerPairs.pop();
                        break;
                    }
                }
            }
        }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function setWallets(address[] calldata addresses, bool status) external onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            isWL[addresses[i]] = status;
        }
    }

    function setPreLaunchTime() external onlyOwner {
        preLaunchTime = false;
    }

    function setMwWallet(address _address) external onlyOwner {
        marketingFeeReceiver = _address; 
    }

    function withdrawERC20(address _tokenCA, address _recipient, uint256 _amount) external onlyOwner {
        ERC20(_tokenCA).transfer(_recipient, _amount);
    }

    function withdrawETH(address _recipient) external onlyOwner {
        payable(_recipient).transfer(address(this).balance); 
    }

    function setSwapAmount(uint256 amount) external onlyOwner {
        swapThreshold = amount;
    }

    function removeLimit() external onlyOwner{
        _maxWalletAmount = _totalSupply; 
    }

    function setIsFeeExempt(address _address, bool _bool) external onlyOwner {
        isFeeExempt[_address] = _bool; 
    }



}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"uint256","name":"","type":"uint256"}],"name":"_markerPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMaxWalletExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_bool","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setMwWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPreLaunchTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenCA","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405261dead600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000099919062000de3565b633b9aca00620000aa919062000f20565b6006556032600654620000be919062000d50565b600d556001600e60006101000a81548160ff02191690831515021790555073349264e73aa36e9519a860081a270e53aaf792eb601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601260146101000a81548160ff0219169083151502179055506001601260156101000a81548160ff0219169083151502179055506103e860016006546200017b919062000f20565b62000187919062000d50565b6013553480156200019757600080fd5b506000620001aa620008a160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350734752ba5dbc23f44d87826276bf6fd6b1c372ad24601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030657600080fd5b505afa1580156200031b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000341919062000c0f565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ea57600080fd5b505afa158015620003ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000425919062000c0f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200048392919062000cb1565b602060405180830381600087803b1580156200049e57600080fd5b505af1158015620004b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004d9919062000c0f565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200054e601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620008a960201b60201c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600654600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60065460405162000893919062000d22565b60405180910390a36200118f565b600033905090565b801515600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156200093f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009369062000cde565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550801562000a06576009829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000bf4565b60016009805490501162000a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a489062000d00565b60405180910390fd5b60005b60098054905081101562000bf2578273ffffffffffffffffffffffffffffffffffffffff166009828154811062000a905762000a8f620010e2565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141562000bdc576009600160098054905062000aee919062000f81565b8154811062000b025762000b01620010e2565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009828154811062000b445762000b43620010e2565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600980548062000ba15762000ba0620010b3565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905562000bf2565b808062000be99062001007565b91505062000a54565b505b5050565b60008151905062000c098162001175565b92915050565b60006020828403121562000c285762000c2762001111565b5b600062000c388482850162000bf8565b91505092915050565b62000c4c8162000fbc565b82525050565b600062000c6160118362000d3f565b915062000c6e8262001123565b602082019050919050565b600062000c88600f8362000d3f565b915062000c95826200114c565b602082019050919050565b62000cab8162000ff0565b82525050565b600060408201905062000cc8600083018562000c41565b62000cd7602083018462000c41565b9392505050565b6000602082019050818103600083015262000cf98162000c52565b9050919050565b6000602082019050818103600083015262000d1b8162000c79565b9050919050565b600060208201905062000d39600083018462000ca0565b92915050565b600082825260208201905092915050565b600062000d5d8262000ff0565b915062000d6a8362000ff0565b92508262000d7d5762000d7c62001084565b5b828204905092915050565b6000808291508390505b600185111562000dda5780860481111562000db25762000db162001055565b5b600185161562000dc25780820291505b808102905062000dd28562001116565b945062000d92565b94509492505050565b600062000df08262000ff0565b915062000dfd8362000ffa565b925062000e2c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000e34565b905092915050565b60008262000e46576001905062000f19565b8162000e56576000905062000f19565b816001811462000e6f576002811462000e7a5762000eb0565b600191505062000f19565b60ff84111562000e8f5762000e8e62001055565b5b8360020a91508482111562000ea95762000ea862001055565b5b5062000f19565b5060208310610133831016604e8410600b841016171562000eea5782820a90508381111562000ee45762000ee362001055565b5b62000f19565b62000ef9848484600162000d88565b9250905081840481111562000f135762000f1262001055565b5b81810290505b9392505050565b600062000f2d8262000ff0565b915062000f3a8362000ff0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000f765762000f7562001055565b5b828202905092915050565b600062000f8e8262000ff0565b915062000f9b8362000ff0565b92508282101562000fb15762000fb062001055565b5b828203905092915050565b600062000fc98262000fd0565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000620010148262000ff0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156200104a576200104962001055565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b60008160011c9050919050565b7f56616c756520616c726561647920736574000000000000000000000000000000600082015250565b7f5265717569726564203120706169720000000000000000000000000000000000600082015250565b620011808162000fbc565b81146200118c57600080fd5b50565b612bd8806200119f6000396000f3fe6080604052600436106101fd5760003560e01c80636c0a24eb1161010d57806395d89b41116100a0578063d00efb2f1161006f578063d00efb2f1461071e578063dd62ed3e14610749578063e1d5584c14610786578063e632313c146107c3578063f887ea40146107ec57610204565b806395d89b411461064e578063a8aa1b3114610679578063a9059cbb146106a4578063b62496f5146106e157610204565b8063893d20e8116100dc578063893d20e8146105ca5780638a8c523c146105f55780638da5cb5b1461060c5780638ff923d11461063757610204565b80636c0a24eb146105205780636ddd17131461054b57806370a0823114610576578063715018a6146105b357610204565b80632b112e49116101905780634ada218b1161015f5780634ada218b1461044f578063571ac8b01461047a57806362256589146104b7578063658d4b7f146104ce578063690d8320146104f757610204565b80632b112e4914610393578063313ce567146103be5780633f4218e0146103e957806344004cc11461042657610204565b80630bd11f8a116101cc5780630bd11f8a146102c557806318160ddd14610302578063202d48331461032d57806323b872dd1461035657610204565b80630445b6671461020957806306fdde031461023457806308f5b8d71461025f578063095ea7b31461028857610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e610817565b60405161022b9190612751565b60405180910390f35b34801561024057600080fd5b5061024961081d565b604051610256919061268f565b60405180910390f35b34801561026b57600080fd5b5061028660048036038101906102819190612254565b61085a565b005b34801561029457600080fd5b506102af60048036038101906102aa9190612354565b610933565b6040516102bc9190612659565b60405180910390f35b3480156102d157600080fd5b506102ec60048036038101906102e79190612254565b610a25565b6040516102f99190612659565b60405180910390f35b34801561030e57600080fd5b50610317610a45565b6040516103249190612751565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190612394565b610a4f565b005b34801561036257600080fd5b5061037d600480360381019061037891906122c1565b610b87565b60405161038a9190612659565b60405180910390f35b34801561039f57600080fd5b506103a8610d87565b6040516103b59190612751565b60405180910390f35b3480156103ca57600080fd5b506103d3610e09565b6040516103e091906127c6565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b9190612254565b610e12565b60405161041d9190612659565b60405180910390f35b34801561043257600080fd5b5061044d600480360381019061044891906122c1565b610e32565b005b34801561045b57600080fd5b50610464610f5a565b6040516104719190612659565b60405180910390f35b34801561048657600080fd5b506104a1600480360381019061049c9190612254565b610f6d565b6040516104ae9190612659565b60405180910390f35b3480156104c357600080fd5b506104cc610fa0565b005b3480156104da57600080fd5b506104f560048036038101906104f09190612314565b611040565b005b34801561050357600080fd5b5061051e60048036038101906105199190612254565b611130565b005b34801561052c57600080fd5b5061053561120f565b6040516105429190612751565b60405180910390f35b34801561055757600080fd5b50610560611215565b60405161056d9190612659565b60405180910390f35b34801561058257600080fd5b5061059d60048036038101906105989190612254565b611228565b6040516105aa9190612751565b60405180910390f35b3480156105bf57600080fd5b506105c8611271565b005b3480156105d657600080fd5b506105df6113c4565b6040516105ec9190612615565b60405180910390f35b34801561060157600080fd5b5061060a6113d3565b005b34801561061857600080fd5b5061062161148c565b60405161062e9190612615565b60405180910390f35b34801561064357600080fd5b5061064c6114b5565b005b34801561065a57600080fd5b50610663611567565b604051610670919061268f565b60405180910390f35b34801561068557600080fd5b5061068e6115a4565b60405161069b9190612615565b60405180910390f35b3480156106b057600080fd5b506106cb60048036038101906106c69190612354565b6115ca565b6040516106d89190612659565b60405180910390f35b3480156106ed57600080fd5b5061070860048036038101906107039190612254565b6115df565b6040516107159190612659565b60405180910390f35b34801561072a57600080fd5b506107336115ff565b6040516107409190612751565b60405180910390f35b34801561075557600080fd5b50610770600480360381019061076b9190612281565b611605565b60405161077d9190612751565b60405180910390f35b34801561079257600080fd5b506107ad60048036038101906107a89190612421565b61168c565b6040516107ba9190612615565b60405180910390f35b3480156107cf57600080fd5b506107ea60048036038101906107e59190612421565b6116cb565b005b3480156107f857600080fd5b5061080161176a565b60405161080e9190612674565b60405180910390f35b60135481565b60606040518060400160405280600481526020017f42736f7000000000000000000000000000000000000000000000000000000000815250905090565b610862611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e690612711565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a139190612751565b60405180910390a36001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600654905090565b610a57611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb90612711565b60405180910390fd5b60005b83839050811015610b815781600f6000868685818110610b0a57610b09612a08565b5b9050602002016020810190610b1f9190612254565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610b7a90612990565b9050610ae7565b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d7357610cf2826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117989092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d7e8484846117fc565b90509392505050565b6000610e04610db7600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611228565b610df6610de5600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611228565b600654611c5b90919063ffffffff16565b611c5b90919063ffffffff16565b905090565b60006012905090565b600b6020528060005260406000206000915054906101000a900460ff1681565b610e3a611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90612711565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610f02929190612630565b602060405180830381600087803b158015610f1c57600080fd5b505af1158015610f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5491906123f4565b50505050565b601260149054906101000a900460ff1681565b6000610f99827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610933565b9050919050565b610fa8611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102c90612711565b60405180910390fd5b600654600d81905550565b611048611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cc90612711565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611138611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc90612711565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561120b573d6000803e3d6000fd5b5050565b600d5481565b601260159054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611279611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90612711565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006113ce61148c565b905090565b6113db611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f90612711565b60405180910390fd5b6001601260146101000a81548160ff02191690831515021790555043600281905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114bd611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461154a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154190612711565b60405180910390fd5b6000600e60006101000a81548160ff021916908315150217905550565b60606040518060400160405280600481526020017f42736f7000000000000000000000000000000000000000000000000000000000815250905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006115d73384846117fc565b905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60025481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6009818154811061169c57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6116d3611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175790612711565b60405180910390fd5b8060138190555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b60008383111582906117e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d7919061268f565b60405180910390fd5b50600083856117ef919061288c565b9050809150509392505050565b6000601460009054906101000a900460ff16156118255761181e848484611ca5565b9050611c54565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118c95750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aaa57601260149054906101000a900460ff1661191d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611914906126f1565b60405180910390fd5b600d5461197283600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7890919063ffffffff16565b1115806119c85750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fe906126b1565b60405180910390fd5b600e60009054906101000a900460ff1615611aa957600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f90612731565b60405180910390fd5b5b5b611ab2611ed6565b15611ac057611abf611fa9565b5b611b1282600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5b90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba782600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7890919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c479190612751565b60405180910390a3600190505b9392505050565b6000611c9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611798565b905092915050565b6000611d30826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117989092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc582600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7890919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e659190612751565b60405180910390a3600190509392505050565b6000808284611e879190612836565b905083811015611ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec3906126d1565b60405180910390fd5b8091505092915050565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f3f5750601460009054906101000a900460ff16155b8015611f575750601260159054906101000a900460ff165b8015611fa45750601354600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601460006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fe157611fe0612a37565b5b60405190808252806020026020018201604052801561200f5781602001602082028036833780820191505090505b509050308160008151811061202757612026612a08565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061209857612097612a08565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947601354600084601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161215a95949392919061276c565b600060405180830381600087803b15801561217457600080fd5b505af1158015612188573d6000803e3d6000fd5b50505050506000601460006101000a81548160ff021916908315150217905550565b6000813590506121b981612b5d565b92915050565b60008083601f8401126121d5576121d4612a6b565b5b8235905067ffffffffffffffff8111156121f2576121f1612a66565b5b60208301915083602082028301111561220e5761220d612a70565b5b9250929050565b60008135905061222481612b74565b92915050565b60008151905061223981612b74565b92915050565b60008135905061224e81612b8b565b92915050565b60006020828403121561226a57612269612a7a565b5b6000612278848285016121aa565b91505092915050565b6000806040838503121561229857612297612a7a565b5b60006122a6858286016121aa565b92505060206122b7858286016121aa565b9150509250929050565b6000806000606084860312156122da576122d9612a7a565b5b60006122e8868287016121aa565b93505060206122f9868287016121aa565b925050604061230a8682870161223f565b9150509250925092565b6000806040838503121561232b5761232a612a7a565b5b6000612339858286016121aa565b925050602061234a85828601612215565b9150509250929050565b6000806040838503121561236b5761236a612a7a565b5b6000612379858286016121aa565b925050602061238a8582860161223f565b9150509250929050565b6000806000604084860312156123ad576123ac612a7a565b5b600084013567ffffffffffffffff8111156123cb576123ca612a75565b5b6123d7868287016121bf565b935093505060206123ea86828701612215565b9150509250925092565b60006020828403121561240a57612409612a7a565b5b60006124188482850161222a565b91505092915050565b60006020828403121561243757612436612a7a565b5b60006124458482850161223f565b91505092915050565b600061245a8383612466565b60208301905092915050565b61246f816128c0565b82525050565b61247e816128c0565b82525050565b600061248f826127f1565b6124998185612814565b93506124a4836127e1565b8060005b838110156124d55781516124bc888261244e565b97506124c783612807565b9250506001810190506124a8565b5085935050505092915050565b6124eb816128d2565b82525050565b6124fa81612915565b82525050565b61250981612927565b82525050565b600061251a826127fc565b6125248185612825565b935061253481856020860161295d565b61253d81612a7f565b840191505092915050565b6000612555601f83612825565b915061256082612a90565b602082019050919050565b6000612578601b83612825565b915061258382612ab9565b602082019050919050565b600061259b601483612825565b91506125a682612ae2565b602082019050919050565b60006125be602083612825565b91506125c982612b0b565b602082019050919050565b60006125e1600d83612825565b91506125ec82612b34565b602082019050919050565b612600816128fe565b82525050565b61260f81612908565b82525050565b600060208201905061262a6000830184612475565b92915050565b60006040820190506126456000830185612475565b61265260208301846125f7565b9392505050565b600060208201905061266e60008301846124e2565b92915050565b600060208201905061268960008301846124f1565b92915050565b600060208201905081810360008301526126a9818461250f565b905092915050565b600060208201905081810360008301526126ca81612548565b9050919050565b600060208201905081810360008301526126ea8161256b565b9050919050565b6000602082019050818103600083015261270a8161258e565b9050919050565b6000602082019050818103600083015261272a816125b1565b9050919050565b6000602082019050818103600083015261274a816125d4565b9050919050565b600060208201905061276660008301846125f7565b92915050565b600060a08201905061278160008301886125f7565b61278e6020830187612500565b81810360408301526127a08186612484565b90506127af6060830185612475565b6127bc60808301846125f7565b9695505050505050565b60006020820190506127db6000830184612606565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612841826128fe565b915061284c836128fe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612881576128806129d9565b5b828201905092915050565b6000612897826128fe565b91506128a2836128fe565b9250828210156128b5576128b46129d9565b5b828203905092915050565b60006128cb826128de565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061292082612939565b9050919050565b6000612932826128fe565b9050919050565b60006129448261294b565b9050919050565b6000612956826128de565b9050919050565b60005b8381101561297b578082015181840152602081019050612960565b8381111561298a576000848401525b50505050565b600061299b826128fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156129ce576129cd6129d9565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4d61782057616c6c6574204c696d6974204c696d697420457863656564656400600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f43616e2774206275792079657400000000000000000000000000000000000000600082015250565b612b66816128c0565b8114612b7157600080fd5b50565b612b7d816128d2565b8114612b8857600080fd5b50565b612b94816128fe565b8114612b9f57600080fd5b5056fea26469706673582212205ae81b8b1ff701fc43e4cb67cfec5c6fc8f10ec48fae49a2a3c277a376eb435464736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101fd5760003560e01c80636c0a24eb1161010d57806395d89b41116100a0578063d00efb2f1161006f578063d00efb2f1461071e578063dd62ed3e14610749578063e1d5584c14610786578063e632313c146107c3578063f887ea40146107ec57610204565b806395d89b411461064e578063a8aa1b3114610679578063a9059cbb146106a4578063b62496f5146106e157610204565b8063893d20e8116100dc578063893d20e8146105ca5780638a8c523c146105f55780638da5cb5b1461060c5780638ff923d11461063757610204565b80636c0a24eb146105205780636ddd17131461054b57806370a0823114610576578063715018a6146105b357610204565b80632b112e49116101905780634ada218b1161015f5780634ada218b1461044f578063571ac8b01461047a57806362256589146104b7578063658d4b7f146104ce578063690d8320146104f757610204565b80632b112e4914610393578063313ce567146103be5780633f4218e0146103e957806344004cc11461042657610204565b80630bd11f8a116101cc5780630bd11f8a146102c557806318160ddd14610302578063202d48331461032d57806323b872dd1461035657610204565b80630445b6671461020957806306fdde031461023457806308f5b8d71461025f578063095ea7b31461028857610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e610817565b60405161022b9190612751565b60405180910390f35b34801561024057600080fd5b5061024961081d565b604051610256919061268f565b60405180910390f35b34801561026b57600080fd5b5061028660048036038101906102819190612254565b61085a565b005b34801561029457600080fd5b506102af60048036038101906102aa9190612354565b610933565b6040516102bc9190612659565b60405180910390f35b3480156102d157600080fd5b506102ec60048036038101906102e79190612254565b610a25565b6040516102f99190612659565b60405180910390f35b34801561030e57600080fd5b50610317610a45565b6040516103249190612751565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190612394565b610a4f565b005b34801561036257600080fd5b5061037d600480360381019061037891906122c1565b610b87565b60405161038a9190612659565b60405180910390f35b34801561039f57600080fd5b506103a8610d87565b6040516103b59190612751565b60405180910390f35b3480156103ca57600080fd5b506103d3610e09565b6040516103e091906127c6565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b9190612254565b610e12565b60405161041d9190612659565b60405180910390f35b34801561043257600080fd5b5061044d600480360381019061044891906122c1565b610e32565b005b34801561045b57600080fd5b50610464610f5a565b6040516104719190612659565b60405180910390f35b34801561048657600080fd5b506104a1600480360381019061049c9190612254565b610f6d565b6040516104ae9190612659565b60405180910390f35b3480156104c357600080fd5b506104cc610fa0565b005b3480156104da57600080fd5b506104f560048036038101906104f09190612314565b611040565b005b34801561050357600080fd5b5061051e60048036038101906105199190612254565b611130565b005b34801561052c57600080fd5b5061053561120f565b6040516105429190612751565b60405180910390f35b34801561055757600080fd5b50610560611215565b60405161056d9190612659565b60405180910390f35b34801561058257600080fd5b5061059d60048036038101906105989190612254565b611228565b6040516105aa9190612751565b60405180910390f35b3480156105bf57600080fd5b506105c8611271565b005b3480156105d657600080fd5b506105df6113c4565b6040516105ec9190612615565b60405180910390f35b34801561060157600080fd5b5061060a6113d3565b005b34801561061857600080fd5b5061062161148c565b60405161062e9190612615565b60405180910390f35b34801561064357600080fd5b5061064c6114b5565b005b34801561065a57600080fd5b50610663611567565b604051610670919061268f565b60405180910390f35b34801561068557600080fd5b5061068e6115a4565b60405161069b9190612615565b60405180910390f35b3480156106b057600080fd5b506106cb60048036038101906106c69190612354565b6115ca565b6040516106d89190612659565b60405180910390f35b3480156106ed57600080fd5b5061070860048036038101906107039190612254565b6115df565b6040516107159190612659565b60405180910390f35b34801561072a57600080fd5b506107336115ff565b6040516107409190612751565b60405180910390f35b34801561075557600080fd5b50610770600480360381019061076b9190612281565b611605565b60405161077d9190612751565b60405180910390f35b34801561079257600080fd5b506107ad60048036038101906107a89190612421565b61168c565b6040516107ba9190612615565b60405180910390f35b3480156107cf57600080fd5b506107ea60048036038101906107e59190612421565b6116cb565b005b3480156107f857600080fd5b5061080161176a565b60405161080e9190612674565b60405180910390f35b60135481565b60606040518060400160405280600481526020017f42736f7000000000000000000000000000000000000000000000000000000000815250905090565b610862611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e690612711565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a139190612751565b60405180910390a36001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600654905090565b610a57611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb90612711565b60405180910390fd5b60005b83839050811015610b815781600f6000868685818110610b0a57610b09612a08565b5b9050602002016020810190610b1f9190612254565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610b7a90612990565b9050610ae7565b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d7357610cf2826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117989092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d7e8484846117fc565b90509392505050565b6000610e04610db7600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611228565b610df6610de5600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611228565b600654611c5b90919063ffffffff16565b611c5b90919063ffffffff16565b905090565b60006012905090565b600b6020528060005260406000206000915054906101000a900460ff1681565b610e3a611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90612711565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401610f02929190612630565b602060405180830381600087803b158015610f1c57600080fd5b505af1158015610f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5491906123f4565b50505050565b601260149054906101000a900460ff1681565b6000610f99827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610933565b9050919050565b610fa8611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102c90612711565b60405180910390fd5b600654600d81905550565b611048611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cc90612711565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611138611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc90612711565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561120b573d6000803e3d6000fd5b5050565b600d5481565b601260159054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611279611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90612711565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006113ce61148c565b905090565b6113db611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f90612711565b60405180910390fd5b6001601260146101000a81548160ff02191690831515021790555043600281905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114bd611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461154a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154190612711565b60405180910390fd5b6000600e60006101000a81548160ff021916908315150217905550565b60606040518060400160405280600481526020017f42736f7000000000000000000000000000000000000000000000000000000000815250905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006115d73384846117fc565b905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60025481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6009818154811061169c57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6116d3611790565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175790612711565b60405180910390fd5b8060138190555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b60008383111582906117e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d7919061268f565b60405180910390fd5b50600083856117ef919061288c565b9050809150509392505050565b6000601460009054906101000a900460ff16156118255761181e848484611ca5565b9050611c54565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118c95750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aaa57601260149054906101000a900460ff1661191d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611914906126f1565b60405180910390fd5b600d5461197283600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7890919063ffffffff16565b1115806119c85750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fe906126b1565b60405180910390fd5b600e60009054906101000a900460ff1615611aa957600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f90612731565b60405180910390fd5b5b5b611ab2611ed6565b15611ac057611abf611fa9565b5b611b1282600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5b90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba782600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7890919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c479190612751565b60405180910390a3600190505b9392505050565b6000611c9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611798565b905092915050565b6000611d30826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117989092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc582600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7890919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e659190612751565b60405180910390a3600190509392505050565b6000808284611e879190612836565b905083811015611ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec3906126d1565b60405180910390fd5b8091505092915050565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f3f5750601460009054906101000a900460ff16155b8015611f575750601260159054906101000a900460ff165b8015611fa45750601354600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601460006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fe157611fe0612a37565b5b60405190808252806020026020018201604052801561200f5781602001602082028036833780820191505090505b509050308160008151811061202757612026612a08565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061209857612097612a08565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947601354600084601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161215a95949392919061276c565b600060405180830381600087803b15801561217457600080fd5b505af1158015612188573d6000803e3d6000fd5b50505050506000601460006101000a81548160ff021916908315150217905550565b6000813590506121b981612b5d565b92915050565b60008083601f8401126121d5576121d4612a6b565b5b8235905067ffffffffffffffff8111156121f2576121f1612a66565b5b60208301915083602082028301111561220e5761220d612a70565b5b9250929050565b60008135905061222481612b74565b92915050565b60008151905061223981612b74565b92915050565b60008135905061224e81612b8b565b92915050565b60006020828403121561226a57612269612a7a565b5b6000612278848285016121aa565b91505092915050565b6000806040838503121561229857612297612a7a565b5b60006122a6858286016121aa565b92505060206122b7858286016121aa565b9150509250929050565b6000806000606084860312156122da576122d9612a7a565b5b60006122e8868287016121aa565b93505060206122f9868287016121aa565b925050604061230a8682870161223f565b9150509250925092565b6000806040838503121561232b5761232a612a7a565b5b6000612339858286016121aa565b925050602061234a85828601612215565b9150509250929050565b6000806040838503121561236b5761236a612a7a565b5b6000612379858286016121aa565b925050602061238a8582860161223f565b9150509250929050565b6000806000604084860312156123ad576123ac612a7a565b5b600084013567ffffffffffffffff8111156123cb576123ca612a75565b5b6123d7868287016121bf565b935093505060206123ea86828701612215565b9150509250925092565b60006020828403121561240a57612409612a7a565b5b60006124188482850161222a565b91505092915050565b60006020828403121561243757612436612a7a565b5b60006124458482850161223f565b91505092915050565b600061245a8383612466565b60208301905092915050565b61246f816128c0565b82525050565b61247e816128c0565b82525050565b600061248f826127f1565b6124998185612814565b93506124a4836127e1565b8060005b838110156124d55781516124bc888261244e565b97506124c783612807565b9250506001810190506124a8565b5085935050505092915050565b6124eb816128d2565b82525050565b6124fa81612915565b82525050565b61250981612927565b82525050565b600061251a826127fc565b6125248185612825565b935061253481856020860161295d565b61253d81612a7f565b840191505092915050565b6000612555601f83612825565b915061256082612a90565b602082019050919050565b6000612578601b83612825565b915061258382612ab9565b602082019050919050565b600061259b601483612825565b91506125a682612ae2565b602082019050919050565b60006125be602083612825565b91506125c982612b0b565b602082019050919050565b60006125e1600d83612825565b91506125ec82612b34565b602082019050919050565b612600816128fe565b82525050565b61260f81612908565b82525050565b600060208201905061262a6000830184612475565b92915050565b60006040820190506126456000830185612475565b61265260208301846125f7565b9392505050565b600060208201905061266e60008301846124e2565b92915050565b600060208201905061268960008301846124f1565b92915050565b600060208201905081810360008301526126a9818461250f565b905092915050565b600060208201905081810360008301526126ca81612548565b9050919050565b600060208201905081810360008301526126ea8161256b565b9050919050565b6000602082019050818103600083015261270a8161258e565b9050919050565b6000602082019050818103600083015261272a816125b1565b9050919050565b6000602082019050818103600083015261274a816125d4565b9050919050565b600060208201905061276660008301846125f7565b92915050565b600060a08201905061278160008301886125f7565b61278e6020830187612500565b81810360408301526127a08186612484565b90506127af6060830185612475565b6127bc60808301846125f7565b9695505050505050565b60006020820190506127db6000830184612606565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612841826128fe565b915061284c836128fe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612881576128806129d9565b5b828201905092915050565b6000612897826128fe565b91506128a2836128fe565b9250828210156128b5576128b46129d9565b5b828203905092915050565b60006128cb826128de565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061292082612939565b9050919050565b6000612932826128fe565b9050919050565b60006129448261294b565b9050919050565b6000612956826128de565b9050919050565b60005b8381101561297b578082015181840152602081019050612960565b8381111561298a576000848401525b50505050565b600061299b826128fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156129ce576129cd6129d9565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4d61782057616c6c6574204c696d6974204c696d697420457863656564656400600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f43616e2774206275792079657400000000000000000000000000000000000000600082015250565b612b66816128c0565b8114612b7157600080fd5b50565b612b7d816128d2565b8114612b8857600080fd5b50565b612b94816128fe565b8114612b9f57600080fd5b5056fea26469706673582212205ae81b8b1ff701fc43e4cb67cfec5c6fc8f10ec48fae49a2a3c277a376eb435464736f6c63430008070033

Deployed Bytecode Sourcemap

4795:7576:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5998:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7144:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11608:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7568:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5563:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6874:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11308:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8086:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11158:142;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6968:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5512:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11725:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5920:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7792:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12140:92;;;;;;;;;;;;;:::i;:::-;;12240:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11894:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5622:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5961:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7316:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3098:148;;;;;;;;;;;;;:::i;:::-;;7230:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9893:121;;;;;;;;;;;;;:::i;:::-;;2884:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11513:87;;;;;;;;;;;;;:::i;:::-;;7054:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5892:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7922:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5447:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4869:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7427:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5411:29;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12033:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5861:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5998:54;;;;:::o;7144:80::-;7192:13;7216:5;;;;;;;;;;;;;;;;;7209:12;;7144:80;:::o;11608:109::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11700:8:::1;11677:20;;:31;;;;;;;;;;;;;;;;;;11608:109:::0;:::o;7568:216::-;7643:4;7695:6;7660:11;:23;7672:10;7660:23;;;;;;;;;;;;;;;:32;7684:7;7660:32;;;;;;;;;;;;;;;:41;;;;7738:7;7717:37;;7726:10;7717:37;;;7747:6;7717:37;;;;;;:::i;:::-;;;;;;;;7772:4;7765:11;;7568:216;;;;:::o;5563:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6874:88::-;6929:7;6947:12;;6940:19;;6874:88;:::o;11308:197::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11406:9:::1;11401:97;11421:9;;:16;;11417:1;:20;11401:97;;;11480:6;11459:4;:18;11464:9;;11474:1;11464:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11459:18;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;11439:3;;;;:::i;:::-;;;11401:97;;;;11308:197:::0;;;:::o;8086:370::-;8186:4;8241:17;8206:11;:19;8218:6;8206:19;;;;;;;;;;;;;;;:31;8226:10;8206:31;;;;;;;;;;;;;;;;:52;8203:186;;8308:69;8344:6;8308:69;;;;;;;;;;;;;;;;;:11;:19;8320:6;8308:19;;;;;;;;;;;;;;;:31;8328:10;8308:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8274:11;:19;8286:6;8274:19;;;;;;;;;;;;;;;:31;8294:10;8274:31;;;;;;;;;;;;;;;:103;;;;8203:186;8408:40;8422:6;8430:9;8441:6;8408:13;:40::i;:::-;8401:47;;8086:370;;;;;:::o;11158:142::-;11211:7;11238:54;11276:15;11286:4;;;;;;;;;;;11276:9;:15::i;:::-;11238:33;11255:15;11265:4;;;;;;;;;;;11255:9;:15::i;:::-;11238:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;11231:61;;11158:142;:::o;6968:80::-;7020:5;5204:2;7029:16;;6968:80;:::o;5512:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;11725:161::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11839:8:::1;11833:24;;;11858:10;11870:7;11833:45;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11725:161:::0;;;:::o;5920:34::-;;;;;;;;;;;;;:::o;7792:122::-;7847:4;7871:35;7879:7;7888:17;7871:7;:35::i;:::-;7864:42;;7792:122;;;:::o;12140:92::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12211:12:::1;;12192:16;:31;;;;12140:92::o:0;12240:122::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12348:5:::1;12324:11;:21;12336:8;12324:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12240:122:::0;;:::o;11894:131::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11973:10:::1;11965:28;;:51;11994:21;11965:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11894:131:::0;:::o;5622:51::-;;;;:::o;5961:30::-;;;;;;;;;;;;;:::o;7316:105::-;7382:7;7400:9;:18;7410:7;7400:18;;;;;;;;;;;;;;;;7393:25;;7316:105;;;:::o;3098:148::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3205:1:::1;3168:40;;3189:6;::::0;::::1;;;;;;;;3168:40;;;;;;;;;;;;3236:1;3219:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3098:148::o:0;7230:80::-;7282:7;7300;:5;:7::i;:::-;7293:14;;7230:80;:::o;9893:121::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9965:4:::1;9948:14;;:21;;;;;;;;;;;;;;;;;;9994:12;9980:11;:26;;;;9893:121::o:0;2884:79::-;2922:7;2949:6;;;;;;;;;;;2942:13;;2884:79;:::o;11513:87::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11587:5:::1;11571:13;;:21;;;;;;;;;;;;;;;;;;11513:87::o:0;7054:84::-;7104:13;7128:7;;;;;;;;;;;;;;;;;7121:14;;7054:84;:::o;5892:19::-;;;;;;;;;;;;;:::o;7922:156::-;8002:4;8026:44;8040:10;8052:9;8063:6;8026:13;:44::i;:::-;8019:51;;7922:156;;;;:::o;5447:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;4869:26::-;;;;:::o;7427:133::-;7511:7;7529:11;:19;7541:6;7529:19;;;;;;;;;;;;;;;:28;7549:7;7529:28;;;;;;;;;;;;;;;;7522:35;;7427:133;;;;:::o;5411:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12033:99::-;3021:12;:10;:12::i;:::-;3011:22;;:6;;;;;;;;;;:22;;;3003:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12118:6:::1;12102:13;:22;;;;12033:99:::0;:::o;5861:24::-;;;;;;;;;;;;;:::o;2157:124::-;2210:15;2261:10;2238:35;;2157:124;:::o;423:192::-;509:7;542:1;537;:6;;545:12;529:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;569:9;585:1;581;:5;;;;:::i;:::-;569:17;;606:1;599:8;;;423:192;;;;;:::o;8464:822::-;8556:4;8576:6;;;;;;;;;;;8573:63;;;8592:41;8607:6;8615:9;8626:6;8592:14;:41::i;:::-;8585:48;;;;8573:63;8652:11;:19;8664:6;8652:19;;;;;;;;;;;;;;;;;;;;;;;;;8651:20;:47;;;;;8676:11;:22;8688:9;8676:22;;;;;;;;;;;;;;;;;;;;;;;;;8675:23;8651:47;8648:343;;;8722:14;;;;;;;;;;;8714:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;8819:16;;8783:32;8808:6;8783:9;:20;8793:9;8783:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;:52;;:84;;;;8839:17;:28;8857:9;8839:28;;;;;;;;;;;;;;;;;;;;;;;;;8783:84;8775:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;8921:13;;;;;;;;;;;8918:62;;;8945:4;:15;8950:9;8945:15;;;;;;;;;;;;;;;;;;;;;;;;;8937:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;8918:62;8648:343;9014:16;:14;:16::i;:::-;9011:35;;;9033:10;:8;:10::i;:::-;9011:35;9098:29;9120:6;9098:9;:17;9108:6;9098:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;9078:9;:17;9088:6;9078:17;;;;;;;;;;;;;;;:49;;;;9161:32;9186:6;9161:9;:20;9171:9;9161:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9138:9;:20;9148:9;9138:20;;;;;;;;;;;;;;;:55;;;;9238:9;9221:35;;9230:6;9221:35;;;9249:6;9221:35;;;;;;:::i;:::-;;;;;;;;9274:4;9267:11;;8464:822;;;;;;:::o;281:136::-;339:7;366:43;370:1;373;366:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;359:50;;281:136;;;;:::o;9298:330::-;9391:4;9428:53;9450:6;9428:53;;;;;;;;;;;;;;;;;:9;:17;9438:6;9428:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9408:9;:17;9418:6;9408:17;;;;;;;;;;;;;;;:73;;;;9515:32;9540:6;9515:9;:20;9525:9;9515:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9492:9;:20;9502:9;9492:20;;;;;;;;;;;;;;;:55;;;;9580:9;9563:35;;9572:6;9563:35;;;9591:6;9563:35;;;;;;:::i;:::-;;;;;;;;9616:4;9609:11;;9298:330;;;;;:::o;94:181::-;152:7;172:9;188:1;184;:5;;;;:::i;:::-;172:17;;213:1;208;:6;;200:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;266:1;259:8;;;94:181;;;;:::o;9636:226::-;9685:4;9719:25;:37;9745:10;9719:37;;;;;;;;;;;;;;;;;;;;;;;;;9718:38;:58;;;;;9770:6;;;;;;;;;;;9769:7;9718:58;:82;;;;;9789:11;;;;;;;;;;;9718:82;:136;;;;;9841:13;;9813:9;:24;9831:4;9813:24;;;;;;;;;;;;;;;;:41;;9718:136;9702:152;;9636:226;:::o;10022:365::-;6118:4;6109:6;;:13;;;;;;;;;;;;;;;;;;10071:21:::1;10109:1;10095:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10071:40;;10140:4;10122;10127:1;10122:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10166:4;;;;;;;;;;;10156;10161:1;10156:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;10183:6;;;;;;;;;;;:57;;;10255:13;;10283:1;10299:4;10318:20;;;;;;;;;;;10353:15;10183:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10060:327;6136:5:::0;6127:6;;:14;;;;;;;;;;;;;;;;;;10022:365::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;169:568::-;242:8;252:6;302:3;295:4;287:6;283:17;279:27;269:122;;310:79;;:::i;:::-;269:122;423:6;410:20;400:30;;453:18;445:6;442:30;439:117;;;475:79;;:::i;:::-;439:117;589:4;581:6;577:17;565:29;;643:3;635:4;627:6;623:17;613:8;609:32;606:41;603:128;;;650:79;;:::i;:::-;603:128;169:568;;;;;:::o;743:133::-;786:5;824:6;811:20;802:29;;840:30;864:5;840:30;:::i;:::-;743:133;;;;:::o;882:137::-;936:5;967:6;961:13;952:22;;983:30;1007:5;983:30;:::i;:::-;882:137;;;;:::o;1025:139::-;1071:5;1109:6;1096:20;1087:29;;1125:33;1152:5;1125:33;:::i;:::-;1025:139;;;;:::o;1170:329::-;1229:6;1278:2;1266:9;1257:7;1253:23;1249:32;1246:119;;;1284:79;;:::i;:::-;1246:119;1404:1;1429:53;1474:7;1465:6;1454:9;1450:22;1429:53;:::i;:::-;1419:63;;1375:117;1170:329;;;;:::o;1505:474::-;1573:6;1581;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:53;1826:7;1817:6;1806:9;1802:22;1781:53;:::i;:::-;1771:63;;1727:117;1883:2;1909:53;1954:7;1945:6;1934:9;1930:22;1909:53;:::i;:::-;1899:63;;1854:118;1505:474;;;;;:::o;1985:619::-;2062:6;2070;2078;2127:2;2115:9;2106:7;2102:23;2098:32;2095:119;;;2133:79;;:::i;:::-;2095:119;2253:1;2278:53;2323:7;2314:6;2303:9;2299:22;2278:53;:::i;:::-;2268:63;;2224:117;2380:2;2406:53;2451:7;2442:6;2431:9;2427:22;2406:53;:::i;:::-;2396:63;;2351:118;2508:2;2534:53;2579:7;2570:6;2559:9;2555:22;2534:53;:::i;:::-;2524:63;;2479:118;1985:619;;;;;:::o;2610:468::-;2675:6;2683;2732:2;2720:9;2711:7;2707:23;2703:32;2700:119;;;2738:79;;:::i;:::-;2700:119;2858:1;2883:53;2928:7;2919:6;2908:9;2904:22;2883:53;:::i;:::-;2873:63;;2829:117;2985:2;3011:50;3053:7;3044:6;3033:9;3029:22;3011:50;:::i;:::-;3001:60;;2956:115;2610:468;;;;;:::o;3084:474::-;3152:6;3160;3209:2;3197:9;3188:7;3184:23;3180:32;3177:119;;;3215:79;;:::i;:::-;3177:119;3335:1;3360:53;3405:7;3396:6;3385:9;3381:22;3360:53;:::i;:::-;3350:63;;3306:117;3462:2;3488:53;3533:7;3524:6;3513:9;3509:22;3488:53;:::i;:::-;3478:63;;3433:118;3084:474;;;;;:::o;3564:698::-;3656:6;3664;3672;3721:2;3709:9;3700:7;3696:23;3692:32;3689:119;;;3727:79;;:::i;:::-;3689:119;3875:1;3864:9;3860:17;3847:31;3905:18;3897:6;3894:30;3891:117;;;3927:79;;:::i;:::-;3891:117;4040:80;4112:7;4103:6;4092:9;4088:22;4040:80;:::i;:::-;4022:98;;;;3818:312;4169:2;4195:50;4237:7;4228:6;4217:9;4213:22;4195:50;:::i;:::-;4185:60;;4140:115;3564:698;;;;;:::o;4268:345::-;4335:6;4384:2;4372:9;4363:7;4359:23;4355:32;4352:119;;;4390:79;;:::i;:::-;4352:119;4510:1;4535:61;4588:7;4579:6;4568:9;4564:22;4535:61;:::i;:::-;4525:71;;4481:125;4268:345;;;;:::o;4619:329::-;4678:6;4727:2;4715:9;4706:7;4702:23;4698:32;4695:119;;;4733:79;;:::i;:::-;4695:119;4853:1;4878:53;4923:7;4914:6;4903:9;4899:22;4878:53;:::i;:::-;4868:63;;4824:117;4619:329;;;;:::o;4954:179::-;5023:10;5044:46;5086:3;5078:6;5044:46;:::i;:::-;5122:4;5117:3;5113:14;5099:28;;4954:179;;;;:::o;5139:108::-;5216:24;5234:5;5216:24;:::i;:::-;5211:3;5204:37;5139:108;;:::o;5253:118::-;5340:24;5358:5;5340:24;:::i;:::-;5335:3;5328:37;5253:118;;:::o;5407:732::-;5526:3;5555:54;5603:5;5555:54;:::i;:::-;5625:86;5704:6;5699:3;5625:86;:::i;:::-;5618:93;;5735:56;5785:5;5735:56;:::i;:::-;5814:7;5845:1;5830:284;5855:6;5852:1;5849:13;5830:284;;;5931:6;5925:13;5958:63;6017:3;6002:13;5958:63;:::i;:::-;5951:70;;6044:60;6097:6;6044:60;:::i;:::-;6034:70;;5890:224;5877:1;5874;5870:9;5865:14;;5830:284;;;5834:14;6130:3;6123:10;;5531:608;;;5407:732;;;;:::o;6145:109::-;6226:21;6241:5;6226:21;:::i;:::-;6221:3;6214:34;6145:109;;:::o;6260:167::-;6365:55;6414:5;6365:55;:::i;:::-;6360:3;6353:68;6260:167;;:::o;6433:147::-;6528:45;6567:5;6528:45;:::i;:::-;6523:3;6516:58;6433:147;;:::o;6586:364::-;6674:3;6702:39;6735:5;6702:39;:::i;:::-;6757:71;6821:6;6816:3;6757:71;:::i;:::-;6750:78;;6837:52;6882:6;6877:3;6870:4;6863:5;6859:16;6837:52;:::i;:::-;6914:29;6936:6;6914:29;:::i;:::-;6909:3;6905:39;6898:46;;6678:272;6586:364;;;;:::o;6956:366::-;7098:3;7119:67;7183:2;7178:3;7119:67;:::i;:::-;7112:74;;7195:93;7284:3;7195:93;:::i;:::-;7313:2;7308:3;7304:12;7297:19;;6956:366;;;:::o;7328:::-;7470:3;7491:67;7555:2;7550:3;7491:67;:::i;:::-;7484:74;;7567:93;7656:3;7567:93;:::i;:::-;7685:2;7680:3;7676:12;7669:19;;7328:366;;;:::o;7700:::-;7842:3;7863:67;7927:2;7922:3;7863:67;:::i;:::-;7856:74;;7939:93;8028:3;7939:93;:::i;:::-;8057:2;8052:3;8048:12;8041:19;;7700:366;;;:::o;8072:::-;8214:3;8235:67;8299:2;8294:3;8235:67;:::i;:::-;8228:74;;8311:93;8400:3;8311:93;:::i;:::-;8429:2;8424:3;8420:12;8413:19;;8072:366;;;:::o;8444:::-;8586:3;8607:67;8671:2;8666:3;8607:67;:::i;:::-;8600:74;;8683:93;8772:3;8683:93;:::i;:::-;8801:2;8796:3;8792:12;8785:19;;8444:366;;;:::o;8816:118::-;8903:24;8921:5;8903:24;:::i;:::-;8898:3;8891:37;8816:118;;:::o;8940:112::-;9023:22;9039:5;9023:22;:::i;:::-;9018:3;9011:35;8940:112;;:::o;9058:222::-;9151:4;9189:2;9178:9;9174:18;9166:26;;9202:71;9270:1;9259:9;9255:17;9246:6;9202:71;:::i;:::-;9058:222;;;;:::o;9286:332::-;9407:4;9445:2;9434:9;9430:18;9422:26;;9458:71;9526:1;9515:9;9511:17;9502:6;9458:71;:::i;:::-;9539:72;9607:2;9596:9;9592:18;9583:6;9539:72;:::i;:::-;9286:332;;;;;:::o;9624:210::-;9711:4;9749:2;9738:9;9734:18;9726:26;;9762:65;9824:1;9813:9;9809:17;9800:6;9762:65;:::i;:::-;9624:210;;;;:::o;9840:258::-;9951:4;9989:2;9978:9;9974:18;9966:26;;10002:89;10088:1;10077:9;10073:17;10064:6;10002:89;:::i;:::-;9840:258;;;;:::o;10104:313::-;10217:4;10255:2;10244:9;10240:18;10232:26;;10304:9;10298:4;10294:20;10290:1;10279:9;10275:17;10268:47;10332:78;10405:4;10396:6;10332:78;:::i;:::-;10324:86;;10104:313;;;;:::o;10423:419::-;10589:4;10627:2;10616:9;10612:18;10604:26;;10676:9;10670:4;10666:20;10662:1;10651:9;10647:17;10640:47;10704:131;10830:4;10704:131;:::i;:::-;10696:139;;10423:419;;;:::o;10848:::-;11014:4;11052:2;11041:9;11037:18;11029:26;;11101:9;11095:4;11091:20;11087:1;11076:9;11072:17;11065:47;11129:131;11255:4;11129:131;:::i;:::-;11121:139;;10848:419;;;:::o;11273:::-;11439:4;11477:2;11466:9;11462:18;11454:26;;11526:9;11520:4;11516:20;11512:1;11501:9;11497:17;11490:47;11554:131;11680:4;11554:131;:::i;:::-;11546:139;;11273:419;;;:::o;11698:::-;11864:4;11902:2;11891:9;11887:18;11879:26;;11951:9;11945:4;11941:20;11937:1;11926:9;11922:17;11915:47;11979:131;12105:4;11979:131;:::i;:::-;11971:139;;11698:419;;;:::o;12123:::-;12289:4;12327:2;12316:9;12312:18;12304:26;;12376:9;12370:4;12366:20;12362:1;12351:9;12347:17;12340:47;12404:131;12530:4;12404:131;:::i;:::-;12396:139;;12123:419;;;:::o;12548:222::-;12641:4;12679:2;12668:9;12664:18;12656:26;;12692:71;12760:1;12749:9;12745:17;12736:6;12692:71;:::i;:::-;12548:222;;;;:::o;12776:831::-;13039:4;13077:3;13066:9;13062:19;13054:27;;13091:71;13159:1;13148:9;13144:17;13135:6;13091:71;:::i;:::-;13172:80;13248:2;13237:9;13233:18;13224:6;13172:80;:::i;:::-;13299:9;13293:4;13289:20;13284:2;13273:9;13269:18;13262:48;13327:108;13430:4;13421:6;13327:108;:::i;:::-;13319:116;;13445:72;13513:2;13502:9;13498:18;13489:6;13445:72;:::i;:::-;13527:73;13595:3;13584:9;13580:19;13571:6;13527:73;:::i;:::-;12776:831;;;;;;;;:::o;13613:214::-;13702:4;13740:2;13729:9;13725:18;13717:26;;13753:67;13817:1;13806:9;13802:17;13793:6;13753:67;:::i;:::-;13613:214;;;;:::o;13914:132::-;13981:4;14004:3;13996:11;;14034:4;14029:3;14025:14;14017:22;;13914:132;;;:::o;14052:114::-;14119:6;14153:5;14147:12;14137:22;;14052:114;;;:::o;14172:99::-;14224:6;14258:5;14252:12;14242:22;;14172:99;;;:::o;14277:113::-;14347:4;14379;14374:3;14370:14;14362:22;;14277:113;;;:::o;14396:184::-;14495:11;14529:6;14524:3;14517:19;14569:4;14564:3;14560:14;14545:29;;14396:184;;;;:::o;14586:169::-;14670:11;14704:6;14699:3;14692:19;14744:4;14739:3;14735:14;14720:29;;14586:169;;;;:::o;14761:305::-;14801:3;14820:20;14838:1;14820:20;:::i;:::-;14815:25;;14854:20;14872:1;14854:20;:::i;:::-;14849:25;;15008:1;14940:66;14936:74;14933:1;14930:81;14927:107;;;15014:18;;:::i;:::-;14927:107;15058:1;15055;15051:9;15044:16;;14761:305;;;;:::o;15072:191::-;15112:4;15132:20;15150:1;15132:20;:::i;:::-;15127:25;;15166:20;15184:1;15166:20;:::i;:::-;15161:25;;15205:1;15202;15199:8;15196:34;;;15210:18;;:::i;:::-;15196:34;15255:1;15252;15248:9;15240:17;;15072:191;;;;:::o;15269:96::-;15306:7;15335:24;15353:5;15335:24;:::i;:::-;15324:35;;15269:96;;;:::o;15371:90::-;15405:7;15448:5;15441:13;15434:21;15423:32;;15371:90;;;:::o;15467:126::-;15504:7;15544:42;15537:5;15533:54;15522:65;;15467:126;;;:::o;15599:77::-;15636:7;15665:5;15654:16;;15599:77;;;:::o;15682:86::-;15717:7;15757:4;15750:5;15746:16;15735:27;;15682:86;;;:::o;15774:144::-;15842:9;15875:37;15906:5;15875:37;:::i;:::-;15862:50;;15774:144;;;:::o;15924:121::-;15982:9;16015:24;16033:5;16015:24;:::i;:::-;16002:37;;15924:121;;;:::o;16051:126::-;16101:9;16134:37;16165:5;16134:37;:::i;:::-;16121:50;;16051:126;;;:::o;16183:113::-;16233:9;16266:24;16284:5;16266:24;:::i;:::-;16253:37;;16183:113;;;:::o;16302:307::-;16370:1;16380:113;16394:6;16391:1;16388:13;16380:113;;;16479:1;16474:3;16470:11;16464:18;16460:1;16455:3;16451:11;16444:39;16416:2;16413:1;16409:10;16404:15;;16380:113;;;16511:6;16508:1;16505:13;16502:101;;;16591:1;16582:6;16577:3;16573:16;16566:27;16502:101;16351:258;16302:307;;;:::o;16615:233::-;16654:3;16677:24;16695:5;16677:24;:::i;:::-;16668:33;;16723:66;16716:5;16713:77;16710:103;;;16793:18;;:::i;:::-;16710:103;16840:1;16833:5;16829:13;16822:20;;16615:233;;;:::o;16854:180::-;16902:77;16899:1;16892:88;16999:4;16996:1;16989:15;17023:4;17020:1;17013:15;17040:180;17088:77;17085:1;17078:88;17185:4;17182:1;17175:15;17209:4;17206:1;17199:15;17226:180;17274:77;17271:1;17264:88;17371:4;17368:1;17361:15;17395:4;17392:1;17385:15;17412:117;17521:1;17518;17511:12;17535:117;17644:1;17641;17634:12;17658:117;17767:1;17764;17757:12;17781:117;17890:1;17887;17880:12;17904:117;18013:1;18010;18003:12;18027:102;18068:6;18119:2;18115:7;18110:2;18103:5;18099:14;18095:28;18085:38;;18027:102;;;:::o;18135:181::-;18275:33;18271:1;18263:6;18259:14;18252:57;18135:181;:::o;18322:177::-;18462:29;18458:1;18450:6;18446:14;18439:53;18322:177;:::o;18505:170::-;18645:22;18641:1;18633:6;18629:14;18622:46;18505:170;:::o;18681:182::-;18821:34;18817:1;18809:6;18805:14;18798:58;18681:182;:::o;18869:163::-;19009:15;19005:1;18997:6;18993:14;18986:39;18869:163;:::o;19038:122::-;19111:24;19129:5;19111:24;:::i;:::-;19104:5;19101:35;19091:63;;19150:1;19147;19140:12;19091:63;19038:122;:::o;19166:116::-;19236:21;19251:5;19236:21;:::i;:::-;19229:5;19226:32;19216:60;;19272:1;19269;19262:12;19216:60;19166:116;:::o;19288:122::-;19361:24;19379:5;19361:24;:::i;:::-;19354:5;19351:35;19341:63;;19400:1;19397;19390:12;19341:63;19288:122;:::o

Swarm Source

ipfs://5ae81b8b1ff701fc43e4cb67cfec5c6fc8f10ec48fae49a2a3c277a376eb4354
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.