ETH Price: $2,498.47 (+0.54%)

Token

GM Classic (GMC)
 

Overview

Max Total Supply

1,000,000,000,000 GMC

Holders

120

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,545,235,255.53457088 GMC

Value
$0.00
0xa42d4eb2b3ef2cc77bab70b2356afde93ff62e31
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:
GMClassic

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-06-24
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.7;

/**
 * Standard SafeMath, stripped down to just add/sub/mul/div
 */
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }   
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    /**
     * Function modifier to require caller to be contract deployer
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!Owner"); _;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Transfer ownership to new address. Caller must be deployer. Leaves old deployer authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IDividendDistributor {
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
    function claimDividend(address shareholder) external;
    function setTreasury(address treasury) external;
    function getDividendsClaimedOf (address shareholder) external returns (uint256);
}

contract DividendDistributor is IDividendDistributor {
    using SafeMath for uint256;

    address public _token;
    address public _owner;
    address public _treasury;

    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalClaimed;
    }

    address[] private shareholders;
    mapping (address => uint256) private shareholderIndexes;

    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalClaimed;
    uint256 public dividendsPerShare;
    uint256 private dividendsPerShareAccuracyFactor = 10 ** 36;

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }
    
    modifier onlyOwner() {
        require(msg.sender == _owner); _;
    }

    constructor (address owner, address treasury) {
        _token = msg.sender;
        _owner = payable(owner);
        _treasury =  payable(treasury);
    }

   // receive() external payable { }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit() external payable override {
       
        uint256 amount = msg.value;
        
        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getClaimableDividendOf(shareholder);
        if(amount > 0){
            totalClaimed = totalClaimed.add(amount);
            shares[shareholder].totalClaimed = shares[shareholder].totalClaimed.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
            payable(shareholder).transfer(amount);
        }
    }

    function claimDividend(address shareholder) external override onlyToken {
        distributeDividend(shareholder);
    }

    function getClaimableDividendOf(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
    
    function manualSend(uint256 amount, address holder) external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(holder).transfer(amount > 0 ? amount : contractETHBalance);
    }

    function setTreasury(address treasury) external override onlyToken {
        _treasury = payable(treasury);
    }

    function getDividendsClaimedOf (address shareholder) external override view returns (uint256) {
        require (shares[shareholder].amount > 0, "You're not a BLC shareholder!");
        return shares[shareholder].totalClaimed;
    }

    }

contract GMClassic is IBEP20, Auth {
    using SafeMath for uint256;

    address private WETH;
    address private DEAD = 0x000000000000000000000000000000000000dEaD;
    address private ZERO = 0x0000000000000000000000000000000000000000;

    string private constant  _name = "GM Classic";
    string private constant _symbol = "GMC";
    uint8 private constant _decimals = 9;

    uint256 private _totalSupply = 1000000000000 * (10 ** _decimals);
    uint256 private _maxTxAmountBuy = _totalSupply;
    

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private isFeeExempt;
    mapping (address => bool) private isDividendExempt;
    mapping (address => bool) private isBot;
    

        
    uint256 private totalFee = 4;
    uint256 private feeDenominator = 100;

    address payable public marketingWallet = payable(0x3b379e72782F2d69E522EE187CB83EC8dDAAf7FB);
    address payable public treasury = payable(0x1739f9138aac40573DDd3d2CE55fe02bD4C14942);

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool private tradingOpen;
    bool private buyLimit = false;
    uint256 private maxBuy = 5000000000 * (10 ** _decimals);

    DividendDistributor private distributor;

    
    
    
    bool private inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor (
        address _owner        
    ) Auth(_owner) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            
        WETH = router.WETH();
        
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        distributor = new DividendDistributor(_owner, treasury);

        isFeeExempt[_owner] = true;
        isFeeExempt[marketingWallet] = true;
        isFeeExempt[treasury] = true;        
              
        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;        

        _balances[_owner] = _totalSupply;
    
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    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 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(uint256).max);
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (sender!= owner && recipient!= owner) require(tradingOpen, "Trading not yet enabled."); //transfers disabled before openTrading
        require (!isBot[sender] && !isBot[recipient], "Nice try");
        if (buyLimit) { 
            if (sender!=owner && recipient!= owner) require (amount<=maxBuy, "Too much sir");        
        }
        if (block.number <= (launchedAt + 1)) { 
            isBot[recipient] = true;
            isDividendExempt[recipient] = true; 
        }
       
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }      
    
        bool shouldSwapBack = /*!inSwap &&*/ (recipient==pair && balanceOf(address(this)) > 0);
        if(shouldSwapBack){ swapBack(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount;
        
        _balances[recipient] = _balances[recipient].add(amountReceived);

        if(sender != pair && !isDividendExempt[sender]){ try distributor.setShare(sender, _balances[sender]) {} catch {} }
        if(recipient != pair && !isDividendExempt[recipient]){ try distributor.setShare(recipient, _balances[recipient]) {} catch {} }

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

 
    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return ( !(isFeeExempt[sender] || isFeeExempt[recipient]) &&  (sender == pair || recipient == pair) );
   }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount;
        feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);   

        return amount.sub(feeAmount);
    }

   
    function swapBack() internal swapping {
        uint256 amountToSwap = balanceOf(address(this));

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        
        uint256 amountTreasury = (address(this).balance).div(2);
        uint256 amountMarketing = (address(this).balance).div(2);

             
        payable(marketingWallet).transfer(amountMarketing);
        payable(treasury).transfer(amountTreasury);
    }

    
    function openTrading() external onlyOwner {
        launchedAt = block.number;
        tradingOpen = true;
    }    
  
    
    function setBot(address _address, bool toggle) external onlyOwner {
        isBot[_address] = toggle;
        _setIsDividendExempt(_address, toggle);
    }
    
    function isInBot(address _address) external view onlyOwner returns (bool) {
        return isBot[_address];
    }
    
    function _setIsDividendExempt(address holder, bool exempt) internal {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            distributor.setShare(holder, 0);
        }else{
            distributor.setShare(holder, _balances[holder]);
        }
    }

    function setIsDividendExempt(address holder, bool exempt) external onlyOwner {
        _setIsDividendExempt(holder, exempt);
    }

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

    function setFee (uint256 _fee) external onlyOwner {
        require (_fee <= 95, "Fee can't exceed 10%");
        totalFee = _fee;
    }

  
    function manualSend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingWallet).transfer(contractETHBalance);
    }

    function claimDividend() external {
        distributor.claimDividend(msg.sender);
    }
    
    function claimDividend(address holder) external onlyOwner {
        distributor.claimDividend(holder);
    }
    
    function getClaimableDividendOf(address shareholder) public view returns (uint256) {
        return distributor.getClaimableDividendOf(shareholder);
    }
    
    function manualBurn(uint256 amount) external onlyOwner returns (bool) {
        return _basicTransfer(address(this), DEAD, amount);
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function setMarketingWallet(address _marketingWallet) external onlyOwner {
        marketingWallet = payable(_marketingWallet);
    }

    function setTreasury(address _treasury) external onlyOwner {
        treasury = payable(_treasury);
        distributor.setTreasury(_treasury);
    }

    function getTotalDividends() external view returns (uint256) {
        return distributor.totalDividends();
    }    

    function getTotalClaimed() external view returns (uint256) {
        return distributor.totalClaimed();
    }

     function getDividendsClaimedOf (address shareholder) external view returns (uint256) {
        return distributor.getDividendsClaimedOf(shareholder);
    }

    function removeBuyLimit() external onlyOwner {
        buyLimit = false;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":[{"internalType":"address","name":"holder","type":"address"}],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getClaimableDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getDividendsClaimedOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isInBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualBurn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b031990811661dead17909155600380549091169055620000326009600a620004c4565b620000439064e8d4a5100062000585565b6004818155600591909155600b556064600c55600d80546001600160a01b0319908116733b379e72782f2d69e522ee187cb83ec8ddaaf7fb17909155600e8054909116731739f9138aac40573ddd3d2ce55fe02bd4c149421790556012805461ff0019169055620000b76009600a620004c4565b620000c89064012a05f20062000585565b601355348015620000d857600080fd5b5060405162002ff638038062002ff6833981016040819052620000fb9162000449565b600080546001600160a01b03199081166001600160a01b03841617909155600f8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c464891600480820192602092909190829003018186803b1580156200016f57600080fd5b505afa15801562000184573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001aa919062000449565b600180546001600160a01b0319166001600160a01b03928316179055600f546040805163c45a015560e01b81529051919092169163c45a0155916004808301926020929190829003018186803b1580156200020457600080fd5b505afa15801562000219573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023f919062000449565b6001546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c6539690604401602060405180830381600087803b1580156200028c57600080fd5b505af1158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c7919062000449565b601080546001600160a01b0319166001600160a01b03928316179055306000908152600760209081526040808320600f5485168452909152908190206000199055600e549051839291909116906200031f906200043b565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562000353573d6000803e3d6000fd5b50601480546001600160a01b0319166001600160a01b039283161790558181166000818152600860209081526040808320805460ff199081166001908117909255600d54871685528285208054821683179055600e548716855282852080548216831790556010548716855260098452828520805482168317905530855282852080548216831790556002549096168452818420805490961617909455600454838352600682528483208190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620005bd565b610d0480620022f283390190565b6000602082840312156200045c57600080fd5b81516001600160a01b03811681146200047457600080fd5b9392505050565b600181815b80851115620004bc578160001904821115620004a057620004a0620005a7565b80851615620004ae57918102915b93841c939080029062000480565b509250929050565b60006200047460ff841683600082620004e0575060016200057f565b81620004ef575060006200057f565b8160018114620005085760028114620005135762000533565b60019150506200057f565b60ff841115620005275762000527620005a7565b50506001821b6200057f565b5060208310610133831016604e8410600b841016171562000558575081810a6200057f565b6200056483836200047b565b80600019048211156200057b576200057b620005a7565b0290505b92915050565b6000816000190483118215151615620005a257620005a2620005a7565b500290565b634e487b7160e01b600052601160045260246000fd5b611d2580620005cd6000396000f3fe6080604052600436106102135760003560e01c806369fe0e2d11610118578063bf56b371116100a0578063f0fc6bca1161006f578063f0fc6bca1461065d578063f2fde38b14610672578063f429389014610692578063f708a64f146106a7578063f887ea40146106c757600080fd5b8063bf56b371146105cc578063c9567bf9146105e2578063dd62ed3e146105f7578063f0f442601461063d57600080fd5b8063893d20e8116100e7578063893d20e8146105225780638ecc37fb1461054057806395d89b4114610560578063a8aa1b311461058c578063a9059cbb146105ac57600080fd5b806369fe0e2d1461049757806370a08231146104b7578063736a83a1146104ed57806375f0a8741461050257600080fd5b8063342aa8b51161019b5780635cc33f741161016a5780635cc33f74146103ea5780635d098b381461040a57806361d027b31461042a578063658d4b7f1461046257806367ee5f091461048257600080fd5b8063342aa8b5146103755780633e07ce5b14610395578063416501c8146103aa578063571ac8b0146103ca57600080fd5b806323b63585116101e257806323b63585146102d557806323b872dd146102f55780632b112e49146103155780632f54bf6e1461032a578063313ce5671461035957600080fd5b806306fdde031461021f578063095ea7b31461026457806315f7e05e1461029457806318160ddd146102b657600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5060408051808201909152600a815269474d20436c617373696360b01b60208201525b60405161025b9190611b55565b60405180910390f35b34801561027057600080fd5b5061028461027f366004611af7565b6106e7565b604051901515815260200161025b565b3480156102a057600080fd5b506102b46102af366004611a2d565b610754565b005b3480156102c257600080fd5b506004545b60405190815260200161025b565b3480156102e157600080fd5b506102846102f0366004611b23565b6107ea565b34801561030157600080fd5b50610284610310366004611a83565b61082d565b34801561032157600080fd5b506102c76108ef565b34801561033657600080fd5b50610284610345366004611a2d565b6000546001600160a01b0391821691161490565b34801561036557600080fd5b506040516009815260200161025b565b34801561038157600080fd5b506102b4610390366004611ac4565b610941565b3480156103a157600080fd5b506102b461099d565b3480156103b657600080fd5b506102846103c5366004611a2d565b6109d4565b3480156103d657600080fd5b506102846103e5366004611a2d565b610a1e565b3480156103f657600080fd5b506102c7610405366004611a2d565b610a2c565b34801561041657600080fd5b506102b4610425366004611a2d565b610aab565b34801561043657600080fd5b50600e5461044a906001600160a01b031681565b6040516001600160a01b03909116815260200161025b565b34801561046e57600080fd5b506102b461047d366004611ac4565b610af7565b34801561048e57600080fd5b506102c7610b4c565b3480156104a357600080fd5b506102b46104b2366004611b23565b610bc9565b3480156104c357600080fd5b506102c76104d2366004611a2d565b6001600160a01b031660009081526006602052604090205490565b3480156104f957600080fd5b506102c7610c40565b34801561050e57600080fd5b50600d5461044a906001600160a01b031681565b34801561052e57600080fd5b506000546001600160a01b031661044a565b34801561054c57600080fd5b506102c761055b366004611a2d565b610c85565b34801561056c57600080fd5b50604080518082019091526003815262474d4360e81b602082015261024e565b34801561059857600080fd5b5060105461044a906001600160a01b031681565b3480156105b857600080fd5b506102846105c7366004611af7565b610cb8565b3480156105d857600080fd5b506102c760115481565b3480156105ee57600080fd5b506102b4610cc5565b34801561060357600080fd5b506102c7610612366004611a4a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561064957600080fd5b506102b4610658366004611a2d565b610d02565b34801561066957600080fd5b506102b4610d75565b34801561067e57600080fd5b506102b461068d366004611a2d565b610dd4565b34801561069e57600080fd5b506102b4610e52565b3480156106b357600080fd5b506102b46106c2366004611ac4565b610eb6565b3480156106d357600080fd5b50600f5461044a906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107429086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146107875760405162461bcd60e51b815260040161077e90611baa565b60405180910390fd5b601454604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e906024015b600060405180830381600087803b1580156107cf57600080fd5b505af11580156107e3573d6000803e3d6000fd5b5050505050565b600080546001600160a01b031633146108155760405162461bcd60e51b815260040161077e90611baa565b60025461074e9030906001600160a01b031684610eea565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146108da576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546108b5918490610fd0565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b6108e584848461100a565b90505b9392505050565b6003546001600160a01b031660009081526006602052604081205461093c906002546001600160a01b031660009081526006602052604090205461093690600454906114b4565b906114b4565b905090565b6000546001600160a01b0316331461096b5760405162461bcd60e51b815260040161077e90611baa565b6001600160a01b0382166000908152600a60205260409020805460ff191682151517905561099982826114f6565b5050565b6000546001600160a01b031633146109c75760405162461bcd60e51b815260040161077e90611baa565b6012805461ff0019169055565b600080546001600160a01b031633146109ff5760405162461bcd60e51b815260040161077e90611baa565b506001600160a01b03166000908152600a602052604090205460ff1690565b600061074e826000196106e7565b601454604051631730cfdd60e21b81526001600160a01b0383811660048301526000921690635cc33f74906024015b60206040518083038186803b158015610a7357600080fd5b505afa158015610a87573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074e9190611b3c565b6000546001600160a01b03163314610ad55760405162461bcd60e51b815260040161077e90611baa565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b215760405162461bcd60e51b815260040161077e90611baa565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6014546040805163997664d760e01b815290516000926001600160a01b03169163997664d7916004808301926020929190829003018186803b158015610b9157600080fd5b505afa158015610ba5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c9190611b3c565b6000546001600160a01b03163314610bf35760405162461bcd60e51b815260040161077e90611baa565b605f811115610c3b5760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642031302560601b604482015260640161077e565b600b55565b6014546040805163d54ad2a160e01b815290516000926001600160a01b03169163d54ad2a1916004808301926020929190829003018186803b158015610b9157600080fd5b601454604051638ecc37fb60e01b81526001600160a01b0383811660048301526000921690638ecc37fb90602401610a5b565b60006108e833848461100a565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260040161077e90611baa565b436011556012805460ff19166001179055565b6000546001600160a01b03163314610d2c5760405162461bcd60e51b815260040161077e90611baa565b600e80546001600160a01b0319166001600160a01b03838116918217909255601454604051630787a21360e51b815260048101929092529091169063f0f44260906024016107b5565b601454604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b158015610dba57600080fd5b505af1158015610dce573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610dfe5760405162461bcd60e51b815260040161077e90611baa565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b03163314610e7c5760405162461bcd60e51b815260040161077e90611baa565b600d5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610999573d6000803e3d6000fd5b6000546001600160a01b03163314610ee05760405162461bcd60e51b815260040161077e90611baa565b61099982826114f6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610f3b918490610fd0565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610f6a9083611607565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fbe9086815260200190565b60405180910390a35060019392505050565b60008184841115610ff45760405162461bcd60e51b815260040161077e9190611b55565b5060006110018486611c94565b95945050505050565b600080546001600160a01b0385811691161480159061103757506000546001600160a01b03848116911614155b1561108e5760125460ff1661108e5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e0000000000000000604482015260640161077e565b6001600160a01b0384166000908152600a602052604090205460ff161580156110d057506001600160a01b0383166000908152600a602052604090205460ff16155b6111075760405162461bcd60e51b81526020600482015260086024820152674e6963652074727960c01b604482015260640161077e565b601254610100900460ff1615611189576000546001600160a01b0385811691161480159061114357506000546001600160a01b03848116911614155b15611189576013548211156111895760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b604482015260640161077e565b601154611197906001611c3b565b43116111d9576001600160a01b0383166000908152600a602090815260408083208054600160ff19918216811790925560099093529220805490911690911790555b601454600160a01b900460ff16156111fd576111f6848484610eea565b90506108e8565b6010546000906001600160a01b03858116911614801561122a575030600090815260066020526040812054115b9050801561123a5761123a611666565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03881660009081526006909152919091205461128c918590610fd0565b6001600160a01b0386166000908152600660205260408120919091556112b2868661181d565b6112bc57836112c6565b6112c68685611892565b6001600160a01b0386166000908152600660205260409020549091506112ec9082611607565b6001600160a01b0380871660009081526006602052604090209190915560105487821691161480159061133857506001600160a01b03861660009081526009602052604090205460ff16155b156113ae576014546001600160a01b0387811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561139b57600080fd5b505af19250505080156113ac575060015b505b6010546001600160a01b038681169116148015906113e557506001600160a01b03851660009081526009602052604090205460ff16155b1561145b576014546001600160a01b0386811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561144857600080fd5b505af1925050508015611459575060015b505b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114a091815260200190565b60405180910390a350600195945050505050565b60006108e883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd0565b6001600160a01b038216301480159061151d57506010546001600160a01b03838116911614155b61152657600080fd5b6001600160a01b0382166000908152600960205260409020805460ff191682158015919091179091556115be57601454604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b1580156115a257600080fd5b505af11580156115b6573d6000803e3d6000fd5b505050505050565b6014546001600160a01b0383811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401611588565b6000806116148385611c3b565b9050838110156108e85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161077e565b6014805460ff60a01b1916600160a01b17905530600090815260066020526040812054604080516002808252606082019092529192506000919081602001602082028036833701905050905030816000815181106116c6576116c6611cc1565b6001600160a01b03928316602091820292909201015260018054835192169183919081106116f6576116f6611cc1565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac9479061173c908590600090869030904290600401611bca565b600060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b50505050600061178460024761193e90919063ffffffff16565b9050600061179347600261193e565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f193505050501580156117ce573d6000803e3d6000fd5b50600e546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611809573d6000803e3d6000fd5b50506014805460ff60a01b19169055505050565b6001600160a01b03821660009081526008602052604081205460ff168061185c57506001600160a01b03821660009081526008602052604090205460ff165b1580156108e857506010546001600160a01b03848116911614806108e85750506010546001600160a01b03908116911614919050565b6000806118b6600c546118b0600b548661198090919063ffffffff16565b9061193e565b306000908152600660205260409020549091506118d39082611607565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119249085815260200190565b60405180910390a361193683826114b4565b949350505050565b60006108e883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119ff565b60008261198f5750600061074e565b600061199b8385611c75565b9050826119a88583611c53565b146108e85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161077e565b60008183611a205760405162461bcd60e51b815260040161077e9190611b55565b5060006110018486611c53565b600060208284031215611a3f57600080fd5b81356108e881611cd7565b60008060408385031215611a5d57600080fd5b8235611a6881611cd7565b91506020830135611a7881611cd7565b809150509250929050565b600080600060608486031215611a9857600080fd5b8335611aa381611cd7565b92506020840135611ab381611cd7565b929592945050506040919091013590565b60008060408385031215611ad757600080fd5b8235611ae281611cd7565b915060208301358015158114611a7857600080fd5b60008060408385031215611b0a57600080fd5b8235611b1581611cd7565b946020939093013593505050565b600060208284031215611b3557600080fd5b5035919050565b600060208284031215611b4e57600080fd5b5051919050565b600060208083528351808285015260005b81811015611b8257858101830151858201604001528201611b66565b81811115611b94576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c1a5784516001600160a01b031683529383019391830191600101611bf5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611c4e57611c4e611cab565b500190565b600082611c7057634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611c8f57611c8f611cab565b500290565b600082821015611ca657611ca6611cab565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611cec57600080fd5b5056fea2646970667358221220982f818e8319c78136597942417fb22876424c5e24353105c7a19c93184a627a64736f6c6343000807003360806040526ec097ce7bc90715b34b9f1000000000600a5534801561002357600080fd5b50604051610d04380380610d048339810160408190526100429161009a565b600080546001600160a01b03199081163317909155600180546001600160a01b03948516908316179055600280549290931691161790556100cd565b80516001600160a01b038116811461009557600080fd5b919050565b600080604083850312156100ad57600080fd5b6100b68361007e565b91506100c46020840161007e565b90509250929050565b610c28806100dc6000396000f3fe6080604052600436106100e85760003560e01c8063b2bdfa7b1161008a578063e2d2e21911610059578063e2d2e2191461027b578063e319a3d914610291578063ecd0c0c3146102b1578063f0f44260146102d157600080fd5b8063b2bdfa7b146101ce578063ce7c2ac214610206578063d0e30db01461025d578063d54ad2a11461026557600080fd5b80633a98ef39116100c65780633a98ef391461014f5780635cc33f74146101785780638ecc37fb14610198578063997664d7146101b857600080fd5b80631014edf5146100ed57806314b6ca961461010f57806315f7e05e1461012f575b600080fd5b3480156100f957600080fd5b5061010d610108366004610abf565b6102f1565b005b34801561011b57600080fd5b5061010d61012a366004610a95565b610351565b34801561013b57600080fd5b5061010d61014a366004610a7a565b6104c9565b34801561015b57600080fd5b5061016560065481565b6040519081526020015b60405180910390f35b34801561018457600080fd5b50610165610193366004610a7a565b6104ec565b3480156101a457600080fd5b506101656101b3366004610a7a565b610575565b3480156101c457600080fd5b5061016560075481565b3480156101da57600080fd5b506001546101ee906001600160a01b031681565b6040516001600160a01b03909116815260200161016f565b34801561021257600080fd5b50610242610221366004610a7a565b60056020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161016f565b61010d6105fe565b34801561027157600080fd5b5061016560085481565b34801561028757600080fd5b5061016560095481565b34801561029d57600080fd5b506002546101ee906001600160a01b031681565b3480156102bd57600080fd5b506000546101ee906001600160a01b031681565b3480156102dd57600080fd5b5061010d6102ec366004610a7a565b61063d565b6001546001600160a01b0316331461030857600080fd5b476001600160a01b0382166108fc846103215782610323565b845b6040518115909202916000818181858888f1935050505015801561034b573d6000803e3d6000fd5b50505050565b6000546001600160a01b0316331461036857600080fd5b6001600160a01b0382166000908152600560205260409020541561038f5761038f82610676565b6000811180156103b557506001600160a01b038216600090815260056020526040902054155b1561041b57600380546001600160a01b0384166000818152600460205260408120839055600183018455929092527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b031916909117905561044e565b8015801561044057506001600160a01b03821660009081526005602052604090205415155b1561044e5761044e82610759565b6001600160a01b03821660009081526005602052604090205460065461047f9183916104799161086e565b906108b9565b6006556001600160a01b03821660009081526005602052604090208190556104a681610918565b6001600160a01b0390921660009081526005602052604090206001019190915550565b6000546001600160a01b031633146104e057600080fd5b6104e981610676565b50565b6001600160a01b0381166000908152600560205260408120546105565760405162461bcd60e51b815260206004820152601d60248201527f596f75277265206e6f74206120424c43207368617265686f6c6465722100000060448201526064015b60405180910390fd5b506001600160a01b031660009081526005602052604090206002015490565b6001600160a01b03811660009081526005602052604081205461059a57506000919050565b6001600160a01b0382166000908152600560205260408120546105bc90610918565b6001600160a01b0384166000908152600560205260409020600101549091508082116105ec575060009392505050565b6105f6828261086e565b949350505050565b600754349061060d90826108b9565b600755600654600a546106379161062e916106289085610935565b906109b4565b600954906108b9565b60095550565b6000546001600160a01b0316331461065457600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600560205260409020546106965750565b60006106a182610575565b90508015610755576008546106b690826108b9565b6008556001600160a01b0382166000908152600560205260409020600201546106df90826108b9565b6001600160a01b038316600090815260056020526040902060028101919091555461070990610918565b6001600160a01b038316600081815260056020526040808220600101939093559151909183156108fc02918491818181858888f19350505050158015610753573d6000803e3d6000fd5b505b5050565b6003805461076990600190610b99565b8154811061077957610779610bdc565b60009182526020808320909101546001600160a01b03848116845260049092526040909220546003805492909316929181106107b7576107b7610bdc565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905591831681526004918290526040812054600380549193929161080390600190610b99565b8154811061081357610813610bdc565b60009182526020808320909101546001600160a01b03168352820192909252604001902055600380548061084957610849610bc6565b600082815260209020810160001990810180546001600160a01b031916905501905550565b60006108b083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f6565b90505b92915050565b6000806108c68385610b40565b9050838110156108b05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161054d565b60006108b3600a546106286009548561093590919063ffffffff16565b600082610944575060006108b3565b60006109508385610b7a565b90508261095d8583610b58565b146108b05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161054d565b60006108b083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a30565b60008184841115610a1a5760405162461bcd60e51b815260040161054d9190610aeb565b506000610a278486610b99565b95945050505050565b60008183610a515760405162461bcd60e51b815260040161054d9190610aeb565b506000610a278486610b58565b80356001600160a01b0381168114610a7557600080fd5b919050565b600060208284031215610a8c57600080fd5b6108b082610a5e565b60008060408385031215610aa857600080fd5b610ab183610a5e565b946020939093013593505050565b60008060408385031215610ad257600080fd5b82359150610ae260208401610a5e565b90509250929050565b600060208083528351808285015260005b81811015610b1857858101830151858201604001528201610afc565b81811115610b2a576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610b5357610b53610bb0565b500190565b600082610b7557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610b9457610b94610bb0565b500290565b600082821015610bab57610bab610bb0565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea26469706673582212205f26ca4efbd009c69d0d94102c3998cea8debf8f2abf79f196ee24a4050fa08364736f6c634300080700330000000000000000000000001739f9138aac40573ddd3d2ce55fe02bd4c14942

Deployed Bytecode

0x6080604052600436106102135760003560e01c806369fe0e2d11610118578063bf56b371116100a0578063f0fc6bca1161006f578063f0fc6bca1461065d578063f2fde38b14610672578063f429389014610692578063f708a64f146106a7578063f887ea40146106c757600080fd5b8063bf56b371146105cc578063c9567bf9146105e2578063dd62ed3e146105f7578063f0f442601461063d57600080fd5b8063893d20e8116100e7578063893d20e8146105225780638ecc37fb1461054057806395d89b4114610560578063a8aa1b311461058c578063a9059cbb146105ac57600080fd5b806369fe0e2d1461049757806370a08231146104b7578063736a83a1146104ed57806375f0a8741461050257600080fd5b8063342aa8b51161019b5780635cc33f741161016a5780635cc33f74146103ea5780635d098b381461040a57806361d027b31461042a578063658d4b7f1461046257806367ee5f091461048257600080fd5b8063342aa8b5146103755780633e07ce5b14610395578063416501c8146103aa578063571ac8b0146103ca57600080fd5b806323b63585116101e257806323b63585146102d557806323b872dd146102f55780632b112e49146103155780632f54bf6e1461032a578063313ce5671461035957600080fd5b806306fdde031461021f578063095ea7b31461026457806315f7e05e1461029457806318160ddd146102b657600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5060408051808201909152600a815269474d20436c617373696360b01b60208201525b60405161025b9190611b55565b60405180910390f35b34801561027057600080fd5b5061028461027f366004611af7565b6106e7565b604051901515815260200161025b565b3480156102a057600080fd5b506102b46102af366004611a2d565b610754565b005b3480156102c257600080fd5b506004545b60405190815260200161025b565b3480156102e157600080fd5b506102846102f0366004611b23565b6107ea565b34801561030157600080fd5b50610284610310366004611a83565b61082d565b34801561032157600080fd5b506102c76108ef565b34801561033657600080fd5b50610284610345366004611a2d565b6000546001600160a01b0391821691161490565b34801561036557600080fd5b506040516009815260200161025b565b34801561038157600080fd5b506102b4610390366004611ac4565b610941565b3480156103a157600080fd5b506102b461099d565b3480156103b657600080fd5b506102846103c5366004611a2d565b6109d4565b3480156103d657600080fd5b506102846103e5366004611a2d565b610a1e565b3480156103f657600080fd5b506102c7610405366004611a2d565b610a2c565b34801561041657600080fd5b506102b4610425366004611a2d565b610aab565b34801561043657600080fd5b50600e5461044a906001600160a01b031681565b6040516001600160a01b03909116815260200161025b565b34801561046e57600080fd5b506102b461047d366004611ac4565b610af7565b34801561048e57600080fd5b506102c7610b4c565b3480156104a357600080fd5b506102b46104b2366004611b23565b610bc9565b3480156104c357600080fd5b506102c76104d2366004611a2d565b6001600160a01b031660009081526006602052604090205490565b3480156104f957600080fd5b506102c7610c40565b34801561050e57600080fd5b50600d5461044a906001600160a01b031681565b34801561052e57600080fd5b506000546001600160a01b031661044a565b34801561054c57600080fd5b506102c761055b366004611a2d565b610c85565b34801561056c57600080fd5b50604080518082019091526003815262474d4360e81b602082015261024e565b34801561059857600080fd5b5060105461044a906001600160a01b031681565b3480156105b857600080fd5b506102846105c7366004611af7565b610cb8565b3480156105d857600080fd5b506102c760115481565b3480156105ee57600080fd5b506102b4610cc5565b34801561060357600080fd5b506102c7610612366004611a4a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561064957600080fd5b506102b4610658366004611a2d565b610d02565b34801561066957600080fd5b506102b4610d75565b34801561067e57600080fd5b506102b461068d366004611a2d565b610dd4565b34801561069e57600080fd5b506102b4610e52565b3480156106b357600080fd5b506102b46106c2366004611ac4565b610eb6565b3480156106d357600080fd5b50600f5461044a906001600160a01b031681565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107429086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146107875760405162461bcd60e51b815260040161077e90611baa565b60405180910390fd5b601454604051630afbf02f60e11b81526001600160a01b038381166004830152909116906315f7e05e906024015b600060405180830381600087803b1580156107cf57600080fd5b505af11580156107e3573d6000803e3d6000fd5b5050505050565b600080546001600160a01b031633146108155760405162461bcd60e51b815260040161077e90611baa565b60025461074e9030906001600160a01b031684610eea565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146108da576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526007825283812033825290915291909120546108b5918490610fd0565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b6108e584848461100a565b90505b9392505050565b6003546001600160a01b031660009081526006602052604081205461093c906002546001600160a01b031660009081526006602052604090205461093690600454906114b4565b906114b4565b905090565b6000546001600160a01b0316331461096b5760405162461bcd60e51b815260040161077e90611baa565b6001600160a01b0382166000908152600a60205260409020805460ff191682151517905561099982826114f6565b5050565b6000546001600160a01b031633146109c75760405162461bcd60e51b815260040161077e90611baa565b6012805461ff0019169055565b600080546001600160a01b031633146109ff5760405162461bcd60e51b815260040161077e90611baa565b506001600160a01b03166000908152600a602052604090205460ff1690565b600061074e826000196106e7565b601454604051631730cfdd60e21b81526001600160a01b0383811660048301526000921690635cc33f74906024015b60206040518083038186803b158015610a7357600080fd5b505afa158015610a87573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074e9190611b3c565b6000546001600160a01b03163314610ad55760405162461bcd60e51b815260040161077e90611baa565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b215760405162461bcd60e51b815260040161077e90611baa565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6014546040805163997664d760e01b815290516000926001600160a01b03169163997664d7916004808301926020929190829003018186803b158015610b9157600080fd5b505afa158015610ba5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c9190611b3c565b6000546001600160a01b03163314610bf35760405162461bcd60e51b815260040161077e90611baa565b605f811115610c3b5760405162461bcd60e51b81526020600482015260146024820152734665652063616e2774206578636565642031302560601b604482015260640161077e565b600b55565b6014546040805163d54ad2a160e01b815290516000926001600160a01b03169163d54ad2a1916004808301926020929190829003018186803b158015610b9157600080fd5b601454604051638ecc37fb60e01b81526001600160a01b0383811660048301526000921690638ecc37fb90602401610a5b565b60006108e833848461100a565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260040161077e90611baa565b436011556012805460ff19166001179055565b6000546001600160a01b03163314610d2c5760405162461bcd60e51b815260040161077e90611baa565b600e80546001600160a01b0319166001600160a01b03838116918217909255601454604051630787a21360e51b815260048101929092529091169063f0f44260906024016107b5565b601454604051630afbf02f60e11b81523360048201526001600160a01b03909116906315f7e05e90602401600060405180830381600087803b158015610dba57600080fd5b505af1158015610dce573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610dfe5760405162461bcd60e51b815260040161077e90611baa565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b03163314610e7c5760405162461bcd60e51b815260040161077e90611baa565b600d5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610999573d6000803e3d6000fd5b6000546001600160a01b03163314610ee05760405162461bcd60e51b815260040161077e90611baa565b61099982826114f6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610f3b918490610fd0565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610f6a9083611607565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fbe9086815260200190565b60405180910390a35060019392505050565b60008184841115610ff45760405162461bcd60e51b815260040161077e9190611b55565b5060006110018486611c94565b95945050505050565b600080546001600160a01b0385811691161480159061103757506000546001600160a01b03848116911614155b1561108e5760125460ff1661108e5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e0000000000000000604482015260640161077e565b6001600160a01b0384166000908152600a602052604090205460ff161580156110d057506001600160a01b0383166000908152600a602052604090205460ff16155b6111075760405162461bcd60e51b81526020600482015260086024820152674e6963652074727960c01b604482015260640161077e565b601254610100900460ff1615611189576000546001600160a01b0385811691161480159061114357506000546001600160a01b03848116911614155b15611189576013548211156111895760405162461bcd60e51b815260206004820152600c60248201526b2a37b79036bab1b41039b4b960a11b604482015260640161077e565b601154611197906001611c3b565b43116111d9576001600160a01b0383166000908152600a602090815260408083208054600160ff19918216811790925560099093529220805490911690911790555b601454600160a01b900460ff16156111fd576111f6848484610eea565b90506108e8565b6010546000906001600160a01b03858116911614801561122a575030600090815260066020526040812054115b9050801561123a5761123a611666565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03881660009081526006909152919091205461128c918590610fd0565b6001600160a01b0386166000908152600660205260408120919091556112b2868661181d565b6112bc57836112c6565b6112c68685611892565b6001600160a01b0386166000908152600660205260409020549091506112ec9082611607565b6001600160a01b0380871660009081526006602052604090209190915560105487821691161480159061133857506001600160a01b03861660009081526009602052604090205460ff16155b156113ae576014546001600160a01b0387811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561139b57600080fd5b505af19250505080156113ac575060015b505b6010546001600160a01b038681169116148015906113e557506001600160a01b03851660009081526009602052604090205460ff16155b1561145b576014546001600160a01b0386811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561144857600080fd5b505af1925050508015611459575060015b505b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114a091815260200190565b60405180910390a350600195945050505050565b60006108e883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd0565b6001600160a01b038216301480159061151d57506010546001600160a01b03838116911614155b61152657600080fd5b6001600160a01b0382166000908152600960205260409020805460ff191682158015919091179091556115be57601454604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b1580156115a257600080fd5b505af11580156115b6573d6000803e3d6000fd5b505050505050565b6014546001600160a01b0383811660008181526006602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401611588565b6000806116148385611c3b565b9050838110156108e85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161077e565b6014805460ff60a01b1916600160a01b17905530600090815260066020526040812054604080516002808252606082019092529192506000919081602001602082028036833701905050905030816000815181106116c6576116c6611cc1565b6001600160a01b03928316602091820292909201015260018054835192169183919081106116f6576116f6611cc1565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac9479061173c908590600090869030904290600401611bca565b600060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b50505050600061178460024761193e90919063ffffffff16565b9050600061179347600261193e565b600d546040519192506001600160a01b03169082156108fc029083906000818181858888f193505050501580156117ce573d6000803e3d6000fd5b50600e546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611809573d6000803e3d6000fd5b50506014805460ff60a01b19169055505050565b6001600160a01b03821660009081526008602052604081205460ff168061185c57506001600160a01b03821660009081526008602052604090205460ff165b1580156108e857506010546001600160a01b03848116911614806108e85750506010546001600160a01b03908116911614919050565b6000806118b6600c546118b0600b548661198090919063ffffffff16565b9061193e565b306000908152600660205260409020549091506118d39082611607565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119249085815260200190565b60405180910390a361193683826114b4565b949350505050565b60006108e883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119ff565b60008261198f5750600061074e565b600061199b8385611c75565b9050826119a88583611c53565b146108e85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161077e565b60008183611a205760405162461bcd60e51b815260040161077e9190611b55565b5060006110018486611c53565b600060208284031215611a3f57600080fd5b81356108e881611cd7565b60008060408385031215611a5d57600080fd5b8235611a6881611cd7565b91506020830135611a7881611cd7565b809150509250929050565b600080600060608486031215611a9857600080fd5b8335611aa381611cd7565b92506020840135611ab381611cd7565b929592945050506040919091013590565b60008060408385031215611ad757600080fd5b8235611ae281611cd7565b915060208301358015158114611a7857600080fd5b60008060408385031215611b0a57600080fd5b8235611b1581611cd7565b946020939093013593505050565b600060208284031215611b3557600080fd5b5035919050565b600060208284031215611b4e57600080fd5b5051919050565b600060208083528351808285015260005b81811015611b8257858101830151858201604001528201611b66565b81811115611b94576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c1a5784516001600160a01b031683529383019391830191600101611bf5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611c4e57611c4e611cab565b500190565b600082611c7057634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611c8f57611c8f611cab565b500290565b600082821015611ca657611ca6611cab565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611cec57600080fd5b5056fea2646970667358221220982f818e8319c78136597942417fb22876424c5e24353105c7a19c93184a627a64736f6c63430008070033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000001739f9138aac40573ddd3d2ce55fe02bd4c14942

-----Decoded View---------------
Arg [0] : _owner (address): 0x1739f9138aac40573DDd3d2CE55fe02bD4C14942

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001739f9138aac40573ddd3d2ce55fe02bd4c14942


Deployed Bytecode Sourcemap

9452:9917:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12077:80;;;;;;;;;;-1:-1:-1;12149:5:0;;;;;;;;;;;;-1:-1:-1;;;12149:5:0;;;;12077:80;;;;;;;:::i;:::-;;;;;;;;12499:216;;;;;;;;;;-1:-1:-1;12499:216:0;;;;;:::i;:::-;;:::i;:::-;;;3874:14:1;;3867:22;3849:41;;3837:2;3822:18;12499:216:0;3709:187:1;17980:110:0;;;;;;;;;;-1:-1:-1;17980:110:0;;;;;:::i;:::-;;:::i;:::-;;11807:88;;;;;;;;;;-1:-1:-1;11880:12:0;;11807:88;;;7346:25:1;;;7334:2;7319:18;11807:88:0;7200:177:1;18270:139:0;;;;;;;;;;-1:-1:-1;18270:139:0;;;;;:::i;:::-;;:::i;13017:370::-;;;;;;;;;;-1:-1:-1;13017:370:0;;;;;:::i;:::-;;:::i;18421:142::-;;;;;;;;;;;;;:::i;2834:103::-;;;;;;;;;;-1:-1:-1;2834:103:0;;;;;:::i;:::-;2889:4;2924:5;-1:-1:-1;;;;;2913:16:0;;;2924:5;;2913:16;;2834:103;11901:80;;;;;;;;;;-1:-1:-1;11901:80:0;;9835:1;8509:36:1;;8497:2;8482:18;11901:80:0;8367:184:1;16636:158:0;;;;;;;;;;-1:-1:-1;16636:158:0;;;;;:::i;:::-;;:::i;19286:80::-;;;;;;;;;;;;;:::i;16806:115::-;;;;;;;;;;-1:-1:-1;16806:115:0;;;;;:::i;:::-;;:::i;12723:122::-;;;;;;;;;;-1:-1:-1;12723:122:0;;;;;:::i;:::-;;:::i;19121:157::-;;;;;;;;;;-1:-1:-1;19121:157:0;;;;;:::i;:::-;;:::i;18571:135::-;;;;;;;;;;-1:-1:-1;18571:135:0;;;;;:::i;:::-;;:::i;10460:85::-;;;;;;;;;;-1:-1:-1;10460:85:0;;;;-1:-1:-1;;;;;10460:85:0;;;;;;-1:-1:-1;;;;;2659:32:1;;;2641:51;;2629:2;2614:18;10460:85:0;2495:203:1;17418:119:0;;;;;;;;;;-1:-1:-1;17418:119:0;;;;;:::i;:::-;;:::i;18874:115::-;;;;;;;;;;;;;:::i;17545:139::-;;;;;;;;;;-1:-1:-1;17545:139:0;;;;;:::i;:::-;;:::i;12247:105::-;;;;;;;;;;-1:-1:-1;12247:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;12331:18:0;12313:7;12331:18;;;:9;:18;;;;;;;12247:105;19001:111;;;;;;;;;;;;;:::i;10361:92::-;;;;;;;;;;-1:-1:-1;10361:92:0;;;;-1:-1:-1;;;;;10361:92:0;;;12163:78;;;;;;;;;;-1:-1:-1;12215:7:0;12233:5;-1:-1:-1;;;;;12233:5:0;12163:78;;18102:156;;;;;;;;;;-1:-1:-1;18102:156:0;;;;;:::i;:::-;;:::i;11987:84::-;;;;;;;;;;-1:-1:-1;12061:7:0;;;;;;;;;;;;-1:-1:-1;;;12061:7:0;;;;11987:84;;10585:19;;;;;;;;;;-1:-1:-1;10585:19:0;;;;-1:-1:-1;;;;;10585:19:0;;;12853:156;;;;;;;;;;-1:-1:-1;12853:156:0;;;;;:::i;:::-;;:::i;10613:25::-;;;;;;;;;;;;;;;;16501:115;;;;;;;;;;;;;:::i;12358:133::-;;;;;;;;;;-1:-1:-1;12358:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;12460:19:0;;;12442:7;12460:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;12358:133;18714:152;;;;;;;;;;-1:-1:-1;18714:152:0;;;;;:::i;:::-;;:::i;17878:90::-;;;;;;;;;;;;;:::i;3062:136::-;;;;;;;;;;-1:-1:-1;3062:136:0;;;;;:::i;:::-;;:::i;17696:174::-;;;;;;;;;;;;;:::i;17278:132::-;;;;;;;;;;-1:-1:-1;17278:132:0;;;;;:::i;:::-;;:::i;10554:24::-;;;;;;;;;;-1:-1:-1;10554:24:0;;;;-1:-1:-1;;;;;10554:24:0;;;12499:216;12603:10;12574:4;12591:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12591:32:0;;;;;;;;;;:41;;;12648:37;12574:4;;12591:32;;12648:37;;;;12626:6;7346:25:1;;7334:2;7319:18;;7200:177;12648:37:0;;;;;;;;-1:-1:-1;12703:4:0;12499:216;;;;;:::o;17980:110::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;;;;;;;;;18049:11:::1;::::0;:33:::1;::::0;-1:-1:-1;;;18049:33:0;;-1:-1:-1;;;;;2659:32:1;;;18049:33:0::1;::::0;::::1;2641:51:1::0;18049:11:0;;::::1;::::0;:25:::1;::::0;2614:18:1;;18049:33:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17980:110:::0;:::o;18270:139::-;18334:4;2924:5;;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;18388:4:::1;::::0;18358:43:::1;::::0;18381:4:::1;::::0;-1:-1:-1;;;;;18388:4:0::1;18394:6:::0;18358:14:::1;:43::i;13017:370::-:0;-1:-1:-1;;;;;13137:19:0;;13117:4;13137:19;;;:11;:19;;;;;;;;13157:10;13137:31;;;;;;;;-1:-1:-1;;13137:52:0;13134:186;;13239:69;;;;;;;;;;;-1:-1:-1;;;13239:69:0;;;;;;;;-1:-1:-1;;;;;13239:19:0;;-1:-1:-1;13239:19:0;;;:11;:19;;;;;13259:10;13239:31;;;;;;;;;;:69;;13275:6;;13239:35;:69::i;:::-;-1:-1:-1;;;;;13205:19:0;;;;;;:11;:19;;;;;;;;13225:10;13205:31;;;;;;;:103;13134:186;13339:40;13353:6;13361:9;13372:6;13339:13;:40::i;:::-;13332:47;;13017:370;;;;;;:::o;18421:142::-;18549:4;;-1:-1:-1;;;;;18549:4:0;18474:7;12331:18;;;:9;:18;;;;;;18501:54;;18528:4;;-1:-1:-1;;;;;18528:4:0;12313:7;12331:18;;;:9;:18;;;;;;18501:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18494:61;;18421:142;:::o;16636:158::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16713:15:0;::::1;;::::0;;;:5:::1;:15;::::0;;;;:24;;-1:-1:-1;;16713:24:0::1;::::0;::::1;;;::::0;;16748:38:::1;16713:15:::0;:24;16748:20:::1;:38::i;:::-;16636:158:::0;;:::o;19286:80::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;19342:8:::1;:16:::0;;-1:-1:-1;;19342:16:0::1;::::0;;19286:80::o;16806:115::-;16874:4;2924:5;;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;16898:15:0::1;;::::0;;;:5:::1;:15;::::0;;;;;::::1;;::::0;16806:115::o;12723:122::-;12778:4;12802:35;12810:7;-1:-1:-1;;12802:7:0;:35::i;19121:157::-;19224:11;;:46;;-1:-1:-1;;;19224:46:0;;-1:-1:-1;;;;;2659:32:1;;;19224:46:0;;;2641:51:1;19197:7:0;;19224:11;;:33;;2614:18:1;;19224:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18571:135::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;18655:15:::1;:43:::0;;-1:-1:-1;;;;;;18655:43:0::1;-1:-1:-1::0;;;;;18655:43:0;;;::::1;::::0;;;::::1;::::0;;18571:135::o;17418:119::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17501:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;17501:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17418:119::o;18874:115::-;18953:11;;:28;;;-1:-1:-1;;;18953:28:0;;;;18926:7;;-1:-1:-1;;;;;18953:11:0;;:26;;:28;;;;;;;;;;;;;;:11;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17545:139::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;17623:2:::1;17615:4;:10;;17606:44;;;::::0;-1:-1:-1;;;17606:44:0;;7053:2:1;17606:44:0::1;::::0;::::1;7035:21:1::0;7092:2;7072:18;;;7065:30;-1:-1:-1;;;7111:18:1;;;7104:50;7171:18;;17606:44:0::1;6851:344:1::0;17606:44:0::1;17661:8;:15:::0;17545:139::o;19001:111::-;19078:11;;:26;;;-1:-1:-1;;;19078:26:0;;;;19051:7;;-1:-1:-1;;;;;19078:11:0;;:24;;:26;;;;;;;;;;;;;;:11;:26;;;;;;;;;;18102:156;18203:11;;:47;;-1:-1:-1;;;18203:47:0;;-1:-1:-1;;;;;2659:32:1;;;18203:47:0;;;2641:51:1;18176:7:0;;18203:11;;:34;;2614:18:1;;18203:47:0;2495:203:1;12853:156:0;12933:4;12957:44;12971:10;12983:9;12994:6;12957:13;:44::i;16501:115::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;16567:12:::1;16554:10;:25:::0;16590:11:::1;:18:::0;;-1:-1:-1;;16590:18:0::1;16604:4;16590:18;::::0;;16501:115::o;18714:152::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;18784:8:::1;:29:::0;;-1:-1:-1;;;;;;18784:29:0::1;-1:-1:-1::0;;;;;18784:29:0;;::::1;::::0;;::::1;::::0;;;18824:11:::1;::::0;:34:::1;::::0;-1:-1:-1;;;18824:34:0;;::::1;::::0;::::1;2641:51:1::0;;;;18824:11:0;;::::1;::::0;:23:::1;::::0;2614:18:1;;18824:34:0::1;2495:203:1::0;17878:90:0;17923:11;;:37;;-1:-1:-1;;;17923:37:0;;17949:10;17923:37;;;2641:51:1;-1:-1:-1;;;;;17923:11:0;;;;:25;;2614:18:1;;17923:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17878:90::o;3062:136::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;3138:5:::1;:11:::0;;-1:-1:-1;;;;;;3138:11:0::1;-1:-1:-1::0;;;;;3138:11:0;::::1;::::0;;::::1;::::0;;;3165:25:::1;::::0;2641:51:1;;;3165:25:0::1;::::0;2629:2:1;2614:18;3165:25:0::1;;;;;;;3062:136:::0;:::o;17696:174::-;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;17817:15:::1;::::0;17809:53:::1;::::0;17777:21:::1;::::0;-1:-1:-1;;;;;17817:15:0::1;::::0;17809:53;::::1;;;::::0;17777:21;;17748:26:::1;17809:53:::0;17748:26;17809:53;17777:21;17817:15;17809:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;17278:132:::0;2889:4;2924:5;-1:-1:-1;;;;;2924:5:0;2741:10;2913:16;2725:38;;;;-1:-1:-1;;;2725:38:0;;;;;;;:::i;:::-;17366:36:::1;17387:6;17395;17366:20;:36::i;14864:330::-:0;14994:53;;;;;;;;;;;-1:-1:-1;;;14994:53:0;;;;;;;;-1:-1:-1;;;;;14994:17:0;;14957:4;14994:17;;;:9;:17;;;;;;;:53;;15016:6;;14994:21;:53::i;:::-;-1:-1:-1;;;;;14974:17:0;;;;;;;:9;:17;;;;;;:73;;;;15081:20;;;;;;;:32;;15106:6;15081:24;:32::i;:::-;-1:-1:-1;;;;;15058:20:0;;;;;;;:9;:20;;;;;;;:55;;;;15129:35;;;;;;;;;;15157:6;7346:25:1;;7334:2;7319:18;;7200:177;15129:35:0;;;;;;;;-1:-1:-1;15182:4:0;14864:330;;;;;:::o;496:192::-;582:7;618:12;610:6;;;;602:29;;;;-1:-1:-1;;;602:29:0;;;;;;;;:::i;:::-;-1:-1:-1;642:9:0;654:5;658:1;654;:5;:::i;:::-;642:17;496:192;-1:-1:-1;;;;;496:192:0:o;13395:1457::-;13487:4;13517:5;;-1:-1:-1;;;;;13508:14:0;;;13517:5;;13508:14;;;;:35;;-1:-1:-1;13538:5:0;;-1:-1:-1;;;;;13526:17:0;;;13538:5;;13526:17;;13508:35;13504:89;;;13553:11;;;;13545:48;;;;-1:-1:-1;;;13545:48:0;;6700:2:1;13545:48:0;;;6682:21:1;6739:2;6719:18;;;6712:30;6778:26;6758:18;;;6751:54;6822:18;;13545:48:0;6498:348:1;13545:48:0;-1:-1:-1;;;;;13654:13:0;;;;;;:5;:13;;;;;;;;13653:14;:35;;;;-1:-1:-1;;;;;;13672:16:0;;;;;;:5;:16;;;;;;;;13671:17;13653:35;13644:57;;;;-1:-1:-1;;;13644:57:0;;5265:2:1;13644:57:0;;;5247:21:1;5304:1;5284:18;;;5277:29;-1:-1:-1;;;5322:18:1;;;5315:38;5370:18;;13644:57:0;5063:331:1;13644:57:0;13716:8;;;;;;;13712:130;;;13754:5;;-1:-1:-1;;;;;13746:13:0;;;13754:5;;13746:13;;;;:34;;-1:-1:-1;13775:5:0;;-1:-1:-1;;;;;13763:17:0;;;13775:5;;13763:17;;13746:34;13742:80;;;13799:6;;13791;:14;;13782:40;;;;-1:-1:-1;;;13782:40:0;;5957:2:1;13782:40:0;;;5939:21:1;5996:2;5976:18;;;5969:30;-1:-1:-1;;;6015:18:1;;;6008:42;6067:18;;13782:40:0;5755:336:1;13782:40:0;13873:10;;:14;;13886:1;13873:14;:::i;:::-;13856:12;:32;13852:139;;-1:-1:-1;;;;;13906:16:0;;;;;;:5;:16;;;;;;;;:23;;13925:4;-1:-1:-1;;13906:23:0;;;;;;;;13944:16;:27;;;;;:34;;;;;;;;;;13852:139;14013:6;;-1:-1:-1;;;14013:6:0;;;;14010:63;;;14029:41;14044:6;14052:9;14063:6;14029:14;:41::i;:::-;14022:48;;;;14010:63;14144:4;;14095:19;;-1:-1:-1;;;;;14133:15:0;;;14144:4;;14133:15;:47;;;;-1:-1:-1;14170:4:0;14179:1;12331:18;;;:9;:18;;;;;;14152:28;14133:47;14095:86;;14195:14;14192:33;;;14212:10;:8;:10::i;:::-;14257:53;;;;;;;;;;;-1:-1:-1;;;14257:53:0;;;;;;;;-1:-1:-1;;;;;14257:17:0;;-1:-1:-1;14257:17:0;;;:9;:17;;;;;;;;:53;;14279:6;;14257:21;:53::i;:::-;-1:-1:-1;;;;;14237:17:0;;;;;;:9;:17;;;;;:73;;;;14348:32;14247:6;14370:9;14348:13;:32::i;:::-;:67;;14409:6;14348:67;;;14383:23;14391:6;14399;14383:7;:23::i;:::-;-1:-1:-1;;;;;14459:20:0;;;;;;:9;:20;;;;;;14323:92;;-1:-1:-1;14459:40:0;;14323:92;14459:24;:40::i;:::-;-1:-1:-1;;;;;14436:20:0;;;;;;;:9;:20;;;;;:63;;;;14525:4;;14515:14;;;14525:4;;14515:14;;;;:43;;-1:-1:-1;;;;;;14534:24:0;;;;;;:16;:24;;;;;;;;14533:25;14515:43;14512:114;;;14565:11;;-1:-1:-1;;;;;14594:17:0;;;14565:11;14594:17;;;:9;:17;;;;;;;;14565:47;;-1:-1:-1;;;14565:47:0;;;;;3325:51:1;;;;3392:18;;;3385:34;14565:11:0;;;:20;;3298:18:1;;14565:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14561:63;;14652:4;;-1:-1:-1;;;;;14639:17:0;;;14652:4;;14639:17;;;;:49;;-1:-1:-1;;;;;;14661:27:0;;;;;;:16;:27;;;;;;;;14660:28;14639:49;14636:126;;;14695:11;;-1:-1:-1;;;;;14727:20:0;;;14695:11;14727:20;;;:9;:20;;;;;;;;14695:53;;-1:-1:-1;;;14695:53:0;;;;;3325:51:1;;;;3392:18;;;3385:34;14695:11:0;;;:20;;3298:18:1;;14695:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14691:69;;14796:9;-1:-1:-1;;;;;14779:43:0;14788:6;-1:-1:-1;;;;;14779:43:0;;14807:14;14779:43;;;;7346:25:1;;7334:2;7319:18;;7200:177;14779:43:0;;;;;;;;-1:-1:-1;14840:4:0;;13395:1457;-1:-1:-1;;;;;13395:1457:0:o;354:136::-;412:7;439:43;443:1;446;439:43;;;;;;;;;;;;;;;;;:3;:43::i;16933:337::-;-1:-1:-1;;;;;17020:23:0;;17038:4;17020:23;;;;:41;;-1:-1:-1;17057:4:0;;-1:-1:-1;;;;;17047:14:0;;;17057:4;;17047:14;;17020:41;17012:50;;;;;;-1:-1:-1;;;;;17073:24:0;;;;;;:16;:24;;;;;:33;;-1:-1:-1;;17073:33:0;;;;;;;;;;;;17117:146;;17142:11;;:31;;-1:-1:-1;;;17142:31:0;;-1:-1:-1;;;;;3343:32:1;;;17142:31:0;;;3325:51:1;17142:11:0;3392:18:1;;;3385:34;17142:11:0;;;;:20;;3298:18:1;;17142:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16636:158;;:::o;17117:146::-;17204:11;;-1:-1:-1;;;;;17233:17:0;;;17204:11;17233:17;;;:9;:17;;;;;;;;17204:47;;-1:-1:-1;;;17204:47:0;;;;;3325:51:1;;;;3392:18;;;3385:34;17204:11:0;;;:20;;3298:18:1;;17204:47:0;3143:282:1;164:181:0;222:7;;254:5;258:1;254;:5;:::i;:::-;242:17;;283:1;278;:6;;270:46;;;;-1:-1:-1;;;270:46:0;;5601:2:1;270:46:0;;;5583:21:1;5640:2;5620:18;;;5613:30;5679:29;5659:18;;;5652:57;5726:18;;270:46:0;5399:351:1;15786:701:0;10890:6;:13;;-1:-1:-1;;;;10890:13:0;-1:-1:-1;;;10890:13:0;;;15876:4:::1;-1:-1:-1::0;12331:18:0;;;:9;:18;;;;;;15919:16:::1;::::0;;15933:1:::1;15919:16:::0;;;;;::::1;::::0;;;15835:47;;-1:-1:-1;15895:21:0::1;::::0;15919:16;::::1;;;;;;;;;;;::::0;-1:-1:-1;15919:16:0::1;15895:40;;15964:4;15946;15951:1;15946:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15946:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15990:4:::1;::::0;;15980:7;;15990:4;::::1;::::0;15980;;15990;15980:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15980:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;16017:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;16017:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;16089:12;;16017:6:::1;::::0;16132:4;;16159::::1;::::0;16179:15:::1;::::0;16017:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16226:22;16251:30;16279:1;16252:21;16251:27;;:30;;;;:::i;:::-;16226:55:::0;-1:-1:-1;16292:23:0::1;16318:30;16319:21;16346:1;16318:27;:30::i;:::-;16384:15;::::0;16376:50:::1;::::0;16292:56;;-1:-1:-1;;;;;;16384:15:0::1;::::0;16376:50;::::1;;;::::0;16292:56;;16384:15:::1;16376:50:::0;16384:15;16376:50;16292:56;16384:15;16376:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;16445:8:0::1;::::0;16437:42:::1;::::0;-1:-1:-1;;;;;16445:8:0;;::::1;::::0;16437:42;::::1;;;::::0;16464:14;;16445:8:::1;16437:42:::0;16445:8;16437:42;16464:14;16445:8;16437:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10908:6:0;:14;;-1:-1:-1;;;;10908:14:0;;;-1:-1:-1;;;15786:701:0:o;15205:206::-;-1:-1:-1;;;;;15314:19:0;;15286:4;15314:19;;;:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;15337:22:0;;;;;;:11;:22;;;;;;;;15314:45;15312:48;:90;;;;-1:-1:-1;15376:4:0;;-1:-1:-1;;;;;15366:14:0;;;15376:4;;15366:14;;:35;;-1:-1:-1;;15397:4:0;;-1:-1:-1;;;;;15397:4:0;;;15384:17;;;;15205:206;-1:-1:-1;15205:206:0:o;15419:354::-;15486:7;15506:17;15546:40;15571:14;;15546:20;15557:8;;15546:6;:10;;:20;;;;:::i;:::-;:24;;:40::i;:::-;15642:4;15624:24;;;;:9;:24;;;;;;15534:52;;-1:-1:-1;15624:39:0;;15534:52;15624:28;:39::i;:::-;15615:4;15597:24;;;;:9;:24;;;;;;;:66;;;;15679:42;;-1:-1:-1;;;;;15679:42:0;;;;;;;15711:9;7346:25:1;;7334:2;7319:18;;7200:177;15679:42:0;;;;;;;;15744:21;:6;15755:9;15744:10;:21::i;:::-;15737:28;15419:354;-1:-1:-1;;;;15419:354:0:o;950:132::-;1008:7;1035:39;1039:1;1042;1035:39;;;;;;;;;;;;;;;;;:3;:39::i;694:250::-;752:7;776:6;772:47;;-1:-1:-1;806:1:0;799:8;;772:47;831:9;843:5;847:1;843;:5;:::i;:::-;831:17;-1:-1:-1;876:1:0;867:5;871:1;831:17;867:5;:::i;:::-;:10;859:56;;;;-1:-1:-1;;;859:56:0;;6298:2:1;859:56:0;;;6280:21:1;6337:2;6317:18;;;6310:30;6376:34;6356:18;;;6349:62;-1:-1:-1;;;6427:18:1;;;6420:31;6468:19;;859:56:0;6096:397:1;1088:345:0;1174:7;1276:12;1269:5;1261:28;;;;-1:-1:-1;;;1261:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1300:9:0;1312:5;1316:1;1312;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;526:388::-;594:6;602;655:2;643:9;634:7;630:23;626:32;623:52;;;671:1;668;661:12;623:52;710:9;697:23;729:31;754:5;729:31;:::i;:::-;779:5;-1:-1:-1;836:2:1;821:18;;808:32;849:33;808:32;849:33;:::i;:::-;901:7;891:17;;;526:388;;;;;:::o;919:456::-;996:6;1004;1012;1065:2;1053:9;1044:7;1040:23;1036:32;1033:52;;;1081:1;1078;1071:12;1033:52;1120:9;1107:23;1139:31;1164:5;1139:31;:::i;:::-;1189:5;-1:-1:-1;1246:2:1;1231:18;;1218:32;1259:33;1218:32;1259:33;:::i;:::-;919:456;;1311:7;;-1:-1:-1;;;1365:2:1;1350:18;;;;1337:32;;919:456::o;1380:416::-;1445:6;1453;1506:2;1494:9;1485:7;1481:23;1477:32;1474:52;;;1522:1;1519;1512:12;1474:52;1561:9;1548:23;1580:31;1605:5;1580:31;:::i;:::-;1630:5;-1:-1:-1;1687:2:1;1672:18;;1659:32;1729:15;;1722:23;1710:36;;1700:64;;1760:1;1757;1750:12;1801:315;1869:6;1877;1930:2;1918:9;1909:7;1905:23;1901:32;1898:52;;;1946:1;1943;1936:12;1898:52;1985:9;1972:23;2004:31;2029:5;2004:31;:::i;:::-;2054:5;2106:2;2091:18;;;;2078:32;;-1:-1:-1;;;1801:315:1:o;2121:180::-;2180:6;2233:2;2221:9;2212:7;2208:23;2204:32;2201:52;;;2249:1;2246;2239:12;2201:52;-1:-1:-1;2272:23:1;;2121:180;-1:-1:-1;2121:180:1:o;2306:184::-;2376:6;2429:2;2417:9;2408:7;2404:23;2400:32;2397:52;;;2445:1;2442;2435:12;2397:52;-1:-1:-1;2468:16:1;;2306:184;-1:-1:-1;2306:184:1:o;4127:597::-;4239:4;4268:2;4297;4286:9;4279:21;4329:6;4323:13;4372:6;4367:2;4356:9;4352:18;4345:34;4397:1;4407:140;4421:6;4418:1;4415:13;4407:140;;;4516:14;;;4512:23;;4506:30;4482:17;;;4501:2;4478:26;4471:66;4436:10;;4407:140;;;4565:6;4562:1;4559:13;4556:91;;;4635:1;4630:2;4621:6;4610:9;4606:22;4602:31;4595:42;4556:91;-1:-1:-1;4708:2:1;4687:15;-1:-1:-1;;4683:29:1;4668:45;;;;4715:2;4664:54;;4127:597;-1:-1:-1;;;4127:597:1:o;4729:329::-;4931:2;4913:21;;;4970:1;4950:18;;;4943:29;-1:-1:-1;;;5003:2:1;4988:18;;4981:36;5049:2;5034:18;;4729:329::o;7382:980::-;7644:4;7692:3;7681:9;7677:19;7723:6;7712:9;7705:25;7749:2;7787:6;7782:2;7771:9;7767:18;7760:34;7830:3;7825:2;7814:9;7810:18;7803:31;7854:6;7889;7883:13;7920:6;7912;7905:22;7958:3;7947:9;7943:19;7936:26;;7997:2;7989:6;7985:15;7971:29;;8018:1;8028:195;8042:6;8039:1;8036:13;8028:195;;;8107:13;;-1:-1:-1;;;;;8103:39:1;8091:52;;8198:15;;;;8163:12;;;;8139:1;8057:9;8028:195;;;-1:-1:-1;;;;;;;8279:32:1;;;;8274:2;8259:18;;8252:60;-1:-1:-1;;;8343:3:1;8328:19;8321:35;8240:3;7382:980;-1:-1:-1;;;7382:980:1:o;8556:128::-;8596:3;8627:1;8623:6;8620:1;8617:13;8614:39;;;8633:18;;:::i;:::-;-1:-1:-1;8669:9:1;;8556:128::o;8689:217::-;8729:1;8755;8745:132;;8799:10;8794:3;8790:20;8787:1;8780:31;8834:4;8831:1;8824:15;8862:4;8859:1;8852:15;8745:132;-1:-1:-1;8891:9:1;;8689:217::o;8911:168::-;8951:7;9017:1;9013;9009:6;9005:14;9002:1;8999:21;8994:1;8987:9;8980:17;8976:45;8973:71;;;9024:18;;:::i;:::-;-1:-1:-1;9064:9:1;;8911:168::o;9084:125::-;9124:4;9152:1;9149;9146:8;9143:34;;;9157:18;;:::i;:::-;-1:-1:-1;9194:9:1;;9084:125::o;9214:127::-;9275:10;9270:3;9266:20;9263:1;9256:31;9306:4;9303:1;9296:15;9330:4;9327:1;9320:15;9346:127;9407:10;9402:3;9398:20;9395:1;9388:31;9438:4;9435:1;9428:15;9462:4;9459:1;9452:15;9610:131;-1:-1:-1;;;;;9685:31:1;;9675:42;;9665:70;;9731:1;9728;9721:12;9665:70;9610:131;:::o

Swarm Source

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