ETH Price: $2,865.96 (-9.47%)
Gas: 11 Gwei

Token

ZEUS10000 (ZEUS)
 

Overview

Max Total Supply

5,286.8851 ZEUS

Holders

110

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 4 Decimals)

Balance
0.9442 ZEUS

Value
$0.00
0x06423aca7f607c6c5723d81fff57b7f0f43991dd
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:
ZEUS10000

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// New and improved, audited ZEUS10000 contract.

// WEB: https://zeus10000.com/
// NFTs: chadgodnft.com
// TG: t.me/zeus10000eth
// TWITTER: https://twitter.com/zeustokeneth



// File: contracts/Withdrawable.sol

abstract contract Withdrawable {
    address internal _withdrawAddress;

    modifier onlyWithdrawer() {
        require(msg.sender == _withdrawAddress);
        _;
    }

    function withdraw() external onlyWithdrawer {
        _withdraw();
    }

    function _withdraw() internal {
        payable(_withdrawAddress).transfer(address(this).balance);
    }

    function setWithdrawAddress(address newWithdrawAddress)
        external
        onlyWithdrawer
    {
        _withdrawAddress = newWithdrawAddress;
    }
}

// File: contracts/Ownable.sol

abstract contract Ownable {
    address _owner;

    modifier onlyOwner() {
        require(msg.sender == _owner);
        _;
    }

    constructor() {
        _owner = msg.sender;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        _owner = newOwner;
    }
}

// File: contracts/IUniswapV2Factory.sol

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

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

// File: contracts/IUniswapV2Router02.sol

pragma solidity ^0.8.7;

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

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

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

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

// File: contracts/DoubleSwapped.sol

pragma solidity ^0.8.7;


contract DoubleSwapped {
    bool internal _inSwap;

    modifier lockTheSwap() {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    function _swapTokensForEth(
        uint256 tokenAmount,
        IUniswapV2Router02 _uniswapV2Router
    ) internal lockTheSwap {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        // make the swap
        _uniswapV2Router.swapExactTokensForETH(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }
}

// File: contracts/IERC20.sol

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

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

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

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

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

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

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
// File: contracts/ERC20.sol

pragma solidity ^0.8.7;


contract ERC20 is IERC20 {
    uint256 internal _totalSupply = 10000e4;
    string _name;
    string _symbol;
    uint8 constant _decimals = 4;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    uint256 internal constant INFINITY_ALLOWANCE = 2**256 - 1;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

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

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        _beforeTokenTransfer(from, to, amount);

        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount);
        unchecked {
            _balances[from] = senderBalance - amount;
        }
        _balances[to] += amount;
        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }

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

    function approve(address spender, uint256 amount)
        external
        override
        returns (bool)
    {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount);
        if (currentAllowance == INFINITY_ALLOWANCE) return true;
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0));

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount);
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

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

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

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

// File: contracts/TradableErc20.sol

pragma solidity ^0.8.7;

//import "hardhat/console.sol";






abstract contract TradableErc20 is ERC20, DoubleSwapped, Ownable {
    IUniswapV2Router02 internal constant _uniswapV2Router =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapV2Pair;
    bool public tradingEnable = false;
    mapping(address => bool) _isExcludedFromFee;
    address public constant BURN_ADDRESS =
        0x000000000000000000000000000000000000dEaD;

    constructor(string memory name_, string memory symbol_)
        ERC20(name_, symbol_)
    {
        _isExcludedFromFee[address(0)] = true;
    }

    receive() external payable {}

    function makeLiquidity() public onlyOwner {
        require(uniswapV2Pair == address(0));
        address pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
        uint256 initialLiquidity = getSupplyForMakeLiquidity();
        _balances[address(this)] = initialLiquidity;
        emit Transfer(address(0), address(this), initialLiquidity);
        _allowances[address(this)][
            address(_uniswapV2Router)
        ] = INFINITY_ALLOWANCE;
        _isExcludedFromFee[pair] = true;
        _uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            initialLiquidity,
            0,
            0,
            msg.sender,
            block.timestamp
        );

        uniswapV2Pair = pair;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(_balances[from] >= amount, "not enough token for transfer");

        // buy
        if (from == uniswapV2Pair && !_isExcludedFromFee[to]) {
            require(tradingEnable, "trading disabled");
            // get taxes
            amount = _getFeeBuy(from, amount);
        }

        // sell
        if (
            !_inSwap &&
            uniswapV2Pair != address(0) &&
            to == uniswapV2Pair &&
            !_isExcludedFromFee[from]
        ) {
            require(tradingEnable, "trading disabled");
            amount = _getFeeSell(amount, from);
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 swapCount = contractTokenBalance;
                uint256 maxSwapCount = 2 * amount;
                if (swapCount > maxSwapCount) swapCount = maxSwapCount;
                _swapTokensForEth(swapCount, _uniswapV2Router);
            }
        }

        // transfer
        super._transfer(from, to, amount);
    }

    function _getFeeBuy(address from, uint256 amount)
        private
        returns (uint256)
    {
        uint256 dev = amount / 20; // 5%
        uint256 burn = amount / 20; // 5%
        amount -= dev + burn;
        _balances[from] -= dev + burn;
        _balances[address(this)] += dev;
        _balances[BURN_ADDRESS] += burn;
        _totalSupply -= burn;
        emit Transfer(from, address(this), dev);
        emit Transfer(from, BURN_ADDRESS, burn);
        return amount;
    }

    function getSellBurnCount(uint256 amount) public view returns (uint256) {
        // calculate fee percent
        uint256 poolSize = _balances[uniswapV2Pair];
        uint256 vMin = poolSize / 100; // min additive tax amount
        if (amount <= vMin) return amount / 20; // 5% constant tax
        uint256 vMax = poolSize / 20; // max additive tax amount 5%
        if (amount > vMax) return amount / 4; // 25% tax

        // 5% and additive tax, that in interval 0-20%
        return
            amount /
            20 +
            (((amount - vMin) * 20 * amount) / (vMax - vMin)) /
            100;
    }

    function _getFeeSell(uint256 amount, address account)
        private
        returns (uint256)
    {
        // get taxes
        uint256 dev = amount / 20; // 5%
        uint256 burn = getSellBurnCount(amount); // burn count

        amount -= dev + burn;
        _balances[account] -= dev + burn;
        _balances[address(this)] += dev;
        _balances[BURN_ADDRESS] += burn;
        _totalSupply -= burn;
        emit Transfer(address(account), address(this), dev);
        emit Transfer(address(account), BURN_ADDRESS, burn);

        return amount;
    }

    function setExcludeFromFee(address[] memory accounts, bool value)
        external
        onlyOwner
    {
        for (uint256 i = 0; i < accounts.length; ++i) {
            _isExcludedFromFee[accounts[i]] = value;
        }
    }

    function setTradingEnable(bool value) external onlyOwner {
        tradingEnable = value;
    }

    function getSupplyForMakeLiquidity() internal virtual returns (uint256);
}

// File: contracts/ZEUS10000.sol

// New and improved, audited ZEUS10000 contract.

// WEB: https://zeus10000.com/
// NFTs: chadgodnft.com
// TG: t.me/zeus10000eth
// TWITTER: https://twitter.com/zeustokeneth

pragma solidity ^0.8.7;



struct AirdropData {
    address account;
    uint32 count;
}

