ETH Price: $3,347.22 (-0.59%)
Gas: 4 Gwei

Token

SURGE (SURGE)
 

Overview

Max Total Supply

100,000,000 SURGE

Holders

146

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
7.563794179 SURGE

Value
$0.00
0xd6beb5970bbfe64a5da28d09799047d8c8d1bb53
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:
SURGE

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-07
*/

//SPDX-License-Identifier: MIT

/** 
 * Contract: Surge Token
 * Developed by: Heisenman
 * Team: t.me/ALBINO_RHINOOO, t.me/Heisenman, t.me/STFGNZ 
 * Trade without dex fees. $SURGE is the inception of the next generation of decentralized protocols.
 * Socials:
 * TG: https://t.me/SURGEPROTOCOL
 * Website: https://surgeprotocol.io/
 * Twitter: https://twitter.com/SURGEPROTOCOL
 */

pragma solidity ^0.8.17;

abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;
    uint256 private _status;
    constructor () {
        _status = _NOT_ENTERED;
    }

    modifier nonReentrant() {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        _status = _ENTERED;
        _;
        _status = _NOT_ENTERED;
    }
}

interface IPancakePair {
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
}

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);
    function decimals() external view returns (uint8);
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract SURGE is IERC20, Context, Ownable, ReentrancyGuard {

    event Bought(address indexed from, address indexed to,uint256 tokens, uint256 beans,uint256 dollarBuy);
    event Sold(address indexed from, address indexed to,uint256 tokens, uint256 beans,uint256 dollarSell);

    // token data
    string constant private _name = "SURGE";
    string constant private  _symbol = "SURGE";
    uint8 constant private _decimals = 9;
    uint256 constant private _decMultiplier = 10**_decimals;

    // Total Supply
    uint256 public _totalSupply = 10**8*_decMultiplier;

    // balances
    mapping (address => uint256) public _balances;
    mapping (address => mapping (address => uint256)) internal _allowances;

    //Fees
    mapping (address => bool) public isFeeExempt;
    uint256 public sellMul = 95;
    uint256 public buyMul = 95;
    uint256 public constant DIVISOR = 100;

    //Max bag requirements
    mapping (address => bool) public isTxLimitExempt;
    uint256 public maxBag = _totalSupply/100;
    
    //Tax collection
    uint256 public taxBalance = 0;

    //Tax wallets
    address public teamWallet = 0xDa17D158bC42f9C29E626b836d9231bB173bab06;
    address public treasuryWallet = 0xF526A924c406D31d16a844FF04810b79E71804Ef ;

    // Tax Split
    uint256 public teamShare = 40;
    uint256 public treasuryShare = 60;
    uint256 public shareDIVISOR = 100;

    //Known Wallets
    address constant private DEAD = 0x000000000000000000000000000000000000dEaD;

    //trading parameters
    uint256 public liquidity = 4 ether;
    uint256 public liqConst= liquidity*_totalSupply;
    uint256 public tradeOpenTime = 1673125200;

    //volume trackers
    mapping (address => uint256) public indVol;
    mapping (uint256 => uint256) public tVol;
    uint256 public totalVolume = 0;

    //candlestick data
    uint256 public totalTx;
    mapping(uint256 => uint256) public txTimeStamp;

    struct candleStick{ 
        uint256 time;
        uint256 open;
        uint256 close;
        uint256 high;
        uint256 low;
    }

    mapping(uint256 => candleStick) public candleStickData;

    //Frontrun Gaurd
    mapping(address => uint256) private lastBuyBlock;

    // initialize supply
    constructor(
    ) {
        _balances[address(this)] = _totalSupply;

        isFeeExempt[msg.sender] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[address(0)] = true;

        emit Transfer(address(0), address(this), _totalSupply);
    }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    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 approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint).max);
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply-_balances[DEAD];
    }

    function changeWalletLimit(uint256 newLimit) external onlyOwner {
        require(newLimit >= _totalSupply/100);
        maxBag  = newLimit;
    }
    
    function changeIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function changeIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    /** Transfer Function */
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    /** Transfer Function */
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        require(sender == msg.sender);
        return _transferFrom(sender, recipient, amount);
    }
    
    /** Internal Transfer */
    function _transferFrom(address sender, address recipient, uint256 amount) internal nonReentrant returns (bool) {
        // make standard checks
        require(recipient != address(0) && recipient != address(this), "transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(isTxLimitExempt[recipient]||_balances[recipient] + amount <= maxBag);
        // subtract from sender
        _balances[sender] = _balances[sender] - amount;
        // give reduced amount to receiver
        _balances[recipient] = _balances[recipient] + amount;
        // Transfer Event
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    //tx timeout modifier
    modifier ensure(uint deadline) {
        require(deadline >= block.timestamp, "Deadline EXPIRED");
        _;
    }

    /** Purchases SURGE Tokens and Deposits Them in Sender's Address*/
    function _buy(uint256 minTokenOut, uint256 deadline) public nonReentrant ensure(deadline) payable returns (bool) {
        lastBuyBlock[msg.sender]=block.number;

        // liquidity is set and trade is open
        require(liquidity > 0 && block.timestamp>= tradeOpenTime, "The token has no liquidity or trading not open");
     
        //remove the buy tax
        uint256 bnbAmount = isFeeExempt[msg.sender] ? msg.value : msg.value * buyMul / DIVISOR;
        
        // how much they should purchase?
        uint256 tokensToSend = _balances[address(this)]-(liqConst/(bnbAmount+liquidity));
        
        //revert for max bag
        require(_balances[msg.sender] + tokensToSend <= maxBag || isTxLimitExempt[msg.sender],"Max wallet exceeded");

        // revert if under 1
        require(tokensToSend > 1,'Must Buy more than 1 decimal of Surge');

        // revert for slippage
        require(tokensToSend >= minTokenOut,'INSUFFICIENT OUTPUT AMOUNT');

        // transfer the tokens from CA to the buyer
        buy(msg.sender, tokensToSend);

        //update available tax to extract and Liquidity
        uint256 taxAmount = msg.value - bnbAmount;
        taxBalance = taxBalance + taxAmount;
        liquidity = liquidity + bnbAmount;

        //update volume
        uint cTime = block.timestamp;
        uint dollarBuy = msg.value*getBNBPrice();
        totalVolume += dollarBuy;
        indVol[msg.sender]+= dollarBuy;
        tVol[cTime]+=dollarBuy;

        //update candleStickData
        totalTx+=1;
        txTimeStamp[totalTx]= cTime;
        uint cPrice = calculatePrice()*getBNBPrice();
        candleStickData[cTime].time= cTime;
        if(candleStickData[cTime].open == 0){
            if(totalTx==1)
            {
            candleStickData[cTime].open = (liquidity-bnbAmount)/(_totalSupply)*getBNBPrice();
            }
            else {candleStickData[cTime].open = candleStickData[txTimeStamp[totalTx-1]].close;}
        }
        candleStickData[cTime].close = cPrice;
        
        if(candleStickData[cTime].high < cPrice || candleStickData[cTime].high==0){
            candleStickData[cTime].high = cPrice;
        }

          if(candleStickData[cTime].low > cPrice || candleStickData[cTime].low==0){
            candleStickData[cTime].low = cPrice;
        }

        //emit transfer and buy events
        emit Transfer(address(this), msg.sender, tokensToSend);
        emit Bought(msg.sender, address(this), tokensToSend, msg.value,bnbAmount*getBNBPrice());
        return true;
    }
    
    /** Sends Tokens to the buyer Address */
    function buy(address receiver, uint amount) internal {
        _balances[receiver] = _balances[receiver] + amount;
        _balances[address(this)] = _balances[address(this)] - amount;
    }

    /** Sells SURGE Tokens And Deposits the BNB into Seller's Address */
    function _sell(uint256 tokenAmount, uint256 deadline, uint256 minBNBOut) public nonReentrant ensure(deadline) payable returns (bool) {
        require(lastBuyBlock[msg.sender]!=block.number);
        require(msg.value == 0);
        
        address seller = msg.sender;
        
        // make sure seller has this balance
        require(_balances[seller] >= tokenAmount, 'cannot sell above token amount');
        
        // get how much beans are the tokens worth
        uint256 amountBNB = liquidity - (liqConst/(_balances[address(this)]+tokenAmount));
        uint256 amountTax = amountBNB * (DIVISOR - sellMul)/DIVISOR;
        uint256 BNBToSend = amountBNB - amountTax;
        
        //slippage revert
        require(amountBNB >= minBNBOut);

        // send BNB to Seller
        (bool successful,) = isFeeExempt[msg.sender] ? payable(seller).call{value: amountBNB, gas:40000}(""): payable(seller).call{value: BNBToSend, gas:40000}(""); 
        require(successful);

        // subtract full amount from sender
        _balances[seller] = _balances[seller] - tokenAmount;

        //add tax allowance to be withdrawn and remove from liq the amount of beans taken by the seller
        taxBalance = isFeeExempt[msg.sender] ? taxBalance : taxBalance + amountTax;
        liquidity = liquidity - amountBNB;

        // add tokens back into the contract
        _balances[address(this)]=_balances[address(this)]+ tokenAmount;

        //update volume
        uint cTime = block.timestamp;
        uint dollarSell= amountBNB*getBNBPrice();
        totalVolume += dollarSell;
        indVol[msg.sender]+= dollarSell;
        tVol[cTime]+=dollarSell;

        //update candleStickData
        totalTx+=1;
        txTimeStamp[totalTx]= cTime;
        uint cPrice = calculatePrice()*getBNBPrice();
        candleStickData[cTime].time= cTime;
        if(candleStickData[cTime].open == 0){
            candleStickData[cTime].open = candleStickData[txTimeStamp[totalTx-1]].close;
        }
        candleStickData[cTime].close = cPrice;
        
        if(candleStickData[cTime].high < cPrice || candleStickData[cTime].high==0){
            candleStickData[cTime].high = cPrice;
        }

          if(candleStickData[cTime].low > cPrice || candleStickData[cTime].low==0){
            candleStickData[cTime].low = cPrice;
        }

        // emit transfer and sell events
        emit Transfer(seller, address(this), tokenAmount);
        if(isFeeExempt[msg.sender]){
            emit Sold(address(this), msg.sender,tokenAmount,amountBNB,dollarSell);
        }
        
        else{ emit Sold(address(this), msg.sender,tokenAmount,BNBToSend,BNBToSend*getBNBPrice());}
        return true;
    }
    
    /** Amount of BNB in Contract */
    function getLiquidity() public view returns(uint256){
        return liquidity;
    }

    /** Returns the value of your holdings before the sell fee */
    function getValueOfHoldings(address holder) public view returns(uint256) {
        return _balances[holder]*liquidity/_balances[address(this)]*getBNBPrice();
    }

    function changeFees(uint256 newbuyMul, uint256 newsellMul) external onlyOwner {
        require( newbuyMul >= 90 && newsellMul >= 90 && newbuyMul <=100 && newsellMul<= 100, 'Fees are too high');

        buyMul = newbuyMul;
        sellMul = newsellMul;
    }

    function changeTaxDistribution(uint newteamShare, uint newtreasuryShare) external onlyOwner {
        require(newteamShare + newtreasuryShare == 100);

        teamShare = newteamShare;
        treasuryShare = newtreasuryShare;
    }

    function changeFeeReceivers(address newTeamWallet, address newTreasuryWallet) external onlyOwner {
        teamWallet = newTeamWallet;
        treasuryWallet = newTreasuryWallet;
    }

    function withdrawTaxBalance() external nonReentrant() payable onlyOwner {
        (bool temp1,)= payable(teamWallet).call{value:taxBalance*teamShare/shareDIVISOR}("");
        (bool temp2,)= payable(treasuryWallet).call{value:taxBalance*treasuryShare/shareDIVISOR}("");
        assert(temp1 && temp2);
        taxBalance = 0; 
    }

    function getTokenAmountOut(uint256 amountBNBIn) external view returns (uint256) {
        uint256 amountAfter = liqConst/(liquidity-amountBNBIn);
        uint256 amountBefore = liqConst/liquidity;
        return amountAfter-amountBefore;
    }

    function getBNBAmountOut(uint256 amountIn) public view returns (uint256) {
        uint256 beansBefore = liqConst / _balances[address(this)];
        uint256 beansAfter = liqConst / (_balances[address(this)] + amountIn);
        return beansBefore-beansAfter;
    }

    function addLiquidity() external onlyOwner payable {
        uint256 tokensToAdd= _balances[address(this)]*msg.value/liquidity;
        require(_balances[msg.sender]>= tokensToAdd);

        uint256 oldLiq = liquidity;
        liquidity = liquidity+msg.value;
        _balances[address(this)]+= tokensToAdd;
        _balances[msg.sender]-= tokensToAdd;
        liqConst= liqConst*liquidity/oldLiq;

        emit Transfer(msg.sender, address(this),tokensToAdd);
    }

    function getMarketCap() external view returns(uint256){
        return (getCirculatingSupply()*calculatePrice()*getBNBPrice());
    }

    address private stablePairAddress = 0x7BeA39867e4169DBe237d55C8242a8f2fcDcc387;
    address private stableAddress = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;

    function changeStablePair(address newStablePair, address newStableAddress) external{
        stablePairAddress = newStablePair;
        stableAddress = newStableAddress;
    }

   // calculate price based on pair reserves
   function getBNBPrice() public view returns(uint)
   {
    IPancakePair pair = IPancakePair(stablePairAddress);
    IERC20 token1 = pair.token0() == stableAddress? IERC20(pair.token1()):IERC20(pair.token0()); 
    
    (uint Res0, uint Res1,) = pair.getReserves();

    if(pair.token0() != stableAddress){(Res1,Res0,) = pair.getReserves();}
    uint res0 = Res0*10**token1.decimals();
    return(res0/Res1); // return amount of token0 needed to buy token1
   }

    // Returns the Current Price of the Token in beans
    function calculatePrice() public view returns (uint256) {
        require(liquidity>0,'No Liquidity');
        return liquidity/_balances[address(this)];
    }
}

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":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"beans","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dollarBuy","type":"uint256"}],"name":"Bought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"beans","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dollarSell","type":"uint256"}],"name":"Sold","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":"DIVISOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"minTokenOut","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"_buy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"minBNBOut","type":"uint256"}],"name":"_sell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"buyMul","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"calculatePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"candleStickData","outputs":[{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"open","type":"uint256"},{"internalType":"uint256","name":"close","type":"uint256"},{"internalType":"uint256","name":"high","type":"uint256"},{"internalType":"uint256","name":"low","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newTeamWallet","type":"address"},{"internalType":"address","name":"newTreasuryWallet","type":"address"}],"name":"changeFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newbuyMul","type":"uint256"},{"internalType":"uint256","name":"newsellMul","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newStablePair","type":"address"},{"internalType":"address","name":"newStableAddress","type":"address"}],"name":"changeStablePair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newteamShare","type":"uint256"},{"internalType":"uint256","name":"newtreasuryShare","type":"uint256"}],"name":"changeTaxDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"getBNBAmountOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBNBPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarketCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountBNBIn","type":"uint256"}],"name":"getTokenAmountOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"getValueOfHoldings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"indVol","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liqConst","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBag","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellMul","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shareDIVISOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tVol","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalVolume","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeOpenTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"treasuryShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"txTimeStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawTaxBalance","outputs":[],"stateMutability":"payable","type":"function"}]

