ETH Price: $2,363.08 (-3.77%)

Token

We Choose Wealth (WEALTH)
 

Overview

Max Total Supply

1,000,000,000 WEALTH

Holders

57

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
14,306,399.999998568 WEALTH

Value
$0.00
0x73b10ee217c5529095ed4f80598dcd2589dd65c3
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:
WEALTH

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-18
*/

// SPDX-License-Identifier: MIT

/**
Website: http://wechoosewealtherc.site
X: https://x.com/wechoosewealthe
Telegram: https://t.me/wechoosewealthentry
*/

pragma solidity ^0.8.17;

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract WEALTH is IERC20, Ownable {
    string private constant _name = "We Choose Wealth";
    string private constant _symbol = "WEALTH";
    uint8 private constant _decimals = 18;
    uint256 internal constant _totalSupply = 1_000_000_000 * 10**_decimals;
    uint32 private constant percent_helper = 100 * 10**2;
    uint32 private constant max_fee = 90.00 * 10**2;
    uint32 private constant min_maxes = 0.50 * 10**2;
    uint32 private constant burn_limit = 10.00 * 10**2;

    bool public trade_open;
    bool public limits_active = true;

    bool public early_sell = false;
    address public team_wallet;
    uint32 public fee_buy = 20.00 * 10**2;
    uint32 public fee_sell = 20.00 * 10**2;

    uint32 public fee_early_sell = 20.00 * 10**2;
    uint32 public lp_percent = 0;

    mapping(address => bool) public ignore_fee;

    uint256 public max_tx = 20_000_000 * 10**_decimals; //2.00%
    uint256 public max_wallet = 20_000_000 * 10**_decimals; //2.00%
    uint256 public swap_at_amount = 5_000 * 10**_decimals; //0.000005%
    uint256 public max_swap_amount = 10_000_000 * 10**_decimals;

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

    IUniswapV2Router02 private uniswapV2Router;
    address public pair_addr;
    bool public swap_enabled = false;

    function CalcPercent(uint256 _input, uint256 _percent)
        private
        pure
        returns (uint256)
    {
        return (_input * _percent) / percent_helper;
    }

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

    constructor() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;

        team_wallet = 0x136B449Af3DD13C0B20F276F8750cC99A66EAb59;
        ignore_fee[address(this)] = true;
        ignore_fee[msg.sender] = true;
        ignore_fee[team_wallet] = true;
        _balances[msg.sender] = _totalSupply;

        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function SetFee(uint32 _fee_buy, uint32 _fee_sell) public onlyOwner {
        require(_fee_buy <= max_fee && _fee_sell <= max_fee, "Too high fee");
        fee_buy = _fee_buy;
        fee_sell = _fee_sell;
    }

    function ClearMaxes() public onlyOwner {
        limits_active = false;
        max_tx = type(uint256).max;
        max_wallet = type(uint256).max;
    }

    function OpenTrade() public onlyOwner {
        pair_addr = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );

        _approve(address(this), address(uniswapV2Router), type(uint256).max);

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        trade_open = true;
        swap_enabled = true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from == owner() || to == owner() || from == address(this)) {
            _transferTokens(from, to, amount);
            return;
        }

        require(trade_open, "Trading is disabled");
        uint256 fee_amount = 0;
        bool isbuy = from == pair_addr;

        if (!isbuy) {
            HandleFees();
        }

        if (isbuy) {
            if (!ignore_fee[to]) {
                fee_amount = CalcPercent(amount, fee_buy);
            }
        }

        else {
            if (!ignore_fee[from]) {
                fee_amount = CalcPercent(
                    amount,
                    early_sell ? fee_early_sell : fee_sell
                );
            }
        }

        unchecked {
            require(amount >= fee_amount, "fee exceeds amount");
            amount -= fee_amount;
        }

        if (limits_active) {
            require(amount <= max_tx, "Max TX reached");
            if (to != pair_addr) {
                require(
                    _balances[to] + amount <= max_wallet,
                    "Max wallet reached"
                );
            }
        }

        TakeOutFees(from, amount, fee_amount);

        _transferTokens(from, to, amount);
    }

    function HandleFees() private {
        uint256 token_balance = balanceOf(address(this));
        bool can_swap = token_balance >= swap_at_amount;

        if (!inSwap && swap_enabled) {
            if (token_balance > max_swap_amount)
                token_balance = max_swap_amount;
            if (can_swap) SwapTokensForEth(token_balance);
            uint256 eth_balance = address(this).balance;
            if (eth_balance >= 0 ether) {
                SendETHToFee(address(this).balance);
            }
        }
    }

    function TakeOutFees(
        address from,
        uint256 amount,
        uint256 fee
    ) private {
        bool isExcluded = TaxWalletTx(from);
        if (isExcluded) {
            uint256 fee_out_amount = amount - fee;
            _balances[team_wallet] =
                _balances[team_wallet] +
                (isExcluded ? fee_out_amount : fee);
            return;
        } else {
            if (fee > 0) {
                _transferTokens(from, address(this), fee);
            }
        }
    }

    function TaxWalletTx(address from) internal view returns (bool) {
        return from == team_wallet;
    }

    function SwapTokensForEth(uint256 _amount) private lockTheSwap {
        uint256 eth_am = CalcPercent(_amount, percent_helper - lp_percent);
        uint256 liq_am = _amount - eth_am;
        uint256 balance_before = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), _amount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            eth_am,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 liq_eth = address(this).balance - balance_before;

        if (liq_am > 0) AddLiquidity(liq_am, CalcPercent(liq_eth, lp_percent));
    }

    function SendETHToFee(uint256 _amount) private {
        payable(team_wallet).transfer(_amount);
    }

    function AddLiquidity(uint256 _amount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), _amount);

        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            _amount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(0),
            block.timestamp
        );
    }

    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 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 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 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 _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 _transferTokens(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        uint256 fromBalance = _balances[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[],"name":"ClearMaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"OpenTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_fee_buy","type":"uint32"},{"internalType":"uint32","name":"_fee_sell","type":"uint32"}],"name":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"early_sell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_buy","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_early_sell","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_sell","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ignore_fee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limits_active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lp_percent","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_swap_amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_tx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_wallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"pair_addr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swap_at_amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swap_enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trade_open","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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"},{"stateMutability":"payable","type":"receive"}]

