ETH Price: $3,390.24 (-2.61%)
Gas: 1 Gwei

Contract

0xd12A99dbC40036CEc6f1b776dccd2d36f5953B94
 

Overview

ETH Balance

0.198299 ETH

Eth Value

$672.28 (@ $3,390.24/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve201940542024-06-29 1:26:3531 mins ago1719624395IN
0xd12A99db...6f5953B94
0 ETH0.000082461.77194717
Approve201939052024-06-29 0:56:471 hr ago1719622607IN
0xd12A99db...6f5953B94
0 ETH0.000073381.57474276
Approve201936832024-06-29 0:11:471 hr ago1719619907IN
0xd12A99db...6f5953B94
0 ETH0.00007381.59316017
Approve201936542024-06-29 0:05:471 hr ago1719619547IN
0xd12A99db...6f5953B94
0 ETH0.000085141.83801163
Transfer201935982024-06-28 23:54:232 hrs ago1719618863IN
0xd12A99db...6f5953B94
0 ETH0.000105261.77042472
Approve201935802024-06-28 23:50:472 hrs ago1719618647IN
0xd12A99db...6f5953B94
0 ETH0.000174653.75286115
Approve201935432024-06-28 23:43:232 hrs ago1719618203IN
0xd12A99db...6f5953B94
0 ETH0.000162983.50212639
Approve201935182024-06-28 23:38:232 hrs ago1719617903IN
0xd12A99db...6f5953B94
0 ETH0.000082081.77187367
Approve201934452024-06-28 23:23:352 hrs ago1719617015IN
0xd12A99db...6f5953B94
0 ETH0.000081441.75008118
Approve201934172024-06-28 23:17:592 hrs ago1719616679IN
0xd12A99db...6f5953B94
0 ETH0.000103792.22743319
Approve201934062024-06-28 23:15:472 hrs ago1719616547IN
0xd12A99db...6f5953B94
0 ETH0.000077071.66372309
Transfer201933902024-06-28 23:12:352 hrs ago1719616355IN
0xd12A99db...6f5953B94
0 ETH0.000128141.67415321
Approve201933562024-06-28 23:05:472 hrs ago1719615947IN
0xd12A99db...6f5953B94
0 ETH0.000072621.56052632
Transfer201932642024-06-28 22:47:113 hrs ago1719614831IN
0xd12A99db...6f5953B94
0 ETH0.000091471.67296217
Transfer201932602024-06-28 22:46:233 hrs ago1719614783IN
0xd12A99db...6f5953B94
0 ETH0.000121981.59323793
Approve201932432024-06-28 22:42:593 hrs ago1719614579IN
0xd12A99db...6f5953B94
0 ETH0.000181013.88939314
Approve201932082024-06-28 22:35:473 hrs ago1719614147IN
0xd12A99db...6f5953B94
0 ETH0.000080341.73440476
Approve201931862024-06-28 22:31:233 hrs ago1719613883IN
0xd12A99db...6f5953B94
0 ETH0.000093453.54001323
Approve201930932024-06-28 22:12:473 hrs ago1719612767IN
0xd12A99db...6f5953B94
0 ETH0.000089033.3723675
Approve201930822024-06-28 22:10:353 hrs ago1719612635IN
0xd12A99db...6f5953B94
0 ETH0.000067212.54583625
Approve201930812024-06-28 22:10:233 hrs ago1719612623IN
0xd12A99db...6f5953B94
0 ETH0.000067772.56715654
Approve201930802024-06-28 22:10:113 hrs ago1719612611IN
0xd12A99db...6f5953B94
0 ETH0.000067312.54962194
Approve201930782024-06-28 22:09:473 hrs ago1719612587IN
0xd12A99db...6f5953B94
0 ETH0.000069222.62227641
Approve201930772024-06-28 22:09:353 hrs ago1719612575IN
0xd12A99db...6f5953B94
0 ETH0.000068392.59059609
Approve201930632024-06-28 22:06:473 hrs ago1719612407IN
0xd12A99db...6f5953B94
0 ETH0.000190754.09863053
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
197259082024-04-24 14:44:4765 days ago1713969887
0xd12A99db...6f5953B94
0.14555484 ETH
197259082024-04-24 14:44:4765 days ago1713969887
0xd12A99db...6f5953B94
0.14555484 ETH
197259082024-04-24 14:44:4765 days ago1713969887
0xd12A99db...6f5953B94
0.16870738 ETH
197259082024-04-24 14:44:4765 days ago1713969887
0xd12A99db...6f5953B94
0.16870738 ETH
197259012024-04-24 14:43:1165 days ago1713969791
0xd12A99db...6f5953B94
0.15307952 ETH
197259012024-04-24 14:43:1165 days ago1713969791
0xd12A99db...6f5953B94
0.15307952 ETH
197258992024-04-24 14:42:4765 days ago1713969767
0xd12A99db...6f5953B94
0.01706363 ETH
197258992024-04-24 14:42:4765 days ago1713969767
0xd12A99db...6f5953B94
0.01706363 ETH
197258982024-04-24 14:42:3565 days ago1713969755
0xd12A99db...6f5953B94
0.14696534 ETH
197258982024-04-24 14:42:3565 days ago1713969755
0xd12A99db...6f5953B94
0.14696534 ETH
197258972024-04-24 14:42:2365 days ago1713969743
0xd12A99db...6f5953B94
0.12235937 ETH
197258972024-04-24 14:42:2365 days ago1713969743
0xd12A99db...6f5953B94
0.12235937 ETH
197258942024-04-24 14:41:4765 days ago1713969707
0xd12A99db...6f5953B94
0.00572348 ETH
197258942024-04-24 14:41:4765 days ago1713969707
0xd12A99db...6f5953B94
0.00572348 ETH
197258942024-04-24 14:41:4765 days ago1713969707
0xd12A99db...6f5953B94
0.11974179 ETH
197258942024-04-24 14:41:4765 days ago1713969707
0xd12A99db...6f5953B94
0.11974179 ETH
197258932024-04-24 14:41:3565 days ago1713969695
0xd12A99db...6f5953B94
0.11481704 ETH
197258932024-04-24 14:41:3565 days ago1713969695
0xd12A99db...6f5953B94
0.11481704 ETH
197258932024-04-24 14:41:3565 days ago1713969695
0xd12A99db...6f5953B94
0.13475542 ETH
197258932024-04-24 14:41:3565 days ago1713969695
0xd12A99db...6f5953B94
0.13475542 ETH
197258922024-04-24 14:41:2365 days ago1713969683
0xd12A99db...6f5953B94
0.15325875 ETH
197258922024-04-24 14:41:2365 days ago1713969683
0xd12A99db...6f5953B94
0.15325875 ETH
197258912024-04-24 14:41:1165 days ago1713969671
0xd12A99db...6f5953B94
0.23382343 ETH
197258912024-04-24 14:41:1165 days ago1713969671
0xd12A99db...6f5953B94
0.23382343 ETH
197258872024-04-24 14:40:2365 days ago1713969623
0xd12A99db...6f5953B94
0.04338966 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Draggy

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-24
*/

// SPDX-License-Identifier: MIT

/*
$DRAGGY - 0xd12a99

https://draggy.wtf
https://twitter.com/DraggyEth
https://t.me/DRAGGYETH
*/

pragma solidity 0.8.23;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

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

contract Draggy is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private isExcludedFromFee;
    mapping (address => bool) public marketPair;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=200;
    uint256 private _midBuyTax=200;
    uint256 private _initialSellTax=200;
    uint256 private _midSellTax=200;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;

    uint256 private _midBuyTaxAt=40;
    uint256 private _reduceBuyTaxAt=40;

    uint256 private _midSellTaxAt=40;
    uint256 private _reduceSellTaxAt=40;
    uint256 private _preventSwapBefore=40;
    uint256 private _buyCount=0;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000000 * 10**_decimals;
    string private constant _name = unicode"Draggy";
    string private constant _symbol = unicode"DRAGGY";
    uint256 public _maxTxAmount =   4206900000000 * 10**_decimals;
    uint256 public _maxWalletSize = 4206900000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 420690000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 8413800000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool public rescueSwitch = false;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool public caSwitch = true;

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

    constructor () {

        _taxWallet = payable(0x189E12B815ee60f2FF3673B85EA876b91d3be904);
        _balances[_msgSender()] = _tTotal;
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[address(uniswapV2Pair)] = true;
        isExcludedFromFee[_taxWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setMarketPair(address addr) public onlyOwner {
        marketPair[addr] = true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;

        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount> _reduceBuyTaxAt)? _finalBuyTax: ((_buyCount> _midBuyTaxAt)? _midBuyTax: _initialBuyTax)).div(1000);

            if (marketPair[from] && to != address(uniswapV2Router) && ! isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 1  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (!marketPair[to] && ! isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(marketPair[to] && from!= address(this) ){
                taxAmount = amount.mul((_buyCount> _reduceSellTaxAt)? _finalSellTax: ((_buyCount> _midSellTaxAt)? _midSellTax: _initialSellTax)).div(1000);
            }

	    if (!marketPair[from] && !marketPair[to] && from!= address(this) ) {
                taxAmount = 0;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (caSwitch && !inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount <2, "Only 2 CA balance sell");
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }

            else if(!inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function enableSave(bool _status) external onlyOwner {
        rescueSwitch = _status;
    }

    function exemptAddress(address addr, bool exempt) external onlyOwner {
        isExcludedFromFee[addr] = exempt;
    }

    function switchStatus(bool _status) external onlyOwner {
        caSwitch = _status;
    }

    function saveETH() public {
        require(rescueSwitch || tradingOpen);
        payable(_taxWallet).transfer(address(this).balance);
    }

    function saveTOKEN(address _tokenAddr, uint _amount) public {
        require(rescueSwitch || tradingOpen);
        IERC20(_tokenAddr).transfer(_taxWallet, _amount);
    }
 
    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function limitsRemoved() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        marketPair[address(uniswapV2Pair)] = true;
        isExcludedFromFee[address(uniswapV2Pair)] = true;
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"caSwitch","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableSave","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"exemptAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsRemoved","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"rescueSwitch","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saveETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"saveTOKEN","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"switchStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260c860075560c860085560c860095560c8600a555f600b555f600c556028600d556028600e556028600f55602860105560286011555f6012555f6013555f6014556009600a62000055919062000388565b62000067906503d37ec7b5006200039f565b601555620000786009600a62000388565b6200008a906503d37ec7b5006200039f565b6016556200009b6009600a62000388565b620000ac906461f313f8806200039f565b601755620000bd6009600a62000388565b620000cf906507a6fd8f6a006200039f565b601855601a805464ffffff00ff60a01b1916600160c01b179055348015620000f5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673189e12b815ee60f2ff3673b85ea876b91d3be9041790556200016a6009600a62000388565b6200017d9066017e9d8602b4006200039f565b335f908152600160208190526040822092909255600390620001a65f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155601a54821684528284208054861682179055600554909116835291208054909216179055620002163390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200024f6009600a62000388565b620002629066017e9d8602b4006200039f565b60405190815260200160405180910390a3620003b9565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002cd57815f1904821115620002b157620002b162000279565b80851615620002bf57918102915b93841c939080029062000292565b509250929050565b5f82620002e55750600162000382565b81620002f357505f62000382565b81600181146200030c5760028114620003175762000337565b600191505062000382565b60ff8411156200032b576200032b62000279565b50506001821b62000382565b5060208310610133831016604e8410600b84101617156200035c575081810a62000382565b6200036883836200028d565b805f19048211156200037e576200037e62000279565b0290505b92915050565b5f6200039860ff841683620002d5565b9392505050565b808202811582820484141762000382576200038262000279565b611f4380620003c75f395ff3fe6080604052600436106101bd575f3560e01c80637d1db4a5116100f2578063a3019cf811610092578063c7a4bdf711610062578063c7a4bdf7146104dc578063dd62ed3e146104fc578063f2fde38b14610540578063f5b3c3bf1461055f575f80fd5b8063a3019cf81461046a578063a9059cbb14610489578063a910c945146104a8578063bf474bed146104c7575f80fd5b80638a8c523c116100cd5780638a8c523c146103f75780638da5cb5b1461040b5780638f9a55c01461042757806395d89b411461043c575f80fd5b80637d1db4a5146103af578063887875c9146103c4578063896f1a95146103e3575f80fd5b80633b23a5ca1161015d57806353bc13dc1161013857806353bc13dc1461032857806370a0823114610347578063715018a61461037b5780637ab3c7621461038f575f80fd5b80633b23a5ca146102be57806349bd5a5e146102dd57806351bc3c8514610314575f80fd5b806318160ddd1161019857806318160ddd1461025a5780631d6f96551461026e57806323b872dd14610284578063313ce567146102a3575f80fd5b806306fdde03146101c8578063095ea7b3146102085780630faee56f14610237575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b5060408051808201909152600681526544726167677960d01b60208201525b6040516101ff9190611ae6565b60405180910390f35b348015610213575f80fd5b50610227610222366004611b46565b61058d565b60405190151581526020016101ff565b348015610242575f80fd5b5061024c60185481565b6040519081526020016101ff565b348015610265575f80fd5b5061024c6105a3565b348015610279575f80fd5b506102826105c6565b005b34801561028f575f80fd5b5061022761029e366004611b70565b610689565b3480156102ae575f80fd5b50604051600981526020016101ff565b3480156102c9575f80fd5b506102826102d8366004611bbb565b6106f0565b3480156102e8575f80fd5b50601a546102fc906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b34801561031f575f80fd5b50610282610737565b348015610333575f80fd5b50610282610342366004611bd6565b610788565b348015610352575f80fd5b5061024c610361366004611bd6565b6001600160a01b03165f9081526001602052604090205490565b348015610386575f80fd5b506102826107d4565b34801561039a575f80fd5b50601a5461022790600160c01b900460ff1681565b3480156103ba575f80fd5b5061024c60155481565b3480156103cf575f80fd5b506102826103de366004611bbb565b610845565b3480156103ee575f80fd5b5061028261088c565b348015610402575f80fd5b506102826108ee565b348015610416575f80fd5b505f546001600160a01b03166102fc565b348015610432575f80fd5b5061024c60165481565b348015610447575f80fd5b5060408051808201909152600681526544524147475960d01b60208201526101f2565b348015610475575f80fd5b50610282610484366004611bf1565b610cd5565b348015610494575f80fd5b506102276104a3366004611b46565b610d28565b3480156104b3575f80fd5b506102826104c2366004611b46565b610d34565b3480156104d2575f80fd5b5061024c60175481565b3480156104e7575f80fd5b50601a5461022790600160a01b900460ff1681565b348015610507575f80fd5b5061024c610516366004611c28565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561054b575f80fd5b5061028261055a366004611bd6565b610dd6565b34801561056a575f80fd5b50610227610579366004611bd6565b60046020525f908152604090205460ff1681565b5f610599338484610ebd565b5060015b92915050565b5f6105b06009600a611d48565b6105c19066017e9d8602b400611d56565b905090565b5f546001600160a01b031633146105f85760405162461bcd60e51b81526004016105ef90611d6d565b60405180910390fd5b6106046009600a611d48565b6106159066017e9d8602b400611d56565b6015556106246009600a611d48565b6106359066017e9d8602b400611d56565b6016557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106656009600a611d48565b6106769066017e9d8602b400611d56565b60405190815260200160405180910390a1565b5f610695848484610fe0565b6106e684336106e185604051806060016040528060288152602001611ee6602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611762565b610ebd565b5060019392505050565b5f546001600160a01b031633146107195760405162461bcd60e51b81526004016105ef90611d6d565b601a8054911515600160c01b0260ff60c01b19909216919091179055565b6005546001600160a01b0316336001600160a01b031614610756575f80fd5b305f908152600160205260409020548015610774576107748161179a565b478015610784576107848161190a565b5050565b5f546001600160a01b031633146107b15760405162461bcd60e51b81526004016105ef90611d6d565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b5f546001600160a01b031633146107fd5760405162461bcd60e51b81526004016105ef90611d6d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461086e5760405162461bcd60e51b81526004016105ef90611d6d565b601a8054911515600160a01b0260ff60a01b19909216919091179055565b601a54600160a01b900460ff16806108ad5750601a54600160a81b900460ff165b6108b5575f80fd5b6005546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156108eb573d5f803e3d5ffd5b50565b5f546001600160a01b031633146109175760405162461bcd60e51b81526004016105ef90611d6d565b601a54600160a81b900460ff16156109715760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105ef565b601980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109bd9030906109ac6009600a611d48565b6106e19066017e9d8602b400611d56565b60195f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a319190611da2565b6001600160a01b031663c9c653963060195f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab49190611da2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b229190611da2565b601a80546001600160a01b039283166001600160a01b0319909116811782555f908152600460209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556019541663f305d7194730610ba0816001600160a01b03165f9081526001602052604090205490565b5f80610bb35f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c19573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c3e9190611dbd565b5050601a5460195460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb79190611de8565b50601a805462ff00ff60a81b19166201000160a81b17905543600655565b5f546001600160a01b03163314610cfe5760405162461bcd60e51b81526004016105ef90611d6d565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f610599338484610fe0565b601a54600160a01b900460ff1680610d555750601a54600160a81b900460ff165b610d5d575f80fd5b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610dad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd19190611de8565b505050565b5f546001600160a01b03163314610dff5760405162461bcd60e51b81526004016105ef90611d6d565b6001600160a01b038116610e645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ef565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610f1f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ef565b6001600160a01b038216610f805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ef565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110445760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ef565b6001600160a01b0382166110a65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ef565b5f81116111075760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105ef565b5f80546001600160a01b0385811691161480159061113257505f546001600160a01b03848116911614155b15611625576111776103e8611171600e546012541161116657600d546012541161115e5760075461116a565b60085461116a565b600b545b8590611941565b906119c6565b6001600160a01b0385165f9081526004602052604090205490915060ff1680156111af57506019546001600160a01b03848116911614155b80156111d357506001600160a01b0383165f9081526003602052604090205460ff16155b156112da5760155482111561122a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105ef565b6016548261124c856001600160a01b03165f9081526001602052604090205490565b6112569190611e03565b11156112a45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105ef565b4360065460016112b49190611e03565b11156112c557823b156112c5575f80fd5b60128054905f6112d483611e16565b91905055505b6001600160a01b0383165f9081526004602052604090205460ff1615801561131a57506001600160a01b0383165f9081526003602052604090205460ff16155b156113995760165482611341856001600160a01b03165f9081526001602052604090205490565b61134b9190611e03565b11156113995760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105ef565b6001600160a01b0383165f9081526004602052604090205460ff1680156113c957506001600160a01b0384163014155b1561140a576114076103e8611171601054601254116113fd57600f54601254116113f55760095461116a565b600a5461116a565b600c548590611941565b90505b6001600160a01b0384165f9081526004602052604090205460ff1615801561144a57506001600160a01b0383165f9081526004602052604090205460ff16155b801561145f57506001600160a01b0384163014155b1561146757505f5b305f90815260016020526040902054601a54600160c01b900460ff1680156114995750601a54600160b01b900460ff16155b80156114bc57506001600160a01b0384165f9081526004602052604090205460ff165b80156114d15750601a54600160b81b900460ff165b80156114de575060175481115b80156114ed5750601154601254115b1561159757601454431115611501575f6013555b60026013541061154c5760405162461bcd60e51b815260206004820152601660248201527513db9b1e480c8810d04818985b185b98d9481cd95b1b60521b60448201526064016105ef565b6115696115648461155f84601854611a07565b611a07565b61179a565b478015611579576115794761190a565b60138054905f61158883611e16565b90915550504360145550611623565b601a54600160b01b900460ff161580156115c857506001600160a01b0384165f9081526004602052604090205460ff165b80156115dd5750601a54600160b81b900460ff165b80156115ea575060175481115b80156115f95750601154601254115b15611623576116116115648461155f84601854611a07565b478015611621576116214761190a565b505b505b801561169d57305f908152600160205260409020546116449082611a1b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116949085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546116bf9083611a79565b6001600160a01b0385165f908152600160205260409020556117026116e48383611a79565b6001600160a01b0385165f9081526001602052604090205490611a1b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61174b8585611a79565b60405190815260200160405180910390a350505050565b5f81848411156117855760405162461bcd60e51b81526004016105ef9190611ae6565b505f6117918486611e2e565b95945050505050565b601a805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106117e0576117e0611e41565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190611da2565b8160018151811061186e5761186e611e41565b6001600160a01b0392831660209182029290920101526019546118949130911684610ebd565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac947906118cc9085905f90869030904290600401611e55565b5f604051808303815f87803b1580156118e3575f80fd5b505af11580156118f5573d5f803e3d5ffd5b5050601a805460ff60b01b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610784573d5f803e3d5ffd5b5f825f0361195057505f61059d565b5f61195b8385611d56565b9050826119688583611ec6565b146119bf5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ef565b9392505050565b5f6119bf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aba565b5f818311611a1557826119bf565b50919050565b5f80611a278385611e03565b9050838110156119bf5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ef565b5f6119bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611762565b5f8183611ada5760405162461bcd60e51b81526004016105ef9190611ae6565b505f6117918486611ec6565b5f602080835283518060208501525f5b81811015611b1257858101830151858201604001528201611af6565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108eb575f80fd5b5f8060408385031215611b57575f80fd5b8235611b6281611b32565b946020939093013593505050565b5f805f60608486031215611b82575f80fd5b8335611b8d81611b32565b92506020840135611b9d81611b32565b929592945050506040919091013590565b80151581146108eb575f80fd5b5f60208284031215611bcb575f80fd5b81356119bf81611bae565b5f60208284031215611be6575f80fd5b81356119bf81611b32565b5f8060408385031215611c02575f80fd5b8235611c0d81611b32565b91506020830135611c1d81611bae565b809150509250929050565b5f8060408385031215611c39575f80fd5b8235611c4481611b32565b91506020830135611c1d81611b32565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611ca257815f1904821115611c8857611c88611c54565b80851615611c9557918102915b93841c9390800290611c6d565b509250929050565b5f82611cb85750600161059d565b81611cc457505f61059d565b8160018114611cda5760028114611ce457611d00565b600191505061059d565b60ff841115611cf557611cf5611c54565b50506001821b61059d565b5060208310610133831016604e8410600b8410161715611d23575081810a61059d565b611d2d8383611c68565b805f1904821115611d4057611d40611c54565b029392505050565b5f6119bf60ff841683611caa565b808202811582820484141761059d5761059d611c54565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611db2575f80fd5b81516119bf81611b32565b5f805f60608486031215611dcf575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611df8575f80fd5b81516119bf81611bae565b8082018082111561059d5761059d611c54565b5f60018201611e2757611e27611c54565b5060010190565b8181038181111561059d5761059d611c54565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ea55784516001600160a01b031683529383019391830191600101611e80565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611ee057634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204741f31b3e223d342b649677e3ae93d9bac6b8412a3b76b98cc57dc1f484157b64736f6c63430008170033

Deployed Bytecode

0x6080604052600436106101bd575f3560e01c80637d1db4a5116100f2578063a3019cf811610092578063c7a4bdf711610062578063c7a4bdf7146104dc578063dd62ed3e146104fc578063f2fde38b14610540578063f5b3c3bf1461055f575f80fd5b8063a3019cf81461046a578063a9059cbb14610489578063a910c945146104a8578063bf474bed146104c7575f80fd5b80638a8c523c116100cd5780638a8c523c146103f75780638da5cb5b1461040b5780638f9a55c01461042757806395d89b411461043c575f80fd5b80637d1db4a5146103af578063887875c9146103c4578063896f1a95146103e3575f80fd5b80633b23a5ca1161015d57806353bc13dc1161013857806353bc13dc1461032857806370a0823114610347578063715018a61461037b5780637ab3c7621461038f575f80fd5b80633b23a5ca146102be57806349bd5a5e146102dd57806351bc3c8514610314575f80fd5b806318160ddd1161019857806318160ddd1461025a5780631d6f96551461026e57806323b872dd14610284578063313ce567146102a3575f80fd5b806306fdde03146101c8578063095ea7b3146102085780630faee56f14610237575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b5060408051808201909152600681526544726167677960d01b60208201525b6040516101ff9190611ae6565b60405180910390f35b348015610213575f80fd5b50610227610222366004611b46565b61058d565b60405190151581526020016101ff565b348015610242575f80fd5b5061024c60185481565b6040519081526020016101ff565b348015610265575f80fd5b5061024c6105a3565b348015610279575f80fd5b506102826105c6565b005b34801561028f575f80fd5b5061022761029e366004611b70565b610689565b3480156102ae575f80fd5b50604051600981526020016101ff565b3480156102c9575f80fd5b506102826102d8366004611bbb565b6106f0565b3480156102e8575f80fd5b50601a546102fc906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b34801561031f575f80fd5b50610282610737565b348015610333575f80fd5b50610282610342366004611bd6565b610788565b348015610352575f80fd5b5061024c610361366004611bd6565b6001600160a01b03165f9081526001602052604090205490565b348015610386575f80fd5b506102826107d4565b34801561039a575f80fd5b50601a5461022790600160c01b900460ff1681565b3480156103ba575f80fd5b5061024c60155481565b3480156103cf575f80fd5b506102826103de366004611bbb565b610845565b3480156103ee575f80fd5b5061028261088c565b348015610402575f80fd5b506102826108ee565b348015610416575f80fd5b505f546001600160a01b03166102fc565b348015610432575f80fd5b5061024c60165481565b348015610447575f80fd5b5060408051808201909152600681526544524147475960d01b60208201526101f2565b348015610475575f80fd5b50610282610484366004611bf1565b610cd5565b348015610494575f80fd5b506102276104a3366004611b46565b610d28565b3480156104b3575f80fd5b506102826104c2366004611b46565b610d34565b3480156104d2575f80fd5b5061024c60175481565b3480156104e7575f80fd5b50601a5461022790600160a01b900460ff1681565b348015610507575f80fd5b5061024c610516366004611c28565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561054b575f80fd5b5061028261055a366004611bd6565b610dd6565b34801561056a575f80fd5b50610227610579366004611bd6565b60046020525f908152604090205460ff1681565b5f610599338484610ebd565b5060015b92915050565b5f6105b06009600a611d48565b6105c19066017e9d8602b400611d56565b905090565b5f546001600160a01b031633146105f85760405162461bcd60e51b81526004016105ef90611d6d565b60405180910390fd5b6106046009600a611d48565b6106159066017e9d8602b400611d56565b6015556106246009600a611d48565b6106359066017e9d8602b400611d56565b6016557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106656009600a611d48565b6106769066017e9d8602b400611d56565b60405190815260200160405180910390a1565b5f610695848484610fe0565b6106e684336106e185604051806060016040528060288152602001611ee6602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611762565b610ebd565b5060019392505050565b5f546001600160a01b031633146107195760405162461bcd60e51b81526004016105ef90611d6d565b601a8054911515600160c01b0260ff60c01b19909216919091179055565b6005546001600160a01b0316336001600160a01b031614610756575f80fd5b305f908152600160205260409020548015610774576107748161179a565b478015610784576107848161190a565b5050565b5f546001600160a01b031633146107b15760405162461bcd60e51b81526004016105ef90611d6d565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b5f546001600160a01b031633146107fd5760405162461bcd60e51b81526004016105ef90611d6d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461086e5760405162461bcd60e51b81526004016105ef90611d6d565b601a8054911515600160a01b0260ff60a01b19909216919091179055565b601a54600160a01b900460ff16806108ad5750601a54600160a81b900460ff165b6108b5575f80fd5b6005546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156108eb573d5f803e3d5ffd5b50565b5f546001600160a01b031633146109175760405162461bcd60e51b81526004016105ef90611d6d565b601a54600160a81b900460ff16156109715760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105ef565b601980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109bd9030906109ac6009600a611d48565b6106e19066017e9d8602b400611d56565b60195f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a319190611da2565b6001600160a01b031663c9c653963060195f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab49190611da2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b229190611da2565b601a80546001600160a01b039283166001600160a01b0319909116811782555f908152600460209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556019541663f305d7194730610ba0816001600160a01b03165f9081526001602052604090205490565b5f80610bb35f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c19573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c3e9190611dbd565b5050601a5460195460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb79190611de8565b50601a805462ff00ff60a81b19166201000160a81b17905543600655565b5f546001600160a01b03163314610cfe5760405162461bcd60e51b81526004016105ef90611d6d565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f610599338484610fe0565b601a54600160a01b900460ff1680610d555750601a54600160a81b900460ff165b610d5d575f80fd5b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610dad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd19190611de8565b505050565b5f546001600160a01b03163314610dff5760405162461bcd60e51b81526004016105ef90611d6d565b6001600160a01b038116610e645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ef565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610f1f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ef565b6001600160a01b038216610f805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ef565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110445760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ef565b6001600160a01b0382166110a65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ef565b5f81116111075760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105ef565b5f80546001600160a01b0385811691161480159061113257505f546001600160a01b03848116911614155b15611625576111776103e8611171600e546012541161116657600d546012541161115e5760075461116a565b60085461116a565b600b545b8590611941565b906119c6565b6001600160a01b0385165f9081526004602052604090205490915060ff1680156111af57506019546001600160a01b03848116911614155b80156111d357506001600160a01b0383165f9081526003602052604090205460ff16155b156112da5760155482111561122a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105ef565b6016548261124c856001600160a01b03165f9081526001602052604090205490565b6112569190611e03565b11156112a45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105ef565b4360065460016112b49190611e03565b11156112c557823b156112c5575f80fd5b60128054905f6112d483611e16565b91905055505b6001600160a01b0383165f9081526004602052604090205460ff1615801561131a57506001600160a01b0383165f9081526003602052604090205460ff16155b156113995760165482611341856001600160a01b03165f9081526001602052604090205490565b61134b9190611e03565b11156113995760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105ef565b6001600160a01b0383165f9081526004602052604090205460ff1680156113c957506001600160a01b0384163014155b1561140a576114076103e8611171601054601254116113fd57600f54601254116113f55760095461116a565b600a5461116a565b600c548590611941565b90505b6001600160a01b0384165f9081526004602052604090205460ff1615801561144a57506001600160a01b0383165f9081526004602052604090205460ff16155b801561145f57506001600160a01b0384163014155b1561146757505f5b305f90815260016020526040902054601a54600160c01b900460ff1680156114995750601a54600160b01b900460ff16155b80156114bc57506001600160a01b0384165f9081526004602052604090205460ff165b80156114d15750601a54600160b81b900460ff165b80156114de575060175481115b80156114ed5750601154601254115b1561159757601454431115611501575f6013555b60026013541061154c5760405162461bcd60e51b815260206004820152601660248201527513db9b1e480c8810d04818985b185b98d9481cd95b1b60521b60448201526064016105ef565b6115696115648461155f84601854611a07565b611a07565b61179a565b478015611579576115794761190a565b60138054905f61158883611e16565b90915550504360145550611623565b601a54600160b01b900460ff161580156115c857506001600160a01b0384165f9081526004602052604090205460ff165b80156115dd5750601a54600160b81b900460ff165b80156115ea575060175481115b80156115f95750601154601254115b15611623576116116115648461155f84601854611a07565b478015611621576116214761190a565b505b505b801561169d57305f908152600160205260409020546116449082611a1b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116949085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546116bf9083611a79565b6001600160a01b0385165f908152600160205260409020556117026116e48383611a79565b6001600160a01b0385165f9081526001602052604090205490611a1b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61174b8585611a79565b60405190815260200160405180910390a350505050565b5f81848411156117855760405162461bcd60e51b81526004016105ef9190611ae6565b505f6117918486611e2e565b95945050505050565b601a805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106117e0576117e0611e41565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611837573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185b9190611da2565b8160018151811061186e5761186e611e41565b6001600160a01b0392831660209182029290920101526019546118949130911684610ebd565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac947906118cc9085905f90869030904290600401611e55565b5f604051808303815f87803b1580156118e3575f80fd5b505af11580156118f5573d5f803e3d5ffd5b5050601a805460ff60b01b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610784573d5f803e3d5ffd5b5f825f0361195057505f61059d565b5f61195b8385611d56565b9050826119688583611ec6565b146119bf5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ef565b9392505050565b5f6119bf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aba565b5f818311611a1557826119bf565b50919050565b5f80611a278385611e03565b9050838110156119bf5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ef565b5f6119bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611762565b5f8183611ada5760405162461bcd60e51b81526004016105ef9190611ae6565b505f6117918486611ec6565b5f602080835283518060208501525f5b81811015611b1257858101830151858201604001528201611af6565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108eb575f80fd5b5f8060408385031215611b57575f80fd5b8235611b6281611b32565b946020939093013593505050565b5f805f60608486031215611b82575f80fd5b8335611b8d81611b32565b92506020840135611b9d81611b32565b929592945050506040919091013590565b80151581146108eb575f80fd5b5f60208284031215611bcb575f80fd5b81356119bf81611bae565b5f60208284031215611be6575f80fd5b81356119bf81611b32565b5f8060408385031215611c02575f80fd5b8235611c0d81611b32565b91506020830135611c1d81611bae565b809150509250929050565b5f8060408385031215611c39575f80fd5b8235611c4481611b32565b91506020830135611c1d81611b32565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611ca257815f1904821115611c8857611c88611c54565b80851615611c9557918102915b93841c9390800290611c6d565b509250929050565b5f82611cb85750600161059d565b81611cc457505f61059d565b8160018114611cda5760028114611ce457611d00565b600191505061059d565b60ff841115611cf557611cf5611c54565b50506001821b61059d565b5060208310610133831016604e8410600b8410161715611d23575081810a61059d565b611d2d8383611c68565b805f1904821115611d4057611d40611c54565b029392505050565b5f6119bf60ff841683611caa565b808202811582820484141761059d5761059d611c54565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611db2575f80fd5b81516119bf81611b32565b5f805f60608486031215611dcf575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611df8575f80fd5b81516119bf81611bae565b8082018082111561059d5761059d611c54565b5f60018201611e2757611e27611c54565b5060010190565b8181038181111561059d5761059d611c54565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ea55784516001600160a01b031683529383019391830191600101611e80565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611ee057634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204741f31b3e223d342b649677e3ae93d9bac6b8412a3b76b98cc57dc1f484157b64736f6c63430008170033

Deployed Bytecode Sourcemap

3830:10071:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6101:83;;;;;;;;;;-1:-1:-1;6171:5:0;;;;;;;;;;;;-1:-1:-1;;;6171:5:0;;;;6101:83;;;;;;;:::i;:::-;;;;;;;;6934:161;;;;;;;;;;-1:-1:-1;6934:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6934:161:0;1023:187:1;5203:57:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5203:57:0;1215:177:1;6378:95:0;;;;;;;;;;;;;:::i;12773:160::-;;;;;;;;;;;;;:::i;:::-;;7103:313;;;;;;;;;;-1:-1:-1;7103:313:0;;;;;:::i;:::-;;:::i;6287:83::-;;;;;;;;;;-1:-1:-1;6287:83:0;;4807:1;2000:36:1;;1988:2;1973:18;6287:83:0;1858:184:1;11983:92:0;;;;;;;;;;-1:-1:-1;11983:92:0;;;;;:::i;:::-;;:::i;5318:28::-;;;;;;;;;;-1:-1:-1;5318:28:0;;;;-1:-1:-1;;;;;5318:28:0;;;;;;-1:-1:-1;;;;;2580:32:1;;;2562:51;;2550:2;2535:18;5318:28:0;2416:203:1;12417:348:0;;;;;;;;;;;;;:::i;7767:96::-;;;;;;;;;;-1:-1:-1;7767:96:0;;;;;:::i;:::-;;:::i;6481:119::-;;;;;;;;;;-1:-1:-1;6481:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6574:18:0;6547:7;6574:18;;;:9;:18;;;;;;;6481:119;2661:148;;;;;;;;;;;;;:::i;5496:27::-;;;;;;;;;;-1:-1:-1;5496:27:0;;;;-1:-1:-1;;;5496:27:0;;;;;;4998:61;;;;;;;;;;;;;;;;11753:94;;;;;;;;;;-1:-1:-1;11753:94:0;;;;;:::i;:::-;;:::i;12083:143::-;;;;;;;;;;;;;:::i;13041:820::-;;;;;;;;;;;;;:::i;2447:79::-;;;;;;;;;;-1:-1:-1;2485:7:0;2512:6;-1:-1:-1;;;;;2512:6:0;2447:79;;5066:61;;;;;;;;;;;;;;;;6192:87;;;;;;;;;;-1:-1:-1;6264:7:0;;;;;;;;;;;;-1:-1:-1;;;6264:7:0;;;;6192:87;;11855:120;;;;;;;;;;-1:-1:-1;11855:120:0;;;;;:::i;:::-;;:::i;6608:167::-;;;;;;;;;;-1:-1:-1;6608:167:0;;;;;:::i;:::-;;:::i;12234:174::-;;;;;;;;;;-1:-1:-1;12234:174:0;;;;;:::i;:::-;;:::i;5134:62::-;;;;;;;;;;;;;;;;5353:32;;;;;;;;;;-1:-1:-1;5353:32:0;;;;-1:-1:-1;;;5353:32:0;;;;;;6783:143;;;;;;;;;;-1:-1:-1;6783:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6891:18:0;;;6864:7;6891:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6783:143;2817:244;;;;;;;;;;-1:-1:-1;2817:244:0;;;;;:::i;:::-;;:::i;4101:43::-;;;;;;;;;;-1:-1:-1;4101:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6934:161;7009:4;7026:39;282:10;7049:7;7058:6;7026:8;:39::i;:::-;-1:-1:-1;7083:4:0;6934:161;;;;;:::o;6378:95::-;6431:7;4868:13;4807:1;4868:2;:13;:::i;:::-;4850:31;;:15;:31;:::i;:::-;6451:14;;6378:95;:::o;12773:160::-;2574:6;;-1:-1:-1;;;;;2574:6:0;282:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;;;;;;;;;4868:13:::1;4807:1;4868:2;:13;:::i;:::-;4850:31;::::0;:15:::1;:31;:::i;:::-;12827:12;:22:::0;4868:13:::1;4807:1;4868:2;:13;:::i;:::-;4850:31;::::0;:15:::1;:31;:::i;:::-;12860:14;:22:::0;12898:27:::1;4868:13;4807:1;4868:2;:13;:::i;:::-;4850:31;::::0;:15:::1;:31;:::i;:::-;12898:27;::::0;1361:25:1;;;1349:2;1334:18;12898:27:0::1;;;;;;;12773:160::o:0;7103:313::-;7201:4;7218:36;7228:6;7236:9;7247:6;7218:9;:36::i;:::-;7265:121;7274:6;282:10;7296:89;7334:6;7296:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7296:19:0;;;;;;:11;:19;;;;;;;;282:10;7296:33;;;;;;;;;;:37;:89::i;:::-;7265:8;:121::i;:::-;-1:-1:-1;7404:4:0;7103:313;;;;;:::o;11983:92::-;2574:6;;-1:-1:-1;;;;;2574:6:0;282:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;12049:8:::1;:18:::0;;;::::1;;-1:-1:-1::0;;;12049:18:0::1;-1:-1:-1::0;;;;12049:18:0;;::::1;::::0;;;::::1;::::0;;11983:92::o;12417:348::-;12481:10;;-1:-1:-1;;;;;12481:10:0;282;-1:-1:-1;;;;;12467:24:0;;12459:33;;;;;;12542:4;12503:20;6574:18;;;:9;:18;;;;;;12562:14;;12559:73;;12590:30;12607:12;12590:16;:30::i;:::-;12661:21;12696:12;;12693:65;;12722:24;12735:10;12722:12;:24::i;:::-;12448:317;;12417:348::o;7767:96::-;2574:6;;-1:-1:-1;;;;;2574:6:0;282:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7832:16:0::1;;::::0;;;:10:::1;:16;::::0;;;;:23;;-1:-1:-1;;7832:23:0::1;7851:4;7832:23;::::0;;7767:96::o;2661:148::-;2574:6;;-1:-1:-1;;;;;2574:6:0;282:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;2768:1:::1;2752:6:::0;;2731:40:::1;::::0;-1:-1:-1;;;;;2752:6:0;;::::1;::::0;2731:40:::1;::::0;2768:1;;2731:40:::1;2799:1;2782:19:::0;;-1:-1:-1;;;;;;2782:19:0::1;::::0;;2661:148::o;11753:94::-;2574:6;;-1:-1:-1;;;;;2574:6:0;282:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;11817:12:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;11817:22:0::1;-1:-1:-1::0;;;;11817:22:0;;::::1;::::0;;;::::1;::::0;;11753:94::o;12083:143::-;12128:12;;-1:-1:-1;;;12128:12:0;;;;;:27;;-1:-1:-1;12144:11:0;;-1:-1:-1;;;12144:11:0;;;;12128:27;12120:36;;;;;;12175:10;;12167:51;;-1:-1:-1;;;;;12175:10:0;;;;12196:21;12167:51;;;;;12175:10;12167:51;12175:10;12167:51;12196:21;12175:10;12167:51;;;;;;;;;;;;;;;;;;;;;12083:143::o;13041:820::-;2574:6;;-1:-1:-1;;;;;2574:6:0;282:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;13107:11:::1;::::0;-1:-1:-1;;;13107:11:0;::::1;;;13106:12;13098:47;;;::::0;-1:-1:-1;;;13098:47:0;;5901:2:1;13098:47:0::1;::::0;::::1;5883:21:1::0;5940:2;5920:18;;;5913:30;5979:25;5959:18;;;5952:53;6022:18;;13098:47:0::1;5699:347:1::0;13098:47:0::1;13156:15;:80:::0;;-1:-1:-1;;;;;;13156:80:0::1;13193:42;13156:80:::0;;::::1;::::0;;;13247:58:::1;::::0;13264:4:::1;::::0;4868:13:::1;4807:1;4868:2;:13;:::i;:::-;4850:31;::::0;:15:::1;:31;:::i;13247:58::-;13350:15;;;;;;;;;-1:-1:-1::0;;;;;13350:15:0::1;-1:-1:-1::0;;;;;13350:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13332:55:0::1;;13396:4;13403:15;;;;;;;;;-1:-1:-1::0;;;;;13403:15:0::1;-1:-1:-1::0;;;;;13403:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13332:94;::::0;-1:-1:-1;;;;;;13332:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6537:15:1;;;13332:94:0::1;::::0;::::1;6519:34:1::0;6589:15;;6569:18;;;6562:43;6454:18;;13332:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13316:13;:110:::0;;-1:-1:-1;;;;;13316:110:0;;::::1;-1:-1:-1::0;;;;;;13316:110:0;;::::1;::::0;::::1;::::0;;:13:::1;13437:34:::0;;;:10:::1;:34;::::0;;;;;;;:41;;-1:-1:-1;;13437:41:0;;::::1;13316:110:::0;13437:41;;::::1;::::0;;;13515:13;;;::::1;13489:41:::0;;:17:::1;:41:::0;;;;;;:48;;;;::::1;;::::0;;13548:15:::1;::::0;::::1;:31;13587:21;13618:4;13624:24;13618:4:::0;-1:-1:-1;;;;;6574:18:0;6547:7;6574:18;;;:9;:18;;;;;;;6481:119;13624:24:::1;13649:1;13651::::0;13653:7:::1;2485::::0;2512:6;-1:-1:-1;;;;;2512:6:0;;2447:79;13653:7:::1;13548:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13548:129:0;;;-1:-1:-1;;;;;6975:15:1;;;13548:129:0::1;::::0;::::1;6957:34:1::0;7007:18;;;7000:34;;;;7050:18;;;7043:34;;;;7093:18;;;7086:34;7157:15;;;7136:19;;;7129:44;13661:15:0::1;7189:19:1::0;;;7182:35;6891:19;;13548:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13695:13:0::1;::::0;13726:15:::1;::::0;13688:71:::1;::::0;-1:-1:-1;;;13688:71:0;;-1:-1:-1;;;;;13726:15:0;;::::1;13688:71;::::0;::::1;7713:51:1::0;-1:-1:-1;;7780:18:1;;;7773:34;13695:13:0;::::1;::::0;-1:-1:-1;13688:29:0::1;::::0;7686:18:1;;13688:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13770:11:0::1;:18:::0;;-1:-1:-1;;;;13799:18:0;-1:-1:-1;;;13799:18:0;;;13841:12:::1;13828:10;:25:::0;13041:820::o;11855:120::-;2574:6;;-1:-1:-1;;;;;2574:6:0;282:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11935:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:32;;-1:-1:-1;;11935:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11855:120::o;6608:167::-;6686:4;6703:42;282:10;6727:9;6738:6;6703:9;:42::i;12234:174::-;12313:12;;-1:-1:-1;;;12313:12:0;;;;;:27;;-1:-1:-1;12329:11:0;;-1:-1:-1;;;12329:11:0;;;;12313:27;12305:36;;;;;;12380:10;;12352:48;;-1:-1:-1;;;12352:48:0;;-1:-1:-1;;;;;12380:10:0;;;12352:48;;;7713:51:1;7780:18;;;7773:34;;;12352:27:0;;;;;;7686:18:1;;12352:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12234:174;;:::o;2817:244::-;2574:6;;-1:-1:-1;;;;;2574:6:0;282:10;2574:22;2566:67;;;;-1:-1:-1;;;2566:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2906:22:0;::::1;2898:73;;;::::0;-1:-1:-1;;;2898:73:0;;8557:2:1;2898:73:0::1;::::0;::::1;8539:21:1::0;8596:2;8576:18;;;8569:30;8635:34;8615:18;;;8608:62;-1:-1:-1;;;8686:18:1;;;8679:36;8732:19;;2898:73:0::1;8355:402:1::0;2898:73:0::1;3008:6;::::0;;2987:38:::1;::::0;-1:-1:-1;;;;;2987:38:0;;::::1;::::0;3008:6;::::1;::::0;2987:38:::1;::::0;::::1;3036:6;:17:::0;;-1:-1:-1;;;;;;3036:17:0::1;-1:-1:-1::0;;;;;3036:17:0;;;::::1;::::0;;;::::1;::::0;;2817:244::o;7424:335::-;-1:-1:-1;;;;;7517:19:0;;7509:68;;;;-1:-1:-1;;;7509:68:0;;8964:2:1;7509:68:0;;;8946:21:1;9003:2;8983:18;;;8976:30;9042:34;9022:18;;;9015:62;-1:-1:-1;;;9093:18:1;;;9086:34;9137:19;;7509:68:0;8762:400:1;7509:68:0;-1:-1:-1;;;;;7596:21:0;;7588:68;;;;-1:-1:-1;;;7588:68:0;;9369:2:1;7588:68:0;;;9351:21:1;9408:2;9388:18;;;9381:30;9447:34;9427:18;;;9420:62;-1:-1:-1;;;9498:18:1;;;9491:32;9540:19;;7588:68:0;9167:398:1;7588:68:0;-1:-1:-1;;;;;7667:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7719:32;;1361:25:1;;;7719:32:0;;1334:18:1;7719:32:0;;;;;;;7424:335;;;:::o;7871:3072::-;-1:-1:-1;;;;;7959:18:0;;7951:68;;;;-1:-1:-1;;;7951:68:0;;9772:2:1;7951:68:0;;;9754:21:1;9811:2;9791:18;;;9784:30;9850:34;9830:18;;;9823:62;-1:-1:-1;;;9901:18:1;;;9894:35;9946:19;;7951:68:0;9570:401:1;7951:68:0;-1:-1:-1;;;;;8038:16:0;;8030:64;;;;-1:-1:-1;;;8030:64:0;;10178:2:1;8030:64:0;;;10160:21:1;10217:2;10197:18;;;10190:30;10256:34;10236:18;;;10229:62;-1:-1:-1;;;10307:18:1;;;10300:33;10350:19;;8030:64:0;9976:399:1;8030:64:0;8122:1;8113:6;:10;8105:64;;;;-1:-1:-1;;;8105:64:0;;10582:2:1;8105:64:0;;;10564:21:1;10621:2;10601:18;;;10594:30;10660:34;10640:18;;;10633:62;-1:-1:-1;;;10711:18:1;;;10704:39;10760:19;;8105:64:0;10380:405:1;8105:64:0;8180:17;2512:6;;-1:-1:-1;;;;;8216:15:0;;;2512:6;;8216:15;;;;:32;;-1:-1:-1;2485:7:0;2512:6;-1:-1:-1;;;;;8235:13:0;;;2512:6;;8235:13;;8216:32;8212:2375;;;8277:121;8393:4;8277:111;8300:15;;8289:9;;:26;8288:99;;8345:12;;8334:9;;:23;8333:53;;8372:14;;8288:99;;8333:53;8360:10;;8288:99;;;8318:12;;8288:99;8277:6;;:10;:111::i;:::-;:115;;:121::i;:::-;-1:-1:-1;;;;;8419:16:0;;;;;;:10;:16;;;;;;8265:133;;-1:-1:-1;8419:16:0;;:50;;;;-1:-1:-1;8453:15:0;;-1:-1:-1;;;;;8439:30:0;;;8453:15;;8439:30;;8419:50;:77;;;;-1:-1:-1;;;;;;8475:21:0;;;;;;:17;:21;;;;;;;;8473:23;8419:77;8415:430;;;8536:12;;8526:6;:22;;8518:60;;;;-1:-1:-1;;;8518:60:0;;10992:2:1;8518:60:0;;;10974:21:1;11031:2;11011:18;;;11004:30;11070:27;11050:18;;;11043:55;11115:18;;8518:60:0;10790:349:1;8518:60:0;8631:14;;8621:6;8605:13;8615:2;-1:-1:-1;;;;;6574:18:0;6547:7;6574:18;;;:9;:18;;;;;;;6481:119;8605:13;:22;;;;:::i;:::-;:40;;8597:79;;;;-1:-1:-1;;;8597:79:0;;11476:2:1;8597:79:0;;;11458:21:1;11515:2;11495:18;;;11488:30;11554:28;11534:18;;;11527:56;11600:18;;8597:79:0;11274:350:1;8597:79:0;8719:12;8701:10;;8714:1;8701:14;;;;:::i;:::-;:30;8697:103;;;11190:20;;11238:8;8756:24;;;;;;8818:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8415:430;-1:-1:-1;;;;;8866:14:0;;;;;;:10;:14;;;;;;;;8865:15;:42;;;;-1:-1:-1;;;;;;8886:21:0;;;;;;:17;:21;;;;;;;;8884:23;8865:42;8861:162;;;8962:14;;8952:6;8936:13;8946:2;-1:-1:-1;;;;;6574:18:0;6547:7;6574:18;;;:9;:18;;;;;;;6481:119;8936:13;:22;;;;:::i;:::-;:40;;8928:79;;;;-1:-1:-1;;;8928:79:0;;11476:2:1;8928:79:0;;;11458:21:1;11515:2;11495:18;;;11488:30;11554:28;11534:18;;;11527:56;11600:18;;8928:79:0;11274:350:1;8928:79:0;-1:-1:-1;;;;;9042:14:0;;;;;;:10;:14;;;;;;;;:38;;;;-1:-1:-1;;;;;;9060:20:0;;9075:4;9060:20;;9042:38;9039:216;;;9113:126;9234:4;9113:116;9136:16;;9125:9;;:27;9124:104;;9183:13;;9172:9;;:24;9171:56;;9212:15;;9124:104;;9171:56;9199:11;;9124:104;;;9155:13;;9113:6;;:10;:116::i;:126::-;9101:138;;9039:216;-1:-1:-1;;;;;9269:16:0;;;;;;:10;:16;;;;;;;;9268:17;:36;;;;-1:-1:-1;;;;;;9290:14:0;;;;;;:10;:14;;;;;;;;9289:15;9268:36;:60;;;;-1:-1:-1;;;;;;9308:20:0;;9323:4;9308:20;;9268:60;9264:115;;;-1:-1:-1;9362:1:0;9264:115;9444:4;9395:28;6574:18;;;:9;:18;;;;;;9469:8;;-1:-1:-1;;;9469:8:0;;;;:19;;;;-1:-1:-1;9482:6:0;;-1:-1:-1;;;9482:6:0;;;;9481:7;9469:19;:37;;;;-1:-1:-1;;;;;;9492:14:0;;;;;;:10;:14;;;;;;;;9469:37;:52;;;;-1:-1:-1;9510:11:0;;-1:-1:-1;;;9510:11:0;;;;9469:52;:94;;;;;9546:17;;9525:20;:38;9469:94;:126;;;;;9577:18;;9567:9;;:28;9469:126;9465:1111;;;9635:13;;9620:12;:28;9616:90;;;9685:1;9673:9;:13;9616:90;9743:1;9732:9;;:12;9724:47;;;;-1:-1:-1;;;9724:47:0;;11971:2:1;9724:47:0;;;11953:21:1;12010:2;11990:18;;;11983:30;-1:-1:-1;;;12029:18:1;;;12022:52;12091:18;;9724:47:0;11769:346:1;9724:47:0;9790:67;9807:49;9811:6;9818:37;9822:20;9843:11;;9818:3;:37::i;:::-;9807:3;:49::i;:::-;9790:16;:67::i;:::-;9905:21;9948:22;;9945:105;;9995:35;10008:21;9995:12;:35::i;:::-;10068:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10114:12:0;10098:13;:28;-1:-1:-1;9465:1111:0;;;10167:6;;-1:-1:-1;;;10167:6:0;;;;10166:7;:25;;;;-1:-1:-1;;;;;;10177:14:0;;;;;;:10;:14;;;;;;;;10166:25;:40;;;;-1:-1:-1;10195:11:0;;-1:-1:-1;;;10195:11:0;;;;10166:40;:82;;;;;10231:17;;10210:20;:38;10166:82;:114;;;;;10262:18;;10252:9;;:28;10166:114;10163:413;;;10301:67;10318:49;10322:6;10329:37;10333:20;10354:11;;10329:3;:37::i;10301:67::-;10416:21;10459:22;;10456:105;;10506:35;10519:21;10506:12;:35::i;:::-;10282:294;10163:413;8250:2337;8212:2375;10602:11;;10599:161;;10670:4;10652:24;;;;:9;:24;;;;;;:39;;10681:9;10652:28;:39::i;:::-;10645:4;10627:24;;;;:9;:24;;;;;;;:64;;;;10709:39;;-1:-1:-1;;;;;10709:39:0;;;;;;;10738:9;1361:25:1;;1349:2;1334:18;;1215:177;10709:39:0;;;;;;;;10599:161;-1:-1:-1;;;;;10786:15:0;;;;;;:9;:15;;;;;;:27;;10806:6;10786:19;:27::i;:::-;-1:-1:-1;;;;;10770:15:0;;;;;;:9;:15;;;;;:43;10838:40;10856:21;:6;10867:9;10856:10;:21::i;:::-;-1:-1:-1;;;;;10838:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10824:13:0;;;;;;;:9;:13;;;;;:54;;;;10894:41;;;10913:21;:6;10924:9;10913:10;:21::i;:::-;10894:41;;1361:25:1;;;1349:2;1334:18;10894:41:0;;;;;;;7940:3003;7871:3072;;;:::o;1339:190::-;1425:7;1461:12;1453:6;;;;1445:29;;;;-1:-1:-1;;;1445:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1485:9:0;1497:5;1501:1;1497;:5;:::i;:::-;1485:17;1339:190;-1:-1:-1;;;;;1339:190:0:o;11262:483::-;5614:6;:13;;-1:-1:-1;;;;5614:13:0;-1:-1:-1;;;5614:13:0;;;11364:16:::1;::::0;;11378:1:::1;11364:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11364:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11364:16:0::1;11340:40;;11409:4;11391;11396:1;11391:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11391:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11435:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11435:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11391:7;;11435:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11425:4;11430:1;11425:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11425:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11500:15:::1;::::0;11468:62:::1;::::0;11485:4:::1;::::0;11500:15:::1;11518:11:::0;11468:8:::1;:62::i;:::-;11541:15;::::0;:196:::1;::::0;-1:-1:-1;;;11541:196:0;;-1:-1:-1;;;;;11541:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11622:11;;11541:15:::1;::::0;11664:4;;11691::::1;::::0;11711:15:::1;::::0;11541:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5650:6:0;:14;;-1:-1:-1;;;;5650:14:0;;;-1:-1:-1;;;;11262:483:0:o;12941:92::-;12998:10;;:27;;-1:-1:-1;;;;;12998:10:0;;;;:27;;;;;13018:6;;12998:10;:27;:10;:27;13018:6;12998:10;:27;;;;;;;;;;;;;;;;;;;1537:246;1595:7;1619:1;1624;1619:6;1615:47;;-1:-1:-1;1649:1:0;1642:8;;1615:47;1672:9;1684:5;1688:1;1684;:5;:::i;:::-;1672:17;-1:-1:-1;1717:1:0;1708:5;1712:1;1672:17;1708:5;:::i;:::-;:10;1700:56;;;;-1:-1:-1;;;1700:56:0;;13926:2:1;1700:56:0;;;13908:21:1;13965:2;13945:18;;;13938:30;14004:34;13984:18;;;13977:62;-1:-1:-1;;;14055:18:1;;;14048:31;14096:19;;1700:56:0;13724:397:1;1700:56:0;1774:1;1537:246;-1:-1:-1;;;1537:246:0:o;1791:132::-;1849:7;1876:39;1880:1;1883;1876:39;;;;;;;;;;;;;;;;;:3;:39::i;10953:98::-;11010:7;11037:1;11035;:3;11034:9;;11042:1;11034:9;;;-1:-1:-1;11040:1:0;10953:98;-1:-1:-1;10953:98:0:o;1008:179::-;1066:7;;1098:5;1102:1;1098;:5;:::i;:::-;1086:17;;1127:1;1122;:6;;1114:46;;;;-1:-1:-1;;;1114:46:0;;14328:2:1;1114:46:0;;;14310:21:1;14367:2;14347:18;;;14340:30;14406:29;14386:18;;;14379:57;14453:18;;1114:46:0;14126:351:1;1195:136:0;1253:7;1280:43;1284:1;1287;1280:43;;;;;;;;;;;;;;;;;:3;:43::i;1931:189::-;2017:7;2052:12;2045:5;2037:28;;;;-1:-1:-1;;;2037:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2076:9:0;2088:5;2092:1;2088;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:118::-;2133:5;2126:13;2119:21;2112:5;2109:32;2099:60;;2155:1;2152;2145:12;2170:241;2226:6;2279:2;2267:9;2258:7;2254:23;2250:32;2247:52;;;2295:1;2292;2285:12;2247:52;2334:9;2321:23;2353:28;2375:5;2353:28;:::i;2624:247::-;2683:6;2736:2;2724:9;2715:7;2711:23;2707:32;2704:52;;;2752:1;2749;2742:12;2704:52;2791:9;2778:23;2810:31;2835:5;2810:31;:::i;2876:382::-;2941:6;2949;3002:2;2990:9;2981:7;2977:23;2973:32;2970:52;;;3018:1;3015;3008:12;2970:52;3057:9;3044:23;3076:31;3101:5;3076:31;:::i;:::-;3126:5;-1:-1:-1;3183:2:1;3168:18;;3155:32;3196:30;3155:32;3196:30;:::i;:::-;3245:7;3235:17;;;2876:382;;;;;:::o;3263:388::-;3331:6;3339;3392:2;3380:9;3371:7;3367:23;3363:32;3360:52;;;3408:1;3405;3398:12;3360:52;3447:9;3434:23;3466:31;3491:5;3466:31;:::i;:::-;3516:5;-1:-1:-1;3573:2:1;3558:18;;3545:32;3586:33;3545:32;3586:33;:::i;3656:127::-;3717:10;3712:3;3708:20;3705:1;3698:31;3748:4;3745:1;3738:15;3772:4;3769:1;3762:15;3788:416;3877:1;3914:5;3877:1;3928:270;3949:7;3939:8;3936:21;3928:270;;;4008:4;4004:1;4000:6;3996:17;3990:4;3987:27;3984:53;;;4017:18;;:::i;:::-;4067:7;4057:8;4053:22;4050:55;;;4087:16;;;;4050:55;4166:22;;;;4126:15;;;;3928:270;;;3932:3;3788:416;;;;;:::o;4209:806::-;4258:5;4288:8;4278:80;;-1:-1:-1;4329:1:1;4343:5;;4278:80;4377:4;4367:76;;-1:-1:-1;4414:1:1;4428:5;;4367:76;4459:4;4477:1;4472:59;;;;4545:1;4540:130;;;;4452:218;;4472:59;4502:1;4493:10;;4516:5;;;4540:130;4577:3;4567:8;4564:17;4561:43;;;4584:18;;:::i;:::-;-1:-1:-1;;4640:1:1;4626:16;;4655:5;;4452:218;;4754:2;4744:8;4741:16;4735:3;4729:4;4726:13;4722:36;4716:2;4706:8;4703:16;4698:2;4692:4;4689:12;4685:35;4682:77;4679:159;;;-1:-1:-1;4791:19:1;;;4823:5;;4679:159;4870:34;4895:8;4889:4;4870:34;:::i;:::-;4940:6;4936:1;4932:6;4928:19;4919:7;4916:32;4913:58;;;4951:18;;:::i;:::-;4989:20;;4209:806;-1:-1:-1;;;4209:806:1:o;5020:140::-;5078:5;5107:47;5148:4;5138:8;5134:19;5128:4;5107:47;:::i;5165:168::-;5238:9;;;5269;;5286:15;;;5280:22;;5266:37;5256:71;;5307:18;;:::i;5338:356::-;5540:2;5522:21;;;5559:18;;;5552:30;5618:34;5613:2;5598:18;;5591:62;5685:2;5670:18;;5338:356::o;6051:251::-;6121:6;6174:2;6162:9;6153:7;6149:23;6145:32;6142:52;;;6190:1;6187;6180:12;6142:52;6222:9;6216:16;6241:31;6266:5;6241:31;:::i;7228:306::-;7316:6;7324;7332;7385:2;7373:9;7364:7;7360:23;7356:32;7353:52;;;7401:1;7398;7391:12;7353:52;7430:9;7424:16;7414:26;;7480:2;7469:9;7465:18;7459:25;7449:35;;7524:2;7513:9;7509:18;7503:25;7493:35;;7228:306;;;;;:::o;7818:245::-;7885:6;7938:2;7926:9;7917:7;7913:23;7909:32;7906:52;;;7954:1;7951;7944:12;7906:52;7986:9;7980:16;8005:28;8027:5;8005:28;:::i;11144:125::-;11209:9;;;11230:10;;;11227:36;;;11243:18;;:::i;11629:135::-;11668:3;11689:17;;;11686:43;;11709:18;;:::i;:::-;-1:-1:-1;11756:1:1;11745:13;;11629:135::o;12120:128::-;12187:9;;;12208:11;;;12205:37;;;12222:18;;:::i;12385:127::-;12446:10;12441:3;12437:20;12434:1;12427:31;12477:4;12474:1;12467:15;12501:4;12498:1;12491:15;12517:980;12779:4;12827:3;12816:9;12812:19;12858:6;12847:9;12840:25;12884:2;12922:6;12917:2;12906:9;12902:18;12895:34;12965:3;12960:2;12949:9;12945:18;12938:31;12989:6;13024;13018:13;13055:6;13047;13040:22;13093:3;13082:9;13078:19;13071:26;;13132:2;13124:6;13120:15;13106:29;;13153:1;13163:195;13177:6;13174:1;13171:13;13163:195;;;13242:13;;-1:-1:-1;;;;;13238:39:1;13226:52;;13333:15;;;;13298:12;;;;13274:1;13192:9;13163:195;;;-1:-1:-1;;;;;;;13414:32:1;;;;13409:2;13394:18;;13387:60;-1:-1:-1;;;13478:3:1;13463:19;13456:35;13375:3;12517:980;-1:-1:-1;;;12517:980:1:o;13502:217::-;13542:1;13568;13558:132;;13612:10;13607:3;13603:20;13600:1;13593:31;13647:4;13644:1;13637:15;13675:4;13672:1;13665:15;13558:132;-1:-1:-1;13704:9:1;;13502:217::o

Swarm Source

ipfs://4741f31b3e223d342b649677e3ae93d9bac6b8412a3b76b98cc57dc1f484157b

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.