6080604052620000126009600a6200035d565b62000022906305f5e10062000375565b600355605f600755605f60085560646003546200004091906200038f565b600a556000600b55600c80546001600160a01b031990811673da17d158bc42f9c29e626b836d9231bb173bab0617909155600d805490911673f526a924c406d31d16a844ff04810b79e71804ef1790556028600e55603c600f556064601055673782dace9d9000006011819055600354620000bb9162000375565b6012556363b9dd506013556000601655601b80546001600160a01b0319908116737bea39867e4169dbe237d55c8242a8f2fcdcc38717909155601c805490911673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481790553480156200012057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060016002819055600380543060008181526004602090815260408083209490945533825260068152838220805460ff19908116881790915560098252848320805482168817905583835284832080548216881790557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb19307500378580548216881790558280527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b805490911690961790955592549151918252927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620003b2565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200029f57816000190482111562000283576200028362000248565b808516156200029157918102915b93841c939080029062000263565b509250929050565b600082620002b85750600162000357565b81620002c75750600062000357565b8160018114620002e05760028114620002eb576200030b565b600191505062000357565b60ff841115620002ff57620002ff62000248565b50506001821b62000357565b5060208310610133831016604e8410600b841016171562000330575081810a62000357565b6200033c83836200025e565b806000190482111562000353576200035362000248565b0290505b92915050565b60006200036e60ff841683620002a7565b9392505050565b808202811582820484141762000357576200035762000248565b600082620003ad57634e487b7160e01b600052601260045260246000fd5b500490565b61283580620003c26000396000f3fe6080604052600436106103505760003560e01c8063715018a6116101c6578063a9059cbb116100f7578063e8f620b111610095578063f2fde38b1161006f578063f2fde38b146109ba578063f4034e4b146109da578063f7a62fe9146109fa578063fabe628314610a2757600080fd5b8063e8f620b114610979578063ea6ef2fe1461098f578063f2220c9e146109a557600080fd5b8063d348b409116100d1578063d348b40914610900578063dd62ed3e14610915578063e0cfcc951461095b578063e8078d941461097157600080fd5b8063a9059cbb146108b7578063aa98e163146108d7578063b37659a4146108ed57600080fd5b806390825c28116101645780639d7550261161013e5780639d755026146107f9578063a0e571a21461080f578063a3a2e89e14610825578063a8fb66b41461084557600080fd5b806390825c28146107b757806395d89b41146103555780639cbd09ac146107cc57600080fd5b80637db1342c116101a05780637db1342c146107365780638b42507f146107565780638da5cb5b146107865780638f0d3b8b146107a457600080fd5b8063715018a6146106f55780637220cf391461070a5780637796ff371461072057600080fd5b806326763a6c116102a057806349ce234c1161023e5780635f81a57c116102185780635f81a57c1461065c5780636ebcf6071461067257806370a082311461069f57806371073b38146106d557600080fd5b806349ce234c146105ef578063571ac8b01461061c578063599270441461063c57600080fd5b80633410fe6e1161027a5780633410fe6e1461055c5780633eaaf86b146105715780633f4218e0146105875780634626402b146105b757600080fd5b806326763a6c146105155780632b112e491461052b578063313ce5671461054057600080fd5b80631ab6ab241161030d5780631f1a73d5116102e75780631f1a73d5146104955780631f2c80f1146104b557806321ecff5b146104d557806323b872dd146104f557600080fd5b80631ab6ab24146104225780631d6bdb5b1461046d5780631f02a29c1461047557600080fd5b806306fdde03146103555780630910a51014610392578063095ea7b3146103b157806312fbbbe4146103e157806318160ddd146103f75780631a6865021461040c575b600080fd5b34801561036157600080fd5b506040805180820182526005815264535552474560d81b602082015290516103899190612386565b60405180910390f35b34801561039e57600080fd5b506011545b604051908152602001610389565b3480156103bd57600080fd5b506103d16103cc3660046123ec565b610a47565b6040519015158152602001610389565b3480156103ed57600080fd5b506103a360135481565b34801561040357600080fd5b506003546103a3565b34801561041857600080fd5b506103a360115481565b34801561042e57600080fd5b5061046b61043d366004612418565b601b80546001600160a01b039384166001600160a01b031991821617909155601c8054929093169116179055565b005b61046b610ab4565b34801561048157600080fd5b506103a3610490366004612451565b610c17565b3480156104a157600080fd5b506103a36104b036600461246e565b610c64565b3480156104c157600080fd5b5061046b6104d0366004612418565b610cc2565b3480156104e157600080fd5b5061046b6104f0366004612487565b610d1a565b34801561050157600080fd5b506103d16105103660046124a9565b610dbb565b34801561052157600080fd5b506103a360105481565b34801561053757600080fd5b506103a3610ddd565b34801561054c57600080fd5b5060405160098152602001610389565b34801561056857600080fd5b506103a3606481565b34801561057d57600080fd5b506103a360035481565b34801561059357600080fd5b506103d16105a2366004612451565b60066020526000908152604090205460ff1681565b3480156105c357600080fd5b50600d546105d7906001600160a01b031681565b6040516001600160a01b039091168152602001610389565b3480156105fb57600080fd5b506103a361060a36600461246e565b60156020526000908152604090205481565b34801561062857600080fd5b506103d1610637366004612451565b610e1e565b34801561064857600080fd5b50600c546105d7906001600160a01b031681565b34801561066857600080fd5b506103a360165481565b34801561067e57600080fd5b506103a361068d366004612451565b60046020526000908152604090205481565b3480156106ab57600080fd5b506103a36106ba366004612451565b6001600160a01b031660009081526004602052604090205490565b3480156106e157600080fd5b506103a36106f036600461246e565b610e2c565b34801561070157600080fd5b5061046b610e5e565b34801561071657600080fd5b506103a360175481565b34801561072c57600080fd5b506103a3600f5481565b34801561074257600080fd5b5061046b61075136600461246e565b610ed2565b34801561076257600080fd5b506103d1610771366004612451565b60096020526000908152604090205460ff1681565b34801561079257600080fd5b506000546001600160a01b03166105d7565b6103d16107b2366004612487565b610f1c565b3480156107c357600080fd5b506103a361148a565b3480156107d857600080fd5b506103a36107e7366004612451565b60146020526000908152604090205481565b34801561080557600080fd5b506103a360075481565b34801561081b57600080fd5b506103a360085481565b34801561083157600080fd5b5061046b6108403660046124ea565b6114b8565b34801561085157600080fd5b5061088f61086036600461246e565b601960205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a001610389565b3480156108c357600080fd5b506103d16108d23660046123ec565b61150d565b3480156108e357600080fd5b506103a3600b5481565b6103d16108fb36600461251d565b611521565b34801561090c57600080fd5b506103a3611acd565b34801561092157600080fd5b506103a3610930366004612418565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561096757600080fd5b506103a3600a5481565b61046b611b2c565b34801561098557600080fd5b506103a360125481565b34801561099b57600080fd5b506103a3600e5481565b3480156109b157600080fd5b506103a3611c3f565b3480156109c657600080fd5b5061046b6109d5366004612451565b611fa0565b3480156109e657600080fd5b5061046b6109f5366004612487565b61208a565b348015610a0657600080fd5b506103a3610a1536600461246e565b60186020526000908152604090205481565b348015610a3357600080fd5b5061046b610a423660046124ea565b6120d5565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610aa29086815260200190565b60405180910390a35060015b92915050565b6002805403610ade5760405162461bcd60e51b8152600401610ad590612549565b60405180910390fd5b600280556000546001600160a01b03163314610b0c5760405162461bcd60e51b8152600401610ad590612580565b600c54601054600e54600b546000936001600160a01b03169291610b2f916125cb565b610b3991906125e2565b604051600081818185875af1925050503d8060008114610b75576040519150601f19603f3d011682016040523d82523d6000602084013e610b7a565b606091505b5050600d54601054600f54600b549394506000936001600160a01b0390931692610ba491906125cb565b610bae91906125e2565b604051600081818185875af1925050503d8060008114610bea576040519150601f19603f3d011682016040523d82523d6000602084013e610bef565b606091505b50509050818015610bfd5750805b610c0957610c09612604565b50506000600b556001600255565b6000610c21611c3f565b30600090815260046020526040808220546011546001600160a01b03871684529190922054610c5091906125cb565b610c5a91906125e2565b610aae91906125cb565b306000908152600460205260408120546012548291610c82916125e2565b3060009081526004602052604081205491925090610ca190859061261a565b601254610cae91906125e2565b9050610cba818361262d565b949350505050565b6000546001600160a01b03163314610cec5760405162461bcd60e51b8152600401610ad590612580565b600c80546001600160a01b039384166001600160a01b031991821617909155600d8054929093169116179055565b6000546001600160a01b03163314610d445760405162461bcd60e51b8152600401610ad590612580565b605a8210158015610d565750605a8110155b8015610d63575060648211155b8015610d70575060648111155b610db05760405162461bcd60e51b815260206004820152601160248201527008ccacae640c2e4ca40e8dede40d0d2ced607b1b6044820152606401610ad5565b600891909155600755565b60006001600160a01b0384163314610dd257600080fd5b610cba84848461212a565b61dead600090815260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54600354610e19919061262d565b905090565b6000610aae82600019610a47565b60008082601154610e3d919061262d565b601254610e4a91906125e2565b90506000601154601254610cae91906125e2565b6000546001600160a01b03163314610e885760405162461bcd60e51b8152600401610ad590612580565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610efc5760405162461bcd60e51b8152600401610ad590612580565b6064600354610f0b91906125e2565b811015610f1757600080fd5b600a55565b60006002805403610f3f5760405162461bcd60e51b8152600401610ad590612549565b600280558142811015610f875760405162461bcd60e51b815260206004820152601060248201526f111958591b1a5b99481156141254915160821b6044820152606401610ad5565b336000908152601a6020526040902043905560115415801590610fac57506013544210155b61100f5760405162461bcd60e51b815260206004820152602e60248201527f54686520746f6b656e20686173206e6f206c6971756964697479206f7220747260448201526d30b234b733903737ba1037b832b760911b6064820152608401610ad5565b3360009081526006602052604081205460ff166110455760646008543461103691906125cb565b61104091906125e2565b611047565b345b9050600060115482611059919061261a565b60125461106691906125e2565b30600090815260046020526040902054611080919061262d565b600a5433600090815260046020526040902054919250906110a290839061261a565b1115806110be57503360009081526009602052604090205460ff165b6111005760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ad5565b6001811161115e5760405162461bcd60e51b815260206004820152602560248201527f4d75737420427579206d6f7265207468616e203120646563696d616c206f6620604482015264537572676560d81b6064820152608401610ad5565b858110156111ae5760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e54204f555450555420414d4f554e540000000000006044820152606401610ad5565b6111b83382612321565b60006111c4833461262d565b905080600b546111d4919061261a565b600b556011546111e590849061261a565b6011554260006111f3611c3f565b6111fd90346125cb565b90508060166000828254611211919061261a565b9091555050336000908152601460205260408120805483929061123590849061261a565b90915550506000828152601560205260408120805483929061125890849061261a565b92505081905550600160176000828254611272919061261a565b90915550506017546000908152601860205260408120839055611293611c3f565b61129b611acd565b6112a591906125cb565b6000848152601960205260408120858155600101549192500361136357601754600103611310576112d4611c3f565b600354876011546112e5919061262d565b6112ef91906125e2565b6112f991906125cb565b600084815260196020526040902060010155611363565b60196000601860006001601754611327919061262d565b81526020019081526020016000205481526020019081526020016000206002015460196000858152602001908152602001600020600101819055505b600083815260196020526040902060028101829055600301548111806113985750600083815260196020526040902060030154155b156113b25760008381526019602052604090206003018190555b6000838152601960205260409020600401548110806113e05750600083815260196020526040902060040154155b156113fa5760008381526019602052604090206004018190555b604051858152339030906000805160206127e08339815191529060200160405180910390a330337f7ce543d1780f3bdc3dac42da06c95da802653cd1b212b8d74ec3e3c33ad7095c873461144c611c3f565b611456908c6125cb565b6040805193845260208401929092529082015260600160405180910390a36001975050505050505050600160025592915050565b6000611494611c3f565b61149c611acd565b6114a4610ddd565b6114ae91906125cb565b610e1991906125cb565b6000546001600160a01b031633146114e25760405162461bcd60e51b8152600401610ad590612580565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600061151a33848461212a565b9392505050565b600060028054036115445760405162461bcd60e51b8152600401610ad590612549565b60028055824281101561158c5760405162461bcd60e51b815260206004820152601060248201526f111958591b1a5b99481156141254915160821b6044820152606401610ad5565b336000908152601a60205260409020544390036115a857600080fd5b34156115b357600080fd5b336000818152600460205260409020548611156116125760405162461bcd60e51b815260206004820152601e60248201527f63616e6e6f742073656c6c2061626f766520746f6b656e20616d6f756e7400006044820152606401610ad5565b3060009081526004602052604081205461162d90889061261a565b60125461163a91906125e2565b601154611647919061262d565b905060006064600754606461165c919061262d565b61166690846125cb565b61167091906125e2565b9050600061167e828461262d565b90508683101561168d57600080fd5b3360009081526006602052604081205460ff166116fd576040516001600160a01b03861690619c409084906000818181858888f193505050503d80600081146116f2576040519150601f19603f3d011682016040523d82523d6000602084013e6116f7565b606091505b50611752565b6040516001600160a01b03861690619c409086906000818181858888f193505050503d806000811461174b576040519150601f19603f3d011682016040523d82523d6000602084013e611750565b606091505b505b5090508061175f57600080fd5b6001600160a01b038516600090815260046020526040902054611783908b9061262d565b6001600160a01b03861660009081526004602090815260408083209390935533825260069052205460ff166117c55782600b546117c0919061261a565b6117c9565b600b545b600b556011546117da90859061262d565b601155306000908152600460205260409020546117f8908b9061261a565b306000908152600460205260408120919091554290611815611c3f565b61181f90876125cb565b90508060166000828254611833919061261a565b9091555050336000908152601460205260408120805483929061185790849061261a565b90915550506000828152601560205260408120805483929061187a90849061261a565b92505081905550600160176000828254611894919061261a565b909155505060175460009081526018602052604081208390556118b5611c3f565b6118bd611acd565b6118c791906125cb565b6000848152601960205260408120858155600101549192500361193757601960006018600060016017546118fb919061262d565b81526020019081526020016000205481526020019081526020016000206002015460196000858152602001908152602001600020600101819055505b6000838152601960205260409020600281018290556003015481118061196c5750600083815260196020526040902060030154155b156119865760008381526019602052604090206003018190555b6000838152601960205260409020600401548110806119b45750600083815260196020526040902060040154155b156119ce5760008381526019602052604090206004018190555b6040518d815230906001600160a01b038a16906000805160206127e08339815191529060200160405180910390a33360009081526006602052604090205460ff1615611a5e57604080518e815260208101899052908101839052339030907f9be8a5ca22b7e6e81f04b5879f0248227bb770114291bd47dfaee4c3a82ad60e9060600160405180910390a3611ab4565b33307f9be8a5ca22b7e6e81f04b5879f0248227bb770114291bd47dfaee4c3a82ad60e8f88611a8b611c3f565b611a95908b6125cb565b6040805193845260208401929092529082015260600160405180910390a35b6001995050505050505050505060016002559392505050565b60008060115411611b0f5760405162461bcd60e51b815260206004820152600c60248201526b4e6f204c697175696469747960a01b6044820152606401610ad5565b30600090815260046020526040902054601154610e1991906125e2565b6000546001600160a01b03163314611b565760405162461bcd60e51b8152600401610ad590612580565b60115430600090815260046020526040812054909190611b779034906125cb565b611b8191906125e2565b33600090815260046020526040902054909150811115611ba057600080fd5b601154611bad348261261a565b6011553060009081526004602052604081208054849290611bcf90849061261a565b90915550503360009081526004602052604081208054849290611bf390849061262d565b90915550506011546012548291611c09916125cb565b611c1391906125e2565b601255604051828152309033906000805160206127e08339815191529060200160405180910390a35050565b601b54601c5460408051630dfe168160e01b815290516000936001600160a01b039081169385939116918491630dfe16819160048083019260209291908290030181865afa158015611c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb99190612640565b6001600160a01b031614611d2e57816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d299190612640565b611d90565b816001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d909190612640565b9050600080836001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611dd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df79190612679565b506001600160701b031691506001600160701b03169150601c60009054906101000a90046001600160a01b03166001600160a01b0316846001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e8f9190612640565b6001600160a01b031614611f1157836001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eff9190612679565b506001600160701b0390811693501690505b6000836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7591906126c9565b611f8090600a6127d0565b611f8a90846125cb565b9050611f9682826125e2565b9550505050505090565b6000546001600160a01b03163314611fca5760405162461bcd60e51b8152600401610ad590612580565b6001600160a01b03811661202f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146120b45760405162461bcd60e51b8152600401610ad590612580565b6120be818361261a565b6064146120ca57600080fd5b600e91909155600f55565b6000546001600160a01b031633146120ff5760405162461bcd60e51b8152600401610ad590612580565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000600280540361214d5760405162461bcd60e51b8152600401610ad590612549565b600280556001600160a01b0383161580159061217257506001600160a01b0383163014155b6121be5760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610ad5565b600082116122205760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610ad5565b6001600160a01b03831660009081526009602052604090205460ff168061226c5750600a546001600160a01b03841660009081526004602052604090205461226990849061261a565b11155b61227557600080fd5b6001600160a01b03841660009081526004602052604090205461229990839061262d565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546122c990839061261a565b6001600160a01b0380851660008181526004602052604090819020939093559151908616906000805160206127e08339815191529061230b9086815260200190565b60405180910390a3506001806002559392505050565b6001600160a01b03821660009081526004602052604090205461234590829061261a565b6001600160a01b03831660009081526004602052604080822092909255308152205461237290829061262d565b306000908152600460205260409020555050565b600060208083528351808285015260005b818110156123b357858101830151858201604001528201612397565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146123e957600080fd5b50565b600080604083850312156123ff57600080fd5b823561240a816123d4565b946020939093013593505050565b6000806040838503121561242b57600080fd5b8235612436816123d4565b91506020830135612446816123d4565b809150509250929050565b60006020828403121561246357600080fd5b813561151a816123d4565b60006020828403121561248057600080fd5b5035919050565b6000806040838503121561249a57600080fd5b50508035926020909101359150565b6000806000606084860312156124be57600080fd5b83356124c9816123d4565b925060208401356124d9816123d4565b929592945050506040919091013590565b600080604083850312156124fd57600080fd5b8235612508816123d4565b91506020830135801515811461244657600080fd5b60008060006060848603121561253257600080fd5b505081359360208301359350604090920135919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610aae57610aae6125b5565b6000826125ff57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052600160045260246000fd5b80820180821115610aae57610aae6125b5565b81810381811115610aae57610aae6125b5565b60006020828403121561265257600080fd5b815161151a816123d4565b80516001600160701b038116811461267457600080fd5b919050565b60008060006060848603121561268e57600080fd5b6126978461265d565b92506126a56020850161265d565b9150604084015163ffffffff811681146126be57600080fd5b809150509250925092565b6000602082840312156126db57600080fd5b815160ff8116811461151a57600080fd5b600181815b8085111561272757816000190482111561270d5761270d6125b5565b8085161561271a57918102915b93841c93908002906126f1565b509250929050565b60008261273e57506001610aae565b8161274b57506000610aae565b8160018114612761576002811461276b57612787565b6001915050610aae565b60ff84111561277c5761277c6125b5565b50506001821b610aae565b5060208310610133831016604e8410600b84101617156127aa575081810a610aae565b6127b483836126ec565b80600019048211156127c8576127c86125b5565b029392505050565b600061151a60ff84168361272f56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c60ad6259eccb4e2ba70b1b063b0b8c6eb2f0d677804d3a9ea3d1dde5bb286fd64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106103505760003560e01c8063715018a6116101c6578063a9059cbb116100f7578063e8f620b111610095578063f2fde38b1161006f578063f2fde38b146109ba578063f4034e4b146109da578063f7a62fe9146109fa578063fabe628314610a2757600080fd5b8063e8f620b114610979578063ea6ef2fe1461098f578063f2220c9e146109a557600080fd5b8063d348b409116100d1578063d348b40914610900578063dd62ed3e14610915578063e0cfcc951461095b578063e8078d941461097157600080fd5b8063a9059cbb146108b7578063aa98e163146108d7578063b37659a4146108ed57600080fd5b806390825c28116101645780639d7550261161013e5780639d755026146107f9578063a0e571a21461080f578063a3a2e89e14610825578063a8fb66b41461084557600080fd5b806390825c28146107b757806395d89b41146103555780639cbd09ac146107cc57600080fd5b80637db1342c116101a05780637db1342c146107365780638b42507f146107565780638da5cb5b146107865780638f0d3b8b146107a457600080fd5b8063715018a6146106f55780637220cf391461070a5780637796ff371461072057600080fd5b806326763a6c116102a057806349ce234c1161023e5780635f81a57c116102185780635f81a57c1461065c5780636ebcf6071461067257806370a082311461069f57806371073b38146106d557600080fd5b806349ce234c146105ef578063571ac8b01461061c578063599270441461063c57600080fd5b80633410fe6e1161027a5780633410fe6e1461055c5780633eaaf86b146105715780633f4218e0146105875780634626402b146105b757600080fd5b806326763a6c146105155780632b112e491461052b578063313ce5671461054057600080fd5b80631ab6ab241161030d5780631f1a73d5116102e75780631f1a73d5146104955780631f2c80f1146104b557806321ecff5b146104d557806323b872dd146104f557600080fd5b80631ab6ab24146104225780631d6bdb5b1461046d5780631f02a29c1461047557600080fd5b806306fdde03146103555780630910a51014610392578063095ea7b3146103b157806312fbbbe4146103e157806318160ddd146103f75780631a6865021461040c575b600080fd5b34801561036157600080fd5b506040805180820182526005815264535552474560d81b602082015290516103899190612386565b60405180910390f35b34801561039e57600080fd5b506011545b604051908152602001610389565b3480156103bd57600080fd5b506103d16103cc3660046123ec565b610a47565b6040519015158152602001610389565b3480156103ed57600080fd5b506103a360135481565b34801561040357600080fd5b506003546103a3565b34801561041857600080fd5b506103a360115481565b34801561042e57600080fd5b5061046b61043d366004612418565b601b80546001600160a01b039384166001600160a01b031991821617909155601c8054929093169116179055565b005b61046b610ab4565b34801561048157600080fd5b506103a3610490366004612451565b610c17565b3480156104a157600080fd5b506103a36104b036600461246e565b610c64565b3480156104c157600080fd5b5061046b6104d0366004612418565b610cc2565b3480156104e157600080fd5b5061046b6104f0366004612487565b610d1a565b34801561050157600080fd5b506103d16105103660046124a9565b610dbb565b34801561052157600080fd5b506103a360105481565b34801561053757600080fd5b506103a3610ddd565b34801561054c57600080fd5b5060405160098152602001610389565b34801561056857600080fd5b506103a3606481565b34801561057d57600080fd5b506103a360035481565b34801561059357600080fd5b506103d16105a2366004612451565b60066020526000908152604090205460ff1681565b3480156105c357600080fd5b50600d546105d7906001600160a01b031681565b6040516001600160a01b039091168152602001610389565b3480156105fb57600080fd5b506103a361060a36600461246e565b60156020526000908152604090205481565b34801561062857600080fd5b506103d1610637366004612451565b610e1e565b34801561064857600080fd5b50600c546105d7906001600160a01b031681565b34801561066857600080fd5b506103a360165481565b34801561067e57600080fd5b506103a361068d366004612451565b60046020526000908152604090205481565b3480156106ab57600080fd5b506103a36106ba366004612451565b6001600160a01b031660009081526004602052604090205490565b3480156106e157600080fd5b506103a36106f036600461246e565b610e2c565b34801561070157600080fd5b5061046b610e5e565b34801561071657600080fd5b506103a360175481565b34801561072c57600080fd5b506103a3600f5481565b34801561074257600080fd5b5061046b61075136600461246e565b610ed2565b34801561076257600080fd5b506103d1610771366004612451565b60096020526000908152604090205460ff1681565b34801561079257600080fd5b506000546001600160a01b03166105d7565b6103d16107b2366004612487565b610f1c565b3480156107c357600080fd5b506103a361148a565b3480156107d857600080fd5b506103a36107e7366004612451565b60146020526000908152604090205481565b34801561080557600080fd5b506103a360075481565b34801561081b57600080fd5b506103a360085481565b34801561083157600080fd5b5061046b6108403660046124ea565b6114b8565b34801561085157600080fd5b5061088f61086036600461246e565b601960205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a001610389565b3480156108c357600080fd5b506103d16108d23660046123ec565b61150d565b3480156108e357600080fd5b506103a3600b5481565b6103d16108fb36600461251d565b611521565b34801561090c57600080fd5b506103a3611acd565b34801561092157600080fd5b506103a3610930366004612418565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561096757600080fd5b506103a3600a5481565b61046b611b2c565b34801561098557600080fd5b506103a360125481565b34801561099b57600080fd5b506103a3600e5481565b3480156109b157600080fd5b506103a3611c3f565b3480156109c657600080fd5b5061046b6109d5366004612451565b611fa0565b3480156109e657600080fd5b5061046b6109f5366004612487565b61208a565b348015610a0657600080fd5b506103a3610a1536600461246e565b60186020526000908152604090205481565b348015610a3357600080fd5b5061046b610a423660046124ea565b6120d5565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610aa29086815260200190565b60405180910390a35060015b92915050565b6002805403610ade5760405162461bcd60e51b8152600401610ad590612549565b60405180910390fd5b600280556000546001600160a01b03163314610b0c5760405162461bcd60e51b8152600401610ad590612580565b600c54601054600e54600b546000936001600160a01b03169291610b2f916125cb565b610b3991906125e2565b604051600081818185875af1925050503d8060008114610b75576040519150601f19603f3d011682016040523d82523d6000602084013e610b7a565b606091505b5050600d54601054600f54600b549394506000936001600160a01b0390931692610ba491906125cb565b610bae91906125e2565b604051600081818185875af1925050503d8060008114610bea576040519150601f19603f3d011682016040523d82523d6000602084013e610bef565b606091505b50509050818015610bfd5750805b610c0957610c09612604565b50506000600b556001600255565b6000610c21611c3f565b30600090815260046020526040808220546011546001600160a01b03871684529190922054610c5091906125cb565b610c5a91906125e2565b610aae91906125cb565b306000908152600460205260408120546012548291610c82916125e2565b3060009081526004602052604081205491925090610ca190859061261a565b601254610cae91906125e2565b9050610cba818361262d565b949350505050565b6000546001600160a01b03163314610cec5760405162461bcd60e51b8152600401610ad590612580565b600c80546001600160a01b039384166001600160a01b031991821617909155600d8054929093169116179055565b6000546001600160a01b03163314610d445760405162461bcd60e51b8152600401610ad590612580565b605a8210158015610d565750605a8110155b8015610d63575060648211155b8015610d70575060648111155b610db05760405162461bcd60e51b815260206004820152601160248201527008ccacae640c2e4ca40e8dede40d0d2ced607b1b6044820152606401610ad5565b600891909155600755565b60006001600160a01b0384163314610dd257600080fd5b610cba84848461212a565b61dead600090815260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54600354610e19919061262d565b905090565b6000610aae82600019610a47565b60008082601154610e3d919061262d565b601254610e4a91906125e2565b90506000601154601254610cae91906125e2565b6000546001600160a01b03163314610e885760405162461bcd60e51b8152600401610ad590612580565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610efc5760405162461bcd60e51b8152600401610ad590612580565b6064600354610f0b91906125e2565b811015610f1757600080fd5b600a55565b60006002805403610f3f5760405162461bcd60e51b8152600401610ad590612549565b600280558142811015610f875760405162461bcd60e51b815260206004820152601060248201526f111958591b1a5b99481156141254915160821b6044820152606401610ad5565b336000908152601a6020526040902043905560115415801590610fac57506013544210155b61100f5760405162461bcd60e51b815260206004820152602e60248201527f54686520746f6b656e20686173206e6f206c6971756964697479206f7220747260448201526d30b234b733903737ba1037b832b760911b6064820152608401610ad5565b3360009081526006602052604081205460ff166110455760646008543461103691906125cb565b61104091906125e2565b611047565b345b9050600060115482611059919061261a565b60125461106691906125e2565b30600090815260046020526040902054611080919061262d565b600a5433600090815260046020526040902054919250906110a290839061261a565b1115806110be57503360009081526009602052604090205460ff165b6111005760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610ad5565b6001811161115e5760405162461bcd60e51b815260206004820152602560248201527f4d75737420427579206d6f7265207468616e203120646563696d616c206f6620604482015264537572676560d81b6064820152608401610ad5565b858110156111ae5760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e54204f555450555420414d4f554e540000000000006044820152606401610ad5565b6111b83382612321565b60006111c4833461262d565b905080600b546111d4919061261a565b600b556011546111e590849061261a565b6011554260006111f3611c3f565b6111fd90346125cb565b90508060166000828254611211919061261a565b9091555050336000908152601460205260408120805483929061123590849061261a565b90915550506000828152601560205260408120805483929061125890849061261a565b92505081905550600160176000828254611272919061261a565b90915550506017546000908152601860205260408120839055611293611c3f565b61129b611acd565b6112a591906125cb565b6000848152601960205260408120858155600101549192500361136357601754600103611310576112d4611c3f565b600354876011546112e5919061262d565b6112ef91906125e2565b6112f991906125cb565b600084815260196020526040902060010155611363565b60196000601860006001601754611327919061262d565b81526020019081526020016000205481526020019081526020016000206002015460196000858152602001908152602001600020600101819055505b600083815260196020526040902060028101829055600301548111806113985750600083815260196020526040902060030154155b156113b25760008381526019602052604090206003018190555b6000838152601960205260409020600401548110806113e05750600083815260196020526040902060040154155b156113fa5760008381526019602052604090206004018190555b604051858152339030906000805160206127e08339815191529060200160405180910390a330337f7ce543d1780f3bdc3dac42da06c95da802653cd1b212b8d74ec3e3c33ad7095c873461144c611c3f565b611456908c6125cb565b6040805193845260208401929092529082015260600160405180910390a36001975050505050505050600160025592915050565b6000611494611c3f565b61149c611acd565b6114a4610ddd565b6114ae91906125cb565b610e1991906125cb565b6000546001600160a01b031633146114e25760405162461bcd60e51b8152600401610ad590612580565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600061151a33848461212a565b9392505050565b600060028054036115445760405162461bcd60e51b8152600401610ad590612549565b60028055824281101561158c5760405162461bcd60e51b815260206004820152601060248201526f111958591b1a5b99481156141254915160821b6044820152606401610ad5565b336000908152601a60205260409020544390036115a857600080fd5b34156115b357600080fd5b336000818152600460205260409020548611156116125760405162461bcd60e51b815260206004820152601e60248201527f63616e6e6f742073656c6c2061626f766520746f6b656e20616d6f756e7400006044820152606401610ad5565b3060009081526004602052604081205461162d90889061261a565b60125461163a91906125e2565b601154611647919061262d565b905060006064600754606461165c919061262d565b61166690846125cb565b61167091906125e2565b9050600061167e828461262d565b90508683101561168d57600080fd5b3360009081526006602052604081205460ff166116fd576040516001600160a01b03861690619c409084906000818181858888f193505050503d80600081146116f2576040519150601f19603f3d011682016040523d82523d6000602084013e6116f7565b606091505b50611752565b6040516001600160a01b03861690619c409086906000818181858888f193505050503d806000811461174b576040519150601f19603f3d011682016040523d82523d6000602084013e611750565b606091505b505b5090508061175f57600080fd5b6001600160a01b038516600090815260046020526040902054611783908b9061262d565b6001600160a01b03861660009081526004602090815260408083209390935533825260069052205460ff166117c55782600b546117c0919061261a565b6117c9565b600b545b600b556011546117da90859061262d565b601155306000908152600460205260409020546117f8908b9061261a565b306000908152600460205260408120919091554290611815611c3f565b61181f90876125cb565b90508060166000828254611833919061261a565b9091555050336000908152601460205260408120805483929061185790849061261a565b90915550506000828152601560205260408120805483929061187a90849061261a565b92505081905550600160176000828254611894919061261a565b909155505060175460009081526018602052604081208390556118b5611c3f565b6118bd611acd565b6118c791906125cb565b6000848152601960205260408120858155600101549192500361193757601960006018600060016017546118fb919061262d565b81526020019081526020016000205481526020019081526020016000206002015460196000858152602001908152602001600020600101819055505b6000838152601960205260409020600281018290556003015481118061196c5750600083815260196020526040902060030154155b156119865760008381526019602052604090206003018190555b6000838152601960205260409020600401548110806119b45750600083815260196020526040902060040154155b156119ce5760008381526019602052604090206004018190555b6040518d815230906001600160a01b038a16906000805160206127e08339815191529060200160405180910390a33360009081526006602052604090205460ff1615611a5e57604080518e815260208101899052908101839052339030907f9be8a5ca22b7e6e81f04b5879f0248227bb770114291bd47dfaee4c3a82ad60e9060600160405180910390a3611ab4565b33307f9be8a5ca22b7e6e81f04b5879f0248227bb770114291bd47dfaee4c3a82ad60e8f88611a8b611c3f565b611a95908b6125cb565b6040805193845260208401929092529082015260600160405180910390a35b6001995050505050505050505060016002559392505050565b60008060115411611b0f5760405162461bcd60e51b815260206004820152600c60248201526b4e6f204c697175696469747960a01b6044820152606401610ad5565b30600090815260046020526040902054601154610e1991906125e2565b6000546001600160a01b03163314611b565760405162461bcd60e51b8152600401610ad590612580565b60115430600090815260046020526040812054909190611b779034906125cb565b611b8191906125e2565b33600090815260046020526040902054909150811115611ba057600080fd5b601154611bad348261261a565b6011553060009081526004602052604081208054849290611bcf90849061261a565b90915550503360009081526004602052604081208054849290611bf390849061262d565b90915550506011546012548291611c09916125cb565b611c1391906125e2565b601255604051828152309033906000805160206127e08339815191529060200160405180910390a35050565b601b54601c5460408051630dfe168160e01b815290516000936001600160a01b039081169385939116918491630dfe16819160048083019260209291908290030181865afa158015611c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb99190612640565b6001600160a01b031614611d2e57816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d299190612640565b611d90565b816001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d909190612640565b9050600080836001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611dd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df79190612679565b506001600160701b031691506001600160701b03169150601c60009054906101000a90046001600160a01b03166001600160a01b0316846001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e8f9190612640565b6001600160a01b031614611f1157836001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eff9190612679565b506001600160701b0390811693501690505b6000836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7591906126c9565b611f8090600a6127d0565b611f8a90846125cb565b9050611f9682826125e2565b9550505050505090565b6000546001600160a01b03163314611fca5760405162461bcd60e51b8152600401610ad590612580565b6001600160a01b03811661202f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146120b45760405162461bcd60e51b8152600401610ad590612580565b6120be818361261a565b6064146120ca57600080fd5b600e91909155600f55565b6000546001600160a01b031633146120ff5760405162461bcd60e51b8152600401610ad590612580565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000600280540361214d5760405162461bcd60e51b8152600401610ad590612549565b600280556001600160a01b0383161580159061217257506001600160a01b0383163014155b6121be5760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610ad5565b600082116122205760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610ad5565b6001600160a01b03831660009081526009602052604090205460ff168061226c5750600a546001600160a01b03841660009081526004602052604090205461226990849061261a565b11155b61227557600080fd5b6001600160a01b03841660009081526004602052604090205461229990839061262d565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546122c990839061261a565b6001600160a01b0380851660008181526004602052604090819020939093559151908616906000805160206127e08339815191529061230b9086815260200190565b60405180910390a3506001806002559392505050565b6001600160a01b03821660009081526004602052604090205461234590829061261a565b6001600160a01b03831660009081526004602052604080822092909255308152205461237290829061262d565b306000908152600460205260409020555050565b600060208083528351808285015260005b818110156123b357858101830151858201604001528201612397565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146123e957600080fd5b50565b600080604083850312156123ff57600080fd5b823561240a816123d4565b946020939093013593505050565b6000806040838503121561242b57600080fd5b8235612436816123d4565b91506020830135612446816123d4565b809150509250929050565b60006020828403121561246357600080fd5b813561151a816123d4565b60006020828403121561248057600080fd5b5035919050565b6000806040838503121561249a57600080fd5b50508035926020909101359150565b6000806000606084860312156124be57600080fd5b83356124c9816123d4565b925060208401356124d9816123d4565b929592945050506040919091013590565b600080604083850312156124fd57600080fd5b8235612508816123d4565b91506020830135801515811461244657600080fd5b60008060006060848603121561253257600080fd5b505081359360208301359350604090920135919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610aae57610aae6125b5565b6000826125ff57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052600160045260246000fd5b80820180821115610aae57610aae6125b5565b81810381811115610aae57610aae6125b5565b60006020828403121561265257600080fd5b815161151a816123d4565b80516001600160701b038116811461267457600080fd5b919050565b60008060006060848603121561268e57600080fd5b6126978461265d565b92506126a56020850161265d565b9150604084015163ffffffff811681146126be57600080fd5b809150509250925092565b6000602082840312156126db57600080fd5b815160ff8116811461151a57600080fd5b600181815b8085111561272757816000190482111561270d5761270d6125b5565b8085161561271a57918102915b93841c93908002906126f1565b509250929050565b60008261273e57506001610aae565b8161274b57506000610aae565b8160018114612761576002811461276b57612787565b6001915050610aae565b60ff84111561277c5761277c6125b5565b50506001821b610aae565b5060208310610133831016604e8410600b84101617156127aa575081810a610aae565b6127b483836126ec565b80600019048211156127c8576127c86125b5565b029392505050565b600061151a60ff84168361272f56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c60ad6259eccb4e2ba70b1b063b0b8c6eb2f0d677804d3a9ea3d1dde5bb286fd64736f6c63430008110033