contract ZEUS10000 is TradableErc20, Withdrawable {
    uint256 constant pairInitialLiquidity = 2320e4;
    uint256 constant initialBurn = 1800e4;
    event airdtop();

    constructor() TradableErc20("ZEUS10000", "ZEUS") {
        _withdrawAddress = address(0xA6412d19341878F3B486CF045f19945a6150FDbF);
        _totalSupply = 0;
    }

    function withdrawOwner() external onlyOwner {
        _withdraw();
    }

    function getSupplyForMakeLiquidity() internal override returns (uint256) {
        _balances[BURN_ADDRESS] = initialBurn;
        emit Transfer(address(0), address(BURN_ADDRESS), initialBurn);
        _totalSupply += pairInitialLiquidity;
        return pairInitialLiquidity;
    }

    function airdrop(AirdropData[] memory data) external onlyOwner {
        uint256 total = _totalSupply;
        for (uint256 i = 0; i < data.length; ++i) {
            uint256 count = data[i].count * 1e4;
            total += count;
            _balances[data[i].account] = count;
            emit Transfer(address(0), data[i].account, count);
        }
        _totalSupply = total;
        emit airdtop();
    }

    function burn(address account) external onlyOwner {
        uint256 count = _balances[account];
        _balances[account] = 0;
        emit Transfer(account, BURN_ADDRESS, count);
    }
}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"airdtop","type":"event"},{"inputs":[],"name":"BURN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"count","type":"uint32"}],"internalType":"struct AirdropData[]","name":"data","type":"tuple[]"}],"name":"airdrop","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":[{"internalType":"address","name":"account","type":"address"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getSellBurnCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setTradingEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWithdrawAddress","type":"address"}],"name":"setWithdrawAddress","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":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526305f5e1006000556006805460ff60a01b191690553480156200002657600080fd5b50604080518082018252600981526805a45555331303030360bc1b6020808301918252835180850190945260048452635a45555360e01b90840152815191929183918391620000789160019162000110565b5080516200008e90600290602084019062000110565b5050600580546101003302610100600160a81b03199091161790555050600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df805460ff19166001179055600880546001600160a01b03191673a6412d19341878f3b486cf045f19945a6150fdbf179055805550620001f3565b8280546200011e90620001b6565b90600052602060002090601f0160209004810192826200014257600085556200018d565b82601f106200015d57805160ff19168380011785556200018d565b828001600101855582156200018d579182015b828111156200018d57825182559160200191906001019062000170565b506200019b9291506200019f565b5090565b5b808211156200019b5760008155600101620001a0565b600181811c90821680620001cb57607f821691505b60208210811415620001ed57634e487b7160e01b600052602260045260246000fd5b50919050565b611a3a80620002036000396000f3fe6080604052600436106101395760003560e01c80636c90b57f116100ab578063a9059cbb1161006f578063a9059cbb14610376578063b203919e14610396578063dd62ed3e146103ab578063e8cc00ad146103f1578063f2fde38b14610406578063fccc28131461042657600080fd5b80636c90b57f146102cb57806370a08231146102eb5780637439c2361461032157806389afcb441461034157806395d89b411461036157600080fd5b806323b872dd116100fd57806323b872dd14610202578063255d508e14610222578063313ce567146102425780633ab1a4941461025e5780633ccfd60b1461027e57806349bd5a5e1461029357600080fd5b806306fdde0314610145578063095ea7b31461017057806309900f7f146101a05780631693e8d4146101c257806318160ddd146101e357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015a61043c565b6040516101679190611757565b60405180910390f35b34801561017c57600080fd5b5061019061018b36600461153c565b6104ce565b6040519015158152602001610167565b3480156101ac57600080fd5b506101c06101bb366004611620565b6104e4565b005b3480156101ce57600080fd5b5060065461019090600160a01b900460ff1681565b3480156101ef57600080fd5b506000545b604051908152602001610167565b34801561020e57600080fd5b5061019061021d3660046114fb565b610632565b34801561022e57600080fd5b506101f461023d366004611710565b61069e565b34801561024e57600080fd5b5060405160048152602001610167565b34801561026a57600080fd5b506101c0610279366004611488565b610761565b34801561028a57600080fd5b506101c061079a565b34801561029f57600080fd5b506006546102b3906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b3480156102d757600080fd5b506101c06102e6366004611568565b6107bb565b3480156102f757600080fd5b506101f4610306366004611488565b6001600160a01b031660009081526003602052604090205490565b34801561032d57600080fd5b506101c061033c3660046116f5565b610841565b34801561034d57600080fd5b506101c061035c366004611488565b61087b565b34801561036d57600080fd5b5061015a6108e5565b34801561038257600080fd5b5061019061039136600461153c565b6108f4565b3480156103a257600080fd5b506101c0610901565b3480156103b757600080fd5b506101f46103c63660046114c2565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103fd57600080fd5b506101c0610c24565b34801561041257600080fd5b506101c0610421366004611488565b610c40565b34801561043257600080fd5b506102b361dead81565b60606001805461044b90611937565b80601f016020809104026020016040519081016040528092919081815260200182805461047790611937565b80156104c45780601f10610499576101008083540402835291602001916104c4565b820191906000526020600020905b8154815290600101906020018083116104a757829003601f168201915b5050505050905090565b60006104db338484610c84565b50600192915050565b60055461010090046001600160a01b0316331461050057600080fd5b60008054905b8251811015610601576000838281518110610523576105236119a3565b60200260200101516020015161271061053c91906118f4565b63ffffffff16905061054e818461189b565b92508060036000868581518110610567576105676119a3565b6020026020010151600001516001600160a01b03166001600160a01b03168152602001908152602001600020819055508382815181106105a9576105a96119a3565b6020026020010151600001516001600160a01b031660006001600160a01b03166000805160206119e5833981519152836040516105e891815260200190565b60405180910390a3506105fa81611972565b9050610506565b5060008181556040517fb32d42e627c274429b884e14ee3b17799746594eefdf51459db2eef855d558c99190a15050565b600061063f848484610ce5565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561067057600080fd5b600019811415610684576001915050610697565b6106918533858403610c84565b60019150505b9392505050565b6006546001600160a01b0316600090815260036020526040812054816106c56064836118b3565b90508084116106e1576106d96014856118b3565b949350505050565b60006106ee6014846118b3565b90508085111561070c576107036004866118b3565b95945050505050565b60646107188383611920565b866107238582611920565b61072e9060146118d5565b61073891906118d5565b61074291906118b3565b61074c91906118b3565b6107576014876118b3565b610703919061189b565b6008546001600160a01b0316331461077857600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6008546001600160a01b031633146107b157600080fd5b6107b9610eff565b565b60055461010090046001600160a01b031633146107d757600080fd5b60005b825181101561083c5781600760008584815181106107fa576107fa6119a3565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561083581611972565b90506107da565b505050565b60055461010090046001600160a01b0316331461085d57600080fd5b60068054911515600160a01b0260ff60a01b19909216919091179055565b60055461010090046001600160a01b0316331461089757600080fd5b6001600160a01b038116600081815260036020526040808220805492905551909161dead916000805160206119e5833981519152906108d99085815260200190565b60405180910390a35050565b60606002805461044b90611937565b60006104db338484610ce5565b60055461010090046001600160a01b0316331461091d57600080fd5b6006546001600160a01b03161561093357600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561098257600080fd5b505afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba91906114a5565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4e91906114a5565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a9657600080fd5b505af1158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace91906114a5565b90506000610ada610f3b565b306000818152600360205260408082208490555192935090916000805160206119e583398151915290610b109085815260200190565b60405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526007909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c4016060604051808303818588803b158015610bc457600080fd5b505af1158015610bd8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bfd9190611729565b5050600680546001600160a01b0319166001600160a01b0394909416939093179092555050565b60055461010090046001600160a01b031633146107b157600080fd5b60055461010090046001600160a01b03163314610c5c57600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610d525760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6006546001600160a01b038481169116148015610d8857506001600160a01b03821660009081526007602052604090205460ff16155b15610de657600654600160a01b900460ff16610dd95760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610d49565b610de38382610fc1565b90505b60055460ff16158015610e0357506006546001600160a01b031615155b8015610e1c57506006546001600160a01b038381169116145b8015610e4157506001600160a01b03831660009081526007602052604090205460ff16155b15610ef457600654600160a01b900460ff16610e925760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610d49565b610e9c8184611113565b306000908152600360205260409020549091508015610ef257806000610ec38460026118d5565b905080821115610ed1578091505b610eef82737a250d5630b4cf539739df2c5dacb4c659f2488d611263565b50505b505b61083c8383836113ce565b6008546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610f38573d6000803e3d6000fd5b50565b61dead60008181526003602052630112a8807f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c81905560405191929183916000805160206119e583398151915291610f9591815260200190565b60405180910390a36301620100600080828254610fb2919061189b565b90915550630162010092915050565b600080610fcf6014846118b3565b90506000610fde6014856118b3565b9050610fea818361189b565b610ff49085611920565b9350611000818361189b565b6001600160a01b03861660009081526003602052604081208054909190611028908490611920565b9091555050306000908152600360205260408120805484929061104c90849061189b565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c805483929061108f90849061189b565b92505081905550806000808282546110a79190611920565b909155505060405182815230906001600160a01b038716906000805160206119e58339815191529060200160405180910390a360405181815261dead906001600160a01b038716906000805160206119e58339815191529060200160405180910390a350919392505050565b6000806111216014856118b3565b9050600061112e8561069e565b905061113a818361189b565b6111449086611920565b9450611150818361189b565b6001600160a01b03851660009081526003602052604081208054909190611178908490611920565b9091555050306000908152600360205260408120805484929061119c90849061189b565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80548392906111df90849061189b565b92505081905550806000808282546111f79190611920565b909155505060405182815230906001600160a01b038616906000805160206119e58339815191529060200160405180910390a360405181815261dead906001600160a01b038616906000805160206119e58339815191529060200160405180910390a350929392505050565b6005805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112a5576112a56119a3565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156112fe57600080fd5b505afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133691906114a5565b81600181518110611349576113496119a3565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe59061138d9086906000908690309042906004016117ac565b600060405180830381600087803b1580156113a757600080fd5b505af11580156113bb573d6000803e3d6000fd5b50506005805460ff191690555050505050565b6001600160a01b038316600090815260036020526040902054818110156113f457600080fd5b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061142b90849061189b565b92505081905550826001600160a01b0316846001600160a01b03166000805160206119e58339815191528460405161146591815260200190565b60405180910390a350505050565b8035801515811461148357600080fd5b919050565b60006020828403121561149a57600080fd5b8135610697816119cf565b6000602082840312156114b757600080fd5b8151610697816119cf565b600080604083850312156114d557600080fd5b82356114e0816119cf565b915060208301356114f0816119cf565b809150509250929050565b60008060006060848603121561151057600080fd5b833561151b816119cf565b9250602084013561152b816119cf565b929592945050506040919091013590565b6000806040838503121561154f57600080fd5b823561155a816119cf565b946020939093013593505050565b6000806040838503121561157b57600080fd5b823567ffffffffffffffff81111561159257600080fd5b8301601f810185136115a357600080fd5b803560206115b86115b383611877565b611846565b80838252828201915082850189848660051b88010111156115d857600080fd5b600095505b848610156116045780356115f0816119cf565b8352600195909501949183019183016115dd565b5095506116149050868201611473565b93505050509250929050565b6000602080838503121561163357600080fd5b823567ffffffffffffffff81111561164a57600080fd5b8301601f8101851361165b57600080fd5b80356116696115b382611877565b80828252848201915084840188868560061b870101111561168957600080fd5b600094505b838510156116e957604080828b0312156116a757600080fd5b6116af61181d565b82356116ba816119cf565b81528288013563ffffffff811681146116d257600080fd5b81890152845260019590950194928601920161168e565b50979650505050505050565b60006020828403121561170757600080fd5b61069782611473565b60006020828403121561172257600080fd5b5035919050565b60008060006060848603121561173e57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561178457858101830151858201604001528201611768565b81811115611796576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117fc5784516001600160a01b0316835293830193918301916001016117d7565b50506001600160a01b03969096166060850152505050608001529392505050565b6040805190810167ffffffffffffffff81118282101715611840576118406119b9565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561186f5761186f6119b9565b604052919050565b600067ffffffffffffffff821115611891576118916119b9565b5060051b60200190565b600082198211156118ae576118ae61198d565b500190565b6000826118d057634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156118ef576118ef61198d565b500290565b600063ffffffff808316818516818304811182151516156119175761191761198d565b02949350505050565b6000828210156119325761193261198d565b500390565b600181811c9082168061194b57607f821691505b6020821081141561196c57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156119865761198661198d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610f3857600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205ecf60951c0494994870dd7836afcce5e892198ede9d26faf21339be8fea3a0564736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80636c90b57f116100ab578063a9059cbb1161006f578063a9059cbb14610376578063b203919e14610396578063dd62ed3e146103ab578063e8cc00ad146103f1578063f2fde38b14610406578063fccc28131461042657600080fd5b80636c90b57f146102cb57806370a08231146102eb5780637439c2361461032157806389afcb441461034157806395d89b411461036157600080fd5b806323b872dd116100fd57806323b872dd14610202578063255d508e14610222578063313ce567146102425780633ab1a4941461025e5780633ccfd60b1461027e57806349bd5a5e1461029357600080fd5b806306fdde0314610145578063095ea7b31461017057806309900f7f146101a05780631693e8d4146101c257806318160ddd146101e357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015a61043c565b6040516101679190611757565b60405180910390f35b34801561017c57600080fd5b5061019061018b36600461153c565b6104ce565b6040519015158152602001610167565b3480156101ac57600080fd5b506101c06101bb366004611620565b6104e4565b005b3480156101ce57600080fd5b5060065461019090600160a01b900460ff1681565b3480156101ef57600080fd5b506000545b604051908152602001610167565b34801561020e57600080fd5b5061019061021d3660046114fb565b610632565b34801561022e57600080fd5b506101f461023d366004611710565b61069e565b34801561024e57600080fd5b5060405160048152602001610167565b34801561026a57600080fd5b506101c0610279366004611488565b610761565b34801561028a57600080fd5b506101c061079a565b34801561029f57600080fd5b506006546102b3906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b3480156102d757600080fd5b506101c06102e6366004611568565b6107bb565b3480156102f757600080fd5b506101f4610306366004611488565b6001600160a01b031660009081526003602052604090205490565b34801561032d57600080fd5b506101c061033c3660046116f5565b610841565b34801561034d57600080fd5b506101c061035c366004611488565b61087b565b34801561036d57600080fd5b5061015a6108e5565b34801561038257600080fd5b5061019061039136600461153c565b6108f4565b3480156103a257600080fd5b506101c0610901565b3480156103b757600080fd5b506101f46103c63660046114c2565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103fd57600080fd5b506101c0610c24565b34801561041257600080fd5b506101c0610421366004611488565b610c40565b34801561043257600080fd5b506102b361dead81565b60606001805461044b90611937565b80601f016020809104026020016040519081016040528092919081815260200182805461047790611937565b80156104c45780601f10610499576101008083540402835291602001916104c4565b820191906000526020600020905b8154815290600101906020018083116104a757829003601f168201915b5050505050905090565b60006104db338484610c84565b50600192915050565b60055461010090046001600160a01b0316331461050057600080fd5b60008054905b8251811015610601576000838281518110610523576105236119a3565b60200260200101516020015161271061053c91906118f4565b63ffffffff16905061054e818461189b565b92508060036000868581518110610567576105676119a3565b6020026020010151600001516001600160a01b03166001600160a01b03168152602001908152602001600020819055508382815181106105a9576105a96119a3565b6020026020010151600001516001600160a01b031660006001600160a01b03166000805160206119e5833981519152836040516105e891815260200190565b60405180910390a3506105fa81611972565b9050610506565b5060008181556040517fb32d42e627c274429b884e14ee3b17799746594eefdf51459db2eef855d558c99190a15050565b600061063f848484610ce5565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561067057600080fd5b600019811415610684576001915050610697565b6106918533858403610c84565b60019150505b9392505050565b6006546001600160a01b0316600090815260036020526040812054816106c56064836118b3565b90508084116106e1576106d96014856118b3565b949350505050565b60006106ee6014846118b3565b90508085111561070c576107036004866118b3565b95945050505050565b60646107188383611920565b866107238582611920565b61072e9060146118d5565b61073891906118d5565b61074291906118b3565b61074c91906118b3565b6107576014876118b3565b610703919061189b565b6008546001600160a01b0316331461077857600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6008546001600160a01b031633146107b157600080fd5b6107b9610eff565b565b60055461010090046001600160a01b031633146107d757600080fd5b60005b825181101561083c5781600760008584815181106107fa576107fa6119a3565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905561083581611972565b90506107da565b505050565b60055461010090046001600160a01b0316331461085d57600080fd5b60068054911515600160a01b0260ff60a01b19909216919091179055565b60055461010090046001600160a01b0316331461089757600080fd5b6001600160a01b038116600081815260036020526040808220805492905551909161dead916000805160206119e5833981519152906108d99085815260200190565b60405180910390a35050565b60606002805461044b90611937565b60006104db338484610ce5565b60055461010090046001600160a01b0316331461091d57600080fd5b6006546001600160a01b03161561093357600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561098257600080fd5b505afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba91906114a5565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4e91906114a5565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a9657600080fd5b505af1158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace91906114a5565b90506000610ada610f3b565b306000818152600360205260408082208490555192935090916000805160206119e583398151915290610b109085815260200190565b60405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526007909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c4016060604051808303818588803b158015610bc457600080fd5b505af1158015610bd8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bfd9190611729565b5050600680546001600160a01b0319166001600160a01b0394909416939093179092555050565b60055461010090046001600160a01b031633146107b157600080fd5b60055461010090046001600160a01b03163314610c5c57600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610d525760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6006546001600160a01b038481169116148015610d8857506001600160a01b03821660009081526007602052604090205460ff16155b15610de657600654600160a01b900460ff16610dd95760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610d49565b610de38382610fc1565b90505b60055460ff16158015610e0357506006546001600160a01b031615155b8015610e1c57506006546001600160a01b038381169116145b8015610e4157506001600160a01b03831660009081526007602052604090205460ff16155b15610ef457600654600160a01b900460ff16610e925760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610d49565b610e9c8184611113565b306000908152600360205260409020549091508015610ef257806000610ec38460026118d5565b905080821115610ed1578091505b610eef82737a250d5630b4cf539739df2c5dacb4c659f2488d611263565b50505b505b61083c8383836113ce565b6008546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610f38573d6000803e3d6000fd5b50565b61dead60008181526003602052630112a8807f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c81905560405191929183916000805160206119e583398151915291610f9591815260200190565b60405180910390a36301620100600080828254610fb2919061189b565b90915550630162010092915050565b600080610fcf6014846118b3565b90506000610fde6014856118b3565b9050610fea818361189b565b610ff49085611920565b9350611000818361189b565b6001600160a01b03861660009081526003602052604081208054909190611028908490611920565b9091555050306000908152600360205260408120805484929061104c90849061189b565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c805483929061108f90849061189b565b92505081905550806000808282546110a79190611920565b909155505060405182815230906001600160a01b038716906000805160206119e58339815191529060200160405180910390a360405181815261dead906001600160a01b038716906000805160206119e58339815191529060200160405180910390a350919392505050565b6000806111216014856118b3565b9050600061112e8561069e565b905061113a818361189b565b6111449086611920565b9450611150818361189b565b6001600160a01b03851660009081526003602052604081208054909190611178908490611920565b9091555050306000908152600360205260408120805484929061119c90849061189b565b909155505061dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80548392906111df90849061189b565b92505081905550806000808282546111f79190611920565b909155505060405182815230906001600160a01b038616906000805160206119e58339815191529060200160405180910390a360405181815261dead906001600160a01b038616906000805160206119e58339815191529060200160405180910390a350929392505050565b6005805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112a5576112a56119a3565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156112fe57600080fd5b505afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133691906114a5565b81600181518110611349576113496119a3565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe59061138d9086906000908690309042906004016117ac565b600060405180830381600087803b1580156113a757600080fd5b505af11580156113bb573d6000803e3d6000fd5b50506005805460ff191690555050505050565b6001600160a01b038316600090815260036020526040902054818110156113f457600080fd5b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061142b90849061189b565b92505081905550826001600160a01b0316846001600160a01b03166000805160206119e58339815191528460405161146591815260200190565b60405180910390a350505050565b8035801515811461148357600080fd5b919050565b60006020828403121561149a57600080fd5b8135610697816119cf565b6000602082840312156114b757600080fd5b8151610697816119cf565b600080604083850312156114d557600080fd5b82356114e0816119cf565b915060208301356114f0816119cf565b809150509250929050565b60008060006060848603121561151057600080fd5b833561151b816119cf565b9250602084013561152b816119cf565b929592945050506040919091013590565b6000806040838503121561154f57600080fd5b823561155a816119cf565b946020939093013593505050565b6000806040838503121561157b57600080fd5b823567ffffffffffffffff81111561159257600080fd5b8301601f810185136115a357600080fd5b803560206115b86115b383611877565b611846565b80838252828201915082850189848660051b88010111156115d857600080fd5b600095505b848610156116045780356115f0816119cf565b8352600195909501949183019183016115dd565b5095506116149050868201611473565b93505050509250929050565b6000602080838503121561163357600080fd5b823567ffffffffffffffff81111561164a57600080fd5b8301601f8101851361165b57600080fd5b80356116696115b382611877565b80828252848201915084840188868560061b870101111561168957600080fd5b600094505b838510156116e957604080828b0312156116a757600080fd5b6116af61181d565b82356116ba816119cf565b81528288013563ffffffff811681146116d257600080fd5b81890152845260019590950194928601920161168e565b50979650505050505050565b60006020828403121561170757600080fd5b61069782611473565b60006020828403121561172257600080fd5b5035919050565b60008060006060848603121561173e57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561178457858101830151858201604001528201611768565b81811115611796576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117fc5784516001600160a01b0316835293830193918301916001016117d7565b50506001600160a01b03969096166060850152505050608001529392505050565b6040805190810167ffffffffffffffff81118282101715611840576118406119b9565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561186f5761186f6119b9565b604052919050565b600067ffffffffffffffff821115611891576118916119b9565b5060051b60200190565b600082198211156118ae576118ae61198d565b500190565b6000826118d057634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156118ef576118ef61198d565b500290565b600063ffffffff808316818516818304811182151516156119175761191761198d565b02949350505050565b6000828210156119325761193261198d565b500390565b600181811c9082168061194b57607f821691505b6020821081141561196c57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156119865761198661198d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610f3857600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205ecf60951c0494994870dd7836afcce5e892198ede9d26faf21339be8fea3a0564736f6c63430008070033

