ETH Price: $2,888.10 (-10.36%)
Gas: 13 Gwei

Token

Korin Cat (KORIN)
 

Overview

Max Total Supply

1,000,000,000 KORIN

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.231983865 KORIN

Value
$0.00
0x15fc9af8a90cf16dc970a22a783a2030c2cde37d
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:
KORIN

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 2023-10-07
*/

// website: www.Korincat.xyz
// telegram: https://t.me/korincatcoin_erc20
// twitter: https://x.com/KorinCatcoin

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
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 transferOwnership(address newOwner) public virtual onlyOwner() {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract KORIN is Context, IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
    address payable private MarketingWallet;
    address payable private DevWallet;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal =  1e9 * 10**_decimals; 
    string private constant _name = "Korin Cat";
    string private constant _symbol = "KORIN";
    uint256 private SwapTokens = 1e6 * 10**_decimals; 
    uint256 private maxSwapTokens = 1e7 * 10**_decimals;
    uint256 public maxTxAmount = 2e7 * 10**_decimals; 
    uint256 private _launchBuyTax = 10;
    uint256 private _launchSellTax = 10;
    uint256 private buyTaxes = 1;
    uint256 private sellTaxes = 1;
    uint256 private _BuyTaxReduceAt = 10;
    uint256 private _SellTaxReduceAt = 10;
    uint256 private _Buys_In=0;
    uint256 private _Sells_Out=0;
   
    IUniswapV2Router02 public uniswapV2Router;
    address private uniswapV2Pair;
    bool public tradeEnable = false;
    bool private _SwapBackEnable = false;
    bool private inSwap = false;
    
    event ERC20TokensRecovered(uint256 indexed _amount);
    event TradingOpenUpdated();
    event ETHBalanceRecovered();
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
    if (block.chainid == 56){
     uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E); // PCS BSC Mainnet Router
     }
    else if(block.chainid == 1 || block.chainid == 5){
          uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Uniswap ETH Mainnet Router
      }
    else if(block.chainid == 42161){
           uniswapV2Router = IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506); // Sushi Arbitrum Mainnet Router
      }
    else  if (block.chainid == 97){
     uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // PCS BSC Testnet Router
     }
    else {
         revert("Wrong Chain Id");
        }
         MarketingWallet = payable(0x96fe21060417ef2Ac064Ce07C3F1E90D5D132B5e);
         DevWallet = payable (0xcfc3F89937957E2809a79Ac36feD585a4f4cE344);
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[MarketingWallet] = true;
        _isExcludedFromFee[DevWallet] = true;
        _isExcludedFromFee[deadWallet] = true;
       
       _balances[address(this)] = _tTotal;
       emit Transfer(address(0), address(this), _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 min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), currentAllowance - 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");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    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 feesum=0;

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradeEnable, "Trading not enabled");       
                feesum = amount * ((_Buys_In > _BuyTaxReduceAt)? buyTaxes : _launchBuyTax) / (100);
        }
        
         if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            feesum = 0;
        } 
         
          if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
             require(balanceOf(to) + amount <= maxTxAmount, "Exceeds the maxWalletSize.");
              _Buys_In++;
          } 
        
          if (from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
              _Sells_Out++;
          }
        
          if (to == uniswapV2Pair && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                  feesum = amount * ((_Sells_Out > _SellTaxReduceAt)? sellTaxes : _launchSellTax) / (100);
                
                } 
       
             uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && _SwapBackEnable && contractTokenBalance > SwapTokens && _Buys_In > 1) {
                 swapTokensForEth(min(amount, min(contractTokenBalance, maxSwapTokens)));
               uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        _balances[from] = _balances[from] - amount; 
        _balances[to] = _balances[to] + (amount - (feesum));
        emit Transfer(from, to, amount - (feesum));
         if(feesum > 0){
          _balances[address(this)] = _balances[address(this)] + (feesum);
          emit Transfer(from, address(this),feesum);
        }
    }
    
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        require(tokenAmount > 0, "amount must be greeter than 0");
        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 sendETHToFee(uint256 amount) private {
       require(amount > 0, "amount must be greeter than 0");         
        uint256 DevFeeAmount;
        if (balanceOf(address(this)) >= maxSwapTokens) {
            DevFeeAmount = amount * (1) / (2);
        } else {DevFeeAmount = amount * (1) / (2);
        }
        DevWallet.transfer(DevFeeAmount);
        MarketingWallet.transfer(amount - (DevFeeAmount));
    }
   
   function removeAllLimits() external onlyOwner {
       maxTxAmount = _tTotal;
       }
  
   function add() external onlyOwner() {
        require(!tradeEnable,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)) * 75 / 100, 0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        _SwapBackEnable = true;
         tradeEnable = true;
       emit TradingOpenUpdated();
    }
    
    receive() external payable {}
    
    function recoverERC20FromContract(address _tokenAddy, uint256 _amount) external onlyOwner {
        require(_amount > 0, "Amount should be greater than zero");
        require(_amount <= IERC20(_tokenAddy).balanceOf(address(this)), "Insufficient Amount");
        IERC20(_tokenAddy).transfer(DevWallet, _amount);
      emit ERC20TokensRecovered(_amount); 
    }
    
    function recoverETHfromContract() external {
        uint256 contractETHBalance = address(this).balance;
        require(contractETHBalance > 0, "Amount should be greater than zero");
        require(contractETHBalance <= address(this).balance, "Insufficient Amount");
        payable(address(DevWallet)).transfer(contractETHBalance);
      emit ETHBalanceRecovered();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ERC20TokensRecovered","type":"event"},{"anonymous":false,"inputs":[],"name":"ETHBalanceRecovered","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":[],"name":"TradingOpenUpdated","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":"add","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":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddy","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverERC20FromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverETHfromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeAllLimits","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":[],"name":"tradeEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000494565b6200002190620f4240620004ac565b600655620000326009600a62000494565b620000419062989680620004ac565b600755620000526009600a62000494565b62000062906301312d00620004ac565b600855600a60098190558080556001600b819055600c55600d819055600e556000600f8190556010556012805462ffffff60a01b19169055348015620000a757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350466038036200011e57601180546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e17905562000208565b46600114806200012e5750466005145b156200016057601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905562000208565b4661a4b1036200019657601180546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b4799750617905562000208565b46606103620001cb57601180546001600160a01b03191673d99d1c33f9fc3444f8101754abc46c52416550d117905562000208565b60405162461bcd60e51b815260206004820152600e60248201526d15dc9bdb99c810da185a5b88125960921b604482015260640160405180910390fd5b600480546001600160a01b03199081167396fe21060417ef2ac064ce07c3f1e90d5d132b5e179091556005805490911673cfc3f89937957e2809a79ac36fed585a4f4ce3441790556001600360006200025e3390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004548216845282842080548616821790556005549091168352908220805484168217905561dead9091527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054909216179055620003056009600a62000494565b6200031590633b9aca00620004ac565b30600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003586009600a62000494565b6200036890633b9aca00620004ac565b60405190815260200160405180910390a3620004c6565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003d6578160001904821115620003ba57620003ba6200037f565b80851615620003c857918102915b93841c93908002906200039a565b509250929050565b600082620003ef575060016200048e565b81620003fe575060006200048e565b8160018114620004175760028114620004225762000442565b60019150506200048e565b60ff8411156200043657620004366200037f565b50506001821b6200048e565b5060208310610133831016604e8410600b841016171562000467575081810a6200048e565b62000473838362000395565b80600019048211156200048a576200048a6200037f565b0290505b92915050565b6000620004a560ff841683620003de565b9392505050565b80820281158282048414176200048e576200048e6200037f565b611c3980620004d66000396000f3fe6080604052600436106101235760003560e01c806385141a77116100a0578063ce831ed511610064578063ce831ed514610354578063db05e5cb14610369578063dd62ed3e1461037e578063f2fde38b146103c4578063f87dc2c6146103e457600080fd5b806385141a77146102bc5780638c0b5e22146102d25780638da5cb5b146102e857806395d89b4114610306578063a9059cbb1461033457600080fd5b8063313ce567116100e7578063313ce5671461021e5780634f2be91f1461023a5780636dff2eeb1461025157806370a0823114610271578063715018a6146102a757600080fd5b806306fdde031461012f578063095ea7b3146101735780631694505e146101a357806318160ddd146101db57806323b872dd146101fe57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600981526812dbdc9a5b8810d85d60ba1b60208201525b60405161016a91906117d8565b60405180910390f35b34801561017f57600080fd5b5061019361018e36600461183b565b610405565b604051901515815260200161016a565b3480156101af57600080fd5b506011546101c3906001600160a01b031681565b6040516001600160a01b03909116815260200161016a565b3480156101e757600080fd5b506101f061041c565b60405190815260200161016a565b34801561020a57600080fd5b50610193610219366004611867565b61043d565b34801561022a57600080fd5b506040516009815260200161016a565b34801561024657600080fd5b5061024f6104f1565b005b34801561025d57600080fd5b5061024f61026c36600461183b565b6108dd565b34801561027d57600080fd5b506101f061028c3660046118a8565b6001600160a01b031660009081526001602052604090205490565b3480156102b357600080fd5b5061024f610a7b565b3480156102c857600080fd5b506101c361dead81565b3480156102de57600080fd5b506101f060085481565b3480156102f457600080fd5b506000546001600160a01b03166101c3565b34801561031257600080fd5b5060408051808201909152600581526425a7a924a760d91b602082015261015d565b34801561034057600080fd5b5061019361034f36600461183b565b610aef565b34801561036057600080fd5b5061024f610afc565b34801561037557600080fd5b5061024f610bc7565b34801561038a57600080fd5b506101f06103993660046118c5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103d057600080fd5b5061024f6103df3660046118a8565b610c10565b3480156103f057600080fd5b5060125461019390600160a01b900460ff1681565b6000610412338484610cab565b5060015b92915050565b600061042a6009600a6119f8565b61043890633b9aca00611a07565b905090565b6001600160a01b0383166000908152600260209081526040808320338452909152812054828110156104c75760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104d2858585610dcf565b6104e685336104e18685611a1e565b610cab565b506001949350505050565b6000546001600160a01b0316331461051b5760405162461bcd60e51b81526004016104be90611a31565b601254600160a01b900460ff16156105755760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104be565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190611a66565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106839190611a66565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190611a66565b601280546001600160a01b0319166001600160a01b03928316179055601154610734913091166107266009600a6119f8565b6104e190633b9aca00611a07565b6011546001600160a01b031663f305d71947306064610768826001600160a01b031660009081526001602052604090205490565b61077390604b611a07565b61077d9190611a83565b6000806107926000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107fa573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061081f9190611aa5565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089c9190611ad3565b506012805461ffff60a01b191661010160a01b1790556040517f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93590600090a1565b6000546001600160a01b031633146109075760405162461bcd60e51b81526004016104be90611a31565b600081116109275760405162461bcd60e51b81526004016104be90611af5565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f9190611b37565b8111156109d45760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016104be565b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610a27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4b9190611ad3565b5060405181907fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2290600090a25050565b6000546001600160a01b03163314610aa55760405162461bcd60e51b81526004016104be90611a31565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610412338484610dcf565b4780610b1a5760405162461bcd60e51b81526004016104be90611af5565b47811115610b605760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016104be565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610b9a573d6000803e3d6000fd5b506040517fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767590600090a150565b6000546001600160a01b03163314610bf15760405162461bcd60e51b81526004016104be90611a31565b610bfd6009600a6119f8565b610c0b90633b9aca00611a07565b600855565b6000546001600160a01b03163314610c3a5760405162461bcd60e51b81526004016104be90611a31565b6001600160a01b038116610c9f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104be565b610ca881611486565b50565b6001600160a01b038316610d0d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104be565b6001600160a01b038216610d6e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104be565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e335760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104be565b6001600160a01b038216610e955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104be565b60008111610ef75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104be565b6001600160a01b03831660009081526003602052604081205460ff16158015610f3957506001600160a01b03831660009081526003602052604090205460ff16155b15610fbd57601254600160a01b900460ff16610f8d5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016104be565b6064600d54600f5411610fa257600954610fa6565b600b545b610fb09084611a07565b610fba9190611a83565b90505b6001600160a01b03841660009081526003602052604090205460ff1680610ffc57506001600160a01b03831660009081526003602052604090205460ff165b15611005575060005b6012546001600160a01b03858116911614801561103057506011546001600160a01b03848116911614155b801561105557506001600160a01b03831660009081526003602052604090205460ff16155b15611139576008548211156110a85760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104be565b600854826110cb856001600160a01b031660009081526001602052604090205490565b6110d59190611b50565b11156111235760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104be565b600f805490600061113383611b63565b91905055505b6012546001600160a01b0385811691161480159061117057506001600160a01b03841660009081526003602052604090205460ff16155b801561119557506001600160a01b03831660009081526003602052604090205460ff16155b156111fe576008548211156111e85760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104be565b601080549060006111f883611b63565b91905055505b6012546001600160a01b03848116911614801561122457506001600160a01b0384163014155b801561124957506001600160a01b03841660009081526003602052604090205460ff16155b801561126e57506001600160a01b03831660009081526003602052604090205460ff16155b156112a3576064600e546010541161128857600a5461128c565b600c545b6112969084611a07565b6112a09190611a83565b90505b30600090815260016020526040902054601254600160b01b900460ff161580156112db57506012546001600160a01b03868116911614155b80156112f05750601254600160a81b900460ff165b80156112fd575060065481115b801561130b57506001600f54115b1561133f5761132d61132884611323846007546114d6565b6114d6565b6114ee565b47801561133d5761133d476116b5565b505b6001600160a01b038516600090815260016020526040902054611363908490611a1e565b6001600160a01b0386166000908152600160205260409020556113868284611a1e565b6001600160a01b0385166000908152600160205260409020546113a99190611b50565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113f38587611a1e565b60405190815260200160405180910390a3811561147f5730600090815260016020526040902054611425908390611b50565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114769086815260200190565b60405180910390a35b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183116114e557826114e7565b815b9392505050565b6012805460ff60b01b1916600160b01b1790558061154e5760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e203000000060448201526064016104be565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061158357611583611b7c565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116009190611a66565b8160018151811061161357611613611b7c565b6001600160a01b0392831660209182029290920101526011546116399130911684610cab565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790611672908590600090869030904290600401611b92565b600060405180830381600087803b15801561168c57600080fd5b505af11580156116a0573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b600081116117055760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e203000000060448201526064016104be565b6007543060009081526001602052604081205490911161173d57600261172c836001611a07565b6117369190611a83565b9050611757565b600261174a836001611a07565b6117549190611a83565b90505b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611791573d6000803e3d6000fd5b506004546001600160a01b03166108fc6117ab8385611a1e565b6040518115909202916000818181858888f193505050501580156117d3573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b81811015611805578581018301518582016040015282016117e9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ca857600080fd5b6000806040838503121561184e57600080fd5b823561185981611826565b946020939093013593505050565b60008060006060848603121561187c57600080fd5b833561188781611826565b9250602084013561189781611826565b929592945050506040919091013590565b6000602082840312156118ba57600080fd5b81356114e781611826565b600080604083850312156118d857600080fd5b82356118e381611826565b915060208301356118f381611826565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561194f578160001904821115611935576119356118fe565b8085161561194257918102915b93841c9390800290611919565b509250929050565b60008261196657506001610416565b8161197357506000610416565b81600181146119895760028114611993576119af565b6001915050610416565b60ff8411156119a4576119a46118fe565b50506001821b610416565b5060208310610133831016604e8410600b84101617156119d2575081810a610416565b6119dc8383611914565b80600019048211156119f0576119f06118fe565b029392505050565b60006114e760ff841683611957565b8082028115828204841417610416576104166118fe565b81810381811115610416576104166118fe565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611a7857600080fd5b81516114e781611826565b600082611aa057634e487b7160e01b600052601260045260246000fd5b500490565b600080600060608486031215611aba57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611ae557600080fd5b815180151581146114e757600080fd5b60208082526022908201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604082015261726f60f01b606082015260800190565b600060208284031215611b4957600080fd5b5051919050565b80820180821115610416576104166118fe565b600060018201611b7557611b756118fe565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611be25784516001600160a01b031683529383019391830191600101611bbd565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122064b7c27479014c40d53f2399462582db07922213a77398b5771895209dcb400764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806385141a77116100a0578063ce831ed511610064578063ce831ed514610354578063db05e5cb14610369578063dd62ed3e1461037e578063f2fde38b146103c4578063f87dc2c6146103e457600080fd5b806385141a77146102bc5780638c0b5e22146102d25780638da5cb5b146102e857806395d89b4114610306578063a9059cbb1461033457600080fd5b8063313ce567116100e7578063313ce5671461021e5780634f2be91f1461023a5780636dff2eeb1461025157806370a0823114610271578063715018a6146102a757600080fd5b806306fdde031461012f578063095ea7b3146101735780631694505e146101a357806318160ddd146101db57806323b872dd146101fe57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600981526812dbdc9a5b8810d85d60ba1b60208201525b60405161016a91906117d8565b60405180910390f35b34801561017f57600080fd5b5061019361018e36600461183b565b610405565b604051901515815260200161016a565b3480156101af57600080fd5b506011546101c3906001600160a01b031681565b6040516001600160a01b03909116815260200161016a565b3480156101e757600080fd5b506101f061041c565b60405190815260200161016a565b34801561020a57600080fd5b50610193610219366004611867565b61043d565b34801561022a57600080fd5b506040516009815260200161016a565b34801561024657600080fd5b5061024f6104f1565b005b34801561025d57600080fd5b5061024f61026c36600461183b565b6108dd565b34801561027d57600080fd5b506101f061028c3660046118a8565b6001600160a01b031660009081526001602052604090205490565b3480156102b357600080fd5b5061024f610a7b565b3480156102c857600080fd5b506101c361dead81565b3480156102de57600080fd5b506101f060085481565b3480156102f457600080fd5b506000546001600160a01b03166101c3565b34801561031257600080fd5b5060408051808201909152600581526425a7a924a760d91b602082015261015d565b34801561034057600080fd5b5061019361034f36600461183b565b610aef565b34801561036057600080fd5b5061024f610afc565b34801561037557600080fd5b5061024f610bc7565b34801561038a57600080fd5b506101f06103993660046118c5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103d057600080fd5b5061024f6103df3660046118a8565b610c10565b3480156103f057600080fd5b5060125461019390600160a01b900460ff1681565b6000610412338484610cab565b5060015b92915050565b600061042a6009600a6119f8565b61043890633b9aca00611a07565b905090565b6001600160a01b0383166000908152600260209081526040808320338452909152812054828110156104c75760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104d2858585610dcf565b6104e685336104e18685611a1e565b610cab565b506001949350505050565b6000546001600160a01b0316331461051b5760405162461bcd60e51b81526004016104be90611a31565b601254600160a01b900460ff16156105755760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104be565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156105d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fd9190611a66565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106839190611a66565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f49190611a66565b601280546001600160a01b0319166001600160a01b03928316179055601154610734913091166107266009600a6119f8565b6104e190633b9aca00611a07565b6011546001600160a01b031663f305d71947306064610768826001600160a01b031660009081526001602052604090205490565b61077390604b611a07565b61077d9190611a83565b6000806107926000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107fa573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061081f9190611aa5565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089c9190611ad3565b506012805461ffff60a01b191661010160a01b1790556040517f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93590600090a1565b6000546001600160a01b031633146109075760405162461bcd60e51b81526004016104be90611a31565b600081116109275760405162461bcd60e51b81526004016104be90611af5565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f9190611b37565b8111156109d45760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016104be565b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af1158015610a27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4b9190611ad3565b5060405181907fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2290600090a25050565b6000546001600160a01b03163314610aa55760405162461bcd60e51b81526004016104be90611a31565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610412338484610dcf565b4780610b1a5760405162461bcd60e51b81526004016104be90611af5565b47811115610b605760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016104be565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610b9a573d6000803e3d6000fd5b506040517fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767590600090a150565b6000546001600160a01b03163314610bf15760405162461bcd60e51b81526004016104be90611a31565b610bfd6009600a6119f8565b610c0b90633b9aca00611a07565b600855565b6000546001600160a01b03163314610c3a5760405162461bcd60e51b81526004016104be90611a31565b6001600160a01b038116610c9f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104be565b610ca881611486565b50565b6001600160a01b038316610d0d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104be565b6001600160a01b038216610d6e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104be565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e335760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104be565b6001600160a01b038216610e955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104be565b60008111610ef75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104be565b6001600160a01b03831660009081526003602052604081205460ff16158015610f3957506001600160a01b03831660009081526003602052604090205460ff16155b15610fbd57601254600160a01b900460ff16610f8d5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016104be565b6064600d54600f5411610fa257600954610fa6565b600b545b610fb09084611a07565b610fba9190611a83565b90505b6001600160a01b03841660009081526003602052604090205460ff1680610ffc57506001600160a01b03831660009081526003602052604090205460ff165b15611005575060005b6012546001600160a01b03858116911614801561103057506011546001600160a01b03848116911614155b801561105557506001600160a01b03831660009081526003602052604090205460ff16155b15611139576008548211156110a85760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104be565b600854826110cb856001600160a01b031660009081526001602052604090205490565b6110d59190611b50565b11156111235760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104be565b600f805490600061113383611b63565b91905055505b6012546001600160a01b0385811691161480159061117057506001600160a01b03841660009081526003602052604090205460ff16155b801561119557506001600160a01b03831660009081526003602052604090205460ff16155b156111fe576008548211156111e85760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104be565b601080549060006111f883611b63565b91905055505b6012546001600160a01b03848116911614801561122457506001600160a01b0384163014155b801561124957506001600160a01b03841660009081526003602052604090205460ff16155b801561126e57506001600160a01b03831660009081526003602052604090205460ff16155b156112a3576064600e546010541161128857600a5461128c565b600c545b6112969084611a07565b6112a09190611a83565b90505b30600090815260016020526040902054601254600160b01b900460ff161580156112db57506012546001600160a01b03868116911614155b80156112f05750601254600160a81b900460ff165b80156112fd575060065481115b801561130b57506001600f54115b1561133f5761132d61132884611323846007546114d6565b6114d6565b6114ee565b47801561133d5761133d476116b5565b505b6001600160a01b038516600090815260016020526040902054611363908490611a1e565b6001600160a01b0386166000908152600160205260409020556113868284611a1e565b6001600160a01b0385166000908152600160205260409020546113a99190611b50565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113f38587611a1e565b60405190815260200160405180910390a3811561147f5730600090815260016020526040902054611425908390611b50565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114769086815260200190565b60405180910390a35b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183116114e557826114e7565b815b9392505050565b6012805460ff60b01b1916600160b01b1790558061154e5760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e203000000060448201526064016104be565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061158357611583611b7c565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116009190611a66565b8160018151811061161357611613611b7c565b6001600160a01b0392831660209182029290920101526011546116399130911684610cab565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790611672908590600090869030904290600401611b92565b600060405180830381600087803b15801561168c57600080fd5b505af11580156116a0573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b600081116117055760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e203000000060448201526064016104be565b6007543060009081526001602052604081205490911161173d57600261172c836001611a07565b6117369190611a83565b9050611757565b600261174a836001611a07565b6117549190611a83565b90505b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611791573d6000803e3d6000fd5b506004546001600160a01b03166108fc6117ab8385611a1e565b6040518115909202916000818181858888f193505050501580156117d3573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b81811015611805578581018301518582016040015282016117e9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ca857600080fd5b6000806040838503121561184e57600080fd5b823561185981611826565b946020939093013593505050565b60008060006060848603121561187c57600080fd5b833561188781611826565b9250602084013561189781611826565b929592945050506040919091013590565b6000602082840312156118ba57600080fd5b81356114e781611826565b600080604083850312156118d857600080fd5b82356118e381611826565b915060208301356118f381611826565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561194f578160001904821115611935576119356118fe565b8085161561194257918102915b93841c9390800290611919565b509250929050565b60008261196657506001610416565b8161197357506000610416565b81600181146119895760028114611993576119af565b6001915050610416565b60ff8411156119a4576119a46118fe565b50506001821b610416565b5060208310610133831016604e8410600b84101617156119d2575081810a610416565b6119dc8383611914565b80600019048211156119f0576119f06118fe565b029392505050565b60006114e760ff841683611957565b8082028115828204841417610416576104166118fe565b81810381811115610416576104166118fe565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611a7857600080fd5b81516114e781611826565b600082611aa057634e487b7160e01b600052601260045260246000fd5b500490565b600080600060608486031215611aba57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611ae557600080fd5b815180151581146114e757600080fd5b60208082526022908201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604082015261726f60f01b606082015260800190565b600060208284031215611b4957600080fd5b5051919050565b80820180821115610416576104166118fe565b600060018201611b7557611b756118fe565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611be25784516001600160a01b031683529383019391830191600101611bbd565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122064b7c27479014c40d53f2399462582db07922213a77398b5771895209dcb400764736f6c63430008130033

Deployed Bytecode Sourcemap

2834:9576:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5646:83;;;;;;;;;;-1:-1:-1;5716:5:0;;;;;;;;;;;;-1:-1:-1;;;5716:5:0;;;;5646:83;;;;;;;:::i;:::-;;;;;;;;6577:161;;;;;;;;;;-1:-1:-1;6577:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6577:161:0;1023:187:1;3934:41:0;;;;;;;;;;-1:-1:-1;3934:41:0;;;;-1:-1:-1;;;;;3934:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;3934:41:0;1215:229:1;5917:95:0;;;;;;;;;;;;;:::i;:::-;;;1595:25:1;;;1583:2;1568:18;5917:95:0;1449:177:1;6744:410:0;;;;;;;;;;-1:-1:-1;6744:410:0;;;;;:::i;:::-;;:::i;5828:83::-;;;;;;;;;;-1:-1:-1;5828:83:0;;3281:1;2234:36:1;;2222:2;2207:18;5828:83:0;2092:184:1;10881:715:0;;;;;;;;;;;;;:::i;:::-;;11649:366;;;;;;;;;;-1:-1:-1;11649:366:0;;;;;:::i;:::-;;:::i;6018:119::-;;;;;;;;;;-1:-1:-1;6018:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6111:18:0;6084:7;6111:18;;;:9;:18;;;;;;;6018:119;1919:148;;;;;;;;;;;;;:::i;3072:79::-;;;;;;;;;;;;3109:42;3072:79;;3564:48;;;;;;;;;;;;;;;;1303:79;;;;;;;;;;-1:-1:-1;1341:7:0;1368:6;-1:-1:-1;;;;;1368:6:0;1303:79;;5735:87;;;;;;;;;;-1:-1:-1;5807:7:0;;;;;;;;;;;;-1:-1:-1;;;5807:7:0;;;;5735:87;;6255:167;;;;;;;;;;-1:-1:-1;6255:167:0;;;;;:::i;:::-;;:::i;12027:380::-;;;;;;;;;;;;;:::i;10784:88::-;;;;;;;;;;;;;:::i;6428:143::-;;;;;;;;;;-1:-1:-1;6428:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6536:18:0;;;6509:7;6536:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6428:143;1513:203;;;;;;;;;;-1:-1:-1;1513:203:0;;;;;:::i;:::-;;:::i;4018:31::-;;;;;;;;;;-1:-1:-1;4018:31:0;;;;-1:-1:-1;;;4018:31:0;;;;;;6577:161;6652:4;6669:39;289:10;6692:7;6701:6;6669:8;:39::i;:::-;-1:-1:-1;6726:4:0;6577:161;;;;;:::o;5917:95::-;5970:7;3331:13;3281:1;3331:2;:13;:::i;:::-;3325:19;;:3;:19;:::i;:::-;5990:14;;5917:95;:::o;6744:410::-;-1:-1:-1;;;;;6886:19:0;;6842:4;6886:19;;;:11;:19;;;;;;;;289:10;6886:33;;;;;;;;6938:26;;;;6930:79;;;;-1:-1:-1;;;6930:79:0;;5024:2:1;6930:79:0;;;5006:21:1;5063:2;5043:18;;;5036:30;5102:34;5082:18;;;5075:62;-1:-1:-1;;;5153:18:1;;;5146:38;5201:19;;6930:79:0;;;;;;;;;7020:36;7030:6;7038:9;7049:6;7020:9;:36::i;:::-;7067:57;7076:6;289:10;7098:25;7117:6;7098:16;:25;:::i;:::-;7067:8;:57::i;:::-;-1:-1:-1;7142:4:0;;6744:410;-1:-1:-1;;;;6744:410:0:o;10881:715::-;1428:6;;-1:-1:-1;;;;;1428:6:0;289:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;10937:11:::1;::::0;-1:-1:-1;;;10937:11:0;::::1;;;10936:12;10928:47;;;::::0;-1:-1:-1;;;10928:47:0;;5927:2:1;10928:47:0::1;::::0;::::1;5909:21:1::0;5966:2;5946:18;;;5939:30;6005:25;5985:18;;;5978:53;6048:18;;10928:47:0::1;5725:347:1::0;10928:47:0::1;10986:15;:80:::0;;-1:-1:-1;;;;;;10986:80:0::1;11023:42;10986:80:::0;;::::1;::::0;;;11111:25:::1;::::0;;-1:-1:-1;;;11111:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;11023:42;11111:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11093:55:0::1;;11157:4;11164:15;;;;;;;;;-1:-1:-1::0;;;;;11164:15:0::1;-1:-1:-1::0;;;;;11164:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11093:94;::::0;-1:-1:-1;;;;;;11093:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6563:15:1;;;11093:94:0::1;::::0;::::1;6545:34:1::0;6615:15;;6595:18;;;6588:43;6480:18;;11093:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11077:13;:110:::0;;-1:-1:-1;;;;;;11077:110:0::1;-1:-1:-1::0;;;;;11077:110:0;;::::1;;::::0;;11230:15:::1;::::0;11198:58:::1;::::0;11215:4:::1;::::0;11230:15:::1;3331:13;3281:1;3331:2;:13;:::i;:::-;3325:19;::::0;:3:::1;:19;:::i;11198:58::-;11267:15;::::0;-1:-1:-1;;;;;11267:15:0::1;:31;11306:21;11337:4;11375:3;11343:24;11337:4:::0;-1:-1:-1;;;;;6111:18:0;6084:7;6111:18;;;:9;:18;;;;;;;6018:119;11343:24:::1;:29;::::0;11370:2:::1;11343:29;:::i;:::-;:35;;;;:::i;:::-;11380:1;11382::::0;11384:7:::1;1341::::0;1368:6;-1:-1:-1;;;;;1368:6:0;;1303:79;11384:7:::1;11267:141;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11267:141:0;;;-1:-1:-1;;;;;7223:15:1;;;11267:141:0::1;::::0;::::1;7205:34:1::0;7255:18;;;7248:34;;;;7298:18;;;7291:34;;;;7341:18;;;7334:34;7405:15;;;7384:19;;;7377:44;11392:15:0::1;7437:19:1::0;;;7430:35;7139:19;;11267:141:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11426:13:0::1;::::0;11457:15:::1;::::0;11419:71:::1;::::0;-1:-1:-1;;;11419:71:0;;-1:-1:-1;;;;;11457:15:0;;::::1;11419:71;::::0;::::1;7961:51:1::0;-1:-1:-1;;8028:18:1;;;8021:34;11426:13:0;::::1;::::0;-1:-1:-1;11419:29:0::1;::::0;7934:18:1;;11419:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11501:15:0::1;:22:::0;;-1:-1:-1;;;;11535:18:0;-1:-1:-1;;;11535:18:0;;;11568:20:::1;::::0;::::1;::::0;-1:-1:-1;;11568:20:0::1;10881:715::o:0;11649:366::-;1428:6;;-1:-1:-1;;;;;1428:6:0;289:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;11768:1:::1;11758:7;:11;11750:58;;;;-1:-1:-1::0;;;11750:58:0::1;;;;;;;:::i;:::-;11838:43;::::0;-1:-1:-1;;;11838:43:0;;11875:4:::1;11838:43;::::0;::::1;1387:51:1::0;-1:-1:-1;;;;;11838:28:0;::::1;::::0;::::1;::::0;1360:18:1;;11838:43:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11827:7;:54;;11819:86;;;::::0;-1:-1:-1;;;11819:86:0;;9142:2:1;11819:86:0::1;::::0;::::1;9124:21:1::0;9181:2;9161:18;;;9154:30;-1:-1:-1;;;9200:18:1;;;9193:49;9259:18;;11819:86:0::1;8940:343:1::0;11819:86:0::1;11944:9;::::0;11916:47:::1;::::0;-1:-1:-1;;;11916:47:0;;-1:-1:-1;;;;;11944:9:0;;::::1;11916:47;::::0;::::1;7961:51:1::0;8028:18;;;8021:34;;;11916:27:0;;::::1;::::0;::::1;::::0;7934:18:1;;11916:47:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11977:29:0::1;::::0;11998:7;;11977:29:::1;::::0;;;::::1;11649:366:::0;;:::o;1919:148::-;1428:6;;-1:-1:-1;;;;;1428:6:0;289:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;2026:1:::1;2010:6:::0;;1989:40:::1;::::0;-1:-1:-1;;;;;2010:6:0;;::::1;::::0;1989:40:::1;::::0;2026:1;;1989:40:::1;2057:1;2040:19:::0;;-1:-1:-1;;;;;;2040:19:0::1;::::0;;1919:148::o;6255:167::-;6333:4;6350:42;289:10;6374:9;6385:6;6350:9;:42::i;12027:380::-;12110:21;12150:22;12142:69;;;;-1:-1:-1;;;12142:69:0;;;;;;;:::i;:::-;12252:21;12230:18;:43;;12222:75;;;;-1:-1:-1;;;12222:75:0;;9142:2:1;12222:75:0;;;9124:21:1;9181:2;9161:18;;;9154:30;-1:-1:-1;;;9200:18:1;;;9193:49;9259:18;;12222:75:0;8940:343:1;12222:75:0;12324:9;;12308:56;;-1:-1:-1;;;;;12324:9:0;;;;12308:56;;;;;12345:18;;12324:9;12308:56;12324:9;12308:56;12345:18;12324:9;12308:56;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12378:21:0;;;;;;;12070:337;12027:380::o;10784:88::-;1428:6;;-1:-1:-1;;;;;1428:6:0;289:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;3331:13:::1;3281:1;3331:2;:13;:::i;:::-;3325:19;::::0;:3:::1;:19;:::i;:::-;10840:11;:21:::0;10784:88::o;1513:203::-;1428:6;;-1:-1:-1;;;;;1428:6:0;289:10;1428:22;1420:67;;;;-1:-1:-1;;;1420:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1604:22:0;::::1;1596:73;;;::::0;-1:-1:-1;;;1596:73:0;;9777:2:1;1596:73:0::1;::::0;::::1;9759:21:1::0;9816:2;9796:18;;;9789:30;9855:34;9835:18;;;9828:62;-1:-1:-1;;;9906:18:1;;;9899:36;9952:19;;1596:73:0::1;9575:402:1::0;1596:73:0::1;1680:28;1699:8;1680:18;:28::i;:::-;1513:203:::0;:::o;7160:335::-;-1:-1:-1;;;;;7253:19:0;;7245:68;;;;-1:-1:-1;;;7245:68:0;;10184:2:1;7245:68:0;;;10166:21:1;10223:2;10203:18;;;10196:30;10262:34;10242:18;;;10235:62;-1:-1:-1;;;10313:18:1;;;10306:34;10357:19;;7245:68:0;9982:400:1;7245:68:0;-1:-1:-1;;;;;7332:21:0;;7324:68;;;;-1:-1:-1;;;7324:68:0;;10589:2:1;7324:68:0;;;10571:21:1;10628:2;10608:18;;;10601:30;10667:34;10647:18;;;10640:62;-1:-1:-1;;;10718:18:1;;;10711:32;10760:19;;7324:68:0;10387:398:1;7324:68:0;-1:-1:-1;;;;;7403:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7455:32;;1595:25:1;;;7455:32:0;;1568:18:1;7455:32:0;;;;;;;7160:335;;;:::o;7501:2351::-;-1:-1:-1;;;;;7589:18:0;;7581:68;;;;-1:-1:-1;;;7581:68:0;;10992:2:1;7581:68:0;;;10974:21:1;11031:2;11011:18;;;11004:30;11070:34;11050:18;;;11043:62;-1:-1:-1;;;11121:18:1;;;11114:35;11166:19;;7581:68:0;10790:401:1;7581:68:0;-1:-1:-1;;;;;7668:16:0;;7660:64;;;;-1:-1:-1;;;7660:64:0;;11398:2:1;7660:64:0;;;11380:21:1;11437:2;11417:18;;;11410:30;11476:34;11456:18;;;11449:62;-1:-1:-1;;;11527:18:1;;;11520:33;11570:19;;7660:64:0;11196:399:1;7660:64:0;7752:1;7743:6;:10;7735:64;;;;-1:-1:-1;;;7735:64:0;;11802:2:1;7735:64:0;;;11784:21:1;11841:2;11821:18;;;11814:30;11880:34;11860:18;;;11853:62;-1:-1:-1;;;11931:18:1;;;11924:39;11980:19;;7735:64:0;11600:405:1;7735:64:0;-1:-1:-1;;;;;7844:24:0;;7810:14;7844:24;;;:18;:24;;;;;;;;7843:25;:52;;;;-1:-1:-1;;;;;;7873:22:0;;;;;;:18;:22;;;;;;;;7872:23;7843:52;7839:236;;;7920:11;;-1:-1:-1;;;7920:11:0;;;;7912:43;;;;-1:-1:-1;;;7912:43:0;;12212:2:1;7912:43:0;;;12194:21:1;12251:2;12231:18;;;12224:30;-1:-1:-1;;;12270:18:1;;;12263:49;12329:18;;7912:43:0;12010:343:1;7912:43:0;8059:3;8012:15;;8001:8;;:26;8000:54;;8041:13;;8000:54;;;8030:8;;8000:54;7990:65;;:6;:65;:::i;:::-;:73;;;;:::i;:::-;7981:82;;7839:236;-1:-1:-1;;;;;8100:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8128:22:0;;;;;;:18;:22;;;;;;;;8100:50;8096:93;;;-1:-1:-1;8176:1:0;8096:93;8225:13;;-1:-1:-1;;;;;8217:21:0;;;8225:13;;8217:21;:55;;;;-1:-1:-1;8256:15:0;;-1:-1:-1;;;;;8242:30:0;;;8256:15;;8242:30;;8217:55;:82;;;;-1:-1:-1;;;;;;8277:22:0;;;;;;:18;:22;;;;;;;;8276:23;8217:82;8213:296;;;8335:11;;8325:6;:21;;8317:59;;;;-1:-1:-1;;;8317:59:0;;12560:2:1;8317:59:0;;;12542:21:1;12599:2;12579:18;;;12572:30;-1:-1:-1;;;12618:18:1;;;12611:55;12683:18;;8317:59:0;12358:349:1;8317:59:0;8426:11;;8416:6;8400:13;8410:2;-1:-1:-1;;;;;6111:18:0;6084:7;6111:18;;;:9;:18;;;;;;;6018:119;8400:13;:22;;;;:::i;:::-;:37;;8392:76;;;;-1:-1:-1;;;8392:76:0;;13044:2:1;8392:76:0;;;13026:21:1;13083:2;13063:18;;;13056:30;13122:28;13102:18;;;13095:56;13168:18;;8392:76:0;12842:350:1;8392:76:0;8485:8;:10;;;:8;:10;;;:::i;:::-;;;;;;8213:296;8544:13;;-1:-1:-1;;;;;8536:21:0;;;8544:13;;8536:21;;;;:50;;-1:-1:-1;;;;;;8562:24:0;;;;;;:18;:24;;;;;;;;8561:25;8536:50;:77;;;;-1:-1:-1;;;;;;8591:22:0;;;;;;:18;:22;;;;;;;;8590:23;8536:77;8532:201;;;8649:11;;8639:6;:21;;8631:59;;;;-1:-1:-1;;;8631:59:0;;12560:2:1;8631:59:0;;;12542:21:1;12599:2;12579:18;;;12572:30;-1:-1:-1;;;12618:18:1;;;12611:55;12683:18;;8631:59:0;12358:349:1;8631:59:0;8707:10;:12;;;:10;:12;;;:::i;:::-;;;;;;8532:201;8765:13;;-1:-1:-1;;;;;8759:19:0;;;8765:13;;8759:19;:44;;;;-1:-1:-1;;;;;;8782:21:0;;8798:4;8782:21;;8759:44;:73;;;;-1:-1:-1;;;;;;8808:24:0;;;;;;:18;:24;;;;;;;;8807:25;8759:73;:100;;;;-1:-1:-1;;;;;;8837:22:0;;;;;;:18;:22;;;;;;;;8836:23;8759:100;8755:252;;;8965:3;8915:16;;8902:10;;:29;8901:59;;8946:14;;8901:59;;;8934:9;;8901:59;8891:70;;:6;:70;:::i;:::-;:78;;;;:::i;:::-;8882:87;;8755:252;9081:4;9032:28;6111:18;;;:9;:18;;;;;;9107:6;;-1:-1:-1;;;9107:6:0;;;;9106:7;:32;;;;-1:-1:-1;9125:13:0;;-1:-1:-1;;;;;9117:21:0;;;9125:13;;9117:21;;9106:32;:51;;;;-1:-1:-1;9142:15:0;;-1:-1:-1;;;9142:15:0;;;;9106:51;:88;;;;;9184:10;;9161:20;:33;9106:88;:104;;;;;9209:1;9198:8;;:12;9106:104;9102:408;;;9232:71;9249:53;9253:6;9261:40;9265:20;9287:13;;9261:3;:40::i;:::-;9249:3;:53::i;:::-;9232:16;:71::i;:::-;9350:21;9393:22;;9390:105;;9440:35;9453:21;9440:12;:35::i;:::-;9212:298;9102:408;-1:-1:-1;;;;;9538:15:0;;;;;;:9;:15;;;;;;:24;;9556:6;;9538:24;:::i;:::-;-1:-1:-1;;;;;9520:15:0;;;;;;:9;:15;;;;;:42;9607:17;9617:6;9607;:17;:::i;:::-;-1:-1:-1;;;;;9590:13:0;;;;;;:9;:13;;;;;;:35;;;;:::i;:::-;-1:-1:-1;;;;;9574:13:0;;;;;;;:9;:13;;;;;:51;;;;9641:37;;;9660:17;9670:6;9660;:17;:::i;:::-;9641:37;;1595:25:1;;;1583:2;1568:18;9641:37:0;;;;;;;9693:10;;9690:155;;9762:4;9744:24;;;;:9;:24;;;;;;:35;;9772:6;;9744:35;:::i;:::-;9735:4;9717:24;;;;:9;:24;;;;;;;:62;;;;9797:36;;-1:-1:-1;;;;;9797:36:0;;;;;;;9826:6;1595:25:1;;1583:2;1568:18;;1449:177;9797:36:0;;;;;;;;9690:155;7570:2282;;7501:2351;;;:::o;1722:191::-;1796:16;1815:6;;-1:-1:-1;;;;;1832:17:0;;;-1:-1:-1;;;;;;1832:17:0;;;;;;1865:40;;1815:6;;;;;;;1865:40;;1796:16;1865:40;1785:128;1722:191;:::o;6142:107::-;6199:7;6231:1;6227;:5;6226:15;;6240:1;6226:15;;;6236:1;6226:15;6219:22;6142:107;-1:-1:-1;;;6142:107:0:o;9864:471::-;4302:6;:13;;-1:-1:-1;;;;4302:13:0;-1:-1:-1;;;4302:13:0;;;9950:15;9942:57:::1;;;::::0;-1:-1:-1;;;9942:57:0;;13539:2:1;9942:57:0::1;::::0;::::1;13521:21:1::0;13578:2;13558:18;;;13551:30;13617:31;13597:18;;;13590:59;13666:18;;9942:57:0::1;13337:353:1::0;9942:57:0::1;10034:16;::::0;;10048:1:::1;10034:16:::0;;;;;::::1;::::0;;10010:21:::1;::::0;10034:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10034:16:0::1;10010:40;;10079:4;10061;10066:1;10061:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10061:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10105:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10105:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10061:7;;10105:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10095:4;10100:1;10095:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10095:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10170:15:::1;::::0;10138:62:::1;::::0;10155:4:::1;::::0;10170:15:::1;10188:11:::0;10138:8:::1;:62::i;:::-;10211:15;::::0;:116:::1;::::0;-1:-1:-1;;;10211:116:0;;-1:-1:-1;;;;;10211:15:0;;::::1;::::0;:66:::1;::::0;:116:::1;::::0;10278:11;;10211:15:::1;::::0;10292:4;;10305::::1;::::0;10311:15:::1;::::0;10211:116:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4338:6:0;:14;;-1:-1:-1;;;;4338:14:0;;;-1:-1:-1;;;;9864:471:0:o;10346:428::-;10419:1;10410:6;:10;10402:52;;;;-1:-1:-1;;;10402:52:0;;13539:2:1;10402:52:0;;;13521:21:1;13578:2;13558:18;;;13551:30;13617:31;13597:18;;;13590:59;13666:18;;10402:52:0;13337:353:1;10402:52:0;10537:13;;10527:4;10474:20;6111:18;;;:9;:18;;;;;;10474:20;;-1:-1:-1;10505:159:0;;10598:1;10582:12;:6;10592:1;10582:12;:::i;:::-;:18;;;;:::i;:::-;10567:33;;10505:159;;;10650:1;10634:12;:6;10644:1;10634:12;:::i;:::-;:18;;;;:::i;:::-;10619:33;;10505:159;10674:9;;:32;;-1:-1:-1;;;;;10674:9:0;;;;:32;;;;;10693:12;;10674:9;:32;:9;:32;10693:12;10674:9;:32;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10717:15:0;;-1:-1:-1;;;;;10717:15:0;:49;10742:23;10752:12;10742:6;:23;:::i;:::-;10717:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10392:382;10346:428;:::o;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;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2281:247::-;2340:6;2393:2;2381:9;2372:7;2368:23;2364:32;2361:52;;;2409:1;2406;2399:12;2361:52;2448:9;2435:23;2467:31;2492:5;2467:31;:::i;2741:388::-;2809:6;2817;2870:2;2858:9;2849:7;2845:23;2841:32;2838:52;;;2886:1;2883;2876:12;2838:52;2925:9;2912:23;2944:31;2969:5;2944:31;:::i;:::-;2994:5;-1:-1:-1;3051:2:1;3036:18;;3023:32;3064:33;3023:32;3064:33;:::i;:::-;3116:7;3106:17;;;2741:388;;;;;:::o;3134:127::-;3195:10;3190:3;3186:20;3183:1;3176:31;3226:4;3223:1;3216:15;3250:4;3247:1;3240:15;3266:422;3355:1;3398:5;3355:1;3412:270;3433:7;3423:8;3420:21;3412:270;;;3492:4;3488:1;3484:6;3480:17;3474:4;3471:27;3468:53;;;3501:18;;:::i;:::-;3551:7;3541:8;3537:22;3534:55;;;3571:16;;;;3534:55;3650:22;;;;3610:15;;;;3412:270;;;3416:3;3266:422;;;;;:::o;3693:806::-;3742:5;3772:8;3762:80;;-1:-1:-1;3813:1:1;3827:5;;3762:80;3861:4;3851:76;;-1:-1:-1;3898:1:1;3912:5;;3851:76;3943:4;3961:1;3956:59;;;;4029:1;4024:130;;;;3936:218;;3956:59;3986:1;3977:10;;4000:5;;;4024:130;4061:3;4051:8;4048:17;4045:43;;;4068:18;;:::i;:::-;-1:-1:-1;;4124:1:1;4110:16;;4139:5;;3936:218;;4238:2;4228:8;4225:16;4219:3;4213:4;4210:13;4206:36;4200:2;4190:8;4187:16;4182:2;4176:4;4173:12;4169:35;4166:77;4163:159;;;-1:-1:-1;4275:19:1;;;4307:5;;4163:159;4354:34;4379:8;4373:4;4354:34;:::i;:::-;4424:6;4420:1;4416:6;4412:19;4403:7;4400:32;4397:58;;;4435:18;;:::i;:::-;4473:20;;3693:806;-1:-1:-1;;;3693:806:1:o;4504:140::-;4562:5;4591:47;4632:4;4622:8;4618:19;4612:4;4591:47;:::i;4649:168::-;4722:9;;;4753;;4770:15;;;4764:22;;4750:37;4740:71;;4791:18;;:::i;5231:128::-;5298:9;;;5319:11;;;5316:37;;;5333:18;;:::i;5364:356::-;5566:2;5548:21;;;5585:18;;;5578:30;5644:34;5639:2;5624:18;;5617:62;5711:2;5696:18;;5364:356::o;6077:251::-;6147:6;6200:2;6188:9;6179:7;6175:23;6171:32;6168:52;;;6216:1;6213;6206:12;6168:52;6248:9;6242:16;6267:31;6292:5;6267:31;:::i;6642:217::-;6682:1;6708;6698:132;;6752:10;6747:3;6743:20;6740:1;6733:31;6787:4;6784:1;6777:15;6815:4;6812:1;6805:15;6698:132;-1:-1:-1;6844:9:1;;6642:217::o;7476:306::-;7564:6;7572;7580;7633:2;7621:9;7612:7;7608:23;7604:32;7601:52;;;7649:1;7646;7639:12;7601:52;7678:9;7672:16;7662:26;;7728:2;7717:9;7713:18;7707:25;7697:35;;7772:2;7761:9;7757:18;7751:25;7741:35;;7476:306;;;;;:::o;8066:277::-;8133:6;8186:2;8174:9;8165:7;8161:23;8157:32;8154:52;;;8202:1;8199;8192:12;8154:52;8234:9;8228:16;8287:5;8280:13;8273:21;8266:5;8263:32;8253:60;;8309:1;8306;8299:12;8348:398;8550:2;8532:21;;;8589:2;8569:18;;;8562:30;8628:34;8623:2;8608:18;;8601:62;-1:-1:-1;;;8694:2:1;8679:18;;8672:32;8736:3;8721:19;;8348:398::o;8751:184::-;8821:6;8874:2;8862:9;8853:7;8849:23;8845:32;8842:52;;;8890:1;8887;8880:12;8842:52;-1:-1:-1;8913:16:1;;8751:184;-1:-1:-1;8751:184:1:o;12712:125::-;12777:9;;;12798:10;;;12795:36;;;12811:18;;:::i;13197:135::-;13236:3;13257:17;;;13254:43;;13277:18;;:::i;:::-;-1:-1:-1;13324:1:1;13313:13;;13197:135::o;13827:127::-;13888:10;13883:3;13879:20;13876:1;13869:31;13919:4;13916:1;13909:15;13943:4;13940:1;13933:15;13959:980;14221:4;14269:3;14258:9;14254:19;14300:6;14289:9;14282:25;14326:2;14364:6;14359:2;14348:9;14344:18;14337:34;14407:3;14402:2;14391:9;14387:18;14380:31;14431:6;14466;14460:13;14497:6;14489;14482:22;14535:3;14524:9;14520:19;14513:26;;14574:2;14566:6;14562:15;14548:29;;14595:1;14605:195;14619:6;14616:1;14613:13;14605:195;;;14684:13;;-1:-1:-1;;;;;14680:39:1;14668:52;;14775:15;;;;14740:12;;;;14716:1;14634:9;14605:195;;;-1:-1:-1;;;;;;;14856:32:1;;;;14851:2;14836:18;;14829:60;-1:-1:-1;;;14920:3:1;14905:19;14898:35;14817:3;13959:980;-1:-1:-1;;;13959:980:1:o

Swarm Source

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