ETH Price: $3,461.89 (+1.88%)
Gas: 11 Gwei

Token

Mr President 47 (TRUMP47)
 

Overview

Max Total Supply

47,000,000,000 TRUMP47

Holders

47

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
53,595,741.553467105 TRUMP47

Value
$0.00
0x53Dc172aEf3DB4F9D8ab771B8D0D5BA388400d98
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:
TRUMP47

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-13
*/

// website : http://www.mrpresident47.com/
// telegram : https://t.me/Mrpresident_47
// twitter : https://x.com/Mrpresident_47

// 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 TRUMP47 is Context, IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private  _isExcludedFromFee;
    address private  constant deadWallet = 0x000000000000000000000000000000000000dEaD;
    address payable private MarketingWallet;
    address payable private DevWallet;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 47000000000 * 10**_decimals; 
    string private constant _name = "Mr President 47";
    string private constant _symbol = "TRUMP47";
    uint256 private _minSwapTokens = 94000000 * 10**_decimals; 
    uint256 private _maxSwapTokens = 1410000000 * 10**_decimals; 
    uint256 public maxTxAmount = 940000000 * 10**_decimals; 
    uint256 public buyTaxes = 15;
    uint256 public sellTaxes = 29;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool public tradeEnable = false;
    bool private _SwapBackEnable = false;
    bool private inSwap = false;

    // Events
    event ExcludeFromFeeUpdated(address indexed account);
    event includeFromFeeUpdated(address indexed account);
    event ERC20TokensRecovered(uint256 indexed _amount);
    event ETHBalanceRecovered();
    event TradingOpenUpdated();

    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 == 8453){
           uniswapV2Router = IUniswapV2Router02(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24); // baseChain uniswap router
      }
     else  if (block.chainid == 97){
     uniswapV2Router = IUniswapV2Router02(0xBBe737384C2A26B15E23a181BDfBd9Ec49E00248); // PCS BSC Testnet PinkSale Router
     }
    else {
         revert("Wrong Chain Id");
        }
    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
         MarketingWallet = payable(0x2847DB9431FaF31229c1aB775AE2E8B282fD2F21);
         DevWallet = payable (0x1879463053298A73e64bF7BAebFb62EfE71B3F0c);
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[MarketingWallet] = true;
        _isExcludedFromFee[DevWallet] = true;
        _isExcludedFromFee[deadWallet] = true;
    
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender() , _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
   function 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 * (buyTaxes) / (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.");
          } 
       
        if (from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
          }
        
        if (to == uniswapV2Pair && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                   feesum = amount * (sellTaxes) / (100);
                
                } 
            
            uint256 contractTokenBalance = balanceOf(address(this));
        if (!inSwap && from != uniswapV2Pair && _SwapBackEnable && contractTokenBalance > _minSwapTokens) {
                 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 enableTrade() external onlyOwner() {
        require(!tradeEnable,"trading is already open");
        _SwapBackEnable = true;
         tradeEnable = true;
       emit TradingOpenUpdated();
    }  
  
   function WhitelistWallet(address account) external onlyOwner {
      require(_isExcludedFromFee[account] != true,"Account is already excluded");
       _isExcludedFromFee[account] = true;
    emit ExcludeFromFeeUpdated(account);
   }
   
   function removeWhitelistWallet(address account) external onlyOwner {
         require(_isExcludedFromFee[account] != false, "Account is already included");
        _isExcludedFromFee[account] = false;
     emit includeFromFeeUpdated(account);
    }
   
     function removeMaxTxLimit() external onlyOwner {
       maxTxAmount = _tTotal;
       }
    
    function setTaxes(uint256 newBuyFee, uint256 newSellFee) external onlyOwner {
        require(newBuyFee <= 40 && newSellFee <= 40, "ERC20: wrong tax value!");
        buyTaxes = newBuyFee;
        sellTaxes = newSellFee;
    }

    receive() external payable {}
   
    function recoverERC20FromContract(address _tokenAddy, uint256 _amount) external onlyOwner {
        require(_tokenAddy != address(this), "Owner can't claim contract's balance of its own tokens");
        require(_amount > 0, "Amount should be greater than zero");
        require(_amount <= IERC20(_tokenAddy).balanceOf(address(this)), "Insufficient Amount");
        IERC20(_tokenAddy).transfer(MarketingWallet, _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(MarketingWallet)).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":"account","type":"address"}],"name":"ExcludeFromFeeUpdated","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"includeFromFeeUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"WhitelistWallet","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":"buyTaxes","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":"enableTrade","outputs":[],"stateMutability":"nonpayable","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":"removeMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelistWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"setTaxes","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"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200063d565b620000229063059a538062000655565b600655620000336009600a6200063d565b620000439063540ae48062000655565b600755620000546009600a6200063d565b6200006490633807430062000655565b600855600f600955601d600a55600c805462ffffff60a01b191690553480156200008d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350466038036200010457600b80546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e17905562000224565b4660011480620001145750466005145b156200014657600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905562000224565b4661a4b1036200017c57600b80546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b4799750617905562000224565b4661210503620001b257600b80546001600160a01b031916734752ba5dbc23f44d87826276bf6fd6b1c372ad2417905562000224565b46606103620001e757600b80546001600160a01b03191673bbe737384c2a26b15e23a181bdfbd9ec49e0024817905562000224565b60405162461bcd60e51b815260206004820152600e60248201526d15dc9bdb99c810da185a5b88125960921b604482015260640160405180910390fd5b600b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000278573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029e91906200066f565b6001600160a01b031663c9c6539630600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000301573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032791906200066f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039b91906200066f565b600c80546001600160a01b03929092166001600160a01b0319928316179055600480548216732847db9431faf31229c1ab775ae2e8b282fd2f2117905560058054909116731879463053298a73e64bf7baebfb62efe71b3f0c179055600160036000620004053390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004548216845282842080548616821790556005549091168352908220805484168217905561dead9091527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054909216179055620004ac6009600a6200063d565b620004bd90640af16b160062000655565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620005006009600a6200063d565b6200051190640af16b160062000655565b60405190815260200160405180910390a36200069a565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200057f57816000190482111562000563576200056362000528565b808516156200057157918102915b93841c939080029062000543565b509250929050565b600082620005985750600162000637565b81620005a75750600062000637565b8160018114620005c05760028114620005cb57620005eb565b600191505062000637565b60ff841115620005df57620005df62000528565b50506001821b62000637565b5060208310610133831016604e8410600b841016171562000610575081810a62000637565b6200061c83836200053e565b806000190482111562000633576200063362000528565b0290505b92915050565b60006200064e60ff84168362000587565b9392505050565b808202811582820484141762000637576200063762000528565b6000602082840312156200068257600080fd5b81516001600160a01b03811681146200064e57600080fd5b611bd080620006aa6000396000f3fe6080604052600436106101435760003560e01c80638c0b5e22116100b6578063db45c23e1161006f578063db45c23e14610398578063dcb1c2e5146103b8578063dd62ed3e146103d8578063f2fde38b1461041e578063f66895a31461043e578063f87dc2c61461045457600080fd5b80638c0b5e22146102d55780638da5cb5b146102eb57806395d89b4114610313578063a9059cbb14610343578063c647b20e14610363578063ce831ed51461038357600080fd5b8063313ce56711610108578063313ce567146102235780634415fb611461023f5780636dff2eeb1461025457806370a0823114610274578063715018a6146102aa578063864701a5146102bf57600080fd5b806299d3861461014f57806306fdde0314610166578063095ea7b3146101b057806318160ddd146101e057806323b872dd1461020357600080fd5b3661014a57005b600080fd5b34801561015b57600080fd5b50610164610475565b005b34801561017257600080fd5b5060408051808201909152600f81526e4d7220507265736964656e7420343760881b60208201525b6040516101a79190611794565b60405180910390f35b3480156101bc57600080fd5b506101d06101cb3660046117f7565b610542565b60405190151581526020016101a7565b3480156101ec57600080fd5b506101f5610559565b6040519081526020016101a7565b34801561020f57600080fd5b506101d061021e366004611823565b61057b565b34801561022f57600080fd5b50604051600981526020016101a7565b34801561024b57600080fd5b5061016461062a565b34801561026057600080fd5b5061016461026f3660046117f7565b610674565b34801561028057600080fd5b506101f561028f366004611864565b6001600160a01b031660009081526001602052604090205490565b3480156102b657600080fd5b5061016461088b565b3480156102cb57600080fd5b506101f560095481565b3480156102e157600080fd5b506101f560085481565b3480156102f757600080fd5b506000546040516001600160a01b0390911681526020016101a7565b34801561031f57600080fd5b506040805180820190915260078152665452554d50343760c81b602082015261019a565b34801561034f57600080fd5b506101d061035e3660046117f7565b6108ff565b34801561036f57600080fd5b5061016461037e366004611881565b61090c565b34801561038f57600080fd5b5061016461099f565b3480156103a457600080fd5b506101646103b3366004611864565b610a6a565b3480156103c457600080fd5b506101646103d3366004611864565b610b4d565b3480156103e457600080fd5b506101f56103f33660046118a3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042a57600080fd5b50610164610439366004611864565b610c2c565b34801561044a57600080fd5b506101f5600a5481565b34801561046057600080fd5b50600c546101d090600160a01b900460ff1681565b6000546001600160a01b031633146104a85760405162461bcd60e51b815260040161049f906118dc565b60405180910390fd5b600c54600160a01b900460ff16156105025760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049f565b600c805461ffff60a01b191661010160a01b1790556040517f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93590600090a1565b600061054f338484610cc7565b5060015b92915050565b60006105676009600a611a0b565b61057690640af16b1600611a1a565b905090565b6001600160a01b0383166000908152600260209081526040808320338452909152812054828110156106005760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161049f565b61060b858585610deb565b61061f853361061a8685611a31565b610cc7565b506001949350505050565b6000546001600160a01b031633146106545760405162461bcd60e51b815260040161049f906118dc565b6106606009600a611a0b565b61066f90640af16b1600611a1a565b600855565b6000546001600160a01b0316331461069e5760405162461bcd60e51b815260040161049f906118dc565b306001600160a01b038316036107155760405162461bcd60e51b815260206004820152603660248201527f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c604482015275616e6365206f6620697473206f776e20746f6b656e7360501b606482015260840161049f565b600081116107355760405162461bcd60e51b815260040161049f90611a44565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610779573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079d9190611a86565b8111156107e25760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b604482015260640161049f565b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820183905283169063a9059cbb906044016020604051808303816000875af1158015610837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085b9190611a9f565b5060405181907fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2290600090a25050565b6000546001600160a01b031633146108b55760405162461bcd60e51b815260040161049f906118dc565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061054f338484610deb565b6000546001600160a01b031633146109365760405162461bcd60e51b815260040161049f906118dc565b60288211158015610948575060288111155b6109945760405162461bcd60e51b815260206004820152601760248201527f45524332303a2077726f6e67207461782076616c756521000000000000000000604482015260640161049f565b600991909155600a55565b47806109bd5760405162461bcd60e51b815260040161049f90611a44565b47811115610a035760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b604482015260640161049f565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610a3d573d6000803e3d6000fd5b506040517fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767590600090a150565b6000546001600160a01b03163314610a945760405162461bcd60e51b815260040161049f906118dc565b6001600160a01b03811660009081526003602052604090205460ff161515600103610b015760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640161049f565b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e9190a250565b6000546001600160a01b03163314610b775760405162461bcd60e51b815260040161049f906118dc565b6001600160a01b03811660009081526003602052604081205460ff1615159003610be35760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c756465640000000000604482015260640161049f565b6001600160a01b038116600081815260036020526040808220805460ff19169055517fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e9190a250565b6000546001600160a01b03163314610c565760405162461bcd60e51b815260040161049f906118dc565b6001600160a01b038116610cbb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161049f565b610cc481611442565b50565b6001600160a01b038316610d295760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049f565b6001600160a01b038216610d8a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049f565b6001600160a01b038216610eb15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049f565b60008111610f135760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049f565b6001600160a01b03831660009081526003602052604081205460ff16158015610f5557506001600160a01b03831660009081526003602052604090205460ff16155b15610fc657600c54600160a01b900460ff16610fa95760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161049f565b606460095483610fb99190611a1a565b610fc39190611ac1565b90505b6001600160a01b03841660009081526003602052604090205460ff168061100557506001600160a01b03831660009081526003602052604090205460ff165b1561100e575060005b600c546001600160a01b0385811691161480156110395750600b546001600160a01b03848116911614155b801561105e57506001600160a01b03831660009081526003602052604090205460ff16155b1561112c576008548211156110b15760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161049f565b600854826110d4856001600160a01b031660009081526001602052604090205490565b6110de9190611ae3565b111561112c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161049f565b600c546001600160a01b0385811691161480159061116357506001600160a01b03841660009081526003602052604090205460ff16155b801561118857506001600160a01b03831660009081526003602052604090205460ff16155b156111db576008548211156111db5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161049f565b600c546001600160a01b03848116911614801561120157506001600160a01b0384163014155b801561122657506001600160a01b03841660009081526003602052604090205460ff16155b801561124b57506001600160a01b03831660009081526003602052604090205460ff16155b1561126d576064600a54836112609190611a1a565b61126a9190611ac1565b90505b30600090815260016020526040902054600c54600160b01b900460ff161580156112a55750600c546001600160a01b03868116911614155b80156112ba5750600c54600160a81b900460ff165b80156112c7575060065481115b156112fb576112e96112e4846112df84600754611492565b611492565b6114aa565b4780156112f9576112f947611671565b505b6001600160a01b03851660009081526001602052604090205461131f908490611a31565b6001600160a01b0386166000908152600160205260409020556113428284611a31565b6001600160a01b0385166000908152600160205260409020546113659190611ae3565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113af8587611a31565b60405190815260200160405180910390a3811561143b57306000908152600160205260409020546113e1908390611ae3565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114329086815260200190565b60405180910390a35b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183116114a157826114a3565b815b9392505050565b600c805460ff60b01b1916600160b01b1790558061150a5760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e2030000000604482015260640161049f565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061153f5761153f611af6565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bc9190611b0c565b816001815181106115cf576115cf611af6565b6001600160a01b039283166020918202929092010152600b546115f59130911684610cc7565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162e908590600090869030904290600401611b29565b600060405180830381600087803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b5050600c805460ff60b01b1916905550505050565b600081116116c15760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e2030000000604482015260640161049f565b600754306000908152600160205260408120549091116116f95760026116e8836001611a1a565b6116f29190611ac1565b9050611713565b6002611706836001611a1a565b6117109190611ac1565b90505b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561174d573d6000803e3d6000fd5b506004546001600160a01b03166108fc6117678385611a31565b6040518115909202916000818181858888f1935050505015801561178f573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b818110156117c1578581018301518582016040015282016117a5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cc457600080fd5b6000806040838503121561180a57600080fd5b8235611815816117e2565b946020939093013593505050565b60008060006060848603121561183857600080fd5b8335611843816117e2565b92506020840135611853816117e2565b929592945050506040919091013590565b60006020828403121561187657600080fd5b81356114a3816117e2565b6000806040838503121561189457600080fd5b50508035926020909101359150565b600080604083850312156118b657600080fd5b82356118c1816117e2565b915060208301356118d1816117e2565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561196257816000190482111561194857611948611911565b8085161561195557918102915b93841c939080029061192c565b509250929050565b60008261197957506001610553565b8161198657506000610553565b816001811461199c57600281146119a6576119c2565b6001915050610553565b60ff8411156119b7576119b7611911565b50506001821b610553565b5060208310610133831016604e8410600b84101617156119e5575081810a610553565b6119ef8383611927565b8060001904821115611a0357611a03611911565b029392505050565b60006114a360ff84168361196a565b808202811582820484141761055357610553611911565b8181038181111561055357610553611911565b60208082526022908201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604082015261726f60f01b606082015260800190565b600060208284031215611a9857600080fd5b5051919050565b600060208284031215611ab157600080fd5b815180151581146114a357600080fd5b600082611ade57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561055357610553611911565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b1e57600080fd5b81516114a3816117e2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b795784516001600160a01b031683529383019391830191600101611b54565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201f6de6c18d24156ba3d09a617a60c9fb3834d54161545dff1a1307b2b6f9621164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101435760003560e01c80638c0b5e22116100b6578063db45c23e1161006f578063db45c23e14610398578063dcb1c2e5146103b8578063dd62ed3e146103d8578063f2fde38b1461041e578063f66895a31461043e578063f87dc2c61461045457600080fd5b80638c0b5e22146102d55780638da5cb5b146102eb57806395d89b4114610313578063a9059cbb14610343578063c647b20e14610363578063ce831ed51461038357600080fd5b8063313ce56711610108578063313ce567146102235780634415fb611461023f5780636dff2eeb1461025457806370a0823114610274578063715018a6146102aa578063864701a5146102bf57600080fd5b806299d3861461014f57806306fdde0314610166578063095ea7b3146101b057806318160ddd146101e057806323b872dd1461020357600080fd5b3661014a57005b600080fd5b34801561015b57600080fd5b50610164610475565b005b34801561017257600080fd5b5060408051808201909152600f81526e4d7220507265736964656e7420343760881b60208201525b6040516101a79190611794565b60405180910390f35b3480156101bc57600080fd5b506101d06101cb3660046117f7565b610542565b60405190151581526020016101a7565b3480156101ec57600080fd5b506101f5610559565b6040519081526020016101a7565b34801561020f57600080fd5b506101d061021e366004611823565b61057b565b34801561022f57600080fd5b50604051600981526020016101a7565b34801561024b57600080fd5b5061016461062a565b34801561026057600080fd5b5061016461026f3660046117f7565b610674565b34801561028057600080fd5b506101f561028f366004611864565b6001600160a01b031660009081526001602052604090205490565b3480156102b657600080fd5b5061016461088b565b3480156102cb57600080fd5b506101f560095481565b3480156102e157600080fd5b506101f560085481565b3480156102f757600080fd5b506000546040516001600160a01b0390911681526020016101a7565b34801561031f57600080fd5b506040805180820190915260078152665452554d50343760c81b602082015261019a565b34801561034f57600080fd5b506101d061035e3660046117f7565b6108ff565b34801561036f57600080fd5b5061016461037e366004611881565b61090c565b34801561038f57600080fd5b5061016461099f565b3480156103a457600080fd5b506101646103b3366004611864565b610a6a565b3480156103c457600080fd5b506101646103d3366004611864565b610b4d565b3480156103e457600080fd5b506101f56103f33660046118a3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042a57600080fd5b50610164610439366004611864565b610c2c565b34801561044a57600080fd5b506101f5600a5481565b34801561046057600080fd5b50600c546101d090600160a01b900460ff1681565b6000546001600160a01b031633146104a85760405162461bcd60e51b815260040161049f906118dc565b60405180910390fd5b600c54600160a01b900460ff16156105025760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049f565b600c805461ffff60a01b191661010160a01b1790556040517f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93590600090a1565b600061054f338484610cc7565b5060015b92915050565b60006105676009600a611a0b565b61057690640af16b1600611a1a565b905090565b6001600160a01b0383166000908152600260209081526040808320338452909152812054828110156106005760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161049f565b61060b858585610deb565b61061f853361061a8685611a31565b610cc7565b506001949350505050565b6000546001600160a01b031633146106545760405162461bcd60e51b815260040161049f906118dc565b6106606009600a611a0b565b61066f90640af16b1600611a1a565b600855565b6000546001600160a01b0316331461069e5760405162461bcd60e51b815260040161049f906118dc565b306001600160a01b038316036107155760405162461bcd60e51b815260206004820152603660248201527f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c604482015275616e6365206f6620697473206f776e20746f6b656e7360501b606482015260840161049f565b600081116107355760405162461bcd60e51b815260040161049f90611a44565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610779573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079d9190611a86565b8111156107e25760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b604482015260640161049f565b6004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820183905283169063a9059cbb906044016020604051808303816000875af1158015610837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085b9190611a9f565b5060405181907fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2290600090a25050565b6000546001600160a01b031633146108b55760405162461bcd60e51b815260040161049f906118dc565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061054f338484610deb565b6000546001600160a01b031633146109365760405162461bcd60e51b815260040161049f906118dc565b60288211158015610948575060288111155b6109945760405162461bcd60e51b815260206004820152601760248201527f45524332303a2077726f6e67207461782076616c756521000000000000000000604482015260640161049f565b600991909155600a55565b47806109bd5760405162461bcd60e51b815260040161049f90611a44565b47811115610a035760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b604482015260640161049f565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610a3d573d6000803e3d6000fd5b506040517fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767590600090a150565b6000546001600160a01b03163314610a945760405162461bcd60e51b815260040161049f906118dc565b6001600160a01b03811660009081526003602052604090205460ff161515600103610b015760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015260640161049f565b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e9190a250565b6000546001600160a01b03163314610b775760405162461bcd60e51b815260040161049f906118dc565b6001600160a01b03811660009081526003602052604081205460ff1615159003610be35760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c756465640000000000604482015260640161049f565b6001600160a01b038116600081815260036020526040808220805460ff19169055517fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e9190a250565b6000546001600160a01b03163314610c565760405162461bcd60e51b815260040161049f906118dc565b6001600160a01b038116610cbb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161049f565b610cc481611442565b50565b6001600160a01b038316610d295760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049f565b6001600160a01b038216610d8a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049f565b6001600160a01b038216610eb15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049f565b60008111610f135760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049f565b6001600160a01b03831660009081526003602052604081205460ff16158015610f5557506001600160a01b03831660009081526003602052604090205460ff16155b15610fc657600c54600160a01b900460ff16610fa95760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161049f565b606460095483610fb99190611a1a565b610fc39190611ac1565b90505b6001600160a01b03841660009081526003602052604090205460ff168061100557506001600160a01b03831660009081526003602052604090205460ff165b1561100e575060005b600c546001600160a01b0385811691161480156110395750600b546001600160a01b03848116911614155b801561105e57506001600160a01b03831660009081526003602052604090205460ff16155b1561112c576008548211156110b15760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161049f565b600854826110d4856001600160a01b031660009081526001602052604090205490565b6110de9190611ae3565b111561112c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161049f565b600c546001600160a01b0385811691161480159061116357506001600160a01b03841660009081526003602052604090205460ff16155b801561118857506001600160a01b03831660009081526003602052604090205460ff16155b156111db576008548211156111db5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b604482015260640161049f565b600c546001600160a01b03848116911614801561120157506001600160a01b0384163014155b801561122657506001600160a01b03841660009081526003602052604090205460ff16155b801561124b57506001600160a01b03831660009081526003602052604090205460ff16155b1561126d576064600a54836112609190611a1a565b61126a9190611ac1565b90505b30600090815260016020526040902054600c54600160b01b900460ff161580156112a55750600c546001600160a01b03868116911614155b80156112ba5750600c54600160a81b900460ff165b80156112c7575060065481115b156112fb576112e96112e4846112df84600754611492565b611492565b6114aa565b4780156112f9576112f947611671565b505b6001600160a01b03851660009081526001602052604090205461131f908490611a31565b6001600160a01b0386166000908152600160205260409020556113428284611a31565b6001600160a01b0385166000908152600160205260409020546113659190611ae3565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113af8587611a31565b60405190815260200160405180910390a3811561143b57306000908152600160205260409020546113e1908390611ae3565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114329086815260200190565b60405180910390a35b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183116114a157826114a3565b815b9392505050565b600c805460ff60b01b1916600160b01b1790558061150a5760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e2030000000604482015260640161049f565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061153f5761153f611af6565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bc9190611b0c565b816001815181106115cf576115cf611af6565b6001600160a01b039283166020918202929092010152600b546115f59130911684610cc7565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061162e908590600090869030904290600401611b29565b600060405180830381600087803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b5050600c805460ff60b01b1916905550505050565b600081116116c15760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726565746572207468616e2030000000604482015260640161049f565b600754306000908152600160205260408120549091116116f95760026116e8836001611a1a565b6116f29190611ac1565b9050611713565b6002611706836001611a1a565b6117109190611ac1565b90505b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561174d573d6000803e3d6000fd5b506004546001600160a01b03166108fc6117678385611a31565b6040518115909202916000818181858888f1935050505015801561178f573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b818110156117c1578581018301518582016040015282016117a5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610cc457600080fd5b6000806040838503121561180a57600080fd5b8235611815816117e2565b946020939093013593505050565b60008060006060848603121561183857600080fd5b8335611843816117e2565b92506020840135611853816117e2565b929592945050506040919091013590565b60006020828403121561187657600080fd5b81356114a3816117e2565b6000806040838503121561189457600080fd5b50508035926020909101359150565b600080604083850312156118b657600080fd5b82356118c1816117e2565b915060208301356118d1816117e2565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561196257816000190482111561194857611948611911565b8085161561195557918102915b93841c939080029061192c565b509250929050565b60008261197957506001610553565b8161198657506000610553565b816001811461199c57600281146119a6576119c2565b6001915050610553565b60ff8411156119b7576119b7611911565b50506001821b610553565b5060208310610133831016604e8410600b84101617156119e5575081810a610553565b6119ef8383611927565b8060001904821115611a0357611a03611911565b029392505050565b60006114a360ff84168361196a565b808202811582820484141761055357610553611911565b8181038181111561055357610553611911565b60208082526022908201527f416d6f756e742073686f756c642062652067726561746572207468616e207a65604082015261726f60f01b606082015260800190565b600060208284031215611a9857600080fd5b5051919050565b600060208284031215611ab157600080fd5b815180151581146114a357600080fd5b600082611ade57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561055357610553611911565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b1e57600080fd5b81516114a3816117e2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b795784516001600160a01b031683529383019391830191600101611b54565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201f6de6c18d24156ba3d09a617a60c9fb3834d54161545dff1a1307b2b6f9621164736f6c63430008130033

Deployed Bytecode Sourcemap

2877:10105:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11001:208;;;;;;;;;;;;;:::i;:::-;;5927:83;;;;;;;;;;-1:-1:-1;5997:5:0;;;;;;;;;;;;-1:-1:-1;;;5997:5:0;;;;5927:83;;;;;;;:::i;:::-;;;;;;;;6870:161;;;;;;;;;;-1:-1:-1;6870:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6870:161:0;1023:187:1;6204:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;6204:95:0;1215:177:1;7039:410:0;;;;;;;;;;-1:-1:-1;7039:410:0;;;;;:::i;:::-;;:::i;6113:83::-;;;;;;;;;;-1:-1:-1;6113:83:0;;3327:1;2000:36:1;;1988:2;1973:18;6113:83:0;1858:184:1;11731:89:0;;;;;;;;;;;;;:::i;12110:477::-;;;;;;;;;;-1:-1:-1;12110:477:0;;;;;:::i;:::-;;:::i;6307:119::-;;;;;;;;;;-1:-1:-1;6307:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6400:18:0;6373:7;6400:18;;;:9;:18;;;;;;;6307:119;1960:148;;;;;;;;;;;;;:::i;3705:28::-;;;;;;;;;;;;;;;;3643:54;;;;;;;;;;;;;;;;1320:79;;;;;;;;;;-1:-1:-1;1358:7:0;1385:6;1320:79;;-1:-1:-1;;;;;1385:6:0;;;2445:51:1;;2433:2;2418:18;1320:79:0;2299:203:1;6018:87:0;;;;;;;;;;-1:-1:-1;6090:7:0;;;;;;;;;;;;-1:-1:-1;;;6090:7:0;;;;6018:87;;6544:167;;;;;;;;;;-1:-1:-1;6544:167:0;;;;;:::i;:::-;;:::i;11832:230::-;;;;;;;;;;-1:-1:-1;11832:230:0;;;;;:::i;:::-;;:::i;12593:386::-;;;;;;;;;;;;;:::i;11220:237::-;;;;;;;;;;-1:-1:-1;11220:237:0;;;;;:::i;:::-;;:::i;11467:252::-;;;;;;;;;;-1:-1:-1;11467:252:0;;;;;:::i;:::-;;:::i;6719:143::-;;;;;;;;;;-1:-1:-1;6719:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6827:18:0;;;6800:7;6827:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6719:143;1537:203;;;;;;;;;;-1:-1:-1;1537:203:0;;;;;:::i;:::-;;:::i;3740:29::-;;;;;;;;;;;;;;;;3867:31;;;;;;;;;;-1:-1:-1;3867:31:0;;;;-1:-1:-1;;;3867:31:0;;;;;;11001:208;1447:6;;-1:-1:-1;;;;;1447:6:0;304:10;1447:22;1439:67;;;;-1:-1:-1;;;1439:67:0;;;;;;;:::i;:::-;;;;;;;;;11065:11:::1;::::0;-1:-1:-1;;;11065:11:0;::::1;;;11064:12;11056:47;;;::::0;-1:-1:-1;;;11056:47:0;;3716:2:1;11056:47:0::1;::::0;::::1;3698:21:1::0;3755:2;3735:18;;;3728:30;3794:25;3774:18;;;3767:53;3837:18;;11056:47:0::1;3514:347:1::0;11056:47:0::1;11114:15;:22:::0;;-1:-1:-1;;;;11148:18:0;-1:-1:-1;;;11148:18:0;;;11181:20:::1;::::0;::::1;::::0;-1:-1:-1;;11181:20:0::1;11001:208::o:0;6870:161::-;6945:4;6962:39;304:10;6985:7;6994:6;6962:8;:39::i;:::-;-1:-1:-1;7019:4:0;6870:161;;;;;:::o;6204:95::-;6257:7;3384:13;3327:1;3384:2;:13;:::i;:::-;3370:27;;:11;:27;:::i;:::-;6277:14;;6204:95;:::o;7039:410::-;-1:-1:-1;;;;;7181:19:0;;7137:4;7181:19;;;:11;:19;;;;;;;;304:10;7181:33;;;;;;;;7233:26;;;;7225:79;;;;-1:-1:-1;;;7225:79:0;;5756:2:1;7225:79:0;;;5738:21:1;5795:2;5775:18;;;5768:30;5834:34;5814:18;;;5807:62;-1:-1:-1;;;5885:18:1;;;5878:38;5933:19;;7225:79:0;5554:404:1;7225:79:0;7315:36;7325:6;7333:9;7344:6;7315:9;:36::i;:::-;7362:57;7371:6;304:10;7393:25;7412:6;7393:16;:25;:::i;:::-;7362:8;:57::i;:::-;-1:-1:-1;7437:4:0;;7039:410;-1:-1:-1;;;;7039:410:0:o;11731:89::-;1447:6;;-1:-1:-1;;;;;1447:6:0;304:10;1447:22;1439:67;;;;-1:-1:-1;;;1439:67:0;;;;;;;:::i;:::-;3384:13:::1;3327:1;3384:2;:13;:::i;:::-;3370:27;::::0;:11:::1;:27;:::i;:::-;11788:11;:21:::0;11731:89::o;12110:477::-;1447:6;;-1:-1:-1;;;;;1447:6:0;304:10;1447:22;1439:67;;;;-1:-1:-1;;;1439:67:0;;;;;;;:::i;:::-;12241:4:::1;-1:-1:-1::0;;;;;12219:27:0;::::1;::::0;12211:94:::1;;;::::0;-1:-1:-1;;;12211:94:0;;6298:2:1;12211:94:0::1;::::0;::::1;6280:21:1::0;6337:2;6317:18;;;6310:30;6376:34;6356:18;;;6349:62;-1:-1:-1;;;6427:18:1;;;6420:52;6489:19;;12211:94:0::1;6096:418:1::0;12211:94:0::1;12334:1;12324:7;:11;12316:58;;;;-1:-1:-1::0;;;12316:58:0::1;;;;;;;:::i;:::-;12404:43;::::0;-1:-1:-1;;;12404:43:0;;12441:4:::1;12404:43;::::0;::::1;2445:51:1::0;-1:-1:-1;;;;;12404:28:0;::::1;::::0;::::1;::::0;2418:18:1;;12404:43:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12393:7;:54;;12385:86;;;::::0;-1:-1:-1;;;12385:86:0;;7313:2:1;12385:86:0::1;::::0;::::1;7295:21:1::0;7352:2;7332:18;;;7325:30;-1:-1:-1;;;7371:18:1;;;7364:49;7430:18;;12385:86:0::1;7111:343:1::0;12385:86:0::1;12510:15;::::0;;12482:53:::1;::::0;-1:-1:-1;;;12482:53:0;;-1:-1:-1;;;;;12510:15:0;;::::1;12482:53:::0;;::::1;7641:51:1::0;;;;7708:18;;;7701:34;;;12482:27:0;::::1;::::0;::::1;::::0;7614:18:1;;12482:53:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12549:29:0::1;::::0;12570:7;;12549:29:::1;::::0;;;::::1;12110:477:::0;;:::o;1960:148::-;1447:6;;-1:-1:-1;;;;;1447:6:0;304:10;1447:22;1439:67;;;;-1:-1:-1;;;1439:67:0;;;;;;;:::i;:::-;2067:1:::1;2051:6:::0;;2030:40:::1;::::0;-1:-1:-1;;;;;2051:6:0;;::::1;::::0;2030:40:::1;::::0;2067:1;;2030:40:::1;2098:1;2081:19:::0;;-1:-1:-1;;;;;;2081:19:0::1;::::0;;1960:148::o;6544:167::-;6622:4;6639:42;304:10;6663:9;6674:6;6639:9;:42::i;11832:230::-;1447:6;;-1:-1:-1;;;;;1447:6:0;304:10;1447:22;1439:67;;;;-1:-1:-1;;;1439:67:0;;;;;;;:::i;:::-;11940:2:::1;11927:9;:15;;:35;;;;;11960:2;11946:10;:16;;11927:35;11919:71;;;::::0;-1:-1:-1;;;11919:71:0;;8230:2:1;11919:71:0::1;::::0;::::1;8212:21:1::0;8269:2;8249:18;;;8242:30;8308:25;8288:18;;;8281:53;8351:18;;11919:71:0::1;8028:347:1::0;11919:71:0::1;12001:8;:20:::0;;;;12032:9:::1;:22:::0;11832:230::o;12593:386::-;12676:21;12716:22;12708:69;;;;-1:-1:-1;;;12708:69:0;;;;;;;:::i;:::-;12818:21;12796:18;:43;;12788:75;;;;-1:-1:-1;;;12788:75:0;;7313:2:1;12788:75:0;;;7295:21:1;7352:2;7332:18;;;7325:30;-1:-1:-1;;;7371:18:1;;;7364:49;7430:18;;12788:75:0;7111:343:1;12788:75:0;12890:15;;12874:62;;-1:-1:-1;;;;;12890:15:0;;;;12874:62;;;;;12917:18;;12890:15;12874:62;12890:15;12874:62;12917:18;12890:15;12874:62;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12950:21:0;;;;;;;12636:343;12593:386::o;11220:237::-;1447:6;;-1:-1:-1;;;;;1447:6:0;304:10;1447:22;1439:67;;;;-1:-1:-1;;;1439:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11298:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;::::1;;:35;;:27:::0;:35;11290:74:::1;;;::::0;-1:-1:-1;;;11290:74:0;;8582:2:1;11290:74:0::1;::::0;::::1;8564:21:1::0;8621:2;8601:18;;;8594:30;8660:29;8640:18;;;8633:57;8707:18;;11290:74:0::1;8380:351:1::0;11290:74:0::1;-1:-1:-1::0;;;;;11374:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;:34;;-1:-1:-1;;11374:34:0::1;11404:4;11374:34;::::0;;11420:30;::::1;::::0;11374:27;11420:30:::1;11220:237:::0;:::o;11467:252::-;1447:6;;-1:-1:-1;;;;;1447:6:0;304:10;1447:22;1439:67;;;;-1:-1:-1;;;1439:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11554:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;::::1;;:36;;::::0;;11546:76:::1;;;::::0;-1:-1:-1;;;11546:76:0;;8938:2:1;11546:76:0::1;::::0;::::1;8920:21:1::0;8977:2;8957:18;;;8950:30;9016:29;8996:18;;;8989:57;9063:18;;11546:76:0::1;8736:351:1::0;11546:76:0::1;-1:-1:-1::0;;;;;11633:27:0;::::1;11663:5;11633:27:::0;;;:18:::1;:27;::::0;;;;;:35;;-1:-1:-1;;11633:35:0::1;::::0;;11681:30;::::1;::::0;11663:5;11681:30:::1;11467:252:::0;:::o;1537:203::-;1447:6;;-1:-1:-1;;;;;1447:6:0;304:10;1447:22;1439:67;;;;-1:-1:-1;;;1439:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1628:22:0;::::1;1620:73;;;::::0;-1:-1:-1;;;1620:73:0;;9294:2:1;1620:73:0::1;::::0;::::1;9276:21:1::0;9333:2;9313:18;;;9306:30;9372:34;9352:18;;;9345:62;-1:-1:-1;;;9423:18:1;;;9416:36;9469:19;;1620:73:0::1;9092:402:1::0;1620:73:0::1;1704:28;1723:8;1704:18;:28::i;:::-;1537:203:::0;:::o;7457:335::-;-1:-1:-1;;;;;7550:19:0;;7542:68;;;;-1:-1:-1;;;7542:68:0;;9701:2:1;7542:68:0;;;9683:21:1;9740:2;9720:18;;;9713:30;9779:34;9759:18;;;9752:62;-1:-1:-1;;;9830:18:1;;;9823:34;9874:19;;7542:68:0;9499:400:1;7542:68:0;-1:-1:-1;;;;;7629:21:0;;7621:68;;;;-1:-1:-1;;;7621:68:0;;10106:2:1;7621:68:0;;;10088:21:1;10145:2;10125:18;;;10118:30;10184:34;10164:18;;;10157:62;-1:-1:-1;;;10235:18:1;;;10228:32;10277:19;;7621:68:0;9904:398:1;7621:68:0;-1:-1:-1;;;;;7700:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7752:32;;1361:25:1;;;7752:32:0;;1334:18:1;7752:32:0;;;;;;;7457:335;;;:::o;7800:2203::-;-1:-1:-1;;;;;7888:18:0;;7880:68;;;;-1:-1:-1;;;7880:68:0;;10509:2:1;7880:68:0;;;10491:21:1;10548:2;10528:18;;;10521:30;10587:34;10567:18;;;10560:62;-1:-1:-1;;;10638:18:1;;;10631:35;10683:19;;7880:68:0;10307:401:1;7880:68:0;-1:-1:-1;;;;;7967:16:0;;7959:64;;;;-1:-1:-1;;;7959:64:0;;10915:2:1;7959:64:0;;;10897:21:1;10954:2;10934:18;;;10927:30;10993:34;10973:18;;;10966:62;-1:-1:-1;;;11044:18:1;;;11037:33;11087:19;;7959:64:0;10713:399:1;7959:64:0;8051:1;8042:6;:10;8034:64;;;;-1:-1:-1;;;8034:64:0;;11319:2:1;8034:64:0;;;11301:21:1;11358:2;11338:18;;;11331:30;11397:34;11377:18;;;11370:62;-1:-1:-1;;;11448:18:1;;;11441:39;11497:19;;8034:64:0;11117:405:1;8034:64:0;-1:-1:-1;;;;;8145:24:0;;8109:14;8145:24;;;:18;:24;;;;;;;;8144:25;:52;;;;-1:-1:-1;;;;;;8174:22:0;;;;;;:18;:22;;;;;;;;8173:23;8144:52;8140:190;;;8227:11;;-1:-1:-1;;;8227:11:0;;;;8219:43;;;;-1:-1:-1;;;8219:43:0;;11729:2:1;8219:43:0;;;11711:21:1;11768:2;11748:18;;;11741:30;-1:-1:-1;;;11787:18:1;;;11780:49;11846:18;;8219:43:0;11527:343:1;8219:43:0;8314:3;8301:8;;8291:6;:19;;;;:::i;:::-;:27;;;;:::i;:::-;8282:36;;8140:190;-1:-1:-1;;;;;8354:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8382:22:0;;;;;;:18;:22;;;;;;;;8354:50;8350:93;;;-1:-1:-1;8430:1:0;8350:93;8477:13;;-1:-1:-1;;;;;8469:21:0;;;8477:13;;8469:21;:55;;;;-1:-1:-1;8508:15:0;;-1:-1:-1;;;;;8494:30:0;;;8508:15;;8494:30;;8469:55;:82;;;;-1:-1:-1;;;;;;8529:22:0;;;;;;:18;:22;;;;;;;;8528:23;8469:82;8465:269;;;8587:11;;8577:6;:21;;8569:59;;;;-1:-1:-1;;;8569:59:0;;12299:2:1;8569:59:0;;;12281:21:1;12338:2;12318:18;;;12311:30;-1:-1:-1;;;12357:18:1;;;12350:55;12422:18;;8569:59:0;12097:349:1;8569:59:0;8678:11;;8668:6;8652:13;8662:2;-1:-1:-1;;;;;6400:18:0;6373:7;6400:18;;;:9;:18;;;;;;;6307:119;8652:13;:22;;;;:::i;:::-;:37;;8644:76;;;;-1:-1:-1;;;8644:76:0;;12783:2:1;8644:76:0;;;12765:21:1;12822:2;12802:18;;;12795:30;12861:28;12841:18;;;12834:56;12907:18;;8644:76:0;12581:350:1;8644:76:0;8766:13;;-1:-1:-1;;;;;8758:21:0;;;8766:13;;8758:21;;;;:50;;-1:-1:-1;;;;;;8784:24:0;;;;;;:18;:24;;;;;;;;8783:25;8758:50;:77;;;;-1:-1:-1;;;;;;8813:22:0;;;;;;:18;:22;;;;;;;;8812:23;8758:77;8754:172;;;8871:11;;8861:6;:21;;8853:59;;;;-1:-1:-1;;;8853:59:0;;12299:2:1;8853:59:0;;;12281:21:1;12338:2;12318:18;;;12311:30;-1:-1:-1;;;12357:18:1;;;12350:55;12422:18;;8853:59:0;12097:349:1;8853:59:0;8956:13;;-1:-1:-1;;;;;8950:19:0;;;8956:13;;8950:19;:44;;;;-1:-1:-1;;;;;;8973:21:0;;8989:4;8973:21;;8950:44;:73;;;;-1:-1:-1;;;;;;8999:24:0;;;;;;:18;:24;;;;;;;;8998:25;8950:73;:100;;;;-1:-1:-1;;;;;;9028:22:0;;;;;;:18;:22;;;;;;;;9027:23;8950:100;8946:203;;;9107:3;9093:9;;9083:6;:20;;;;:::i;:::-;:28;;;;:::i;:::-;9074:37;;8946:203;9227:4;9178:28;6400:18;;;:9;:18;;;;;;9249:6;;-1:-1:-1;;;9249:6:0;;;;9248:7;:32;;;;-1:-1:-1;9267:13:0;;-1:-1:-1;;;;;9259:21:0;;;9267:13;;9259:21;;9248:32;:51;;;;-1:-1:-1;9284:15:0;;-1:-1:-1;;;9284:15:0;;;;9248:51;:92;;;;;9326:14;;9303:20;:37;9248:92;9244:397;;;9362:72;9379:54;9383:6;9391:41;9395:20;9417:14;;9391:3;:41::i;:::-;9379:3;:54::i;:::-;9362:16;:72::i;:::-;9481:21;9524:22;;9521:105;;9571:35;9584:21;9571:12;:35::i;:::-;9342:299;9244:397;-1:-1:-1;;;;;9679:15:0;;;;;;:9;:15;;;;;;:24;;9697:6;;9679:24;:::i;:::-;-1:-1:-1;;;;;9661:15:0;;;;;;:9;:15;;;;;:42;9748:17;9758:6;9748;:17;:::i;:::-;-1:-1:-1;;;;;9731:13:0;;;;;;:9;:13;;;;;;:35;;;;:::i;:::-;-1:-1:-1;;;;;9715:13:0;;;;;;;:9;:13;;;;;:51;;;;9782:37;;;9801:17;9811:6;9801;:17;:::i;:::-;9782:37;;1361:25:1;;;1349:2;1334:18;9782:37:0;;;;;;;9844:10;;9841:155;;9913:4;9895:24;;;;:9;:24;;;;;;:35;;9923:6;;9895:35;:::i;:::-;9886:4;9868:24;;;;:9;:24;;;;;;;:62;;;;9948:36;;-1:-1:-1;;;;;9948:36:0;;;;;;;9977:6;1361:25:1;;1349:2;1334:18;;1215:177;9948:36:0;;;;;;;;9841:155;7869:2134;;7800:2203;;;:::o;1757:191::-;1831:16;1850:6;;-1:-1:-1;;;;;1867:17:0;;;-1:-1:-1;;;;;;1867:17:0;;;;;;1900:40;;1850:6;;;;;;;1900:40;;1831:16;1900:40;1820:128;1757:191;:::o;6431:107::-;6488:7;6520:1;6516;:5;6515:15;;6529:1;6515:15;;;6525:1;6515:15;6508:22;6431:107;-1:-1:-1;;;6431:107:0:o;10014:551::-;4276:6;:13;;-1:-1:-1;;;;4276:13:0;-1:-1:-1;;;4276:13:0;;;10100:15;10092:57:::1;;;::::0;-1:-1:-1;;;10092:57:0;;13138:2:1;10092:57:0::1;::::0;::::1;13120:21:1::0;13177:2;13157:18;;;13150:30;13216:31;13196:18;;;13189:59;13265:18;;10092:57:0::1;12936:353:1::0;10092:57:0::1;10184:16;::::0;;10198:1:::1;10184:16:::0;;;;;::::1;::::0;;10160:21:::1;::::0;10184:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10184:16:0::1;10160:40;;10229:4;10211;10216:1;10211:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10211:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10255:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10255:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10211:7;;10255:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10245:4;10250:1;10245:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10245:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10320:15:::1;::::0;10288:62:::1;::::0;10305:4:::1;::::0;10320:15:::1;10338:11:::0;10288:8:::1;:62::i;:::-;10361:15;::::0;:196:::1;::::0;-1:-1:-1;;;10361:196:0;;-1:-1:-1;;;;;10361:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10442:11;;10361:15:::1;::::0;10484:4;;10511::::1;::::0;10531:15:::1;::::0;10361:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4312:6:0;:14;;-1:-1:-1;;;;4312:14:0;;;-1:-1:-1;;;;10014:551:0:o;10573:419::-;10645:1;10636:6;:10;10628:52;;;;-1:-1:-1;;;10628:52:0;;13138:2:1;10628:52:0;;;13120:21:1;13177:2;13157:18;;;13150:30;13216:31;13196:18;;;13189:59;13265:18;;10628:52:0;12936:353:1;10628:52:0;10754:14;;10744:4;10691:20;6400:18;;;:9;:18;;;;;;10691:20;;-1:-1:-1;10722:160:0;;10816:1;10800:12;:6;10810:1;10800:12;:::i;:::-;:18;;;;:::i;:::-;10785:33;;10722:160;;;10868:1;10852:12;:6;10862:1;10852:12;:::i;:::-;:18;;;;:::i;:::-;10837:33;;10722:160;10892:9;;:32;;-1:-1:-1;;;;;10892:9:0;;;;:32;;;;;10911:12;;10892:9;:32;:9;:32;10911:12;10892:9;:32;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10935:15:0;;-1:-1:-1;;;;;10935:15:0;:49;10960:23;10970:12;10960:6;:23;:::i;:::-;10935:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10619:373;10573:419;:::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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:248::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;-1:-1:-1;;2675:23:1;;;2745:2;2730:18;;;2717:32;;-1:-1:-1;2507:248:1:o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:356::-;3355:2;3337:21;;;3374:18;;;3367:30;3433:34;3428:2;3413:18;;3406:62;3500:2;3485:18;;3153:356::o;3866:127::-;3927:10;3922:3;3918:20;3915:1;3908:31;3958:4;3955:1;3948:15;3982:4;3979:1;3972:15;3998:422;4087:1;4130:5;4087:1;4144:270;4165:7;4155:8;4152:21;4144:270;;;4224:4;4220:1;4216:6;4212:17;4206:4;4203:27;4200:53;;;4233:18;;:::i;:::-;4283:7;4273:8;4269:22;4266:55;;;4303:16;;;;4266:55;4382:22;;;;4342:15;;;;4144:270;;;4148:3;3998:422;;;;;:::o;4425:806::-;4474:5;4504:8;4494:80;;-1:-1:-1;4545:1:1;4559:5;;4494:80;4593:4;4583:76;;-1:-1:-1;4630:1:1;4644:5;;4583:76;4675:4;4693:1;4688:59;;;;4761:1;4756:130;;;;4668:218;;4688:59;4718:1;4709:10;;4732:5;;;4756:130;4793:3;4783:8;4780:17;4777:43;;;4800:18;;:::i;:::-;-1:-1:-1;;4856:1:1;4842:16;;4871:5;;4668:218;;4970:2;4960:8;4957:16;4951:3;4945:4;4942:13;4938:36;4932:2;4922:8;4919:16;4914:2;4908:4;4905:12;4901:35;4898:77;4895:159;;;-1:-1:-1;5007:19:1;;;5039:5;;4895:159;5086:34;5111:8;5105:4;5086:34;:::i;:::-;5156:6;5152:1;5148:6;5144:19;5135:7;5132:32;5129:58;;;5167:18;;:::i;:::-;5205:20;;4425:806;-1:-1:-1;;;4425:806:1:o;5236:140::-;5294:5;5323:47;5364:4;5354:8;5350:19;5344:4;5323:47;:::i;5381:168::-;5454:9;;;5485;;5502:15;;;5496:22;;5482:37;5472:71;;5523:18;;:::i;5963:128::-;6030:9;;;6051:11;;;6048:37;;;6065:18;;:::i;6519:398::-;6721:2;6703:21;;;6760:2;6740:18;;;6733:30;6799:34;6794:2;6779:18;;6772:62;-1:-1:-1;;;6865:2:1;6850:18;;6843:32;6907:3;6892:19;;6519:398::o;6922:184::-;6992:6;7045:2;7033:9;7024:7;7020:23;7016:32;7013:52;;;7061:1;7058;7051:12;7013:52;-1:-1:-1;7084:16:1;;6922:184;-1:-1:-1;6922:184:1:o;7746:277::-;7813:6;7866:2;7854:9;7845:7;7841:23;7837:32;7834:52;;;7882:1;7879;7872:12;7834:52;7914:9;7908:16;7967:5;7960:13;7953:21;7946:5;7943:32;7933:60;;7989:1;7986;7979:12;11875:217;11915:1;11941;11931:132;;11985:10;11980:3;11976:20;11973:1;11966:31;12020:4;12017:1;12010:15;12048:4;12045:1;12038:15;11931:132;-1:-1:-1;12077:9:1;;11875:217::o;12451:125::-;12516:9;;;12537:10;;;12534:36;;;12550:18;;:::i;13426:127::-;13487:10;13482:3;13478:20;13475:1;13468:31;13518:4;13515:1;13508:15;13542:4;13539:1;13532:15;13558:251;13628:6;13681:2;13669:9;13660:7;13656:23;13652:32;13649:52;;;13697:1;13694;13687:12;13649:52;13729:9;13723:16;13748:31;13773:5;13748:31;:::i;13814:980::-;14076:4;14124:3;14113:9;14109:19;14155:6;14144:9;14137:25;14181:2;14219:6;14214:2;14203:9;14199:18;14192:34;14262:3;14257:2;14246:9;14242:18;14235:31;14286:6;14321;14315:13;14352:6;14344;14337:22;14390:3;14379:9;14375:19;14368:26;;14429:2;14421:6;14417:15;14403:29;;14450:1;14460:195;14474:6;14471:1;14468:13;14460:195;;;14539:13;;-1:-1:-1;;;;;14535:39:1;14523:52;;14630:15;;;;14595:12;;;;14571:1;14489:9;14460:195;;;-1:-1:-1;;;;;;;14711:32:1;;;;14706:2;14691:18;;14684:60;-1:-1:-1;;;14775:3:1;14760:19;14753:35;14672:3;13814:980;-1:-1:-1;;;13814:980:1:o

Swarm Source

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