Deployed Bytecode Sourcemap

3195:15012:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6198:83;;;;;;;;;;-1:-1:-1;6268:5:0;;;;;;;;;;;-1:-1:-1;;;6268:5:0;;;;6198:83;;;;6268:5;6198:83;:::i;:::-;;;;;;;;14557:87;;;;;;;;;;-1:-1:-1;14627:9:0;;14557:87;;;713:25:1;;;701:2;686:18;14557:87:0;567:177:1;6475:216:0;;;;;;;;;;-1:-1:-1;6475:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6475:216:0;1205:187:1;4845:41:0;;;;;;;;;;;;;;;;5854:88;;;;;;;;;;-1:-1:-1;5927:12:0;;5854:88;;4750:34;;;;;;;;;;;;;;;;17278:178;;;;;;;;;;-1:-1:-1;17278:178:0;;;;;:::i;:::-;17372:17;:33;;-1:-1:-1;;;;;17372:33:0;;;-1:-1:-1;;;;;;17372:33:0;;;;;;;17416:13;:32;;;;;;;;;;;17278:178;;;15605:337;;;:::i;14719:165::-;;;;;;;;;;-1:-1:-1;14719:165:0;;;;;:::i;:::-;;:::i;16205:269::-;;;;;;;;;;-1:-1:-1;16205:269:0;;;;;:::i;:::-;;:::i;15410:187::-;;;;;;;;;;-1:-1:-1;15410:187:0;;;;;:::i;:::-;;:::i;14892:264::-;;;;;;;;;;-1:-1:-1;14892:264:0;;;;;:::i;:::-;;:::i;7603:212::-;;;;;;;;;;-1:-1:-1;7603:212:0;;;;;:::i;:::-;;:::i;4578:33::-;;;;;;;;;;;;;;;;6826:116;;;;;;;;;;;;;:::i;6384:83::-;;;;;;;;;;-1:-1:-1;6384:83:0;;3632:1;3083:36:1;;3071:2;3056:18;6384:83:0;2941:184:1;4062:37:0;;;;;;;;;;;;4096:3;4062:37;;3725:50;;;;;;;;;;;;;;;;3944:44;;;;;;;;;;-1:-1:-1;3944:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4400:74;;;;;;;;;;-1:-1:-1;4400:74:0;;;;-1:-1:-1;;;;;4400:74:0;;;;;;-1:-1:-1;;;;;3294:32:1;;;3276:51;;3264:2;3249:18;4400:74:0;3130:203:1;4967:40:0;;;;;;;;;;-1:-1:-1;4967:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;6699:119;;;;;;;;;;-1:-1:-1;6699:119:0;;;;;:::i;:::-;;:::i;4323:70::-;;;;;;;;;;-1:-1:-1;4323:70:0;;;;-1:-1:-1;;;;;4323:70:0;;;5014:30;;;;;;;;;;;;;;;;3801:45;;;;;;;;;;-1:-1:-1;3801:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;5948:105;;;;;;;;;;-1:-1:-1;5948:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6032:18:0;6014:7;6032:18;;;:9;:18;;;;;;;5948:105;15950:247;;;;;;;;;;-1:-1:-1;15950:247:0;;;;;:::i;:::-;;:::i;2790:148::-;;;;;;;;;;;;;:::i;5077:22::-;;;;;;;;;;;;;;;;4538:33;;;;;;;;;;;;;;;;6950:149;;;;;;;;;;-1:-1:-1;6950:149:0;;;;;:::i;:::-;;:::i;4136:48::-;;;;;;;;;;-1:-1:-1;4136:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2580:79;;;;;;;;;;-1:-1:-1;2618:7:0;2645:6;-1:-1:-1;;;;;2645:6:0;2580:79;;8810:2596;;;;;;:::i;:::-;;:::i;16967:135::-;;;;;;;;;;;;;:::i;4918:42::-;;;;;;;;;;-1:-1:-1;4918:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;3995:27;;;;;;;;;;;;;;;;4029:26;;;;;;;;;;;;;;;;7111:122;;;;;;;;;;-1:-1:-1;7111:122:0;;;;;:::i;:::-;;:::i;5311:54::-;;;;;;;;;;-1:-1:-1;5311:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4018:25:1;;;4074:2;4059:18;;4052:34;;;;4102:18;;;4095:34;;;;4160:2;4145:18;;4138:34;4203:3;4188:19;;4181:35;4005:3;3990:19;5311:54:0;3759:463:1;7409:156:0;;;;;;;;;;-1:-1:-1;7409:156:0;;;;;:::i;:::-;;:::i;4266:29::-;;;;;;;;;;;;;;;;11739:2768;;;;;;:::i;:::-;;:::i;18042:162::-;;;;;;;;;;;;;:::i;6059:133::-;;;;;;;;;;-1:-1:-1;6059:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6161:19:0;;;6143:7;6161:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6059:133;4191:40;;;;;;;;;;;;;;;;16482:477;;;:::i;4791:47::-;;;;;;;;;;;;;;;;4502:29;;;;;;;;;;;;;;;;17509:469;;;;;;;;;;;;;:::i;2944:244::-;;;;;;;;;;-1:-1:-1;2944:244:0;;;;;:::i;:::-;;:::i;15164:238::-;;;;;;;;;;-1:-1:-1;15164:238:0;;;;;:::i;:::-;;:::i;5106:46::-;;;;;;;;;;-1:-1:-1;5106:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;7241:130;;;;;;;;;;-1:-1:-1;7241:130:0;;;;;:::i;:::-;;:::i;6475:216::-;6579:10;6550:4;6567:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6567:32:0;;;;;;;;;;:41;;;6624:37;6550:4;;6567:32;;6624:37;;;;6602:6;713:25:1;;701:2;686:18;;567:177;6624:37:0;;;;;;;;-1:-1:-1;6679:4:0;6475:216;;;;;:::o;15605:337::-;551:1;696:7;;:19;688:63;;;;-1:-1:-1;;;688:63:0;;;;;;;:::i;:::-;;;;;;;;;551:1;762:18;;2705:6:::1;::::0;-1:-1:-1;;;;;2705:6:0::1;1960:10:::0;2705:22:::1;2697:67;;;;-1:-1:-1::0;;;2697:67:0::1;;;;;;;:::i;:::-;15711:10:::2;::::0;15755:12:::2;::::0;15745:9:::2;::::0;15734:10:::2;::::0;15689::::2;::::0;-1:-1:-1;;;;;15711:10:0::2;::::0;15755:12;15734:20:::2;::::0;::::2;:::i;:::-;:33;;;;:::i;:::-;15703:69;::::0;::::2;::::0;;;;;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15806:14:0::2;::::0;15858:12:::2;::::0;15844:13:::2;::::0;15833:10:::2;::::0;15688:84;;-1:-1:-1;15784:10:0::2;::::0;-1:-1:-1;;;;;15806:14:0;;::::2;::::0;15833:24:::2;::::0;15844:13;15833:24:::2;:::i;:::-;:37;;;;:::i;:::-;15798:77;::::0;::::2;::::0;;;;;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15783:92;;;15893:5;:14;;;;;15902:5;15893:14;15886:22;;;;:::i;:::-;-1:-1:-1::0;;15932:1:0::2;15919:10;:14:::0;507:1;803:7;:22;15605:337::o;14719:165::-;14783:7;14863:13;:11;:13::i;:::-;14856:4;14838:24;;;;:9;:24;;;;;;;14828:9;;-1:-1:-1;;;;;14810:17:0;;;;;;;;;:27;;14828:9;14810:27;:::i;:::-;:52;;;;:::i;:::-;:66;;;;:::i;16205:269::-;16340:4;16269:7;16322:24;;;:9;:24;;;;;;16311:8;;16269:7;;16311:35;;;:::i;:::-;16408:4;16357:18;16390:24;;;:9;:24;;;;;;16289:57;;-1:-1:-1;16357:18:0;16390:35;;16417:8;;16390:35;:::i;:::-;16378:8;;:48;;;;:::i;:::-;16357:69;-1:-1:-1;16444:22:0;16357:69;16444:11;:22;:::i;:::-;16437:29;16205:269;-1:-1:-1;;;;16205:269:0:o;15410:187::-;2705:6;;-1:-1:-1;;;;;2705:6:0;1960:10;2705:22;2697:67;;;;-1:-1:-1;;;2697:67:0;;;;;;;:::i;:::-;15518:10:::1;:26:::0;;-1:-1:-1;;;;;15518:26:0;;::::1;-1:-1:-1::0;;;;;;15518:26:0;;::::1;;::::0;;;15555:14:::1;:34:::0;;;;;::::1;::::0;::::1;;::::0;;15410:187::o;14892:264::-;2705:6;;-1:-1:-1;;;;;2705:6:0;1960:10;2705:22;2697:67;;;;-1:-1:-1;;;2697:67:0;;;;;;;:::i;:::-;15003:2:::1;14990:9;:15;;:35;;;;;15023:2;15009:10;:16;;14990:35;:54;;;;;15041:3;15029:9;:15;;14990:54;:74;;;;;15061:3;15048:10;:16;;14990:74;14981:105;;;::::0;-1:-1:-1;;;14981:105:0;;6603:2:1;14981:105:0::1;::::0;::::1;6585:21:1::0;6642:2;6622:18;;;6615:30;-1:-1:-1;;;6661:18:1;;;6654:47;6718:18;;14981:105:0::1;6401:341:1::0;14981:105:0::1;15099:6;:18:::0;;;;15128:7:::1;:20:::0;14892:264::o;7603:212::-;7703:4;-1:-1:-1;;;;;7728:20:0;;7738:10;7728:20;7720:29;;;;;;7767:40;7781:6;7789:9;7800:6;7767:13;:40::i;6826:116::-;4673:42;6879:7;6919:15;;;:9;:15;;;;6906:12;;:28;;6919:15;6906:28;:::i;:::-;6899:35;;6826:116;:::o;6699:119::-;6754:4;6778:32;6786:7;-1:-1:-1;;6778:7:0;:32::i;15950:247::-;16021:7;16041:19;16083:11;16073:9;;:21;;;;:::i;:::-;16063:8;;:32;;;;:::i;:::-;16041:54;;16106:20;16138:9;;16129:8;;:18;;;;:::i;2790:148::-;2705:6;;-1:-1:-1;;;;;2705:6:0;1960:10;2705:22;2697:67;;;;-1:-1:-1;;;2697:67:0;;;;;;;:::i;:::-;2897:1:::1;2881:6:::0;;2860:40:::1;::::0;-1:-1:-1;;;;;2881:6:0;;::::1;::::0;2860:40:::1;::::0;2897:1;;2860:40:::1;2928:1;2911:19:::0;;-1:-1:-1;;;;;;2911:19:0::1;::::0;;2790:148::o;6950:149::-;2705:6;;-1:-1:-1;;;;;2705:6:0;1960:10;2705:22;2697:67;;;;-1:-1:-1;;;2697:67:0;;;;;;;:::i;:::-;7058:3:::1;7045:12;;:16;;;;:::i;:::-;7033:8;:28;;7025:37;;;::::0;::::1;;7073:6;:18:::0;6950:149::o;8810:2596::-;8917:4;551:1;696:7;;:19;688:63;;;;-1:-1:-1;;;688:63:0;;;;;;;:::i;:::-;551:1;762:18;;8890:8;8674:15:::1;8662:27:::0;::::1;;8654:56;;;::::0;-1:-1:-1;;;8654:56:0;;6949:2:1;8654:56:0::1;::::0;::::1;6931:21:1::0;6988:2;6968:18;;;6961:30;-1:-1:-1;;;7007:18:1;;;7000:46;7063:18;;8654:56:0::1;6747:340:1::0;8654:56:0::1;8947:10:::2;8934:24;::::0;;;:12:::2;:24;::::0;;;;8959:12:::2;8934:37:::0;;9039:9:::2;::::0;:13;;;;:48:::2;;;9074:13;;9056:15;:31;;9039:48;9031:107;;;::::0;-1:-1:-1;;;9031:107:0;;7294:2:1;9031:107:0::2;::::0;::::2;7276:21:1::0;7333:2;7313:18;;;7306:30;7372:34;7352:18;;;7345:62;-1:-1:-1;;;7423:18:1;;;7416:44;7477:19;;9031:107:0::2;7092:410:1::0;9031:107:0::2;9218:10;9186:17;9206:23:::0;;;:11:::2;:23;::::0;;;;;::::2;;:66;;4096:3;9256:6;;9244:9;:18;;;;:::i;:::-;:28;;;;:::i;:::-;9206:66;;;9232:9;9206:66;9186:86;;9336:20;9405:9;;9395;:19;;;;:::i;:::-;9385:8;;:30;;;;:::i;:::-;9377:4;9359:24;::::0;;;:9:::2;:24;::::0;;;;;:57:::2;::::0;;::::2;:::i;:::-;9515:6;::::0;9485:10:::2;9475:21;::::0;;;:9:::2;:21;::::0;;;;;9336:80;;-1:-1:-1;9515:6:0;9475:36:::2;::::0;9336:80;;9475:36:::2;:::i;:::-;:46;;:77;;;-1:-1:-1::0;9541:10:0::2;9525:27;::::0;;;:15:::2;:27;::::0;;;;;::::2;;9475:77;9467:108;;;::::0;-1:-1:-1;;;9467:108:0;;7709:2:1;9467:108:0::2;::::0;::::2;7691:21:1::0;7748:2;7728:18;;;7721:30;-1:-1:-1;;;7767:18:1;;;7760:49;7826:18;;9467:108:0::2;7507:343:1::0;9467:108:0::2;9641:1;9626:12;:16;9618:65;;;::::0;-1:-1:-1;;;9618:65:0;;8057:2:1;9618:65:0::2;::::0;::::2;8039:21:1::0;8096:2;8076:18;;;8069:30;8135:34;8115:18;;;8108:62;-1:-1:-1;;;8186:18:1;;;8179:35;8231:19;;9618:65:0::2;7855:401:1::0;9618:65:0::2;9752:11;9736:12;:27;;9728:65;;;::::0;-1:-1:-1;;;9728:65:0;;8463:2:1;9728:65:0::2;::::0;::::2;8445:21:1::0;8502:2;8482:18;;;8475:30;8541:28;8521:18;;;8514:56;8587:18;;9728:65:0::2;8261:350:1::0;9728:65:0::2;9859:29;9863:10;9875:12;9859:3;:29::i;:::-;9958:17;9978:21;9990:9:::0;9978::::2;:21;:::i;:::-;9958:41;;10036:9;10023:10;;:22;;;;:::i;:::-;10010:10;:35:::0;10068:9:::2;::::0;:21:::2;::::0;10080:9;;10068:21:::2;:::i;:::-;10056:9;:33:::0;10140:15:::2;10127:10;10193:13;:11;:13::i;:::-;10183:23;::::0;:9:::2;:23;:::i;:::-;10166:40;;10232:9;10217:11;;:24;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;10259:10:0::2;10252:18;::::0;;;:6:::2;:18;::::0;;;;:30;;10273:9;;10252:18;:30:::2;::::0;10273:9;;10252:30:::2;:::i;:::-;::::0;;;-1:-1:-1;;10293:11:0::2;::::0;;;:4:::2;:11;::::0;;;;:22;;10306:9;;10293:11;:22:::2;::::0;10306:9;;10293:22:::2;:::i;:::-;;;;;;;;10371:1;10362:7;;:10;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;10395:7:0::2;::::0;10383:20:::2;::::0;;;:11:::2;:20;::::0;;;;:27;;;10452:13:::2;:11;:13::i;:::-;10435:16;:14;:16::i;:::-;:30;;;;:::i;:::-;10476:22;::::0;;;:15:::2;:22;::::0;;;;:34;;;10524:27:::2;;::::0;10421:44;;-1:-1:-1;10524:32:0;10521:298:::2;;10575:7;;10584:1;10575:10:::0;10572:236:::2;;10682:13;:11;:13::i;:::-;10668:12;;10656:9;10646;;:19;;;;:::i;:::-;10645:36;;;;:::i;:::-;:50;;;;:::i;:::-;10615:22;::::0;;;:15:::2;:22;::::0;;;;:27:::2;;:80:::0;10572:236:::2;;;10761:15;:39;10777:11;:22;10797:1;10789:7;;:9;;;;:::i;:::-;10777:22;;;;;;;;;;;;10761:39;;;;;;;;;;;:45;;;10731:15;:22;10747:5;10731:22;;;;;;;;;;;:27;;:75;;;;10572:236;10829:22;::::0;;;:15:::2;:22;::::0;;;;:28:::2;::::0;::::2;:37:::0;;;10890:27:::2;;::::0;:36;-1:-1:-1;10890:36:0;:70:::2;;-1:-1:-1::0;10930:22:0::2;::::0;;;:15:::2;:22;::::0;;;;:27:::2;;::::0;:30;10890:70:::2;10887:137;;;10976:22;::::0;;;:15:::2;:22;::::0;;;;:27:::2;;:36:::0;;;10887:137:::2;11041:22;::::0;;;:15:::2;:22;::::0;;;;:26:::2;;::::0;:35;-1:-1:-1;11041:35:0;:68:::2;;-1:-1:-1::0;11080:22:0::2;::::0;;;:15:::2;:22;::::0;;;;:26:::2;;::::0;:29;11041:68:::2;11038:134;;;11125:22;::::0;;;:15:::2;:22;::::0;;;;:26:::2;;:35:::0;;;11038:134:::2;11229:49;::::0;713:25:1;;;11253:10:0::2;::::0;11246:4:::2;::::0;-1:-1:-1;;;;;;;;;;;11229:49:0;701:2:1;686:18;11229:49:0::2;;;;;;;11321:4;11301:10;11294:82;11328:12:::0;11342:9:::2;11362:13;:11;:13::i;:::-;11352:23;::::0;:9;:23:::2;:::i;:::-;11294:82;::::0;;8818:25:1;;;8874:2;8859:18;;8852:34;;;;8902:18;;;8895:34;8806:2;8791:18;11294:82:0::2;;;;;;;11394:4;11387:11;;;;;;;;-1:-1:-1::0;507:1:0;803:7;:22;8810:2596;;-1:-1:-1;;8810:2596:0:o;16967:135::-;17013:7;17080:13;:11;:13::i;:::-;17063:16;:14;:16::i;:::-;17040:22;:20;:22::i;:::-;:39;;;;:::i;:::-;:53;;;;:::i;7111:122::-;2705:6;;-1:-1:-1;;;;;2705:6:0;1960:10;2705:22;2697:67;;;;-1:-1:-1;;;2697:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7197:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;7197:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7111:122::o;7409:156::-;7489:4;7513:44;7527:10;7539:9;7550:6;7513:13;:44::i;:::-;7506:51;7409:156;-1:-1:-1;;;7409:156:0:o;11739:2768::-;11866:4;551:1;696:7;;:19;688:63;;;;-1:-1:-1;;;688:63:0;;;;;;;:::i;:::-;551:1;762:18;;11839:8;8674:15:::1;8662:27:::0;::::1;;8654:56;;;::::0;-1:-1:-1;;;8654:56:0;;6949:2:1;8654:56:0::1;::::0;::::1;6931:21:1::0;6988:2;6968:18;;;6961:30;-1:-1:-1;;;7007:18:1;;;7000:46;7063:18;;8654:56:0::1;6747:340:1::0;8654:56:0::1;11904:10:::2;11891:24;::::0;;;:12:::2;:24;::::0;;;;;11917:12:::2;11891:38:::0;;11883:47:::2;;;::::0;::::2;;11949:9;:14:::0;11941:23:::2;;;::::0;::::2;;12002:10;11985:14;12087:17:::0;;;:9:::2;:17;::::0;;;;;:32;-1:-1:-1;12087:32:0::2;12079:75;;;::::0;-1:-1:-1;;;12079:75:0;;9142:2:1;12079:75:0::2;::::0;::::2;9124:21:1::0;9181:2;9161:18;;;9154:30;9220:32;9200:18;;;9193:60;9270:18;;12079:75:0::2;8940:354:1::0;12079:75:0::2;12288:4;12227:17;12270:24:::0;;;:9:::2;:24;::::0;;;;;:36:::2;::::0;12295:11;;12270:36:::2;:::i;:::-;12260:8;;:47;;;;:::i;:::-;12247:9;;:61;;;;:::i;:::-;12227:81;;12319:17;4096:3;12362:7;;4096:3;12352:17;;;;:::i;:::-;12339:31;::::0;:9;:31:::2;:::i;:::-;:39;;;;:::i;:::-;12319:59:::0;-1:-1:-1;12389:17:0::2;12409:21;12319:59:::0;12409:9;:21:::2;:::i;:::-;12389:41;;12499:9;12486;:22;;12478:31;;;::::0;::::2;;12586:10;12554:15;12574:23:::0;;;:11:::2;:23;::::0;;;;;::::2;;:134;;12655:53;::::0;-1:-1:-1;;;;;12655:20:0;::::2;::::0;12698:5:::2;::::0;12683:9;;12655:53:::2;::::0;;;12683:9;12655:20;12698:5;12655:53:::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12574:134;;;12600:53;::::0;-1:-1:-1;;;;;12600:20:0;::::2;::::0;12643:5:::2;::::0;12628:9;;12600:53:::2;::::0;;;12628:9;12600:20;12643:5;12600:53:::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12574:134;12553:155;;;12728:10;12720:19;;;::::0;::::2;;-1:-1:-1::0;;;;;12817:17:0;::::2;;::::0;;;:9:::2;:17;::::0;;;;;:31:::2;::::0;12837:11;;12817:31:::2;:::i;:::-;-1:-1:-1::0;;;;;12797:17:0;::::2;;::::0;;;:9:::2;:17;::::0;;;;;;;:51;;;;12991:10:::2;12979:23:::0;;:11:::2;:23:::0;;;;::::2;;:61;;13031:9;13018:10;;:22;;;;:::i;:::-;12979:61;;;13005:10;;12979:61;12966:10;:74:::0;13063:9:::2;::::0;:21:::2;::::0;13075:9;;13063:21:::2;:::i;:::-;13051:9;:33:::0;13186:4:::2;13168:24;::::0;;;:9:::2;:24;::::0;;;;;:37:::2;::::0;13194:11;;13168:37:::2;:::i;:::-;13161:4;13143:24;::::0;;;:9:::2;:24;::::0;;;;:62;;;;13256:15:::2;::::0;13309:13:::2;:11;:13::i;:::-;13299:23;::::0;:9;:23:::2;:::i;:::-;13282:40;;13348:10;13333:11;;:25;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;13376:10:0::2;13369:18;::::0;;;:6:::2;:18;::::0;;;;:31;;13390:10;;13369:18;:31:::2;::::0;13390:10;;13369:31:::2;:::i;:::-;::::0;;;-1:-1:-1;;13411:11:0::2;::::0;;;:4:::2;:11;::::0;;;;:23;;13424:10;;13411:11;:23:::2;::::0;13424:10;;13411:23:::2;:::i;:::-;;;;;;;;13490:1;13481:7;;:10;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;13514:7:0::2;::::0;13502:20:::2;::::0;;;:11:::2;:20;::::0;;;;:27;;;13571:13:::2;:11;:13::i;:::-;13554:16;:14;:16::i;:::-;:30;;;;:::i;:::-;13595:22;::::0;;;:15:::2;:22;::::0;;;;:34;;;13643:27:::2;;::::0;13540:44;;-1:-1:-1;13643:32:0;13640:138:::2;;13721:15;:39;13737:11;:22;13757:1;13749:7;;:9;;;;:::i;:::-;13737:22;;;;;;;;;;;;13721:39;;;;;;;;;;;:45;;;13691:15;:22;13707:5;13691:22;;;;;;;;;;;:27;;:75;;;;13640:138;13788:22;::::0;;;:15:::2;:22;::::0;;;;:28:::2;::::0;::::2;:37:::0;;;13849:27:::2;;::::0;:36;-1:-1:-1;13849:36:0;:70:::2;;-1:-1:-1::0;13889:22:0::2;::::0;;;:15:::2;:22;::::0;;;;:27:::2;;::::0;:30;13849:70:::2;13846:137;;;13935:22;::::0;;;:15:::2;:22;::::0;;;;:27:::2;;:36:::0;;;13846:137:::2;14000:22;::::0;;;:15:::2;:22;::::0;;;;:26:::2;;::::0;:35;-1:-1:-1;14000:35:0;:68:::2;;-1:-1:-1::0;14039:22:0::2;::::0;;;:15:::2;:22;::::0;;;;:26:::2;;::::0;:29;14000:68:::2;13997:134;;;14084:22;::::0;;;:15:::2;:22;::::0;;;;:26:::2;;:35:::0;;;13997:134:::2;14190:44;::::0;713:25:1;;;14215:4:0::2;::::0;-1:-1:-1;;;;;14190:44:0;::::2;::::0;-1:-1:-1;;;;;;;;;;;14190:44:0;701:2:1;686:18;14190:44:0::2;;;;;;;14260:10;14248:23;::::0;;;:11:::2;:23;::::0;;;;;::::2;;14245:233;;;14292:64;::::0;;8818:25:1;;;8874:2;8859:18;;8852:34;;;8902:18;;;8895:34;;;14312:10:0::2;::::0;14305:4:::2;::::0;14292:64:::2;::::0;8806:2:1;8791:18;14292:64:0::2;;;;;;;14245:233;;;14419:10;14412:4;14399:77;14430:11:::0;14442:9;14462:13:::2;:11;:13::i;:::-;14452:23;::::0;:9;:23:::2;:::i;:::-;14399:77;::::0;;8818:25:1;;;8874:2;8859:18;;8852:34;;;;8902:18;;;8895:34;8806:2;8791:18;14399:77:0::2;;;;;;;14245:233;14495:4;14488:11;;;;;;;;;;-1:-1:-1::0;507:1:0;803:7;:22;11739:2768;;-1:-1:-1;;;11739:2768:0:o;18042:162::-;18089:7;18127:1;18117:9;;:11;18109:35;;;;-1:-1:-1;;;18109:35:0;;9501:2:1;18109:35:0;;;9483:21:1;9540:2;9520:18;;;9513:30;-1:-1:-1;;;9559:18:1;;;9552:42;9611:18;;18109:35:0;9299:336:1;18109:35:0;18190:4;18172:24;;;;:9;:24;;;;;;18162:9;;:34;;18172:24;18162:34;:::i;16482:477::-;2705:6;;-1:-1:-1;;;;;2705:6:0;1960:10;2705:22;2697:67;;;;-1:-1:-1;;;2697:67:0;;;;;;;:::i;:::-;16600:9:::1;::::0;16583:4:::1;16544:19;16565:24:::0;;;:9:::1;:24;::::0;;;;;16544:19;;16600:9;16565:34:::1;::::0;16590:9:::1;::::0;16565:34:::1;:::i;:::-;:44;;;;:::i;:::-;16638:10;16628:21;::::0;;;:9:::1;:21;::::0;;;;;16544:65;;-1:-1:-1;16628:35:0;-1:-1:-1;16628:35:0::1;16620:44;;;::::0;::::1;;16694:9;::::0;16726:19:::1;16736:9;16694::::0;16726:19:::1;:::i;:::-;16714:9;:31:::0;16774:4:::1;16756:24;::::0;;;:9:::1;:24;::::0;;;;:38;;16783:11;;16756:24;:38:::1;::::0;16783:11;;16756:38:::1;:::i;:::-;::::0;;;-1:-1:-1;;16815:10:0::1;16805:21;::::0;;;:9:::1;:21;::::0;;;;:35;;16829:11;;16805:21;:35:::1;::::0;16829:11;;16805:35:::1;:::i;:::-;::::0;;;-1:-1:-1;;16870:9:0::1;::::0;16861:8:::1;::::0;16880:6;;16861:18:::1;::::0;::::1;:::i;:::-;:25;;;;:::i;:::-;16851:8;:35:::0;16904:47:::1;::::0;713:25:1;;;16933:4:0::1;::::0;16913:10:::1;::::0;-1:-1:-1;;;;;;;;;;;16904:47:0;701:2:1;686:18;16904:47:0::1;;;;;;;16533:426;;16482:477::o:0;17509:469::-;17602:17;;17660:13;;17643;;;-1:-1:-1;;;17643:13:0;;;;17552:4;;-1:-1:-1;;;;;17602:17:0;;;;17552:4;;17660:13;;;17602:17;;17643:11;;:13;;;;;;;;;;;;;;17602:17;17643:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17643:30:0;;:75;;17704:4;-1:-1:-1;;;;;17704:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17643:75;;;17682:4;-1:-1:-1;;;;;17682:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17627:91;;17733:9;17744;17758:4;-1:-1:-1;;;;;17758:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17732:44;-1:-1:-1;;;;;17732:44:0;;;-1:-1:-1;;;;;17732:44:0;;;17805:13;;;;;;;;;-1:-1:-1;;;;;17805:13:0;-1:-1:-1;;;;;17788:30:0;:4;-1:-1:-1;;;;;17788:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17788:30:0;;17785:70;;17835:4;-1:-1:-1;;;;;17835:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;17820:33:0;;;;-1:-1:-1;17820:33:0;;-1:-1:-1;17785:70:0;17861:9;17882:6;-1:-1:-1;;;;;17882:15:0;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17878:21;;:2;:21;:::i;:::-;17873:26;;:4;:26;:::i;:::-;17861:38;-1:-1:-1;17913:9:0;17918:4;17861:38;17913:9;:::i;:::-;17906:17;;;;;;;17509:469;:::o;2944:244::-;2705:6;;-1:-1:-1;;;;;2705:6:0;1960:10;2705:22;2697:67;;;;-1:-1:-1;;;2697:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3033:22:0;::::1;3025:73;;;::::0;-1:-1:-1;;;3025:73:0;;12407:2:1;3025:73:0::1;::::0;::::1;12389:21:1::0;12446:2;12426:18;;;12419:30;12485:34;12465:18;;;12458:62;-1:-1:-1;;;12536:18:1;;;12529:36;12582:19;;3025:73:0::1;12205:402:1::0;3025:73:0::1;3135:6;::::0;;3114:38:::1;::::0;-1:-1:-1;;;;;3114:38:0;;::::1;::::0;3135:6;::::1;::::0;3114:38:::1;::::0;::::1;3163:6;:17:::0;;-1:-1:-1;;;;;;3163:17:0::1;-1:-1:-1::0;;;;;3163:17:0;;;::::1;::::0;;;::::1;::::0;;2944:244::o;15164:238::-;2705:6;;-1:-1:-1;;;;;2705:6:0;1960:10;2705:22;2697:67;;;;-1:-1:-1;;;2697:67:0;;;;;;;:::i;:::-;15275:31:::1;15290:16:::0;15275:12;:31:::1;:::i;:::-;15310:3;15275:38;15267:47;;;::::0;::::1;;15327:9;:24:::0;;;;15362:13:::1;:32:::0;15164:238::o;7241:130::-;2705:6;;-1:-1:-1;;;;;2705:6:0;1960:10;2705:22;2697:67;;;;-1:-1:-1;;;2697:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7331:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;7331:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7241:130::o;7857:716::-;7962:4;551:1;696:7;;:19;688:63;;;;-1:-1:-1;;;688:63:0;;;;;;;:::i;:::-;551:1;762:18;;-1:-1:-1;;;;;8020:23:0;::::1;::::0;;::::1;::::0;:53:::1;;-1:-1:-1::0;;;;;;8047:26:0;::::1;8068:4;8047:26;;8020:53;8012:94;;;::::0;-1:-1:-1;;;8012:94:0;;12814:2:1;8012:94:0::1;::::0;::::1;12796:21:1::0;12853:2;12833:18;;;12826:30;12892;12872:18;;;12865:58;12940:18;;8012:94:0::1;12612:352:1::0;8012:94:0::1;8134:1;8125:6;:10;8117:64;;;::::0;-1:-1:-1;;;8117:64:0;;13171:2:1;8117:64:0::1;::::0;::::1;13153:21:1::0;13210:2;13190:18;;;13183:30;13249:34;13229:18;;;13222:62;-1:-1:-1;;;13300:18:1;;;13293:39;13349:19;;8117:64:0::1;12969:405:1::0;8117:64:0::1;-1:-1:-1::0;;;;;8200:26:0;::::1;;::::0;;;:15:::1;:26;::::0;;;;;::::1;;::::0;:67:::1;;-1:-1:-1::0;8261:6:0::1;::::0;-1:-1:-1;;;;;8228:20:0;::::1;;::::0;;;:9:::1;:20;::::0;;;;;:29:::1;::::0;8251:6;;8228:29:::1;:::i;:::-;:39;;8200:67;8192:76;;;::::0;::::1;;-1:-1:-1::0;;;;;8332:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;;:26:::1;::::0;8352:6;;8332:26:::1;:::i;:::-;-1:-1:-1::0;;;;;8312:17:0;;::::1;;::::0;;;:9:::1;:17;::::0;;;;;:46;;;;8436:20;;::::1;::::0;;;;:29:::1;::::0;8459:6;;8436:29:::1;:::i;:::-;-1:-1:-1::0;;;;;8413:20:0;;::::1;;::::0;;;:9:::1;:20;::::0;;;;;;:52;;;;8508:35;;;;::::1;::::0;-1:-1:-1;;;;;;;;;;;8508:35:0;::::1;::::0;8536:6;713:25:1;;701:2;686:18;;567:177;8508:35:0::1;;;;;;;;-1:-1:-1::0;8561:4:0::1;507:1:::0;803:7;:22;7857:716;;-1:-1:-1;;;7857:716:0:o;11464:193::-;-1:-1:-1;;;;;11550:19:0;;;;;;:9;:19;;;;;;:28;;11572:6;;11550:28;:::i;:::-;-1:-1:-1;;;;;11528:19:0;;;;;;:9;:19;;;;;;:50;;;;11634:4;11616:24;;;;:33;;11643:6;;11616:33;:::i;:::-;11607:4;11589:24;;;;:9;:24;;;;;:60;-1:-1:-1;;11464:193:0: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;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:388::-;1465:6;1473;1526:2;1514:9;1505:7;1501:23;1497:32;1494:52;;;1542:1;1539;1532:12;1494:52;1581:9;1568:23;1600:31;1625:5;1600:31;:::i;:::-;1650:5;-1:-1:-1;1707:2:1;1692:18;;1679:32;1720:33;1679:32;1720:33;:::i;:::-;1772:7;1762:17;;;1397:388;;;;;:::o;1790:247::-;1849:6;1902:2;1890:9;1881:7;1877:23;1873:32;1870:52;;;1918:1;1915;1908:12;1870:52;1957:9;1944:23;1976:31;2001:5;1976:31;:::i;2042:180::-;2101:6;2154:2;2142:9;2133:7;2129:23;2125:32;2122:52;;;2170:1;2167;2160:12;2122:52;-1:-1:-1;2193:23:1;;2042:180;-1:-1:-1;2042:180:1:o;2227:248::-;2295:6;2303;2356:2;2344:9;2335:7;2331:23;2327:32;2324:52;;;2372:1;2369;2362:12;2324:52;-1:-1:-1;;2395:23:1;;;2465:2;2450:18;;;2437:32;;-1:-1:-1;2227:248:1:o;2480:456::-;2557:6;2565;2573;2626:2;2614:9;2605:7;2601:23;2597:32;2594:52;;;2642:1;2639;2632:12;2594:52;2681:9;2668:23;2700:31;2725:5;2700:31;:::i;:::-;2750:5;-1:-1:-1;2807:2:1;2792:18;;2779:32;2820:33;2779:32;2820:33;:::i;:::-;2480:456;;2872:7;;-1:-1:-1;;;2926:2:1;2911:18;;;;2898:32;;2480:456::o;3338:416::-;3403:6;3411;3464:2;3452:9;3443:7;3439:23;3435:32;3432:52;;;3480:1;3477;3470:12;3432:52;3519:9;3506:23;3538:31;3563:5;3538:31;:::i;:::-;3588:5;-1:-1:-1;3645:2:1;3630:18;;3617:32;3687:15;;3680:23;3668:36;;3658:64;;3718:1;3715;3708:12;4227:316;4304:6;4312;4320;4373:2;4361:9;4352:7;4348:23;4344:32;4341:52;;;4389:1;4386;4379:12;4341:52;-1:-1:-1;;4412:23:1;;;4482:2;4467:18;;4454:32;;-1:-1:-1;4533:2:1;4518:18;;;4505:32;;4227:316;-1:-1:-1;4227:316:1:o;4548:355::-;4750:2;4732:21;;;4789:2;4769:18;;;4762:30;4828:33;4823:2;4808:18;;4801:61;4894:2;4879:18;;4548:355::o;4908:356::-;5110:2;5092:21;;;5129:18;;;5122:30;5188:34;5183:2;5168:18;;5161:62;5255:2;5240:18;;4908:356::o;5269:127::-;5330:10;5325:3;5321:20;5318:1;5311:31;5361:4;5358:1;5351:15;5385:4;5382:1;5375:15;5401:168;5474:9;;;5505;;5522:15;;;5516:22;;5502:37;5492:71;;5543:18;;:::i;5574:217::-;5614:1;5640;5630:132;;5684:10;5679:3;5675:20;5672:1;5665:31;5719:4;5716:1;5709:15;5747:4;5744:1;5737:15;5630:132;-1:-1:-1;5776:9:1;;5574:217::o;6006:127::-;6067:10;6062:3;6058:20;6055:1;6048:31;6098:4;6095:1;6088:15;6122:4;6119:1;6112:15;6138:125;6203:9;;;6224:10;;;6221:36;;;6237:18;;:::i;6268:128::-;6335:9;;;6356:11;;;6353:37;;;6370:18;;:::i;9640:251::-;9710:6;9763:2;9751:9;9742:7;9738:23;9734:32;9731:52;;;9779:1;9776;9769:12;9731:52;9811:9;9805:16;9830:31;9855:5;9830:31;:::i;9896:188::-;9975:13;;-1:-1:-1;;;;;10017:42:1;;10007:53;;9997:81;;10074:1;10071;10064:12;9997:81;9896:188;;;:::o;10089:450::-;10176:6;10184;10192;10245:2;10233:9;10224:7;10220:23;10216:32;10213:52;;;10261:1;10258;10251:12;10213:52;10284:40;10314:9;10284:40;:::i;:::-;10274:50;;10343:49;10388:2;10377:9;10373:18;10343:49;:::i;:::-;10333:59;;10435:2;10424:9;10420:18;10414:25;10479:10;10472:5;10468:22;10461:5;10458:33;10448:61;;10505:1;10502;10495:12;10448:61;10528:5;10518:15;;;10089:450;;;;;:::o;10544:273::-;10612:6;10665:2;10653:9;10644:7;10640:23;10636:32;10633:52;;;10681:1;10678;10671:12;10633:52;10713:9;10707:16;10763:4;10756:5;10752:16;10745:5;10742:27;10732:55;;10783:1;10780;10773:12;10822:422;10911:1;10954:5;10911:1;10968:270;10989:7;10979:8;10976:21;10968:270;;;11048:4;11044:1;11040:6;11036:17;11030:4;11027:27;11024:53;;;11057:18;;:::i;:::-;11107:7;11097:8;11093:22;11090:55;;;11127:16;;;;11090:55;11206:22;;;;11166:15;;;;10968:270;;;10972:3;10822:422;;;;;:::o;11249:806::-;11298:5;11328:8;11318:80;;-1:-1:-1;11369:1:1;11383:5;;11318:80;11417:4;11407:76;;-1:-1:-1;11454:1:1;11468:5;;11407:76;11499:4;11517:1;11512:59;;;;11585:1;11580:130;;;;11492:218;;11512:59;11542:1;11533:10;;11556:5;;;11580:130;11617:3;11607:8;11604:17;11601:43;;;11624:18;;:::i;:::-;-1:-1:-1;;11680:1:1;11666:16;;11695:5;;11492:218;;11794:2;11784:8;11781:16;11775:3;11769:4;11766:13;11762:36;11756:2;11746:8;11743:16;11738:2;11732:4;11729:12;11725:35;11722:77;11719:159;;;-1:-1:-1;11831:19:1;;;11863:5;;11719:159;11910:34;11935:8;11929:4;11910:34;:::i;:::-;11980:6;11976:1;11972:6;11968:19;11959:7;11956:32;11953:58;;;11991:18;;:::i;:::-;12029:20;;11249:806;-1:-1:-1;;;11249:806:1:o;12060:140::-;12118:5;12147:47;12188:4;12178:8;12174:19;12168:4;12147:47;:::i

Swarm Source

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