Deployed Bytecode Sourcemap

13110:1350:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4833:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6237:193;;;;;;;;;;-1:-1:-1;6237:193:0;;;;;:::i;:::-;;:::i;:::-;;;6248:14:1;;6241:22;6223:41;;6211:2;6196:18;6237:193:0;6083:187:1;13837:422:0;;;;;;;;;;-1:-1:-1;13837:422:0;;;;;:::i;:::-;;:::i;:::-;;8196:33;;;;;;;;;;-1:-1:-1;8196:33:0;;;;-1:-1:-1;;;8196:33:0;;;;;;5116:102;;;;;;;;;;-1:-1:-1;5171:7:0;5198:12;5116:102;;;7726:25:1;;;7714:2;7699:18;5116:102:0;7580:177:1;6666:504:0;;;;;;;;;;-1:-1:-1;6666:504:0;;;;;:::i;:::-;;:::i;11139:627::-;;;;;;;;;;-1:-1:-1;11139:627:0;;;;;:::i;:::-;;:::i;5023:85::-;;;;;;;;;;-1:-1:-1;5023:85:0;;4507:1;8889:36:1;;8877:2;8862:18;5023:85:0;8747:184:1;606:159:0;;;;;;;;;;-1:-1:-1;606:159:0;;;;;:::i;:::-;;:::i;410:74::-;;;;;;;;;;;;;:::i;8161:28::-;;;;;;;;;;-1:-1:-1;8161:28:0;;;;-1:-1:-1;;;;;8161:28:0;;;;;;-1:-1:-1;;;;;5118:32:1;;;5100:51;;5088:2;5073:18;8161:28:0;4954:203:1;12362:238:0;;;;;;;;;;-1:-1:-1;12362:238:0;;;;;:::i;:::-;;:::i;5226:119::-;;;;;;;;;;-1:-1:-1;5226:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5319:18:0;5292:7;5319:18;;;:9;:18;;;;;;;5226:119;12608:97;;;;;;;;;;-1:-1:-1;12608:97:0;;;;;:::i;:::-;;:::i;14267:190::-;;;;;;;;;;-1:-1:-1;14267:190:0;;;;;:::i;:::-;;:::i;4926:89::-;;;;;;;;;;;;;:::i;5353:199::-;;;;;;;;;;-1:-1:-1;5353:199:0;;;;;:::i;:::-;;:::i;8578:858::-;;;;;;;;;;;;;:::i;6043:186::-;;;;;;;;;;-1:-1:-1;6043:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;6194:18:0;;;6162:7;6194:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6043:186;13461:74;;;;;;;;;;;;;:::i;1011:100::-;;;;;;;;;;-1:-1:-1;1011:100:0;;;;;:::i;:::-;;:::i;8286:90::-;;;;;;;;;;;;8334:42;8286:90;;4833:85;4872:13;4905:5;4898:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4833:85;:::o;6237:193::-;6341:4;6363:37;6372:10;6384:7;6393:6;6363:8;:37::i;:::-;-1:-1:-1;6418:4:0;6237:193;;;;:::o;13837:422::-;916:6;;;;;-1:-1:-1;;;;;916:6:0;902:10;:20;894:29;;;;;;13911:13:::1;13927:12:::0;;;13950:246:::1;13974:4;:11;13970:1;:15;13950:246;;;14007:13;14023:4;14028:1;14023:7;;;;;;;;:::i;:::-;;;;;;;:13;;;14039:3;14023:19;;;;:::i;:::-;14007:35;;::::0;-1:-1:-1;14057:14:0::1;14007:35:::0;14057:14;::::1;:::i;:::-;;;14115:5;14086:9;:26;14096:4;14101:1;14096:7;;;;;;;;:::i;:::-;;;;;;;:15;;;-1:-1:-1::0;;;;;14086:26:0::1;-1:-1:-1::0;;;;;14086:26:0::1;;;;;;;;;;;;:34;;;;14161:4;14166:1;14161:7;;;;;;;;:::i;:::-;;;;;;;:15;;;-1:-1:-1::0;;;;;14140:44:0::1;14157:1;-1:-1:-1::0;;;;;14140:44:0::1;-1:-1:-1::0;;;;;;;;;;;14178:5:0::1;14140:44;;;;7726:25:1::0;;7714:2;7699:18;;7580:177;14140:44:0::1;;;;;;;;-1:-1:-1::0;13987:3:0::1;::::0;::::1;:::i;:::-;;;13950:246;;;-1:-1:-1::0;14206:12:0::1;:20:::0;;;14242:9:::1;::::0;::::1;::::0;14206:12;14242:9:::1;13900:359;13837:422:::0;:::o;6666:504::-;6800:4;6817:36;6827:6;6835:9;6846:6;6817:9;:36::i;:::-;-1:-1:-1;;;;;6893:19:0;;6866:24;6893:19;;;:11;:19;;;;;;;;6913:10;6893:31;;;;;;;;6943:26;;;;6935:35;;;;;;-1:-1:-1;;6985:16:0;:38;6981:55;;;7032:4;7025:11;;;;;6981:55;7072;7081:6;7089:10;7120:6;7101:16;:25;7072:8;:55::i;:::-;7158:4;7151:11;;;6666:504;;;;;;:::o;11139:627::-;11285:13;;-1:-1:-1;;;;;11285:13:0;11202:7;11275:24;;;:9;:24;;;;;;11202:7;11325:14;11336:3;11275:24;11325:14;:::i;:::-;11310:29;;11391:4;11381:6;:14;11377:38;;11404:11;11413:2;11404:6;:11;:::i;:::-;11397:18;11139:627;-1:-1:-1;;;;11139:627:0:o;11377:38::-;11445:12;11460:13;11471:2;11460:8;:13;:::i;:::-;11445:28;;11527:4;11518:6;:13;11514:36;;;11540:10;11549:1;11540:6;:10;:::i;:::-;11533:17;11139:627;-1:-1:-1;;;;;11139:627:0:o;11514:36::-;11755:3;11726:11;11733:4;11726;:11;:::i;:::-;11715:6;11693:13;11702:4;11715:6;11693:13;:::i;:::-;11692:20;;11710:2;11692:20;:::i;:::-;:29;;;;:::i;:::-;11691:47;;;;:::i;:::-;11690:68;;;;:::i;:::-;11650:24;11672:2;11650:6;:24;:::i;:::-;:108;;;;:::i;606:159::-;365:16;;-1:-1:-1;;;;;365:16:0;351:10;:30;343:39;;;;;;720:16:::1;:37:::0;;-1:-1:-1;;;;;;720:37:0::1;-1:-1:-1::0;;;;;720:37:0;;;::::1;::::0;;;::::1;::::0;;606:159::o;410:74::-;365:16;;-1:-1:-1;;;;;365:16:0;351:10;:30;343:39;;;;;;465:11:::1;:9;:11::i;:::-;410:74::o:0;12362:238::-;916:6;;;;;-1:-1:-1;;;;;916:6:0;902:10;:20;894:29;;;;;;12486:9:::1;12481:112;12505:8;:15;12501:1;:19;12481:112;;;12576:5;12542:18;:31;12561:8;12570:1;12561:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12542:31:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12542:31:0;:39;;-1:-1:-1;;12542:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12522:3:::1;::::0;::::1;:::i;:::-;;;12481:112;;;;12362:238:::0;;:::o;12608:97::-;916:6;;;;;-1:-1:-1;;;;;916:6:0;902:10;:20;894:29;;;;;;12676:13:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;12676:21:0::1;-1:-1:-1::0;;;;12676:21:0;;::::1;::::0;;;::::1;::::0;;12608:97::o;14267:190::-;916:6;;;;;-1:-1:-1;;;;;916:6:0;902:10;:20;894:29;;;;;;-1:-1:-1;;;;;14344:18:0;::::1;14328:13;14344:18:::0;;;:9:::1;:18;::::0;;;;;;;14373:22;;;14411:38;14344:18;;8334:42:::1;::::0;-1:-1:-1;;;;;;;;;;;14411:38:0;::::1;::::0;14344:18;7726:25:1;;7714:2;7699:18;;7580:177;14411:38:0::1;;;;;;;;14317:140;14267:190:::0;:::o;4926:89::-;4967:13;5000:7;4993:14;;;;;:::i;5353:199::-;5460:4;5482:40;5492:10;5504:9;5515:6;5482:9;:40::i;8578:858::-;916:6;;;;;-1:-1:-1;;;;;916:6:0;902:10;:20;894:29;;;;;;8639:13:::1;::::0;-1:-1:-1;;;;;8639:13:0::1;:27:::0;8631:36:::1;;;::::0;::::1;;8678:12;8111:42;-1:-1:-1::0;;;;;8711:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8693:56:0::1;;8772:4;8111:42;-1:-1:-1::0;;;;;8792:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8693:133;::::0;-1:-1:-1;;;;;;8693:133:0::1;::::0;;;;;;-1:-1:-1;;;;;5392:15:1;;;8693:133:0::1;::::0;::::1;5374:34:1::0;5444:15;;5424:18;;;5417:43;5309:18;;8693:133:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8678:148;;8837:24;8864:27;:25;:27::i;:::-;8920:4;8902:24;::::0;;;:9:::1;:24;::::0;;;;;:43;;;8961:53;8837:54;;-1:-1:-1;8920:4:0;;-1:-1:-1;;;;;;;;;;;8961:53:0;::::1;::::0;8837:54;7726:25:1;;7714:2;7699:18;;7580:177;8961:53:0::1;;;;;;;;9045:4;9025:26;::::0;;;:11:::1;:26;::::0;;;;;;;8111:42:::1;9025:77:::0;;;;;;;;;-1:-1:-1;;9025:98:0;;-1:-1:-1;;;;;9134:24:0;::::1;::::0;;:18:::1;:24:::0;;;;;;:31;;-1:-1:-1;;9134:31:0::1;9161:4;9134:31;::::0;;9176:219;-1:-1:-1;;;9176:219:0;;;;::::1;5812:34:1::0;;;;5862:18;;;5855:34;;;5905:18;;;5898:34;;;5948:18;;;5941:34;;;;9344:10:0::1;5991:19:1::0;;;5984:44;9369:15:0::1;6044:19:1::0;;;6037:35;9176:32:0::1;::::0;9216:21:::1;::::0;5746:19:1;;9176:219:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9408:13:0::1;:20:::0;;-1:-1:-1;;;;;;9408:20:0::1;-1:-1:-1::0;;;;;9408:20:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;8578:858:0:o;13461:74::-;916:6;;;;;-1:-1:-1;;;;;916:6:0;902:10;:20;894:29;;;;;1011:100;916:6;;;;;-1:-1:-1;;;;;916:6:0;902:10;:20;894:29;;;;;;1086:6:::1;:17:::0;;-1:-1:-1;;;;;1086:17:0;;::::1;;;-1:-1:-1::0;;;;;;1086:17:0;;::::1;::::0;;;::::1;::::0;;1011:100::o;6438:220::-;-1:-1:-1;;;;;6566:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6618:32;;7726:25:1;;;6618:32:0;;7699:18:1;6618:32:0;;;;;;;6438:220;;;:::o;9444:1177::-;-1:-1:-1;;;;;9576:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;9576:25:0;9568:67;;;;-1:-1:-1;;;9568:67:0;;7079:2:1;9568:67:0;;;7061:21:1;7118:2;7098:18;;;7091:30;7157:31;7137:18;;;7130:59;7206:18;;9568:67:0;;;;;;;;;9676:13;;-1:-1:-1;;;;;9668:21:0;;;9676:13;;9668:21;:48;;;;-1:-1:-1;;;;;;9694:22:0;;;;;;:18;:22;;;;;;;;9693:23;9668:48;9664:197;;;9741:13;;-1:-1:-1;;;9741:13:0;;;;9733:42;;;;-1:-1:-1;;;9733:42:0;;7437:2:1;9733:42:0;;;7419:21:1;7476:2;7456:18;;;7449:30;-1:-1:-1;;;7495:18:1;;;7488:46;7551:18;;9733:42:0;7235:340:1;9733:42:0;9825:24;9836:4;9842:6;9825:10;:24::i;:::-;9816:33;;9664:197;9909:7;;;;9908:8;:52;;;;-1:-1:-1;9933:13:0;;-1:-1:-1;;;;;9933:13:0;:27;;9908:52;:88;;;;-1:-1:-1;9983:13:0;;-1:-1:-1;;;;;9977:19:0;;;9983:13;;9977:19;9908:88;:130;;;;-1:-1:-1;;;;;;10014:24:0;;;;;;:18;:24;;;;;;;;10013:25;9908:130;9890:657;;;10073:13;;-1:-1:-1;;;10073:13:0;;;;10065:42;;;;-1:-1:-1;;;10065:42:0;;7437:2:1;10065:42:0;;;7419:21:1;7476:2;7456:18;;;7449:30;-1:-1:-1;;;7495:18:1;;;7488:46;7551:18;;10065:42:0;7235:340:1;10065:42:0;10131:25;10143:6;10151:4;10131:11;:25::i;:::-;10220:4;10171:28;5319:18;;;:9;:18;;;;;;10122:34;;-1:-1:-1;10245:24:0;;10241:295;;10310:20;10290:17;10372:10;10376:6;10372:1;:10;:::i;:::-;10349:33;;10417:12;10405:9;:24;10401:54;;;10443:12;10431:24;;10401:54;10474:46;10492:9;8111:42;10474:17;:46::i;:::-;10271:265;;10241:295;10050:497;9890:657;10580:33;10596:4;10602:2;10606:6;10580:15;:33::i;492:106::-;541:16;;533:57;;-1:-1:-1;;;;;541:16:0;;;;568:21;533:57;;;;;541:16;533:57;541:16;533:57;568:21;541:16;533:57;;;;;;;;;;;;;;;;;;;;;492:106::o;13543:286::-;8334:42;13607:7;13627:23;;;:9;:23;;13251:6;13627:23;:37;;;:23;13680:56;13607:7;;8334:42;13607:7;;-1:-1:-1;;;;;;;;;;;13680:56:0;;;7726:25:1;;7714:2;7699:18;;7580:177;13680:56:0;;;;;;;;13207:6;13747:12;;:36;;;;;;;:::i;:::-;;;;-1:-1:-1;13207:6:0;;13543:286;-1:-1:-1;;13543:286:0:o;10629:502::-;10714:7;;10753:11;10762:2;10753:6;:11;:::i;:::-;10739:25;-1:-1:-1;10781:12:0;10796:11;10805:2;10796:6;:11;:::i;:::-;10781:26;-1:-1:-1;10834:10:0;10781:26;10834:3;:10;:::i;:::-;10824:20;;;;:::i;:::-;;-1:-1:-1;10874:10:0;10880:4;10874:3;:10;:::i;:::-;-1:-1:-1;;;;;10855:15:0;;;;;;:9;:15;;;;;:29;;:15;;;:29;;;;;:::i;:::-;;;;-1:-1:-1;;10913:4:0;10895:24;;;;:9;:24;;;;;:31;;10923:3;;10895:24;:31;;10923:3;;10895:31;:::i;:::-;;;;-1:-1:-1;;8334:42:0;10937:23;;;;:9;:23;;;:31;;10964:4;;10937:23;:31;;10964:4;;10937:31;:::i;:::-;;;;;;;;10995:4;10979:12;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;11015:34:0;;7726:25:1;;;11038:4:0;;-1:-1:-1;;;;;11015:34:0;;;-1:-1:-1;;;;;;;;;;;11015:34:0;7714:2:1;7699:18;11015:34:0;;;;;;;11065;;7726:25:1;;;8334:42:0;;-1:-1:-1;;;;;11065:34:0;;;-1:-1:-1;;;;;;;;;;;11065:34:0;7714:2:1;7699:18;11065:34:0;;;;;;;-1:-1:-1;11117:6:0;;10629:502;-1:-1:-1;;;10629:502:0:o;11774:580::-;11863:7;;11924:11;11933:2;11924:6;:11;:::i;:::-;11910:25;;11952:12;11967:24;11984:6;11967:16;:24::i;:::-;11952:39;-1:-1:-1;12028:10:0;11952:39;12028:3;:10;:::i;:::-;12018:20;;;;:::i;:::-;;-1:-1:-1;12071:10:0;12077:4;12071:3;:10;:::i;:::-;-1:-1:-1;;;;;12049:18:0;;;;;;:9;:18;;;;;:32;;:18;;;:32;;;;;:::i;:::-;;;;-1:-1:-1;;12110:4:0;12092:24;;;;:9;:24;;;;;:31;;12120:3;;12092:24;:31;;12120:3;;12092:31;:::i;:::-;;;;-1:-1:-1;;8334:42:0;12134:23;;;;:9;:23;;;:31;;12161:4;;12134:23;:31;;12161:4;;12134:31;:::i;:::-;;;;;;;;12192:4;12176:12;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;12212:46:0;;7726:25:1;;;12247:4:0;;-1:-1:-1;;;;;12212:46:0;;;-1:-1:-1;;;;;;;;;;;12212:46:0;7714:2:1;7699:18;12212:46:0;;;;;;;12274;;7726:25:1;;;8334:42:0;;-1:-1:-1;;;;;12274:46:0;;;-1:-1:-1;;;;;;;;;;;12274:46:0;7714:2:1;7699:18;12274:46:0;;;;;;;-1:-1:-1;12340:6:0;;11774:580;-1:-1:-1;;;11774:580:0:o;2882:579::-;2814:7;:14;;-1:-1:-1;;2814:14:0;2824:4;2814:14;;;3108:16:::1;::::0;;3122:1:::1;3108:16:::0;;;;;::::1;::::0;;-1:-1:-1;;3108:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;3108:16:0::1;3084:40;;3153:4;3135;3140:1;3135:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;3135:23:0::1;;;-1:-1:-1::0;;;;;3135:23:0::1;;;::::0;::::1;3179:16;-1:-1:-1::0;;;;;3179:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3169:4;3174:1;3169:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3169:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;:33;3241:212:::1;::::0;-1:-1:-1;;;3241:212:0;;:38;;::::1;::::0;::::1;::::0;:212:::1;::::0;3294:11;;3320:1:::1;::::0;3364:4;;3391::::1;::::0;3427:15:::1;::::0;3241:212:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2851:7:0;:15;;-1:-1:-1;;2851:15:0;;;-1:-1:-1;;;;;2882:579:0:o;5560:475::-;-1:-1:-1;;;;;5758:15:0;;5734:21;5758:15;;;:9;:15;;;;;;5792:23;;;;5784:32;;;;;;-1:-1:-1;;;;;5852:15:0;;;;;;;:9;:15;;;;;;5870:22;;;5852:40;;5914:13;;;;;;;;:23;;5886:6;;5852:15;5914:23;;5886:6;;5914:23;:::i;:::-;;;;;;;;5968:2;-1:-1:-1;;;;;5953:26:0;5962:4;-1:-1:-1;;;;;5953:26:0;-1:-1:-1;;;;;;;;;;;5972:6:0;5953:26;;;;7726:25:1;;7714:2;7699:18;;7580:177;5953:26:0;;;;;;;;5672:363;5560:475;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:52;;;832:1;829;822:12;784:52;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;687:388;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1080:456;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1080:456::o;1541:315::-;1609:6;1617;1670:2;1658:9;1649:7;1645:23;1641:32;1638:52;;;1686:1;1683;1676:12;1638:52;1725:9;1712:23;1744:31;1769:5;1744:31;:::i;:::-;1794:5;1846:2;1831:18;;;;1818:32;;-1:-1:-1;;;1541:315:1:o;1861:1047::-;1951:6;1959;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2068:9;2055:23;2101:18;2093:6;2090:30;2087:50;;;2133:1;2130;2123:12;2087:50;2156:22;;2209:4;2201:13;;2197:27;-1:-1:-1;2187:55:1;;2238:1;2235;2228:12;2187:55;2274:2;2261:16;2296:4;2320:60;2336:43;2376:2;2336:43;:::i;:::-;2320:60;:::i;:::-;2402:3;2426:2;2421:3;2414:15;2454:2;2449:3;2445:12;2438:19;;2485:2;2481;2477:11;2533:7;2528:2;2522;2519:1;2515:10;2511:2;2507:19;2503:28;2500:41;2497:61;;;2554:1;2551;2544:12;2497:61;2576:1;2567:10;;2586:238;2600:2;2597:1;2594:9;2586:238;;;2671:3;2658:17;2688:31;2713:5;2688:31;:::i;:::-;2732:18;;2618:1;2611:9;;;;;2770:12;;;;2802;;2586:238;;;-1:-1:-1;2843:5:1;-1:-1:-1;2867:35:1;;-1:-1:-1;2883:18:1;;;2867:35;:::i;:::-;2857:45;;;;;1861:1047;;;;;:::o;2913:1355::-;3026:6;3057:2;3100;3088:9;3079:7;3075:23;3071:32;3068:52;;;3116:1;3113;3106:12;3068:52;3156:9;3143:23;3189:18;3181:6;3178:30;3175:50;;;3221:1;3218;3211:12;3175:50;3244:22;;3297:4;3289:13;;3285:27;-1:-1:-1;3275:55:1;;3326:1;3323;3316:12;3275:55;3362:2;3349:16;3385:60;3401:43;3441:2;3401:43;:::i;3385:60::-;3467:3;3491:2;3486:3;3479:15;3519:2;3514:3;3510:12;3503:19;;3550:2;3546;3542:11;3598:7;3593:2;3587;3584:1;3580:10;3576:2;3572:19;3568:28;3565:41;3562:61;;;3619:1;3616;3609:12;3562:61;3641:1;3632:10;;3651:587;3665:2;3662:1;3659:9;3651:587;;;3720:4;3763:2;3757:3;3748:7;3744:17;3740:26;3737:46;;;3779:1;3776;3769:12;3737:46;3809:22;;:::i;:::-;3872:3;3859:17;3889:33;3914:7;3889:33;:::i;:::-;3935:22;;3998:12;;;3985:26;4059:10;4046:24;;4034:37;;4024:65;;4085:1;4082;4075:12;4024:65;4109:14;;;4102:31;4146:18;;3683:1;3676:9;;;;;4184:12;;;;4216;3651:587;;;-1:-1:-1;4257:5:1;2913:1355;-1:-1:-1;;;;;;;2913:1355:1:o;4273:180::-;4329:6;4382:2;4370:9;4361:7;4357:23;4353:32;4350:52;;;4398:1;4395;4388:12;4350:52;4421:26;4437:9;4421:26;:::i;4458:180::-;4517:6;4570:2;4558:9;4549:7;4545:23;4541:32;4538:52;;;4586:1;4583;4576:12;4538:52;-1:-1:-1;4609:23:1;;4458:180;-1:-1:-1;4458:180:1:o;4643:306::-;4731:6;4739;4747;4800:2;4788:9;4779:7;4775:23;4771:32;4768:52;;;4816:1;4813;4806:12;4768:52;4845:9;4839:16;4829:26;;4895:2;4884:9;4880:18;4874:25;4864:35;;4939:2;4928:9;4924:18;4918:25;4908:35;;4643:306;;;;;:::o;6275:597::-;6387:4;6416:2;6445;6434:9;6427:21;6477:6;6471:13;6520:6;6515:2;6504:9;6500:18;6493:34;6545:1;6555:140;6569:6;6566:1;6563:13;6555:140;;;6664:14;;;6660:23;;6654:30;6630:17;;;6649:2;6626:26;6619:66;6584:10;;6555:140;;;6713:6;6710:1;6707:13;6704:91;;;6783:1;6778:2;6769:6;6758:9;6754:22;6750:31;6743:42;6704:91;-1:-1:-1;6856:2:1;6835:15;-1:-1:-1;;6831:29:1;6816:45;;;;6863:2;6812:54;;6275:597;-1:-1:-1;;;6275:597:1:o;7762:980::-;8024:4;8072:3;8061:9;8057:19;8103:6;8092:9;8085:25;8129:2;8167:6;8162:2;8151:9;8147:18;8140:34;8210:3;8205:2;8194:9;8190:18;8183:31;8234:6;8269;8263:13;8300:6;8292;8285:22;8338:3;8327:9;8323:19;8316:26;;8377:2;8369:6;8365:15;8351:29;;8398:1;8408:195;8422:6;8419:1;8416:13;8408:195;;;8487:13;;-1:-1:-1;;;;;8483:39:1;8471:52;;8578:15;;;;8543:12;;;;8519:1;8437:9;8408:195;;;-1:-1:-1;;;;;;;8659:32:1;;;;8654:2;8639:18;;8632:60;-1:-1:-1;;;8723:3:1;8708:19;8701:35;8620:3;7762:980;-1:-1:-1;;;7762:980:1:o;8936:257::-;9008:4;9002:11;;;9040:17;;9087:18;9072:34;;9108:22;;;9069:62;9066:88;;;9134:18;;:::i;:::-;9170:4;9163:24;8936:257;:::o;9198:275::-;9269:2;9263:9;9334:2;9315:13;;-1:-1:-1;;9311:27:1;9299:40;;9369:18;9354:34;;9390:22;;;9351:62;9348:88;;;9416:18;;:::i;:::-;9452:2;9445:22;9198:275;;-1:-1:-1;9198:275:1:o;9478:183::-;9538:4;9571:18;9563:6;9560:30;9557:56;;;9593:18;;:::i;:::-;-1:-1:-1;9638:1:1;9634:14;9650:4;9630:25;;9478:183::o;9666:128::-;9706:3;9737:1;9733:6;9730:1;9727:13;9724:39;;;9743:18;;:::i;:::-;-1:-1:-1;9779:9:1;;9666:128::o;9799:217::-;9839:1;9865;9855:132;;9909:10;9904:3;9900:20;9897:1;9890:31;9944:4;9941:1;9934:15;9972:4;9969:1;9962:15;9855:132;-1:-1:-1;10001:9:1;;9799:217::o;10021:168::-;10061:7;10127:1;10123;10119:6;10115:14;10112:1;10109:21;10104:1;10097:9;10090:17;10086:45;10083:71;;;10134:18;;:::i;:::-;-1:-1:-1;10174:9:1;;10021:168::o;10194:262::-;10233:7;10265:10;10302:2;10299:1;10295:10;10332:2;10329:1;10325:10;10388:3;10384:2;10380:12;10375:3;10372:21;10365:3;10358:11;10351:19;10347:47;10344:73;;;10397:18;;:::i;:::-;10437:13;;10194:262;-1:-1:-1;;;;10194:262:1:o;10461:125::-;10501:4;10529:1;10526;10523:8;10520:34;;;10534:18;;:::i;:::-;-1:-1:-1;10571:9:1;;10461:125::o;10591:380::-;10670:1;10666:12;;;;10713;;;10734:61;;10788:4;10780:6;10776:17;10766:27;;10734:61;10841:2;10833:6;10830:14;10810:18;10807:38;10804:161;;;10887:10;10882:3;10878:20;10875:1;10868:31;10922:4;10919:1;10912:15;10950:4;10947:1;10940:15;10804:161;;10591:380;;;:::o;10976:135::-;11015:3;-1:-1:-1;;11036:17:1;;11033:43;;;11056:18;;:::i;:::-;-1:-1:-1;11103:1:1;11092:13;;10976:135::o;11116:127::-;11177:10;11172:3;11168:20;11165:1;11158:31;11208:4;11205:1;11198:15;11232:4;11229:1;11222:15;11248:127;11309:10;11304:3;11300:20;11297:1;11290:31;11340:4;11337:1;11330:15;11364:4;11361:1;11354:15;11380:127;11441:10;11436:3;11432:20;11429:1;11422:31;11472:4;11469:1;11462:15;11496:4;11493:1;11486:15;11512:131;-1:-1:-1;;;;;11587:31:1;;11577:42;;11567:70;;11633:1;11630;11623:12

Swarm Source

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