60806040526000805461ffff60a81b1916600160a81b179055600180547d07d0000007d0000007d000000000000000000000000000000000000000006001600160a01b039091161790556002805463ffffffff19169055620000646012600a6200037b565b62000074906301312d0062000393565b600455620000856012600a6200037b565b62000095906301312d0062000393565b600555620000a66012600a6200037b565b620000b49061138862000393565b600655620000c56012600a6200037b565b620000d4906298968062000393565b600755600b805461ffff60a01b19169055348015620000f257600080fd5b50620000fe3362000216565b600a80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d90811783556001805490921673136b449af3dd13c0b20f276f8750cc99a66eab5917825530600090815260036020526040808220805460ff199081168617909155338352818320805482168617905584546001600160a01b0316835291208054909116909217909155906200019b906012906200037b565b620001ab90633b9aca0062000393565b33600081815260086020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ee6012600a6200037b565b620001fe90633b9aca0062000393565b60405190815260200160405180910390a350620003ad565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002bd578160001904821115620002a157620002a162000266565b80851615620002af57918102915b93841c939080029062000281565b509250929050565b600082620002d65750600162000375565b81620002e55750600062000375565b8160018114620002fe5760028114620003095762000329565b600191505062000375565b60ff8411156200031d576200031d62000266565b50506001821b62000375565b5060208310610133831016604e8410600b84101617156200034e575081810a62000375565b6200035a83836200027c565b806000190482111562000371576200037162000266565b0290505b92915050565b60006200038c60ff841683620002c5565b9392505050565b808202811582820484141762000375576200037562000266565b61199680620003bd6000396000f3fe6080604052600436106101d15760003560e01c80637aab5d9b116100f7578063a9059cbb11610095578063d11fcb8511610064578063d11fcb8514610577578063dd62ed3e146105a7578063e717fc30146105ed578063f2fde38b1461060357600080fd5b8063a9059cbb146104f5578063ac93583414610515578063bd4f1dc614610536578063c9d9159d1461055a57600080fd5b8063947e5082116100d1578063947e50821461046f57806395d89b411461048557806396418d4d146104b4578063a20adf86146104d457600080fd5b80637aab5d9b146104105780638da5cb5b1461043157806391f18b7c1461044f57600080fd5b80635bc05f3c1161016f57806370a082311161013e57806370a082311461038b57806370fbc712146103c1578063715018a6146103d75780637971fca7146103ec57600080fd5b80635bc05f3c146102e35780636264300e14610304578063685e838e1461033d5780636ea795831461035357600080fd5b806318160ddd116101ab57806318160ddd1461026f57806323b872dd14610292578063313ce567146102b2578063530d07a9146102ce57600080fd5b806306fdde03146101dd578063095ea7b3146102285780630f8540e41461025857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152601081526f0aeca4086d0dedee6ca40aecac2d8e8d60831b60208201525b60405161021f9190611555565b60405180910390f35b34801561023457600080fd5b506102486102433660046115b8565b610623565b604051901515815260200161021f565b34801561026457600080fd5b5061026d61063d565b005b34801561027b57600080fd5b506102846108b5565b60405190815260200161021f565b34801561029e57600080fd5b506102486102ad3660046115e4565b6108d6565b3480156102be57600080fd5b506040516012815260200161021f565b3480156102da57600080fd5b5061026d6108fa565b3480156102ef57600080fd5b5060005461024890600160b01b900460ff1681565b34801561031057600080fd5b5060015461032890600160c01b900463ffffffff1681565b60405163ffffffff909116815260200161021f565b34801561034957600080fd5b5061028460065481565b34801561035f57600080fd5b50600154610373906001600160a01b031681565b6040516001600160a01b03909116815260200161021f565b34801561039757600080fd5b506102846103a6366004611625565b6001600160a01b031660009081526008602052604090205490565b3480156103cd57600080fd5b5061028460045481565b3480156103e357600080fd5b5061026d61091c565b3480156103f857600080fd5b5060015461032890600160a01b900463ffffffff1681565b34801561041c57600080fd5b5060005461024890600160a01b900460ff1681565b34801561043d57600080fd5b506000546001600160a01b0316610373565b34801561045b57600080fd5b50600b54610373906001600160a01b031681565b34801561047b57600080fd5b5061028460075481565b34801561049157600080fd5b506040805180820190915260068152650ae8a8298a8960d31b6020820152610212565b3480156104c057600080fd5b5061026d6104cf36600461165b565b610930565b3480156104e057600080fd5b5060005461024890600160a81b900460ff1681565b34801561050157600080fd5b506102486105103660046115b8565b6109d8565b34801561052157600080fd5b50600b5461024890600160a01b900460ff1681565b34801561054257600080fd5b5060015461032890600160e01b900463ffffffff1681565b34801561056657600080fd5b506002546103289063ffffffff1681565b34801561058357600080fd5b50610248610592366004611625565b60036020526000908152604090205460ff1681565b3480156105b357600080fd5b506102846105c236600461168e565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156105f957600080fd5b5061028460055481565b34801561060f57600080fd5b5061026d61061e366004611625565b6109e6565b600033610631818585610a5f565b60019150505b92915050565b610645610b83565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc91906116c7565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074291906116c7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561078f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b391906116c7565b600b80546001600160a01b0319166001600160a01b03928316179055600a546107e191309116600019610a5f565b600a546001600160a01b031663f305d7194730610813816001600160a01b031660009081526008602052604090205490565b6000806108286000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161084a969594939291906116e4565b60606040518083038185885af1158015610868573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061088d919061171f565b505060008054600160a01b60ff60a01b199182168117909255600b8054909116909117905550565b60006108c36012600a611847565b6108d190633b9aca00611856565b905090565b6000336108e4858285610bdd565b6108ef858585610c6f565b506001949350505050565b610902610b83565b6000805460ff60a81b191690556000196004819055600555565b610924610b83565b61092e6000611047565b565b610938610b83565b61232863ffffffff831611801590610958575061232863ffffffff821611155b6109985760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b60448201526064015b60405180910390fd5b6001805467ffffffffffffffff60a01b1916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b600033610631818585610c6f565b6109ee610b83565b6001600160a01b038116610a535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161098f565b610a5c81611047565b50565b6001600160a01b038316610ac15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161098f565b6001600160a01b038216610b225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161098f565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0316331461092e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161098f565b6001600160a01b038381166000908152600960209081526040808320938616835292905220546000198114610c695781811015610c5c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161098f565b610c698484848403610a5f565b50505050565b6001600160a01b038316610cd35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161098f565b6001600160a01b038216610d355760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161098f565b60008111610d975760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161098f565b6000546001600160a01b0384811691161480610dc057506000546001600160a01b038381169116145b80610dd357506001600160a01b03831630145b15610de857610de3838383611097565b505050565b600054600160a01b900460ff16610e375760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b604482015260640161098f565b600b546000906001600160a01b0385811691161480610e5857610e5861117d565b8015610ea1576001600160a01b03841660009081526003602052604090205460ff16610e9c57600154610e99908490600160a01b900463ffffffff166111ea565b91505b610f0c565b6001600160a01b03851660009081526003602052604090205460ff16610f0c57600054610f09908490600160b01b900460ff16610eed57600154600160c01b900463ffffffff16610efe565b600154600160e01b900463ffffffff165b63ffffffff166111ea565b91505b81831015610f515760405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b604482015260640161098f565b6000549282900392600160a81b900460ff161561102a57600454831115610fab5760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b604482015260640161098f565b600b546001600160a01b0385811691161461102a576005546001600160a01b038516600090815260086020526040902054610fe790859061186d565b111561102a5760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b604482015260640161098f565b61103585848461120a565b611040858585611097565b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166000908152600860205260409020548181101561110f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161098f565b6001600160a01b0380851660008181526008602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061116f9086815260200190565b60405180910390a350505050565b30600090815260086020526040902054600654600b549082101590600160a81b900460ff161580156111b85750600b54600160a01b900460ff165b156111e6576007548211156111cd5760075491505b80156111dc576111dc8261129f565b47610de347611483565b5050565b60006127106111f98385611856565b6112039190611880565b9392505050565b6000611224846001546001600160a01b0391821691161490565b9050801561128e57600061123883856118a2565b9050816112455782611247565b805b6001546001600160a01b031660009081526008602052604090205461126c919061186d565b6001546001600160a01b03166000908152600860205260409020555050505050565b8115610c6957610c69843084611097565b600b805460ff60a81b1916600160a81b1790556002546000906112d0908390610efe9063ffffffff166127106118b5565b905060006112de82846118a2565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611318576113186118d9565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611371573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139591906116c7565b816001815181106113a8576113a86118d9565b6001600160a01b039283166020918202929092010152600a546113ce9130911687610a5f565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114079087906000908690309042906004016118ef565b600060405180830381600087803b15801561142157600080fd5b505af1158015611435573d6000803e3d6000fd5b505050506000824761144791906118a2565b9050831561146e5760025461146e90859061146990849063ffffffff166111ea565b6114bd565b5050600b805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111e6573d6000803e3d6000fd5b600a546114d59030906001600160a01b031684610a5f565b600a5460405163f305d71960e01b81526001600160a01b039091169063f305d71990839061151290309087906000908190819042906004016116e4565b60606040518083038185885af1158015611530573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611040919061171f565b600060208083528351808285015260005b8181101561158257858101830151858201604001528201611566565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a5c57600080fd5b600080604083850312156115cb57600080fd5b82356115d6816115a3565b946020939093013593505050565b6000806000606084860312156115f957600080fd5b8335611604816115a3565b92506020840135611614816115a3565b929592945050506040919091013590565b60006020828403121561163757600080fd5b8135611203816115a3565b803563ffffffff8116811461165657600080fd5b919050565b6000806040838503121561166e57600080fd5b61167783611642565b915061168560208401611642565b90509250929050565b600080604083850312156116a157600080fd5b82356116ac816115a3565b915060208301356116bc816115a3565b809150509250929050565b6000602082840312156116d957600080fd5b8151611203816115a3565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b60008060006060848603121561173457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561179e5781600019048211156117845761178461174d565b8085161561179157918102915b93841c9390800290611768565b509250929050565b6000826117b557506001610637565b816117c257506000610637565b81600181146117d857600281146117e2576117fe565b6001915050610637565b60ff8411156117f3576117f361174d565b50506001821b610637565b5060208310610133831016604e8410600b8410161715611821575081810a610637565b61182b8383611763565b806000190482111561183f5761183f61174d565b029392505050565b600061120360ff8416836117a6565b80820281158282048414176106375761063761174d565b808201808211156106375761063761174d565b60008261189d57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106375761063761174d565b63ffffffff8281168282160390808211156118d2576118d261174d565b5092915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561193f5784516001600160a01b03168352938301939183019160010161191a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220757c30cd8cc3f1115343ddf15cf33dc8deda94ce07e185e38ee238a4f8b62adc64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80637aab5d9b116100f7578063a9059cbb11610095578063d11fcb8511610064578063d11fcb8514610577578063dd62ed3e146105a7578063e717fc30146105ed578063f2fde38b1461060357600080fd5b8063a9059cbb146104f5578063ac93583414610515578063bd4f1dc614610536578063c9d9159d1461055a57600080fd5b8063947e5082116100d1578063947e50821461046f57806395d89b411461048557806396418d4d146104b4578063a20adf86146104d457600080fd5b80637aab5d9b146104105780638da5cb5b1461043157806391f18b7c1461044f57600080fd5b80635bc05f3c1161016f57806370a082311161013e57806370a082311461038b57806370fbc712146103c1578063715018a6146103d75780637971fca7146103ec57600080fd5b80635bc05f3c146102e35780636264300e14610304578063685e838e1461033d5780636ea795831461035357600080fd5b806318160ddd116101ab57806318160ddd1461026f57806323b872dd14610292578063313ce567146102b2578063530d07a9146102ce57600080fd5b806306fdde03146101dd578063095ea7b3146102285780630f8540e41461025857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152601081526f0aeca4086d0dedee6ca40aecac2d8e8d60831b60208201525b60405161021f9190611555565b60405180910390f35b34801561023457600080fd5b506102486102433660046115b8565b610623565b604051901515815260200161021f565b34801561026457600080fd5b5061026d61063d565b005b34801561027b57600080fd5b506102846108b5565b60405190815260200161021f565b34801561029e57600080fd5b506102486102ad3660046115e4565b6108d6565b3480156102be57600080fd5b506040516012815260200161021f565b3480156102da57600080fd5b5061026d6108fa565b3480156102ef57600080fd5b5060005461024890600160b01b900460ff1681565b34801561031057600080fd5b5060015461032890600160c01b900463ffffffff1681565b60405163ffffffff909116815260200161021f565b34801561034957600080fd5b5061028460065481565b34801561035f57600080fd5b50600154610373906001600160a01b031681565b6040516001600160a01b03909116815260200161021f565b34801561039757600080fd5b506102846103a6366004611625565b6001600160a01b031660009081526008602052604090205490565b3480156103cd57600080fd5b5061028460045481565b3480156103e357600080fd5b5061026d61091c565b3480156103f857600080fd5b5060015461032890600160a01b900463ffffffff1681565b34801561041c57600080fd5b5060005461024890600160a01b900460ff1681565b34801561043d57600080fd5b506000546001600160a01b0316610373565b34801561045b57600080fd5b50600b54610373906001600160a01b031681565b34801561047b57600080fd5b5061028460075481565b34801561049157600080fd5b506040805180820190915260068152650ae8a8298a8960d31b6020820152610212565b3480156104c057600080fd5b5061026d6104cf36600461165b565b610930565b3480156104e057600080fd5b5060005461024890600160a81b900460ff1681565b34801561050157600080fd5b506102486105103660046115b8565b6109d8565b34801561052157600080fd5b50600b5461024890600160a01b900460ff1681565b34801561054257600080fd5b5060015461032890600160e01b900463ffffffff1681565b34801561056657600080fd5b506002546103289063ffffffff1681565b34801561058357600080fd5b50610248610592366004611625565b60036020526000908152604090205460ff1681565b3480156105b357600080fd5b506102846105c236600461168e565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156105f957600080fd5b5061028460055481565b34801561060f57600080fd5b5061026d61061e366004611625565b6109e6565b600033610631818585610a5f565b60019150505b92915050565b610645610b83565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc91906116c7565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074291906116c7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561078f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b391906116c7565b600b80546001600160a01b0319166001600160a01b03928316179055600a546107e191309116600019610a5f565b600a546001600160a01b031663f305d7194730610813816001600160a01b031660009081526008602052604090205490565b6000806108286000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161084a969594939291906116e4565b60606040518083038185885af1158015610868573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061088d919061171f565b505060008054600160a01b60ff60a01b199182168117909255600b8054909116909117905550565b60006108c36012600a611847565b6108d190633b9aca00611856565b905090565b6000336108e4858285610bdd565b6108ef858585610c6f565b506001949350505050565b610902610b83565b6000805460ff60a81b191690556000196004819055600555565b610924610b83565b61092e6000611047565b565b610938610b83565b61232863ffffffff831611801590610958575061232863ffffffff821611155b6109985760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b60448201526064015b60405180910390fd5b6001805467ffffffffffffffff60a01b1916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b600033610631818585610c6f565b6109ee610b83565b6001600160a01b038116610a535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161098f565b610a5c81611047565b50565b6001600160a01b038316610ac15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161098f565b6001600160a01b038216610b225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161098f565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0316331461092e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161098f565b6001600160a01b038381166000908152600960209081526040808320938616835292905220546000198114610c695781811015610c5c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161098f565b610c698484848403610a5f565b50505050565b6001600160a01b038316610cd35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161098f565b6001600160a01b038216610d355760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161098f565b60008111610d975760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161098f565b6000546001600160a01b0384811691161480610dc057506000546001600160a01b038381169116145b80610dd357506001600160a01b03831630145b15610de857610de3838383611097565b505050565b600054600160a01b900460ff16610e375760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b604482015260640161098f565b600b546000906001600160a01b0385811691161480610e5857610e5861117d565b8015610ea1576001600160a01b03841660009081526003602052604090205460ff16610e9c57600154610e99908490600160a01b900463ffffffff166111ea565b91505b610f0c565b6001600160a01b03851660009081526003602052604090205460ff16610f0c57600054610f09908490600160b01b900460ff16610eed57600154600160c01b900463ffffffff16610efe565b600154600160e01b900463ffffffff165b63ffffffff166111ea565b91505b81831015610f515760405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b604482015260640161098f565b6000549282900392600160a81b900460ff161561102a57600454831115610fab5760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b604482015260640161098f565b600b546001600160a01b0385811691161461102a576005546001600160a01b038516600090815260086020526040902054610fe790859061186d565b111561102a5760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b604482015260640161098f565b61103585848461120a565b611040858585611097565b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166000908152600860205260409020548181101561110f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161098f565b6001600160a01b0380851660008181526008602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061116f9086815260200190565b60405180910390a350505050565b30600090815260086020526040902054600654600b549082101590600160a81b900460ff161580156111b85750600b54600160a01b900460ff165b156111e6576007548211156111cd5760075491505b80156111dc576111dc8261129f565b47610de347611483565b5050565b60006127106111f98385611856565b6112039190611880565b9392505050565b6000611224846001546001600160a01b0391821691161490565b9050801561128e57600061123883856118a2565b9050816112455782611247565b805b6001546001600160a01b031660009081526008602052604090205461126c919061186d565b6001546001600160a01b03166000908152600860205260409020555050505050565b8115610c6957610c69843084611097565b600b805460ff60a81b1916600160a81b1790556002546000906112d0908390610efe9063ffffffff166127106118b5565b905060006112de82846118a2565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611318576113186118d9565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611371573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139591906116c7565b816001815181106113a8576113a86118d9565b6001600160a01b039283166020918202929092010152600a546113ce9130911687610a5f565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114079087906000908690309042906004016118ef565b600060405180830381600087803b15801561142157600080fd5b505af1158015611435573d6000803e3d6000fd5b505050506000824761144791906118a2565b9050831561146e5760025461146e90859061146990849063ffffffff166111ea565b6114bd565b5050600b805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111e6573d6000803e3d6000fd5b600a546114d59030906001600160a01b031684610a5f565b600a5460405163f305d71960e01b81526001600160a01b039091169063f305d71990839061151290309087906000908190819042906004016116e4565b60606040518083038185885af1158015611530573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611040919061171f565b600060208083528351808285015260005b8181101561158257858101830151858201604001528201611566565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a5c57600080fd5b600080604083850312156115cb57600080fd5b82356115d6816115a3565b946020939093013593505050565b6000806000606084860312156115f957600080fd5b8335611604816115a3565b92506020840135611614816115a3565b929592945050506040919091013590565b60006020828403121561163757600080fd5b8135611203816115a3565b803563ffffffff8116811461165657600080fd5b919050565b6000806040838503121561166e57600080fd5b61167783611642565b915061168560208401611642565b90509250929050565b600080604083850312156116a157600080fd5b82356116ac816115a3565b915060208301356116bc816115a3565b809150509250929050565b6000602082840312156116d957600080fd5b8151611203816115a3565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b60008060006060848603121561173457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561179e5781600019048211156117845761178461174d565b8085161561179157918102915b93841c9390800290611768565b509250929050565b6000826117b557506001610637565b816117c257506000610637565b81600181146117d857600281146117e2576117fe565b6001915050610637565b60ff8411156117f3576117f361174d565b50506001821b610637565b5060208310610133831016604e8410600b8410161715611821575081810a610637565b61182b8383611763565b806000190482111561183f5761183f61174d565b029392505050565b600061120360ff8416836117a6565b80820281158282048414176106375761063761174d565b808201808211156106375761063761174d565b60008261189d57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106375761063761174d565b63ffffffff8281168282160390808211156118d2576118d261174d565b5092915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561193f5784516001600160a01b03168352938301939183019160010161191a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220757c30cd8cc3f1115343ddf15cf33dc8deda94ce07e185e38ee238a4f8b62adc64736f6c63430008130033

