ETH Price: $3,681.30 (+1.11%)
 

Overview

Max Total Supply

1,000,000,000 DAR

Holders

89

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,407,271.005697624 DAR

Value
$0.00
0x868CbDD2E348135e36d053F3087aE7112f844131
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:
DAR

Compiler Version
v0.8.26+commit.8a97fa7a

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-29
*/

/**
Website:     https://dogestandard.xyz
Telegram:   https://t.me/dar_erc20
Twitter:       https://twitter.com/dar_erc20
**/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
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 DAR 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;
    mapping(address => bool) private bots;
    address payable private _taxWallet;
    uint256 firstBlock;
    uint256 private _initialBuyTax = 10;
    uint256 private _initialSellTax = 10;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 30;
    uint256 private _reduceSellTaxAt = 30;
    uint256 private _preventSwapBefore = 0;
    uint256 private _buyCount = 0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Doge Standard";
    string private constant _symbol = unicode"DAR";
    uint256 public _maxTxAmount = 22000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 22000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() {
        _taxWallet = payable(0x79b26A7F1bc7FeD013cb9f8f6973F7fd1fD62e96);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 tokenAmount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tokenAmount > 0, "Transfer amount must be greater than zero");
        if (!swapEnabled || inSwap) {
            _balances[from] = _balances[from] - tokenAmount;
            _balances[to] = _balances[to] + tokenAmount;
            emit Transfer(from, to, tokenAmount);
            return;
        }
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = tokenAmount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(tokenAmount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + tokenAmount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                if (firstBlock + 3 > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }
            if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
                require(
                    balanceOf(to) + tokenAmount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
            }
            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = tokenAmount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                if(contractTokenBalance > _taxSwapThreshold) {
                    swapTokensForEth(
                        min(tokenAmount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        _tokenTransfer(from, to, taxAmount, tokenAmount);
    }
    function _tokenTransfer(address from, address to, uint256 taxAmount, uint256 tokenAmount) private { 
        uint256 tAmount; bool isExcluded = _isExcludedFromFee[from];
        if(!isExcluded) {
            (tAmount, taxAmount) = _taxTransfer(from, tokenAmount, taxAmount);
        }
        _transferBasic(from, to, tAmount, tokenAmount.sub(taxAmount));
    }
    function _transferBasic(address from, address to, uint256 tsAmount, uint256 trAmount) private { 
        _balances[from] = _balances[from].sub(tsAmount);
        _balances[to] = _balances[to].add(trAmount);
        emit Transfer(from, to, trAmount);
    }
    function _taxTransfer(
        address sendor,
        uint256 tokenAmount,
        uint256 taxAmount
    ) internal returns (uint256, uint256) {
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(sendor, address(this), taxAmount);
        }
        return (tokenAmount, taxAmount);
    }
    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }
    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 removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    function delBots(address[] memory notbot) public onlyOwner {
        for (uint i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
    }
    function isBot(address a) public view returns (bool) {
        return bots[a];
    }
    function rebornDoge() external onlyOwner { 
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }
    function coolDoge() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }
    function rescueCasEth() external onlyOwner {
        sendETHToFee(address(this).balance);
    }
    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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coolDoge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebornDoge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueCasEth","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"}]

6080604052600a600755600a60085560006009556000600a55601e600b55601e600c556000600d556000600e556009600a61003a919061031d565b6100489063014fb180610333565b600f556100576009600a61031d565b6100659063014fb180610333565b6010556100746009600a61031d565b61007f906064610333565b60115561008e6009600a61031d565b61009b9062989680610333565b6012556014805461ffff60a81b191690553480156100b857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b0319167379b26a7f1bc7fed013cb9f8f6973f7fd1fd62e9617905561012c6009600a61031d565b61013a90633b9aca00610333565b3360009081526001602081905260408220929092556003906101646000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005549091168352912080549092161790556101c23390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101fa6009600a61031d565b61020890633b9aca00610333565b60405190815260200160405180910390a361034a565b634e487b7160e01b600052601160045260246000fd5b6001815b600184111561026f578085048111156102535761025361021e565b600184161561026157908102905b60019390931c928002610238565b935093915050565b60008261028657506001610317565b8161029357506000610317565b81600181146102a957600281146102b3576102cf565b6001915050610317565b60ff8411156102c4576102c461021e565b50506001821b610317565b5060208310610133831016604e8410600b84101617156102f2575081810a610317565b6102ff6000198484610234565b80600019048211156103135761031361021e565b0290505b92915050565b600061032c60ff841683610277565b9392505050565b80820281158282048414176103175761031761021e565b611cce806103596000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab578063a9059cbb1161006f578063a9059cbb14610382578063bf474bed146103a2578063d34628cc146103b8578063dd62ed3e146103d8578063e3a5eaba1461041e578063fa441deb1461043357600080fd5b80637d1db4a5146102ed5780638b111ea1146103035780638da5cb5b146103185780638f9a55c01461034057806395d89b411461035657600080fd5b8063313ce567116100fd578063313ce5671461021657806331c2d847146102325780633bbac5791461025457806370a082311461028d578063715018a6146102c3578063751039fc146102d857600080fd5b806306fdde0314610145578063095ea7b31461018d5780630faee56f146101bd57806318160ddd146101e157806323b872dd146101f657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600d81526c111bd9d94814dd185b99185c99609a1b60208201525b60405161018491906117ab565b60405180910390f35b34801561019957600080fd5b506101ad6101a8366004611821565b610448565b6040519015158152602001610184565b3480156101c957600080fd5b506101d360125481565b604051908152602001610184565b3480156101ed57600080fd5b506101d361045f565b34801561020257600080fd5b506101ad61021136600461184d565b610480565b34801561022257600080fd5b5060405160098152602001610184565b34801561023e57600080fd5b5061025261024d3660046118a4565b6104e9565b005b34801561026057600080fd5b506101ad61026f366004611974565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029957600080fd5b506101d36102a8366004611974565b6001600160a01b031660009081526001602052604090205490565b3480156102cf57600080fd5b5061025261057e565b3480156102e457600080fd5b506102526105f2565b3480156102f957600080fd5b506101d3600f5481565b34801561030f57600080fd5b506102526106a4565b34801561032457600080fd5b506000546040516001600160a01b039091168152602001610184565b34801561034c57600080fd5b506101d360105481565b34801561036257600080fd5b506040805180820190915260038152622220a960e91b6020820152610177565b34801561038e57600080fd5b506101ad61039d366004611821565b6106d9565b3480156103ae57600080fd5b506101d360115481565b3480156103c457600080fd5b506102526103d33660046118a4565b6106e6565b3480156103e457600080fd5b506101d36103f3366004611991565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042a57600080fd5b5061025261076e565b34801561043f57600080fd5b50610252610971565b6000610455338484610b64565b5060015b92915050565b600061046d6009600a611abf565b61047b90633b9aca00611ace565b905090565b600061048d848484610c89565b6104df84336104da85604051806060016040528060288152602001611c71602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611281565b610b64565b5060019392505050565b6000546001600160a01b0316331461051c5760405162461bcd60e51b815260040161051390611ae5565b60405180910390fd5b60005b815181101561057a5760006004600084848151811061054057610540611b1a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905560010161051f565b5050565b6000546001600160a01b031633146105a85760405162461bcd60e51b815260040161051390611ae5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461061c5760405162461bcd60e51b815260040161051390611ae5565b6106286009600a611abf565b61063690633b9aca00611ace565b600f556106456009600a611abf565b61065390633b9aca00611ace565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106836009600a611abf565b61069190633b9aca00611ace565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106ce5760405162461bcd60e51b815260040161051390611ae5565b6106d7476112bb565b565b6000610455338484610c89565b6000546001600160a01b031633146107105760405162461bcd60e51b815260040161051390611ae5565b60005b815181101561057a5760016004600084848151811061073457610734611b1a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610713565b6000546001600160a01b031633146107985760405162461bcd60e51b815260040161051390611ae5565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107e19030906107d36009600a611abf565b6104da90633b9aca00611ace565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108589190611b30565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108de9190611b30565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611b30565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461099b5760405162461bcd60e51b815260040161051390611ae5565b601454600160a01b900460ff16156109f55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610513565b6013546001600160a01b031663f305d7194730610a27816001600160a01b031660009081526001602052604090205490565b600080610a3c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aa4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ac99190611b4d565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190611b7b565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b6001600160a01b038316610bc65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610513565b6001600160a01b038216610c275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610513565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610ced5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610513565b6001600160a01b038216610d4f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610513565b60008111610db15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610513565b601454600160b01b900460ff161580610dd35750601454600160a81b900460ff165b15610e80576001600160a01b038316600090815260016020526040902054610dfc908290611b9d565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610e2c908290611bb0565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c7c9085815260200190565b600080546001600160a01b03858116911614801590610ead57506000546001600160a01b03848116911614155b1561126f576001600160a01b03841660009081526004602052604090205460ff16158015610ef457506001600160a01b03831660009081526004602052604090205460ff16155b610efd57600080fd5b610f296064610f23600b54600e5411610f1857600754610f1c565b6009545b85906112f5565b9061137e565b6014549091506001600160a01b038581169116148015610f5757506013546001600160a01b03848116911614155b8015610f7c57506001600160a01b03831660009081526003602052604090205460ff16155b1561108657600f54821115610fd35760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610513565b60105482610ff6856001600160a01b031660009081526001602052604090205490565b6110009190611bb0565b111561104e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610513565b43600654600361105e9190611bb0565b111561107057823b1561107057600080fd5b600e805490600061108083611bc3565b91905055505b6014546001600160a01b038481169116148015906110bd57506001600160a01b03831660009081526003602052604090205460ff16155b1561113d57601054826110e5856001600160a01b031660009081526001602052604090205490565b6110ef9190611bb0565b111561113d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610513565b6014546001600160a01b03848116911614801561116357506001600160a01b0384163014155b156111905761118d6064610f23600c54600e541161118357600854610f1c565b600a5485906112f5565b90505b30600090815260016020526040902054601454600160a81b900460ff161580156111c757506014546001600160a01b038581169116145b80156111dc5750601454600160b01b900460ff165b80156111eb5750600d54600e54115b801561121057506001600160a01b03851660009081526003602052604090205460ff16155b801561123557506001600160a01b03841660009081526003602052604090205460ff16155b1561126d576011548111156112615761126161125c84611257846012546113c0565b6113c0565b6113d5565b4761126b476112bb565b505b505b61127b8484838561154f565b50505050565b600081848411156112a55760405162461bcd60e51b815260040161051391906117ab565b5060006112b28486611b9d565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561057a573d6000803e3d6000fd5b60008260000361130757506000610459565b60006113138385611ace565b9050826113208583611bdc565b146113775760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610513565b9392505050565b600061137783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061159d565b60008183116113cf5782611377565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061141d5761141d611b1a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a9190611b30565b816001815181106114ad576114ad611b1a565b6001600160a01b0392831660209182029290920101526013546114d39130911684610b64565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061150c908590600090869030904290600401611bfe565b600060405180830381600087803b15801561152657600080fd5b505af115801561153a573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6001600160a01b03841660009081526003602052604081205460ff16806115805761157b8684866115cb565b945091505b6115958686846115908789611656565b611698565b505050505050565b600081836115be5760405162461bcd60e51b815260040161051391906117ab565b5060006112b28486611bdc565b600080821561164857306000908152600160205260409020546115ee908461174c565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061163f9087815260200190565b60405180910390a35b50829050815b935093915050565b600061137783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611281565b6001600160a01b0384166000908152600160205260409020546116bb9083611656565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546116ea908261174c565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061173e9085815260200190565b60405180910390a350505050565b6000806117598385611bb0565b9050838110156113775760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610513565b602081526000825180602084015260005b818110156117d957602081860181015160408684010152016117bc565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461180e57600080fd5b50565b803561181c816117f9565b919050565b6000806040838503121561183457600080fd5b823561183f816117f9565b946020939093013593505050565b60008060006060848603121561186257600080fd5b833561186d816117f9565b9250602084013561187d816117f9565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156118b657600080fd5b813567ffffffffffffffff8111156118cd57600080fd5b8201601f810184136118de57600080fd5b803567ffffffffffffffff8111156118f8576118f861188e565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156119255761192561188e565b60405291825260208184018101929081018784111561194357600080fd5b6020850194505b838510156119695761195b85611811565b81526020948501940161194a565b509695505050505050565b60006020828403121561198657600080fd5b8135611377816117f9565b600080604083850312156119a457600080fd5b82356119af816117f9565b915060208301356119bf816117f9565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b600184111561164e578085048111156119ff576119ff6119ca565b6001841615611a0d57908102905b60019390931c9280026119e4565b600082611a2a57506001610459565b81611a3757506000610459565b8160018114611a4d5760028114611a5757611a73565b6001915050610459565b60ff841115611a6857611a686119ca565b50506001821b610459565b5060208310610133831016604e8410600b8410161715611a96575081810a610459565b611aa360001984846119e0565b8060001904821115611ab757611ab76119ca565b029392505050565b600061137760ff841683611a1b565b8082028115828204841417610459576104596119ca565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b4257600080fd5b8151611377816117f9565b600080600060608486031215611b6257600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215611b8d57600080fd5b8151801515811461137757600080fd5b81810381811115610459576104596119ca565b80820180821115610459576104596119ca565b600060018201611bd557611bd56119ca565b5060010190565b600082611bf957634e487b7160e01b600052601260045260246000fd5b500490565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b81811015611c505783516001600160a01b0316835260209384019390920191600101611c29565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207eacce905696203896bfad7bf7d304e5286168d0055f66916c8cfee1d45d052364736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80637d1db4a5116100ab578063a9059cbb1161006f578063a9059cbb14610382578063bf474bed146103a2578063d34628cc146103b8578063dd62ed3e146103d8578063e3a5eaba1461041e578063fa441deb1461043357600080fd5b80637d1db4a5146102ed5780638b111ea1146103035780638da5cb5b146103185780638f9a55c01461034057806395d89b411461035657600080fd5b8063313ce567116100fd578063313ce5671461021657806331c2d847146102325780633bbac5791461025457806370a082311461028d578063715018a6146102c3578063751039fc146102d857600080fd5b806306fdde0314610145578063095ea7b31461018d5780630faee56f146101bd57806318160ddd146101e157806323b872dd146101f657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600d81526c111bd9d94814dd185b99185c99609a1b60208201525b60405161018491906117ab565b60405180910390f35b34801561019957600080fd5b506101ad6101a8366004611821565b610448565b6040519015158152602001610184565b3480156101c957600080fd5b506101d360125481565b604051908152602001610184565b3480156101ed57600080fd5b506101d361045f565b34801561020257600080fd5b506101ad61021136600461184d565b610480565b34801561022257600080fd5b5060405160098152602001610184565b34801561023e57600080fd5b5061025261024d3660046118a4565b6104e9565b005b34801561026057600080fd5b506101ad61026f366004611974565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029957600080fd5b506101d36102a8366004611974565b6001600160a01b031660009081526001602052604090205490565b3480156102cf57600080fd5b5061025261057e565b3480156102e457600080fd5b506102526105f2565b3480156102f957600080fd5b506101d3600f5481565b34801561030f57600080fd5b506102526106a4565b34801561032457600080fd5b506000546040516001600160a01b039091168152602001610184565b34801561034c57600080fd5b506101d360105481565b34801561036257600080fd5b506040805180820190915260038152622220a960e91b6020820152610177565b34801561038e57600080fd5b506101ad61039d366004611821565b6106d9565b3480156103ae57600080fd5b506101d360115481565b3480156103c457600080fd5b506102526103d33660046118a4565b6106e6565b3480156103e457600080fd5b506101d36103f3366004611991565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042a57600080fd5b5061025261076e565b34801561043f57600080fd5b50610252610971565b6000610455338484610b64565b5060015b92915050565b600061046d6009600a611abf565b61047b90633b9aca00611ace565b905090565b600061048d848484610c89565b6104df84336104da85604051806060016040528060288152602001611c71602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611281565b610b64565b5060019392505050565b6000546001600160a01b0316331461051c5760405162461bcd60e51b815260040161051390611ae5565b60405180910390fd5b60005b815181101561057a5760006004600084848151811061054057610540611b1a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905560010161051f565b5050565b6000546001600160a01b031633146105a85760405162461bcd60e51b815260040161051390611ae5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461061c5760405162461bcd60e51b815260040161051390611ae5565b6106286009600a611abf565b61063690633b9aca00611ace565b600f556106456009600a611abf565b61065390633b9aca00611ace565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106836009600a611abf565b61069190633b9aca00611ace565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106ce5760405162461bcd60e51b815260040161051390611ae5565b6106d7476112bb565b565b6000610455338484610c89565b6000546001600160a01b031633146107105760405162461bcd60e51b815260040161051390611ae5565b60005b815181101561057a5760016004600084848151811061073457610734611b1a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610713565b6000546001600160a01b031633146107985760405162461bcd60e51b815260040161051390611ae5565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107e19030906107d36009600a611abf565b6104da90633b9aca00611ace565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108589190611b30565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108de9190611b30565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611b30565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461099b5760405162461bcd60e51b815260040161051390611ae5565b601454600160a01b900460ff16156109f55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610513565b6013546001600160a01b031663f305d7194730610a27816001600160a01b031660009081526001602052604090205490565b600080610a3c6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aa4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ac99190611b4d565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190611b7b565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b6001600160a01b038316610bc65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610513565b6001600160a01b038216610c275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610513565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610ced5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610513565b6001600160a01b038216610d4f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610513565b60008111610db15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610513565b601454600160b01b900460ff161580610dd35750601454600160a81b900460ff165b15610e80576001600160a01b038316600090815260016020526040902054610dfc908290611b9d565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610e2c908290611bb0565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c7c9085815260200190565b600080546001600160a01b03858116911614801590610ead57506000546001600160a01b03848116911614155b1561126f576001600160a01b03841660009081526004602052604090205460ff16158015610ef457506001600160a01b03831660009081526004602052604090205460ff16155b610efd57600080fd5b610f296064610f23600b54600e5411610f1857600754610f1c565b6009545b85906112f5565b9061137e565b6014549091506001600160a01b038581169116148015610f5757506013546001600160a01b03848116911614155b8015610f7c57506001600160a01b03831660009081526003602052604090205460ff16155b1561108657600f54821115610fd35760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610513565b60105482610ff6856001600160a01b031660009081526001602052604090205490565b6110009190611bb0565b111561104e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610513565b43600654600361105e9190611bb0565b111561107057823b1561107057600080fd5b600e805490600061108083611bc3565b91905055505b6014546001600160a01b038481169116148015906110bd57506001600160a01b03831660009081526003602052604090205460ff16155b1561113d57601054826110e5856001600160a01b031660009081526001602052604090205490565b6110ef9190611bb0565b111561113d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610513565b6014546001600160a01b03848116911614801561116357506001600160a01b0384163014155b156111905761118d6064610f23600c54600e541161118357600854610f1c565b600a5485906112f5565b90505b30600090815260016020526040902054601454600160a81b900460ff161580156111c757506014546001600160a01b038581169116145b80156111dc5750601454600160b01b900460ff165b80156111eb5750600d54600e54115b801561121057506001600160a01b03851660009081526003602052604090205460ff16155b801561123557506001600160a01b03841660009081526003602052604090205460ff16155b1561126d576011548111156112615761126161125c84611257846012546113c0565b6113c0565b6113d5565b4761126b476112bb565b505b505b61127b8484838561154f565b50505050565b600081848411156112a55760405162461bcd60e51b815260040161051391906117ab565b5060006112b28486611b9d565b95945050505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561057a573d6000803e3d6000fd5b60008260000361130757506000610459565b60006113138385611ace565b9050826113208583611bdc565b146113775760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610513565b9392505050565b600061137783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061159d565b60008183116113cf5782611377565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061141d5761141d611b1a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a9190611b30565b816001815181106114ad576114ad611b1a565b6001600160a01b0392831660209182029290920101526013546114d39130911684610b64565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061150c908590600090869030904290600401611bfe565b600060405180830381600087803b15801561152657600080fd5b505af115801561153a573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6001600160a01b03841660009081526003602052604081205460ff16806115805761157b8684866115cb565b945091505b6115958686846115908789611656565b611698565b505050505050565b600081836115be5760405162461bcd60e51b815260040161051391906117ab565b5060006112b28486611bdc565b600080821561164857306000908152600160205260409020546115ee908461174c565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061163f9087815260200190565b60405180910390a35b50829050815b935093915050565b600061137783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611281565b6001600160a01b0384166000908152600160205260409020546116bb9083611656565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546116ea908261174c565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061173e9085815260200190565b60405180910390a350505050565b6000806117598385611bb0565b9050838110156113775760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610513565b602081526000825180602084015260005b818110156117d957602081860181015160408684010152016117bc565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461180e57600080fd5b50565b803561181c816117f9565b919050565b6000806040838503121561183457600080fd5b823561183f816117f9565b946020939093013593505050565b60008060006060848603121561186257600080fd5b833561186d816117f9565b9250602084013561187d816117f9565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156118b657600080fd5b813567ffffffffffffffff8111156118cd57600080fd5b8201601f810184136118de57600080fd5b803567ffffffffffffffff8111156118f8576118f861188e565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156119255761192561188e565b60405291825260208184018101929081018784111561194357600080fd5b6020850194505b838510156119695761195b85611811565b81526020948501940161194a565b509695505050505050565b60006020828403121561198657600080fd5b8135611377816117f9565b600080604083850312156119a457600080fd5b82356119af816117f9565b915060208301356119bf816117f9565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b600184111561164e578085048111156119ff576119ff6119ca565b6001841615611a0d57908102905b60019390931c9280026119e4565b600082611a2a57506001610459565b81611a3757506000610459565b8160018114611a4d5760028114611a5757611a73565b6001915050610459565b60ff841115611a6857611a686119ca565b50506001821b610459565b5060208310610133831016604e8410600b8410161715611a96575081810a610459565b611aa360001984846119e0565b8060001904821115611ab757611ab76119ca565b029392505050565b600061137760ff841683611a1b565b8082028115828204841417610459576104596119ca565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b4257600080fd5b8151611377816117f9565b600080600060608486031215611b6257600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215611b8d57600080fd5b8151801515811461137757600080fd5b81810381811115610459576104596119ca565b80820180821115610459576104596119ca565b600060018201611bd557611bd56119ca565b5060010190565b600082611bf957634e487b7160e01b600052601260045260246000fd5b500490565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b81811015611c505783516001600160a01b0316835260209384019390920191600101611c29565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207eacce905696203896bfad7bf7d304e5286168d0055f66916c8cfee1d45d052364736f6c634300081a0033

Deployed Bytecode Sourcemap

3828:10294:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5702:83;;;;;;;;;;-1:-1:-1;5772:5:0;;;;;;;;;;;;-1:-1:-1;;;5772:5:0;;;;5702:83;;;;;;;:::i;:::-;;;;;;;;6571:186;;;;;;;;;;-1:-1:-1;6571:186:0;;;;;:::i;:::-;;:::i;:::-;;;1358:14:1;;1351:22;1333:41;;1321:2;1306:18;6571:186:0;1193:187:1;4953:55:0;;;;;;;;;;;;;;;;;;;1531:25:1;;;1519:2;1504:18;4953:55:0;1385:177:1;5973:95:0;;;;;;;;;;;;;:::i;6763:446::-;;;;;;;;;;-1:-1:-1;6763:446:0;;;;;:::i;:::-;;:::i;5884:83::-;;;;;;;;;;-1:-1:-1;5884:83:0;;4570:1;2222:36:1;;2210:2;2195:18;5884:83:0;2080:184:1;12801:168:0;;;;;;;;;;-1:-1:-1;12801:168:0;;;;;:::i;:::-;;:::i;:::-;;12975:86;;;;;;;;;;-1:-1:-1;12975:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;13046:7:0;13022:4;13046:7;;;:4;:7;;;;;;;;;12975:86;6074:119;;;;;;;;;;-1:-1:-1;6074:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6167:18:0;6140:7;6167:18;;;:9;:18;;;;;;;6074:119;2865:148;;;;;;;;;;;;;:::i;12365:162::-;;;;;;;;;;;;;:::i;4762:56::-;;;;;;;;;;;;;;;;13987:97;;;;;;;;;;;;;:::i;2655:79::-;;;;;;;;;;-1:-1:-1;2693:7:0;2720:6;2655:79;;-1:-1:-1;;;;;2720:6:0;;;3931:51:1;;3919:2;3904:18;2655:79:0;3785:203:1;4825:58:0;;;;;;;;;;;;;;;;5791:87;;;;;;;;;;-1:-1:-1;5863:7:0;;;;;;;;;;;;-1:-1:-1;;;5863:7:0;;;;5791:87;;6199:192;;;;;;;;;;-1:-1:-1;6199:192:0;;;;;:::i;:::-;;:::i;4890:56::-;;;;;;;;;;;;;;;;12631:164;;;;;;;;;;-1:-1:-1;12631:164:0;;;;;:::i;:::-;;:::i;6397:168::-;;;;;;;;;;-1:-1:-1;6397:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6530:18:0;;;6503:7;6530:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6397:168;13067:392;;;;;;;;;;;;;:::i;13465:516::-;;;;;;;;;;;;;:::i;6571:186::-;6671:4;6688:39;302:10;6711:7;6720:6;6688:8;:39::i;:::-;-1:-1:-1;6745:4:0;6571:186;;;;;:::o;5973:95::-;6026:7;4626:15;4570:1;4626:2;:15;:::i;:::-;4613:28;;:10;:28;:::i;:::-;6046:14;;5973:95;:::o;6763:446::-;6895:4;6912:36;6922:6;6930:9;6941:6;6912:9;:36::i;:::-;6959:220;6982:6;302:10;7030:138;7086:6;7030:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7030:19:0;;;;;;:11;:19;;;;;;;;302:10;7030:33;;;;;;;;;;:37;:138::i;:::-;6959:8;:220::i;:::-;-1:-1:-1;7197:4:0;6763:446;;;;;:::o;12801:168::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;;;;;;;;;12876:6:::1;12871:91;12892:6;:13;12888:1;:17;12871:91;;;12945:5;12927:4;:15;12932:6;12939:1;12932:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12927:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12927:15:0;:23;;-1:-1:-1;;12927:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12907:3:0::1;12871:91;;;;12801:168:::0;:::o;2865:148::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;2972:1:::1;2956:6:::0;;2935:40:::1;::::0;-1:-1:-1;;;;;2956:6:0;;::::1;::::0;2935:40:::1;::::0;2972:1;;2935:40:::1;3003:1;2986:19:::0;;-1:-1:-1;;;;;;2986:19:0::1;::::0;;2865:148::o;12365:162::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;4626:15:::1;4570:1;4626:2;:15;:::i;:::-;4613:28;::::0;:10:::1;:28;:::i;:::-;12419:12;:22:::0;4626:15:::1;4570:1;4626:2;:15;:::i;:::-;4613:28;::::0;:10:::1;:28;:::i;:::-;12452:14;:24:::0;12492:27:::1;4626:15;4570:1;4626:2;:15;:::i;:::-;4613:28;::::0;:10:::1;:28;:::i;:::-;12492:27;::::0;1531:25:1;;;1519:2;1504:18;12492:27:0::1;;;;;;;12365:162::o:0;13987:97::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;14041:35:::1;14054:21;14041:12;:35::i;:::-;13987:97::o:0;6199:192::-;6302:4;6319:42;302:10;6343:9;6354:6;6319:9;:42::i;12631:164::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;12705:6:::1;12700:88;12721:5;:12;12717:1;:16;12700:88;;;12772:4;12755;:14;12760:5;12766:1;12760:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12755:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12755:14:0;:21;;-1:-1:-1;;12755:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12735:3:0::1;12700:88;;13067:392:::0;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;13120:15:::1;:104:::0;;-1:-1:-1;;;;;;13120:104:0::1;13171:42;13120:104:::0;;::::1;::::0;;;13235:58:::1;::::0;13252:4:::1;::::0;4626:15:::1;4570:1;4626:2;:15;:::i;:::-;4613:28;::::0;:10:::1;:28;:::i;13235:58::-;13338:15;;;;;;;;;-1:-1:-1::0;;;;;13338:15:0::1;-1:-1:-1::0;;;;;13338:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13320:55:0::1;;13398:4;13418:15;;;;;;;;;-1:-1:-1::0;;;;;13418:15:0::1;-1:-1:-1::0;;;;;13418:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13320:131;::::0;-1:-1:-1;;;;;;13320:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7064:32:1;;;13320:131:0::1;::::0;::::1;7046:51:1::0;7133:32;;7113:18;;;7106:60;7019:18;;13320:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13304:13;:147:::0;;-1:-1:-1;;;;;;13304:147:0::1;-1:-1:-1::0;;;;;13304:147:0;;;::::1;::::0;;;::::1;::::0;;13067:392::o;13465:516::-;2780:6;;-1:-1:-1;;;;;2780:6:0;302:10;2780:22;2772:67;;;;-1:-1:-1;;;2772:67:0;;;;;;;:::i;:::-;13524:11:::1;::::0;-1:-1:-1;;;13524:11:0;::::1;;;13523:12;13515:48;;;::::0;-1:-1:-1;;;13515:48:0;;7379:2:1;13515:48:0::1;::::0;::::1;7361:21:1::0;7418:2;7398:18;;;7391:30;7457:25;7437:18;;;7430:53;7500:18;;13515:48:0::1;7177:347:1::0;13515:48:0::1;13574:15;::::0;-1:-1:-1;;;;;13574:15:0::1;:31;13613:21;13658:4;13678:24;13658:4:::0;-1:-1:-1;;;;;6167:18:0;6140:7;6167:18;;;:9;:18;;;;;;;6074:119;13678:24:::1;13717:1;13733::::0;13749:7:::1;2693::::0;2720:6;-1:-1:-1;;;;;2720:6:0;;2655:79;13749:7:::1;13574:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13574:223:0;;;-1:-1:-1;;;;;7850:32:1;;;13574:223:0::1;::::0;::::1;7832:51:1::0;7899:18;;;7892:34;;;;7942:18;;;7935:34;;;;7985:18;;;7978:34;8049:32;;;8028:19;;;8021:61;13771:15:0::1;8098:19:1::0;;;8091:35;7804:19;;13574:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13815:13:0::1;::::0;13846:15:::1;::::0;13808:71:::1;::::0;-1:-1:-1;;;13808:71:0;;-1:-1:-1;;;;;13846:15:0;;::::1;13808:71;::::0;::::1;8772:51:1::0;-1:-1:-1;;8839:18:1;;;8832:34;13815:13:0;::::1;::::0;-1:-1:-1;13808:29:0::1;::::0;8745:18:1;;13808:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13890:11:0::1;:18:::0;;-1:-1:-1;;;;13919:18:0;-1:-1:-1;;;13919:18:0;;;13961:12:::1;13948:10;:25:::0;13465:516::o;7215:335::-;-1:-1:-1;;;;;7308:19:0;;7300:68;;;;-1:-1:-1;;;7300:68:0;;9361:2:1;7300:68:0;;;9343:21:1;9400:2;9380:18;;;9373:30;9439:34;9419:18;;;9412:62;-1:-1:-1;;;9490:18:1;;;9483:34;9534:19;;7300:68:0;9159:400:1;7300:68:0;-1:-1:-1;;;;;7387:21:0;;7379:68;;;;-1:-1:-1;;;7379:68:0;;9766:2:1;7379:68:0;;;9748:21:1;9805:2;9785:18;;;9778:30;9844:34;9824:18;;;9817:62;-1:-1:-1;;;9895:18:1;;;9888:32;9937:19;;7379:68:0;9564:398:1;7379:68:0;-1:-1:-1;;;;;7458:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7510:32;;1531:25:1;;;7510:32:0;;1504:18:1;7510:32:0;;;;;;;;7215:335;;;:::o;7556:2974::-;-1:-1:-1;;;;;7649:18:0;;7641:68;;;;-1:-1:-1;;;7641:68:0;;10169:2:1;7641:68:0;;;10151:21:1;10208:2;10188:18;;;10181:30;10247:34;10227:18;;;10220:62;-1:-1:-1;;;10298:18:1;;;10291:35;10343:19;;7641:68:0;9967:401:1;7641:68:0;-1:-1:-1;;;;;7728:16:0;;7720:64;;;;-1:-1:-1;;;7720:64:0;;10575:2:1;7720:64:0;;;10557:21:1;10614:2;10594:18;;;10587:30;10653:34;10633:18;;;10626:62;-1:-1:-1;;;10704:18:1;;;10697:33;10747:19;;7720:64:0;10373:399:1;7720:64:0;7817:1;7803:11;:15;7795:69;;;;-1:-1:-1;;;7795:69:0;;10979:2:1;7795:69:0;;;10961:21:1;11018:2;10998:18;;;10991:30;11057:34;11037:18;;;11030:62;-1:-1:-1;;;11108:18:1;;;11101:39;11157:19;;7795:69:0;10777:405:1;7795:69:0;7880:11;;-1:-1:-1;;;7880:11:0;;;;7879:12;;:22;;-1:-1:-1;7895:6:0;;-1:-1:-1;;;7895:6:0;;;;7879:22;7875:232;;;-1:-1:-1;;;;;7936:15:0;;;;;;:9;:15;;;;;;:29;;7954:11;;7936:29;:::i;:::-;-1:-1:-1;;;;;7918:15:0;;;;;;;:9;:15;;;;;;:47;;;;7996:13;;;;;;;:27;;8012:11;;7996:27;:::i;:::-;-1:-1:-1;;;;;7980:13:0;;;;;;;:9;:13;;;;;;;:43;;;;8043:31;;;;;;;;;;8062:11;1531:25:1;;1519:2;1504:18;;1385:177;7875:232:0;8117:17;2720:6;;-1:-1:-1;;;;;8153:15:0;;;2720:6;;8153:15;;;;:32;;-1:-1:-1;2693:7:0;2720:6;-1:-1:-1;;;;;8172:13:0;;;2720:6;;8172:13;;8153:32;8149:2315;;;-1:-1:-1;;;;;8211:10:0;;;;;;:4;:10;;;;;;;;8210:11;:24;;;;-1:-1:-1;;;;;;8226:8:0;;;;;;:4;:8;;;;;;;;8225:9;8210:24;8202:33;;;;;;8262:213;8471:3;8262:186;8331:15;;8319:9;;:27;8318:111;;8415:14;;8318:111;;;8375:12;;8318:111;8262:11;;:33;:186::i;:::-;:208;;:213::i;:::-;8520:13;;8250:225;;-1:-1:-1;;;;;;8512:21:0;;;8520:13;;8512:21;:72;;;;-1:-1:-1;8568:15:0;;-1:-1:-1;;;;;8554:30:0;;;8568:15;;8554:30;;8512:72;:116;;;;-1:-1:-1;;;;;;8606:22:0;;;;;;:18;:22;;;;;;;;8605:23;8512:116;8490:568;;;8686:12;;8671:11;:27;;8663:65;;;;-1:-1:-1;;;8663:65:0;;11652:2:1;8663:65:0;;;11634:21:1;11691:2;11671:18;;;11664:30;11730:27;11710:18;;;11703:55;11775:18;;8663:65:0;11450:349:1;8663:65:0;8808:14;;8793:11;8777:13;8787:2;-1:-1:-1;;;;;6167:18:0;6140:7;6167:18;;;:9;:18;;;;;;;6074:119;8777:13;:27;;;;:::i;:::-;:45;;8747:145;;;;-1:-1:-1;;;8747:145:0;;12006:2:1;8747:145:0;;;11988:21:1;12045:2;12025:18;;;12018:30;12084:28;12064:18;;;12057:56;12130:18;;8747:145:0;11804:350:1;8747:145:0;8932:12;8915:10;;8928:1;8915:14;;;;:::i;:::-;:29;8911:102;;;11806:20;;11854:8;8969:24;;;;;;9031:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8490:568;9082:13;;-1:-1:-1;;;;;9076:19:0;;;9082:13;;9076:19;;;;:46;;-1:-1:-1;;;;;;9100:22:0;;;;;;:18;:22;;;;;;;;9099:23;9076:46;9072:232;;;9204:14;;9189:11;9173:13;9183:2;-1:-1:-1;;;;;6167:18:0;6140:7;6167:18;;;:9;:18;;;;;;;6074:119;9173:13;:27;;;;:::i;:::-;:45;;9143:145;;;;-1:-1:-1;;;9143:145:0;;12006:2:1;9143:145:0;;;11988:21:1;12045:2;12025:18;;;12018:30;12084:28;12064:18;;;12057:56;12130:18;;9143:145:0;11804:350:1;9143:145:0;9328:13;;-1:-1:-1;;;;;9322:19:0;;;9328:13;;9322:19;:44;;;;-1:-1:-1;;;;;;9345:21:0;;9361:4;9345:21;;9322:44;9318:337;;;9399:240;9635:3;9399:209;9476:16;;9464:9;;:28;9463:122;;9570:15;;9463:122;;;9525:13;;9399:11;;:37;:209::i;:240::-;9387:252;;9318:337;9718:4;9669:28;6167:18;;;:9;:18;;;;;;9762:6;;-1:-1:-1;;;9762:6:0;;;;9761:7;:47;;;;-1:-1:-1;9795:13:0;;-1:-1:-1;;;;;9789:19:0;;;9795:13;;9789:19;9761:47;:79;;;;-1:-1:-1;9829:11:0;;-1:-1:-1;;;9829:11:0;;;;9761:79;:130;;;;;9873:18;;9861:9;;:30;9761:130;:176;;;;-1:-1:-1;;;;;;9913:24:0;;;;;;:18;:24;;;;;;;;9912:25;9761:176;:220;;;;-1:-1:-1;;;;;;9959:22:0;;;;;;:18;:22;;;;;;;;9958:23;9761:220;9739:714;;;10042:17;;10019:20;:40;10016:210;;;10084:122;10127:56;10131:11;10144:38;10148:20;10170:11;;10144:3;:38::i;:::-;10127:3;:56::i;:::-;10084:16;:122::i;:::-;10291:21;10383:35;10396:21;10383:12;:35::i;:::-;9997:456;9739:714;8187:2277;8149:2315;10474:48;10489:4;10495:2;10499:9;10510:11;10474:14;:48::i;:::-;7630:2900;7556:2974;;;:::o;1469:224::-;1589:7;1625:12;1617:6;;;;1609:29;;;;-1:-1:-1;;;1609:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1649:9:0;1661:5;1665:1;1661;:5;:::i;:::-;1649:17;1469:224;-1:-1:-1;;;;;1469:224:0:o;12533:92::-;12590:10;;:27;;-1:-1:-1;;;;;12590:10:0;;;;:27;;;;;12610:6;;12590:10;:27;:10;:27;12610:6;12590:10;:27;;;;;;;;;;;;;;;;;;;1699:246;1757:7;1781:1;1786;1781:6;1777:47;;-1:-1:-1;1811:1:0;1804:8;;1777:47;1834:9;1846:5;1850:1;1846;:5;:::i;:::-;1834:17;-1:-1:-1;1879:1:0;1870:5;1874:1;1834:17;1870:5;:::i;:::-;:10;1862:56;;;;-1:-1:-1;;;1862:56:0;;12723:2:1;1862:56:0;;;12705:21:1;12762:2;12742:18;;;12735:30;12801:34;12781:18;;;12774:62;-1:-1:-1;;;12852:18:1;;;12845:31;12893:19;;1862:56:0;12521:397:1;1862:56:0;1936:1;1699:246;-1:-1:-1;;;1699:246:0:o;1951:132::-;2009:7;2036:39;2040:1;2043;2036:39;;;;;;;;;;;;;;;;;:3;:39::i;11562:107::-;11619:7;11651:1;11647;:5;11646:15;;11660:1;11646:15;;;-1:-1:-1;11656:1:0;11562:107;-1:-1:-1;11562:107:0:o;11876:483::-;5288:6;:13;;-1:-1:-1;;;;5288:13:0;-1:-1:-1;;;5288:13:0;;;11978:16:::1;::::0;;11992:1:::1;11978:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11978:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11978:16:0::1;11954:40;;12023:4;12005;12010:1;12005:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12005:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12049:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12049:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12005:7;;12049:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12039:4;12044:1;12039:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12039:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12114:15:::1;::::0;12082:62:::1;::::0;12099:4:::1;::::0;12114:15:::1;12132:11:::0;12082:8:::1;:62::i;:::-;12155:15;::::0;:196:::1;::::0;-1:-1:-1;;;12155:196:0;;-1:-1:-1;;;;;12155:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12236:11;;12155:15:::1;::::0;12278:4;;12305::::1;::::0;12325:15:::1;::::0;12155:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5324:6:0;:14;;-1:-1:-1;;;;5324:14:0;;;-1:-1:-1;;;;11876:483:0:o;10536:367::-;-1:-1:-1;;;;;10681:24:0;;10646:15;10681:24;;;:18;:24;;;;;;;;;10716:108;;10770:42;10783:4;10789:11;10802:9;10770:12;:42::i;:::-;10747:65;-1:-1:-1;10747:65:0;-1:-1:-1;10716:108:0;10834:61;10849:4;10855:2;10859:7;10868:26;:11;10884:9;10868:15;:26::i;:::-;10834:14;:61::i;:::-;10634:269;;10536:367;;;;:::o;2089:223::-;2209:7;2244:12;2237:5;2229:28;;;;-1:-1:-1;;;2229:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2268:9:0;2280:5;2284:1;2280;:5;:::i;11174:382::-;11304:7;;11337:13;;11333:174;;11412:4;11394:24;;;;:9;:24;;;;;;:39;;11423:9;11394:28;:39::i;:::-;11385:4;11367:24;;;;:9;:24;;;;;;;:66;;;;11453:42;;-1:-1:-1;;;;;11453:42:0;;;;;;;11485:9;1531:25:1;;1519:2;1504:18;;1385:177;11453:42:0;;;;;;;;11333:174;-1:-1:-1;11525:11:0;;-1:-1:-1;11538:9:0;11174:382;;;;;;;:::o;1327:136::-;1385:7;1412:43;1416:1;1419;1412:43;;;;;;;;;;;;;;;;;:3;:43::i;10909:259::-;-1:-1:-1;;;;;11033:15:0;;;;;;:9;:15;;;;;;:29;;11053:8;11033:19;:29::i;:::-;-1:-1:-1;;;;;11015:15:0;;;;;;;:9;:15;;;;;;:47;;;;11089:13;;;;;;;:27;;11107:8;11089:17;:27::i;:::-;-1:-1:-1;;;;;11073:13:0;;;;;;;:9;:13;;;;;;;:43;;;;11132:28;;;;;;;;;;11151:8;1531:25:1;;1519:2;1504:18;;1385:177;11132:28:0;;;;;;;;10909:259;;;;:::o;1142:179::-;1200:7;;1232:5;1236:1;1232;:5;:::i;:::-;1220:17;;1261:1;1256;:6;;1248:46;;;;-1:-1:-1;;;1248:46:0;;14089:2:1;1248:46:0;;;14071:21:1;14128:2;14108:18;;;14101:30;14167:29;14147:18;;;14140:57;14214:18;;1248:46:0;13887:351:1;14:527;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;263:1;273:140;287:6;284:1;281:13;273:140;;;398:2;382:14;;;378:23;;372:30;367:2;348:17;;;344:26;337:66;302:10;273:140;;;277:3;462:1;457:2;448:6;437:9;433:22;429:31;422:42;532:2;525;521:7;516:2;508:6;504:15;500:29;489:9;485:45;481:54;473:62;;;14:527;;;;:::o;546:131::-;-1:-1:-1;;;;;621:31:1;;611:42;;601:70;;667:1;664;657:12;601:70;546:131;:::o;682:134::-;750:20;;779:31;750:20;779:31;:::i;:::-;682:134;;;:::o;821:367::-;889:6;897;950:2;938:9;929:7;925:23;921:32;918:52;;;966:1;963;956:12;918:52;1005:9;992:23;1024:31;1049:5;1024:31;:::i;:::-;1074:5;1152:2;1137:18;;;;1124:32;;-1:-1:-1;;;821:367:1:o;1567:508::-;1644:6;1652;1660;1713:2;1701:9;1692:7;1688:23;1684:32;1681:52;;;1729:1;1726;1719:12;1681:52;1768:9;1755:23;1787:31;1812:5;1787:31;:::i;:::-;1837:5;-1:-1:-1;1894:2:1;1879:18;;1866:32;1907:33;1866:32;1907:33;:::i;:::-;1567:508;;1959:7;;-1:-1:-1;;;2039:2:1;2024:18;;;;2011:32;;1567:508::o;2269:127::-;2330:10;2325:3;2321:20;2318:1;2311:31;2361:4;2358:1;2351:15;2385:4;2382:1;2375:15;2401:1127;2485:6;2538:2;2526:9;2517:7;2513:23;2509:32;2506:52;;;2554:1;2551;2544:12;2506:52;2594:9;2581:23;2627:18;2619:6;2616:30;2613:50;;;2659:1;2656;2649:12;2613:50;2682:22;;2735:4;2727:13;;2723:27;-1:-1:-1;2713:55:1;;2764:1;2761;2754:12;2713:55;2804:2;2791:16;2830:18;2822:6;2819:30;2816:56;;;2852:18;;:::i;:::-;2898:6;2895:1;2891:14;2934:2;2928:9;2997:2;2993:7;2988:2;2984;2980:11;2976:25;2968:6;2964:38;3068:6;3056:10;3053:22;3032:18;3020:10;3017:34;3014:62;3011:88;;;3079:18;;:::i;:::-;3115:2;3108:22;3165;;;3215:2;3245:11;;;3241:20;;;3165:22;3203:15;;3273:19;;;3270:39;;;3305:1;3302;3295:12;3270:39;3337:2;3333;3329:11;3318:22;;3349:148;3365:6;3360:3;3357:15;3349:148;;;3431:23;3450:3;3431:23;:::i;:::-;3419:36;;3484:2;3382:12;;;;3475;3349:148;;;-1:-1:-1;3516:6:1;2401:1127;-1:-1:-1;;;;;;2401:1127:1:o;3533:247::-;3592:6;3645:2;3633:9;3624:7;3620:23;3616:32;3613:52;;;3661:1;3658;3651:12;3613:52;3700:9;3687:23;3719:31;3744:5;3719:31;:::i;3993:388::-;4061:6;4069;4122:2;4110:9;4101:7;4097:23;4093:32;4090:52;;;4138:1;4135;4128:12;4090:52;4177:9;4164:23;4196:31;4221:5;4196:31;:::i;:::-;4246:5;-1:-1:-1;4303:2:1;4288:18;;4275:32;4316:33;4275:32;4316:33;:::i;:::-;4368:7;4358:17;;;3993:388;;;;;:::o;4386:127::-;4447:10;4442:3;4438:20;4435:1;4428:31;4478:4;4475:1;4468:15;4502:4;4499:1;4492:15;4518:375;4606:1;4624:5;4638:249;4659:1;4649:8;4646:15;4638:249;;;4709:4;4704:3;4700:14;4694:4;4691:24;4688:50;;;4718:18;;:::i;:::-;4768:1;4758:8;4754:16;4751:49;;;4782:16;;;;4751:49;4865:1;4861:16;;;;;4821:15;;4638:249;;4898:902;4947:5;4977:8;4967:80;;-1:-1:-1;5018:1:1;5032:5;;4967:80;5066:4;5056:76;;-1:-1:-1;5103:1:1;5117:5;;5056:76;5148:4;5166:1;5161:59;;;;5234:1;5229:174;;;;5141:262;;5161:59;5191:1;5182:10;;5205:5;;;5229:174;5266:3;5256:8;5253:17;5250:43;;;5273:18;;:::i;:::-;-1:-1:-1;;5329:1:1;5315:16;;5388:5;;5141:262;;5487:2;5477:8;5474:16;5468:3;5462:4;5459:13;5455:36;5449:2;5439:8;5436:16;5431:2;5425:4;5422:12;5418:35;5415:77;5412:203;;;-1:-1:-1;5524:19:1;;;5600:5;;5412:203;5647:42;-1:-1:-1;;5672:8:1;5666:4;5647:42;:::i;:::-;5725:6;5721:1;5717:6;5713:19;5704:7;5701:32;5698:58;;;5736:18;;:::i;:::-;5774:20;;4898:902;-1:-1:-1;;;4898:902:1:o;5805:140::-;5863:5;5892:47;5933:4;5923:8;5919:19;5913:4;5892:47;:::i;5950:168::-;6023:9;;;6054;;6071:15;;;6065:22;;6051:37;6041:71;;6092:18;;:::i;6123:356::-;6325:2;6307:21;;;6344:18;;;6337:30;6403:34;6398:2;6383:18;;6376:62;6470:2;6455:18;;6123:356::o;6484:127::-;6545:10;6540:3;6536:20;6533:1;6526:31;6576:4;6573:1;6566:15;6600:4;6597:1;6590:15;6616:251;6686:6;6739:2;6727:9;6718:7;6714:23;6710:32;6707:52;;;6755:1;6752;6745:12;6707:52;6787:9;6781:16;6806:31;6831:5;6806:31;:::i;8137:456::-;8225:6;8233;8241;8294:2;8282:9;8273:7;8269:23;8265:32;8262:52;;;8310:1;8307;8300:12;8262:52;-1:-1:-1;;8355:16:1;;8461:2;8446:18;;8440:25;8557:2;8542:18;;;8536:25;8355:16;;8440:25;;-1:-1:-1;8536:25:1;8137:456;-1:-1:-1;8137:456:1:o;8877:277::-;8944:6;8997:2;8985:9;8976:7;8972:23;8968:32;8965:52;;;9013:1;9010;9003:12;8965:52;9045:9;9039:16;9098:5;9091:13;9084:21;9077:5;9074:32;9064:60;;9120:1;9117;9110:12;11187:128;11254:9;;;11275:11;;;11272:37;;;11289:18;;:::i;11320:125::-;11385:9;;;11406:10;;;11403:36;;;11419:18;;:::i;12159:135::-;12198:3;12219:17;;;12216:43;;12239:18;;:::i;:::-;-1:-1:-1;12286:1:1;12275:13;;12159:135::o;12299:217::-;12339:1;12365;12355:132;;12409:10;12404:3;12400:20;12397:1;12390:31;12444:4;12441:1;12434:15;12472:4;12469:1;12462:15;12355:132;-1:-1:-1;12501:9:1;;12299:217::o;12923:959::-;13185:4;13233:3;13222:9;13218:19;13264:6;13253:9;13246:25;13307:6;13302:2;13291:9;13287:18;13280:34;13350:3;13345:2;13334:9;13330:18;13323:31;13374:6;13409;13403:13;13440:6;13432;13425:22;13478:3;13467:9;13463:19;13456:26;;13517:2;13509:6;13505:15;13491:29;;13538:1;13548:195;13562:6;13559:1;13556:13;13548:195;;;13627:13;;-1:-1:-1;;;;;13623:39:1;13611:52;;13692:2;13718:15;;;;13683:12;;;;13659:1;13577:9;13548:195;;;-1:-1:-1;;;;;;;13799:32:1;;;;13794:2;13779:18;;13772:60;-1:-1:-1;;13863:3:1;13848:19;13841:35;13760:3;12923:959;-1:-1:-1;;;12923:959:1:o

Swarm Source

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