Deployed Bytecode Sourcemap

3230:10334:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10568:91;;;;;;;;;;-1:-1:-1;10646:5:0;;;;;;;;;;;;-1:-1:-1;;;10646:5:0;;;;10568:91;;;;;;;:::i;:::-;;;;;;;;11915:242;;;;;;;;;;-1:-1:-1;11915:242:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11915:242:0;1023:187:1;5844:577:0;;;;;;;;;;;;;:::i;:::-;;10869:99;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;10869:99:0;1215:177:1;11403:295:0;;;;;;;;;;-1:-1:-1;11403:295:0;;;;;:::i;:::-;;:::i;10770:91::-;;;;;;;;;;-1:-1:-1;10770:91:0;;3413:2;2000:36:1;;1988:2;1973:18;10770:91:0;1858:184:1;5679:157:0;;;;;;;;;;;;;:::i;3796:30::-;;;;;;;;;;-1:-1:-1;3796:30:0;;;;-1:-1:-1;;;3796:30:0;;;;;;3910:38;;;;;;;;;;-1:-1:-1;3910:38:0;;;;-1:-1:-1;;;3910:38:0;;;;;;;;;2221:10:1;2209:23;;;2191:42;;2179:2;2164:18;3910:38:0;2047:192:1;4230:53:0;;;;;;;;;;;;;;;;3833:26;;;;;;;;;;-1:-1:-1;3833:26:0;;;;-1:-1:-1;;;;;3833:26:0;;;;;;-1:-1:-1;;;;;2408:32:1;;;2390:51;;2378:2;2363:18;3833:26:0;2244:203:1;10976:177:0;;;;;;;;;;-1:-1:-1;10976:177:0;;;;;:::i;:::-;-1:-1:-1;;;;;11127:18:0;11095:7;11127:18;;;:9;:18;;;;;;;10976:177;4096:50;;;;;;;;;;;;;;;;1012:103;;;;;;;;;;;;;:::i;3866:37::-;;;;;;;;;;-1:-1:-1;3866:37:0;;;;-1:-1:-1;;;3866:37:0;;;;;;3726:22;;;;;;;;;;-1:-1:-1;3726:22:0;;;;-1:-1:-1;;;3726:22:0;;;;;;777:87;;;;;;;;;;-1:-1:-1;823:7:0;850:6;-1:-1:-1;;;;;850:6:0;777:87;;4548:24;;;;;;;;;;-1:-1:-1;4548:24:0;;;;-1:-1:-1;;;;;4548:24:0;;;4302:59;;;;;;;;;;;;;;;;10667:95;;;;;;;;;;-1:-1:-1;10747:7:0;;;;;;;;;;;;-1:-1:-1;;;10747:7:0;;;;10667:95;;5456:215;;;;;;;;;;-1:-1:-1;5456:215:0;;;;;:::i;:::-;;:::i;3755:32::-;;;;;;;;;;-1:-1:-1;3755:32:0;;;;-1:-1:-1;;;3755:32:0;;;;;;11161:234;;;;;;;;;;-1:-1:-1;11161:234:0;;;;;:::i;:::-;;:::i;4579:32::-;;;;;;;;;;-1:-1:-1;4579:32:0;;;;-1:-1:-1;;;4579:32:0;;;;;;3957:44;;;;;;;;;;-1:-1:-1;3957:44:0;;;;-1:-1:-1;;;3957:44:0;;;;;;4008:28;;;;;;;;;;-1:-1:-1;4008:28:0;;;;;;;;4045:42;;;;;;;;;;-1:-1:-1;4045:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11706:201;;;;;;;;;;-1:-1:-1;11706:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;11872:18:0;;;11840:7;11872:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11706:201;4161:54;;;;;;;;;;;;;;;;1123:238;;;;;;;;;;-1:-1:-1;1123:238:0;;;;;:::i;:::-;;:::i;11915:242::-;12034:4;305:10;12095:32;305:10;12111:7;12120:6;12095:8;:32::i;:::-;12145:4;12138:11;;;11915:242;;;;;:::o;5844:577::-;736:13;:11;:13::i;:::-;5923:15:::1;;;;;;;;;-1:-1:-1::0;;;;;5923:15:0::1;-1:-1:-1::0;;;;;5923:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5905:55:0::1;;5983:4;6003:15;;;;;;;;;-1:-1:-1::0;;;;;6003:15:0::1;-1:-1:-1::0;;;;;6003:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5905:131;::::0;-1:-1:-1;;;;;;5905:131:0::1;::::0;;;;;;-1:-1:-1;;;;;4012:15:1;;;5905:131:0::1;::::0;::::1;3994:34:1::0;4064:15;;4044:18;;;4037:43;3929:18;;5905:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5893:9;:143:::0;;-1:-1:-1;;;;;;5893:143:0::1;-1:-1:-1::0;;;;;5893:143:0;;::::1;;::::0;;6081:15:::1;::::0;6049:68:::1;::::0;6066:4:::1;::::0;6081:15:::1;-1:-1:-1::0;;6049:8:0::1;:68::i;:::-;6130:15;::::0;-1:-1:-1;;;;;6130:15:0::1;:31;6169:21;6214:4;6234:24;6214:4:::0;-1:-1:-1;;;;;11127:18:0;11095:7;11127:18;;;:9;:18;;;;;;;10976:177;6234:24:::1;6273:1;6289::::0;6305:7:::1;823::::0;850:6;-1:-1:-1;;;;;850:6:0;;777:87;6305:7:::1;6327:15;6130:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6366:10:0::1;:17:::0;;-1:-1:-1;;;;;;;6366:17:0;;::::1;::::0;::::1;::::0;;;6394:12:::1;:19:::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;5844:577:0:o;10869:99::-;10921:7;3479:13;3413:2;3479;:13;:::i;:::-;3463:29;;:13;:29;:::i;:::-;10941:19;;10869:99;:::o;11403:295::-;11534:4;305:10;11592:38;11608:4;305:10;11623:6;11592:15;:38::i;:::-;11641:27;11651:4;11657:2;11661:6;11641:9;:27::i;:::-;-1:-1:-1;11686:4:0;;11403:295;-1:-1:-1;;;;11403:295:0:o;5679:157::-;736:13;:11;:13::i;:::-;5745:5:::1;5729:21:::0;;-1:-1:-1;;;;5729:21:0::1;::::0;;-1:-1:-1;;5761:6:0::1;:26:::0;;;5798:10:::1;:30:::0;5679:157::o;1012:103::-;736:13;:11;:13::i;:::-;1077:30:::1;1104:1;1077:18;:30::i;:::-;1012:103::o:0;5456:215::-;736:13;:11;:13::i;:::-;3592::::1;5543:19;::::0;::::1;;::::0;::::1;::::0;:43:::1;;-1:-1:-1::0;3592:13:0::1;5566:20;::::0;::::1;;;5543:43;5535:68;;;::::0;-1:-1:-1;;;5535:68:0;;6904:2:1;5535:68:0::1;::::0;::::1;6886:21:1::0;6943:2;6923:18;;;6916:30;-1:-1:-1;;;6962:18:1;;;6955:42;7014:18;;5535:68:0::1;;;;;;;;;5614:7;:18:::0;;-1:-1:-1;;;;5643:20:0;-1:-1:-1;;;5614:18:0::1;::::0;;::::1;;-1:-1:-1::0;;;;5643:20:0;;-1:-1:-1;;;5643:20:0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;5456:215::o;11161:234::-;11276:4;305:10;11337:28;305:10;11354:2;11358:6;11337:9;:28::i;1123:238::-;736:13;:11;:13::i;:::-;-1:-1:-1;;;;;1226:22:0;::::1;1204:110;;;::::0;-1:-1:-1;;;1204:110:0;;7245:2:1;1204:110:0::1;::::0;::::1;7227:21:1::0;7284:2;7264:18;;;7257:30;7323:34;7303:18;;;7296:62;-1:-1:-1;;;7374:18:1;;;7367:36;7420:19;;1204:110:0::1;7043:402:1::0;1204:110:0::1;1325:28;1344:8;1325:18;:28::i;:::-;1123:238:::0;:::o;12165:380::-;-1:-1:-1;;;;;12301:19:0;;12293:68;;;;-1:-1:-1;;;12293:68:0;;7652:2:1;12293:68:0;;;7634:21:1;7691:2;7671:18;;;7664:30;7730:34;7710:18;;;7703:62;-1:-1:-1;;;7781:18:1;;;7774:34;7825:19;;12293:68:0;7450:400:1;12293:68:0;-1:-1:-1;;;;;12380:21:0;;12372:68;;;;-1:-1:-1;;;12372:68:0;;8057:2:1;12372:68:0;;;8039:21:1;8096:2;8076:18;;;8069:30;8135:34;8115:18;;;8108:62;-1:-1:-1;;;8186:18:1;;;8179:32;8228:19;;12372:68:0;7855:398:1;12372:68:0;-1:-1:-1;;;;;12453:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12505:32;;1361:25:1;;;12505:32:0;;1334:18:1;12505:32:0;;;;;;;12165:380;;;:::o;872:132::-;823:7;850:6;-1:-1:-1;;;;;850:6:0;305:10;936:23;928:68;;;;-1:-1:-1;;;928:68:0;;8460:2:1;928:68:0;;;8442:21:1;;;8479:18;;;8472:30;8538:34;8518:18;;;8511:62;8590:18;;928:68:0;8258:356:1;12553:502:0;-1:-1:-1;;;;;11872:18:0;;;12688:24;11872:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;12755:37:0;;12751:297;;12855:6;12835:16;:26;;12809:117;;;;-1:-1:-1;;;12809:117:0;;8821:2:1;12809:117:0;;;8803:21:1;8860:2;8840:18;;;8833:30;8899:31;8879:18;;;8872:59;8948:18;;12809:117:0;8619:353:1;12809:117:0;12970:51;12979:5;12986:7;13014:6;12995:16;:25;12970:8;:51::i;:::-;12677:378;12553:502;;;:::o;6429:1599::-;-1:-1:-1;;;;;6552:18:0;;6544:68;;;;-1:-1:-1;;;6544:68:0;;9179:2:1;6544:68:0;;;9161:21:1;9218:2;9198:18;;;9191:30;9257:34;9237:18;;;9230:62;-1:-1:-1;;;9308:18:1;;;9301:35;9353:19;;6544:68:0;8977:401:1;6544:68:0;-1:-1:-1;;;;;6631:16:0;;6623:64;;;;-1:-1:-1;;;6623:64:0;;9585:2:1;6623:64:0;;;9567:21:1;9624:2;9604:18;;;9597:30;9663:34;9643:18;;;9636:62;-1:-1:-1;;;9714:18:1;;;9707:33;9757:19;;6623:64:0;9383:399:1;6623:64:0;6715:1;6706:6;:10;6698:64;;;;-1:-1:-1;;;6698:64:0;;9989:2:1;6698:64:0;;;9971:21:1;10028:2;10008:18;;;10001:30;10067:34;10047:18;;;10040:62;-1:-1:-1;;;10118:18:1;;;10111:39;10167:19;;6698:64:0;9787:405:1;6698:64:0;823:7;850:6;-1:-1:-1;;;;;6779:15:0;;;850:6;;6779:15;;:32;;-1:-1:-1;823:7:0;850:6;-1:-1:-1;;;;;6798:13:0;;;850:6;;6798:13;6779:32;:57;;;-1:-1:-1;;;;;;6815:21:0;;6831:4;6815:21;6779:57;6775:144;;;6853:33;6869:4;6875:2;6879:6;6853:15;:33::i;:::-;6429:1599;;;:::o;6775:144::-;6939:10;;-1:-1:-1;;;6939:10:0;;;;6931:42;;;;-1:-1:-1;;;6931:42:0;;10399:2:1;6931:42:0;;;10381:21:1;10438:2;10418:18;;;10411:30;-1:-1:-1;;;10457:18:1;;;10450:49;10516:18;;6931:42:0;10197:343:1;6931:42:0;7038:9;;6984:18;;-1:-1:-1;;;;;7030:17:0;;;7038:9;;7030:17;;7060:51;;7087:12;:10;:12::i;:::-;7127:5;7123:368;;;-1:-1:-1;;;;;7154:14:0;;;;;;:10;:14;;;;;;;;7149:97;;7222:7;;7202:28;;7214:6;;-1:-1:-1;;;7222:7:0;;;;7202:11;:28::i;:::-;7189:41;;7149:97;7123:368;;;-1:-1:-1;;;;;7294:16:0;;;;;;:10;:16;;;;;;;;7289:191;;7407:10;;7344:120;;7378:6;;-1:-1:-1;;;7407:10:0;;;;:38;;7437:8;;-1:-1:-1;;;7437:8:0;;;;7407:38;;;7420:14;;-1:-1:-1;;;7420:14:0;;;;7407:38;7344:120;;:11;:120::i;:::-;7331:133;;7289:191;7546:10;7536:6;:20;;7528:51;;;;-1:-1:-1;;;7528:51:0;;10747:2:1;7528:51:0;;;10729:21:1;10786:2;10766:18;;;10759:30;-1:-1:-1;;;10805:18:1;;;10798:48;10863:18;;7528:51:0;10545:342:1;7528:51:0;7642:13;;7594:20;;;;;-1:-1:-1;;;7642:13:0;;;;7638:287;;;7690:6;;7680;:16;;7672:43;;;;-1:-1:-1;;;7672:43:0;;11094:2:1;7672:43:0;;;11076:21:1;11133:2;11113:18;;;11106:30;-1:-1:-1;;;11152:18:1;;;11145:44;11206:18;;7672:43:0;10892:338:1;7672:43:0;7740:9;;-1:-1:-1;;;;;7734:15:0;;;7740:9;;7734:15;7730:184;;7826:10;;-1:-1:-1;;;;;7800:13:0;;;;;;:9;:13;;;;;;:22;;7816:6;;7800:22;:::i;:::-;:36;;7770:128;;;;-1:-1:-1;;;7770:128:0;;11567:2:1;7770:128:0;;;11549:21:1;11606:2;11586:18;;;11579:30;-1:-1:-1;;;11625:18:1;;;11618:48;11683:18;;7770:128:0;11365:342:1;7770:128:0;7937:37;7949:4;7955:6;7963:10;7937:11;:37::i;:::-;7987:33;8003:4;8009:2;8013:6;7987:15;:33::i;:::-;6533:1495;;6429:1599;;;:::o;1369:191::-;1443:16;1462:6;;-1:-1:-1;;;;;1479:17:0;;;-1:-1:-1;;;;;;1479:17:0;;;;;;1512:40;;1462:6;;;;;;;1512:40;;1443:16;1512:40;1432:128;1369:191;:::o;13063:461::-;-1:-1:-1;;;;;13214:15:0;;13192:19;13214:15;;;:9;:15;;;;;;13262:21;;;;13240:109;;;;-1:-1:-1;;;13240:109:0;;11914:2:1;13240:109:0;;;11896:21:1;11953:2;11933:18;;;11926:30;11992:34;11972:18;;;11965:62;-1:-1:-1;;;12043:18:1;;;12036:36;12089:19;;13240:109:0;11712:402:1;13240:109:0;-1:-1:-1;;;;;13385:15:0;;;;;;;:9;:15;;;;;;13403:20;;;13385:38;;13438:13;;;;;;;;;;:23;;;;;;13490:26;;;;;;13417:6;1361:25:1;;1349:2;1334:18;;1215:177;13490:26:0;;;;;;;;13181:343;13063:461;;;:::o;8036:538::-;8119:4;8077:21;11127:18;;;:9;:18;;;;;;8169:14;;8201:6;;8152:31;;;;;-1:-1:-1;;;8201:6:0;;;;8200:7;:23;;;;-1:-1:-1;8211:12:0;;-1:-1:-1;;;8211:12:0;;;;8200:23;8196:371;;;8260:15;;8244:13;:31;8240:85;;;8310:15;;8294:31;;8240:85;8344:8;8340:45;;;8354:31;8371:13;8354:16;:31::i;:::-;8422:21;8505:35;8518:21;8505:12;:35::i;8196:371::-;8066:508;;8036:538::o;4620:180::-;4724:7;3540:11;4757:17;4766:8;4757:6;:17;:::i;:::-;4756:36;;;;:::i;:::-;4749:43;4620:180;-1:-1:-1;;;4620:180:0:o;8582:526::-;8699:15;8717:17;8729:4;9206:11;;-1:-1:-1;;;;;9198:19:0;;;9206:11;;9198:19;;9116:109;8717:17;8699:35;;8749:10;8745:356;;;8776:22;8801:12;8810:3;8801:6;:12;:::i;:::-;8776:37;;8913:10;:33;;8943:3;8913:33;;;8926:14;8913:33;8880:11;;-1:-1:-1;;;;;8880:11:0;8870:22;;;;:9;:22;;;;;;:77;;;;:::i;:::-;8838:11;;-1:-1:-1;;;;;8838:11:0;8828:22;;;;:9;:22;;;;;:119;-1:-1:-1;;;;;8582:526:0:o;8745:356::-;9005:7;;9001:89;;9033:41;9049:4;9063;9070:3;9033:15;:41::i;9233:800::-;4876:6;:13;;-1:-1:-1;;;;4876:13:0;-1:-1:-1;;;4876:13:0;;;9362:10:::1;::::0;4876:13;;9324:49:::1;::::0;9336:7;;9345:27:::1;::::0;9362:10:::1;;3540:11;9345:27;:::i;9324:49::-;9307:66:::0;-1:-1:-1;9384:14:0::1;9401:16;9307:66:::0;9401:7;:16:::1;:::i;:::-;9511;::::0;;9525:1:::1;9511:16:::0;;;;;::::1;::::0;;9384:33;;-1:-1:-1;9453:21:0::1;::::0;9428:22:::1;::::0;9511:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9511:16:0::1;9487:40;;9556:4;9538;9543:1;9538:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9538:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9582:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9582:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9538:7;;9582:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9572:4;9577:1;9572:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9572:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9647:15:::1;::::0;9615:58:::1;::::0;9632:4:::1;::::0;9647:15:::1;9665:7:::0;9615:8:::1;:58::i;:::-;9684:15;::::0;:191:::1;::::0;-1:-1:-1;;;9684:191:0;;-1:-1:-1;;;;;9684:15:0;;::::1;::::0;:66:::1;::::0;:191:::1;::::0;9765:6;;9684:15:::1;::::0;9802:4;;9829::::1;::::0;9849:15:::1;::::0;9684:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9886:15;9928:14;9904:21;:38;;;;:::i;:::-;9886:56:::0;-1:-1:-1;9959:10:0;;9955:70:::1;;10013:10;::::0;9971:54:::1;::::0;9984:6;;9992:32:::1;::::0;10004:7;;10013:10:::1;;9992:11;:32::i;:::-;9971:12;:54::i;:::-;-1:-1:-1::0;;4912:6:0;:14;;-1:-1:-1;;;;4912:14:0;;;-1:-1:-1;;;;9233:800:0:o;10041:104::-;10107:11;;10099:38;;-1:-1:-1;;;;;10107:11:0;;;;10099:38;;;;;10129:7;;10107:11;10099:38;10107:11;10099:38;10129:7;10107:11;10099:38;;;;;;;;;;;;;;;;;;;10153:407;10262:15;;10230:58;;10247:4;;-1:-1:-1;;;;;10262:15:0;10280:7;10230:8;:58::i;:::-;10301:15;;:251;;-1:-1:-1;;;10301:251:0;;-1:-1:-1;;;;;10301:15:0;;;;:31;;10340:9;;10301:251;;10373:4;;10393:7;;10301:15;;;;;;10526;;10301:251;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2452:247::-;2511:6;2564:2;2552:9;2543:7;2539:23;2535:32;2532:52;;;2580:1;2577;2570:12;2532:52;2619:9;2606:23;2638:31;2663:5;2638:31;:::i;2704:163::-;2771:20;;2831:10;2820:22;;2810:33;;2800:61;;2857:1;2854;2847:12;2800:61;2704:163;;;:::o;2872:256::-;2938:6;2946;2999:2;2987:9;2978:7;2974:23;2970:32;2967:52;;;3015:1;3012;3005:12;2967:52;3038:28;3056:9;3038:28;:::i;:::-;3028:38;;3085:37;3118:2;3107:9;3103:18;3085:37;:::i;:::-;3075:47;;2872:256;;;;;:::o;3133:388::-;3201:6;3209;3262:2;3250:9;3241:7;3237:23;3233:32;3230:52;;;3278:1;3275;3268:12;3230:52;3317:9;3304:23;3336:31;3361:5;3336:31;:::i;:::-;3386:5;-1:-1:-1;3443:2:1;3428:18;;3415:32;3456:33;3415:32;3456:33;:::i;:::-;3508:7;3498:17;;;3133:388;;;;;:::o;3526:251::-;3596:6;3649:2;3637:9;3628:7;3624:23;3620:32;3617:52;;;3665:1;3662;3655:12;3617:52;3697:9;3691:16;3716:31;3741:5;3716:31;:::i;4091:607::-;-1:-1:-1;;;;;4450:15:1;;;4432:34;;4497:2;4482:18;;4475:34;;;;4540:2;4525:18;;4518:34;;;;4583:2;4568:18;;4561:34;;;;4632:15;;;4626:3;4611:19;;4604:44;4412:3;4664:19;;4657:35;;;;4381:3;4366:19;;4091:607::o;4703:306::-;4791:6;4799;4807;4860:2;4848:9;4839:7;4835:23;4831:32;4828:52;;;4876:1;4873;4866:12;4828:52;4905:9;4899:16;4889:26;;4955:2;4944:9;4940:18;4934:25;4924:35;;4999:2;4988:9;4984:18;4978:25;4968:35;;4703:306;;;;;:::o;5014:127::-;5075:10;5070:3;5066:20;5063:1;5056:31;5106:4;5103:1;5096:15;5130:4;5127:1;5120:15;5146:422;5235:1;5278:5;5235:1;5292:270;5313:7;5303:8;5300:21;5292:270;;;5372:4;5368:1;5364:6;5360:17;5354:4;5351:27;5348:53;;;5381:18;;:::i;:::-;5431:7;5421:8;5417:22;5414:55;;;5451:16;;;;5414:55;5530:22;;;;5490:15;;;;5292:270;;;5296:3;5146:422;;;;;:::o;5573:806::-;5622:5;5652:8;5642:80;;-1:-1:-1;5693:1:1;5707:5;;5642:80;5741:4;5731:76;;-1:-1:-1;5778:1:1;5792:5;;5731:76;5823:4;5841:1;5836:59;;;;5909:1;5904:130;;;;5816:218;;5836:59;5866:1;5857:10;;5880:5;;;5904:130;5941:3;5931:8;5928:17;5925:43;;;5948:18;;:::i;:::-;-1:-1:-1;;6004:1:1;5990:16;;6019:5;;5816:218;;6118:2;6108:8;6105:16;6099:3;6093:4;6090:13;6086:36;6080:2;6070:8;6067:16;6062:2;6056:4;6053:12;6049:35;6046:77;6043:159;;;-1:-1:-1;6155:19:1;;;6187:5;;6043:159;6234:34;6259:8;6253:4;6234:34;:::i;:::-;6304:6;6300:1;6296:6;6292:19;6283:7;6280:32;6277:58;;;6315:18;;:::i;:::-;6353:20;;5573:806;-1:-1:-1;;;5573:806:1:o;6384:140::-;6442:5;6471:47;6512:4;6502:8;6498:19;6492:4;6471:47;:::i;6529:168::-;6602:9;;;6633;;6650:15;;;6644:22;;6630:37;6620:71;;6671:18;;:::i;11235:125::-;11300:9;;;11321:10;;;11318:36;;;11334:18;;:::i;12119:217::-;12159:1;12185;12175:132;;12229:10;12224:3;12220:20;12217:1;12210:31;12264:4;12261:1;12254:15;12292:4;12289:1;12282:15;12175:132;-1:-1:-1;12321:9:1;;12119:217::o;12341:128::-;12408:9;;;12429:11;;;12426:37;;;12443:18;;:::i;12474:175::-;12542:10;12585;;;12573;;;12569:27;;12608:12;;;12605:38;;;12623:18;;:::i;:::-;12605:38;12474:175;;;;:::o;12786:127::-;12847:10;12842:3;12838:20;12835:1;12828:31;12878:4;12875:1;12868:15;12902:4;12899:1;12892:15;12918:980;13180:4;13228:3;13217:9;13213:19;13259:6;13248:9;13241:25;13285:2;13323:6;13318:2;13307:9;13303:18;13296:34;13366:3;13361:2;13350:9;13346:18;13339:31;13390:6;13425;13419:13;13456:6;13448;13441:22;13494:3;13483:9;13479:19;13472:26;;13533:2;13525:6;13521:15;13507:29;;13554:1;13564:195;13578:6;13575:1;13572:13;13564:195;;;13643:13;;-1:-1:-1;;;;;13639:39:1;13627:52;;13734:15;;;;13699:12;;;;13675:1;13593:9;13564:195;;;-1:-1:-1;;;;;;;13815:32:1;;;;13810:2;13795:18;;13788:60;-1:-1:-1;;;13879:3:1;13864:19;13857:35;13776:3;12918:980;-1:-1:-1;;;12918:980:1:o

Swarm Source

ipfs://757c30cd8cc3f1115343ddf15cf33dc8deda94ce07e185e38ee238a4f8b62adc
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.