ETH Price: $2,154.73 (+0.68%)
Gas: 0.04 Gwei

Contract

0xBC9734A8aEB6b1d4f9cBD0a5b2a96A3A1d9A5dAe
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Manualsend175754862023-06-28 4:37:35997 days ago1687927055IN
0xBC9734A8...A1d9A5dAe
0 ETH0.000388712.80659144
Approve175754782023-06-28 4:35:59997 days ago1687926959IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0007120515.28776843
Approve173613132023-05-29 1:14:111027 days ago1685322851IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0014432931.18807115
Manualsend173609802023-05-29 0:06:351027 days ago1685318795IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0008194926.99957178
Manual Swap173607602023-05-28 23:22:351027 days ago1685316155IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0048941233.4028882
Transfer173607202023-05-28 23:14:351027 days ago1685315675IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0012236926.03047763
Approve173603182023-05-28 21:53:351027 days ago1685310815IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0021658646.56070775
Approve173596872023-05-28 19:46:231027 days ago1685303183IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0025504154.75695873
Approve173594992023-05-28 19:08:351027 days ago1685300915IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0016471535.36411905
Approve173594962023-05-28 19:07:591027 days ago1685300879IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0016713135.88278669
Approve173592672023-05-28 18:22:111027 days ago1685298131IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0012674927.24801949
Approve173591242023-05-28 17:52:591027 days ago1685296379IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0019622842.12988901
Approve173591132023-05-28 17:50:471027 days ago1685296247IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0017204336.93738043
Approve173590022023-05-28 17:28:111027 days ago1685294891IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0013636529.50541314
Approve173589982023-05-28 17:27:231027 days ago1685294843IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0014765731.70187036
Approve173589912023-05-28 17:25:591027 days ago1685294759IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0014705331.81796534
Approve173589682023-05-28 17:21:231027 days ago1685294483IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0019651242.19087044
Approve173589642023-05-28 17:20:351027 days ago1685294435IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0016608835.65898819
Approve173589602023-05-28 17:19:471027 days ago1685294387IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0016919336.325469
Approve173589422023-05-28 17:16:111027 days ago1685294171IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0019294441.42487454
Approve173589372023-05-28 17:15:111027 days ago1685294111IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0025211854.12947834
Approve173589302023-05-28 17:13:471027 days ago1685294027IN
0xBC9734A8...A1d9A5dAe
0 ETH0.002005143.04923762
Approve173589192023-05-28 17:11:351027 days ago1685293895IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0027411259.2329444
Approve173588942023-05-28 17:06:351027 days ago1685293595IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0019615642.11442639
Approve173588852023-05-28 17:04:471027 days ago1685293487IN
0xBC9734A8...A1d9A5dAe
0 ETH0.0017472937.56249574
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer175754862023-06-28 4:37:35997 days ago1687927055
0xBC9734A8...A1d9A5dAe
0.00501087 ETH
Transfer175754792023-06-28 4:36:11997 days ago1687926971
0xBC9734A8...A1d9A5dAe
0.00501087 ETH
Transfer173609802023-05-29 0:06:351027 days ago1685318795
0xBC9734A8...A1d9A5dAe
0.07230402 ETH
Transfer173607602023-05-28 23:22:351027 days ago1685316155
0xBC9734A8...A1d9A5dAe
0.05140741 ETH
Transfer173593562023-05-28 18:39:591027 days ago1685299199
0xBC9734A8...A1d9A5dAe
0.0208966 ETH
Transfer173589462023-05-28 17:16:591027 days ago1685294219
0xBC9734A8...A1d9A5dAe
0.09888565 ETH
Transfer173589462023-05-28 17:16:591027 days ago1685294219
0xBC9734A8...A1d9A5dAe
0.06347646 ETH
Transfer173589142023-05-28 17:10:351027 days ago1685293835
0xBC9734A8...A1d9A5dAe
0.03540918 ETH
Transfer173589112023-05-28 17:09:591027 days ago1685293799
0xBC9734A8...A1d9A5dAe
0.07095006 ETH
Transfer173589112023-05-28 17:09:591027 days ago1685293799
0xBC9734A8...A1d9A5dAe
0.02859851 ETH
Transfer173589102023-05-28 17:09:471027 days ago1685293787
0xBC9734A8...A1d9A5dAe
0.04235154 ETH
Transfer173589102023-05-28 17:09:471027 days ago1685293787
0xBC9734A8...A1d9A5dAe
0.07725631 ETH
Transfer173589102023-05-28 17:09:471027 days ago1685293787
0xBC9734A8...A1d9A5dAe
0.04277731 ETH
Transfer173589092023-05-28 17:09:351027 days ago1685293775
0xBC9734A8...A1d9A5dAe
0.03447899 ETH
Transfer173589062023-05-28 17:08:591027 days ago1685293739
0xBC9734A8...A1d9A5dAe
0.0792785 ETH
Transfer173589062023-05-28 17:08:591027 days ago1685293739
0xBC9734A8...A1d9A5dAe
0.05980001 ETH
Transfer173589012023-05-28 17:07:591027 days ago1685293679
0xBC9734A8...A1d9A5dAe
0.01947849 ETH
Transfer173589012023-05-28 17:07:591027 days ago1685293679
0xBC9734A8...A1d9A5dAe
0.05551663 ETH
Transfer173589012023-05-28 17:07:591027 days ago1685293679
0xBC9734A8...A1d9A5dAe
0.03176802 ETH
Transfer173589002023-05-28 17:07:471027 days ago1685293667
0xBC9734A8...A1d9A5dAe
0.02374861 ETH
Transfer173588942023-05-28 17:06:351027 days ago1685293595
0xBC9734A8...A1d9A5dAe
0.0578778 ETH
Transfer173588942023-05-28 17:06:351027 days ago1685293595
0xBC9734A8...A1d9A5dAe
0.02092625 ETH
Transfer173588932023-05-28 17:06:231027 days ago1685293583
0xBC9734A8...A1d9A5dAe
0.03695154 ETH
Transfer173588922023-05-28 17:06:111027 days ago1685293571
0xBC9734A8...A1d9A5dAe
0.06209921 ETH
Transfer173588922023-05-28 17:06:111027 days ago1685293571
0xBC9734A8...A1d9A5dAe
0.06209921 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BEI

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-05-28
*/

// SPDX-License-Identifier: MIT
/**

 ______     ______     __       __     __     __   __     ______        __     __   __     __  __    
/\  == \   /\  ___\   /\ \     /\ \   /\ \   /\ "-.\ \   /\  ___\      /\ \   /\ "-.\ \   /\ \/\ \   
\ \  __<   \ \  __\   \ \ \   _\_\ \  \ \ \  \ \ \-.  \  \ \ \__ \     \ \ \  \ \ \-.  \  \ \ \_\ \  
 \ \_____\  \ \_____\  \ \_\ /\_____\  \ \_\  \ \_\\"\_\  \ \_____\     \ \_\  \ \_\\"\_\  \ \_____\ 
  \/_____/   \/_____/   \/_/ \/_____/   \/_/   \/_/ \/_/   \/_____/      \/_/   \/_/ \/_/   \/_____/ 
                                                                                                     
Beijing Inu was a wealthy Dog and he belonged to a wealthy family on Beijing and lived in a luxurious mansion with all the amenities a dog could dream of.
 
BEI decided to use his wealth for good. He wanted to give back to the people who had helped him become successful.

Join the $BEI army and embark on a thrilling adventure!

Web: http://www.beijinginu.com/
Twitter: https://twitter.com/beijinginueth
Telegram: https://t.me/Beijinginuerc
**/


pragma solidity 0.8.20;

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);
    }

}

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 BEI 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 => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=40;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=25;
    uint256 private _preventSwapBefore=25;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"BEIJING INU";
    string private constant _symbol = unicode"BEI";
    uint256 public _maxTxAmount = 2000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1330001 * 10**_decimals;
    uint256 public _maxTaxSwap= 1330000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = 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 _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:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

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

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 50000000000000000) {
                    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 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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function openTrading() 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());
        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;
    }

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
    }

    function manualsend() external {
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526005805460ff19166001179055601460068190556028600755600260088190556009908155600a9182556019600b819055600c555f600d55620000479162000344565b6200005690621e84806200035b565b600e55620000676009600a62000344565b6200007690621e84806200035b565b600f55620000876009600a62000344565b620000969062144b516200035b565b601055620000a76009600a62000344565b620000b69062144b506200035b565b6011556013805461ffff60a81b19169055348015620000d3575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b0319166101003302179055620001396009600a62000344565b62000149906305f5e1006200035b565b335f908152600160208190526040822092909255600390620001725f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005546101009004909116835291208054909216179055620001d53390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020e6009600a62000344565b6200021e906305f5e1006200035b565b60405190815260200160405180910390a362000375565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028957815f19048211156200026d576200026d62000235565b808516156200027b57918102915b93841c93908002906200024e565b509250929050565b5f82620002a1575060016200033e565b81620002af57505f6200033e565b8160018114620002c85760028114620002d357620002f3565b60019150506200033e565b60ff841115620002e757620002e762000235565b50506001821b6200033e565b5060208310610133831016604e8410600b841016171562000318575081810a6200033e565b62000324838362000249565b805f19048211156200033a576200033a62000235565b0290505b92915050565b5f6200035460ff84168362000291565b9392505050565b80820281158282048414176200033e576200033e62000235565b6118a880620003835f395ff3fe608060405260043610610129575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb1461031a578063bf474bed14610339578063c876d0b91461034e578063c9567bf914610367578063dd62ed3e1461037b578063ec1f3f63146103bf575f80fd5b8063751039fc1461028b5780637d1db4a51461029f5780638da5cb5b146102b45780638f9a55c0146102da57806395d89b41146102ef575f80fd5b8063313ce567116100ee578063313ce567146101fe57806351bc3c85146102195780636fc3eaec1461022f57806370a0823114610243578063715018a614610277575f80fd5b806306fdde0314610134578063095ea7b3146101795780630faee56f146101a857806318160ddd146101cb57806323b872dd146101df575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600b81526a4245494a494e4720494e5560a81b60208201525b6040516101709190611487565b60405180910390f35b348015610184575f80fd5b506101986101933660046114e6565b6103de565b6040519015158152602001610170565b3480156101b3575f80fd5b506101bd60115481565b604051908152602001610170565b3480156101d6575f80fd5b506101bd6103f4565b3480156101ea575f80fd5b506101986101f9366004611510565b610414565b348015610209575f80fd5b5060405160098152602001610170565b348015610224575f80fd5b5061022d61047b565b005b34801561023a575f80fd5b5061022d6104c0565b34801561024e575f80fd5b506101bd61025d36600461154e565b6001600160a01b03165f9081526001602052604090205490565b348015610282575f80fd5b5061022d6104d0565b348015610296575f80fd5b5061022d61054a565b3480156102aa575f80fd5b506101bd600e5481565b3480156102bf575f80fd5b505f546040516001600160a01b039091168152602001610170565b3480156102e5575f80fd5b506101bd600f5481565b3480156102fa575f80fd5b5060408051808201909152600381526242454960e81b6020820152610163565b348015610325575f80fd5b506101986103343660046114e6565b610605565b348015610344575f80fd5b506101bd60105481565b348015610359575f80fd5b506005546101989060ff1681565b348015610372575f80fd5b5061022d610611565b348015610386575f80fd5b506101bd610395366004611569565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ca575f80fd5b5061022d6103d93660046115a0565b6109ba565b5f6103ea338484610a04565b5060015b92915050565b5f6104016009600a6116ab565b61040f906305f5e1006116b9565b905090565b5f610420848484610b27565b610471843361046c8560405180606001604052806028815260200161184b602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110fb565b610a04565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b03161461049f575f80fd5b305f9081526001602052604090205480156104bd576104bd81611133565b50565b4780156104bd576104bd816112a3565b5f546001600160a01b031633146105025760405162461bcd60e51b81526004016104f9906116d0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105735760405162461bcd60e51b81526004016104f9906116d0565b61057f6009600a6116ab565b61058d906305f5e1006116b9565b600e5561059c6009600a6116ab565b6105aa906305f5e1006116b9565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105e46009600a6116ab565b6105f2906305f5e1006116b9565b60405190815260200160405180910390a1565b5f6103ea338484610b27565b5f546001600160a01b0316331461063a5760405162461bcd60e51b81526004016104f9906116d0565b601354600160a01b900460ff16156106945760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f9565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106dd9030906106cf6009600a6116ab565b61046c906305f5e1006116b9565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107519190611705565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d49190611705565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561081e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108429190611705565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610889816001600160a01b03165f9081526001602052604090205490565b5f8061089c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610902573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109279190611720565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561097c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a0919061174b565b506013805462ff00ff60a01b19166201000160a01b179055565b60055461010090046001600160a01b0316336001600160a01b0316146109de575f80fd5b60085481111580156109f257506009548111155b6109fa575f80fd5b6008819055600955565b6001600160a01b038316610a665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f9565b6001600160a01b038216610ac75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b8b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f9565b6001600160a01b038216610bed5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f9565b5f8111610c4e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f9565b5f80546001600160a01b03858116911614801590610c7957505f546001600160a01b03848116911614155b15610fbe57610caa6064610ca4600a54600d5411610c9957600654610c9d565b6008545b85906112e2565b90611367565b60055490915060ff1615610d90576012546001600160a01b03848116911614801590610ce457506013546001600160a01b03848116911614155b15610d9057325f908152600460205260409020544311610d7e5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104f9565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610dbb57506012546001600160a01b03848116911614155b8015610ddf57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ec557600e54821115610e365760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104f9565b600f5482610e58856001600160a01b03165f9081526001602052604090205490565b610e62919061176a565b1115610eb05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f9565b600d8054905f610ebf8361177d565b91905055505b6013546001600160a01b038481169116148015610eeb57506001600160a01b0384163014155b15610f1857610f156064610ca4600b54600d5411610f0b57600754610c9d565b60095485906112e2565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610f4e57506013546001600160a01b038581169116145b8015610f635750601354600160b01b900460ff165b8015610f70575060105481115b8015610f7f5750600c54600d54115b15610fbc57610fa1610f9c84610f97846011546113a8565b6113a8565b611133565b4766b1a2bc2ec50000811115610fba57610fba476112a3565b505b505b801561103657305f90815260016020526040902054610fdd90826113bc565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061102d9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611058908361141a565b6001600160a01b0385165f9081526001602052604090205561109b61107d838361141a565b6001600160a01b0385165f90815260016020526040902054906113bc565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110e4858561141a565b60405190815260200160405180910390a350505050565b5f818484111561111e5760405162461bcd60e51b81526004016104f99190611487565b505f61112a8486611795565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611179576111796117a8565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f49190611705565b81600181518110611207576112076117a8565b6001600160a01b03928316602091820292909201015260125461122d9130911684610a04565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906112659085905f908690309042906004016117bc565b5f604051808303815f87803b15801561127c575f80fd5b505af115801561128e573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156112de573d5f803e3d5ffd5b5050565b5f825f036112f157505f6103ee565b5f6112fc83856116b9565b905082611309858361182b565b146113605760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f9565b9392505050565b5f61136083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061145b565b5f8183116113b65782611360565b50919050565b5f806113c8838561176a565b9050838110156113605760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f9565b5f61136083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110fb565b5f818361147b5760405162461bcd60e51b81526004016104f99190611487565b505f61112a848661182b565b5f6020808352835180828501525f5b818110156114b257858101830151858201604001528201611496565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104bd575f80fd5b5f80604083850312156114f7575f80fd5b8235611502816114d2565b946020939093013593505050565b5f805f60608486031215611522575f80fd5b833561152d816114d2565b9250602084013561153d816114d2565b929592945050506040919091013590565b5f6020828403121561155e575f80fd5b8135611360816114d2565b5f806040838503121561157a575f80fd5b8235611585816114d2565b91506020830135611595816114d2565b809150509250929050565b5f602082840312156115b0575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561160557815f19048211156115eb576115eb6115b7565b808516156115f857918102915b93841c93908002906115d0565b509250929050565b5f8261161b575060016103ee565b8161162757505f6103ee565b816001811461163d576002811461164757611663565b60019150506103ee565b60ff841115611658576116586115b7565b50506001821b6103ee565b5060208310610133831016604e8410600b8410161715611686575081810a6103ee565b61169083836115cb565b805f19048211156116a3576116a36115b7565b029392505050565b5f61136060ff84168361160d565b80820281158282048414176103ee576103ee6115b7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611715575f80fd5b8151611360816114d2565b5f805f60608486031215611732575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561175b575f80fd5b81518015158114611360575f80fd5b808201808211156103ee576103ee6115b7565b5f6001820161178e5761178e6115b7565b5060010190565b818103818111156103ee576103ee6115b7565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561180a5784516001600160a01b0316835293830193918301916001016117e5565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261184557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122010f6b65f3336c977623c5484ae88f8fc78e6408d7ced4d21f0eb3fa386bd564764736f6c63430008140033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063751039fc116100a8578063a9059cbb1161006d578063a9059cbb1461031a578063bf474bed14610339578063c876d0b91461034e578063c9567bf914610367578063dd62ed3e1461037b578063ec1f3f63146103bf575f80fd5b8063751039fc1461028b5780637d1db4a51461029f5780638da5cb5b146102b45780638f9a55c0146102da57806395d89b41146102ef575f80fd5b8063313ce567116100ee578063313ce567146101fe57806351bc3c85146102195780636fc3eaec1461022f57806370a0823114610243578063715018a614610277575f80fd5b806306fdde0314610134578063095ea7b3146101795780630faee56f146101a857806318160ddd146101cb57806323b872dd146101df575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600b81526a4245494a494e4720494e5560a81b60208201525b6040516101709190611487565b60405180910390f35b348015610184575f80fd5b506101986101933660046114e6565b6103de565b6040519015158152602001610170565b3480156101b3575f80fd5b506101bd60115481565b604051908152602001610170565b3480156101d6575f80fd5b506101bd6103f4565b3480156101ea575f80fd5b506101986101f9366004611510565b610414565b348015610209575f80fd5b5060405160098152602001610170565b348015610224575f80fd5b5061022d61047b565b005b34801561023a575f80fd5b5061022d6104c0565b34801561024e575f80fd5b506101bd61025d36600461154e565b6001600160a01b03165f9081526001602052604090205490565b348015610282575f80fd5b5061022d6104d0565b348015610296575f80fd5b5061022d61054a565b3480156102aa575f80fd5b506101bd600e5481565b3480156102bf575f80fd5b505f546040516001600160a01b039091168152602001610170565b3480156102e5575f80fd5b506101bd600f5481565b3480156102fa575f80fd5b5060408051808201909152600381526242454960e81b6020820152610163565b348015610325575f80fd5b506101986103343660046114e6565b610605565b348015610344575f80fd5b506101bd60105481565b348015610359575f80fd5b506005546101989060ff1681565b348015610372575f80fd5b5061022d610611565b348015610386575f80fd5b506101bd610395366004611569565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ca575f80fd5b5061022d6103d93660046115a0565b6109ba565b5f6103ea338484610a04565b5060015b92915050565b5f6104016009600a6116ab565b61040f906305f5e1006116b9565b905090565b5f610420848484610b27565b610471843361046c8560405180606001604052806028815260200161184b602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110fb565b610a04565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b03161461049f575f80fd5b305f9081526001602052604090205480156104bd576104bd81611133565b50565b4780156104bd576104bd816112a3565b5f546001600160a01b031633146105025760405162461bcd60e51b81526004016104f9906116d0565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105735760405162461bcd60e51b81526004016104f9906116d0565b61057f6009600a6116ab565b61058d906305f5e1006116b9565b600e5561059c6009600a6116ab565b6105aa906305f5e1006116b9565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105e46009600a6116ab565b6105f2906305f5e1006116b9565b60405190815260200160405180910390a1565b5f6103ea338484610b27565b5f546001600160a01b0316331461063a5760405162461bcd60e51b81526004016104f9906116d0565b601354600160a01b900460ff16156106945760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f9565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106dd9030906106cf6009600a6116ab565b61046c906305f5e1006116b9565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107519190611705565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d49190611705565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561081e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108429190611705565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610889816001600160a01b03165f9081526001602052604090205490565b5f8061089c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610902573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109279190611720565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561097c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a0919061174b565b506013805462ff00ff60a01b19166201000160a01b179055565b60055461010090046001600160a01b0316336001600160a01b0316146109de575f80fd5b60085481111580156109f257506009548111155b6109fa575f80fd5b6008819055600955565b6001600160a01b038316610a665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f9565b6001600160a01b038216610ac75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b8b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f9565b6001600160a01b038216610bed5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f9565b5f8111610c4e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f9565b5f80546001600160a01b03858116911614801590610c7957505f546001600160a01b03848116911614155b15610fbe57610caa6064610ca4600a54600d5411610c9957600654610c9d565b6008545b85906112e2565b90611367565b60055490915060ff1615610d90576012546001600160a01b03848116911614801590610ce457506013546001600160a01b03848116911614155b15610d9057325f908152600460205260409020544311610d7e5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104f9565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610dbb57506012546001600160a01b03848116911614155b8015610ddf57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ec557600e54821115610e365760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104f9565b600f5482610e58856001600160a01b03165f9081526001602052604090205490565b610e62919061176a565b1115610eb05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f9565b600d8054905f610ebf8361177d565b91905055505b6013546001600160a01b038481169116148015610eeb57506001600160a01b0384163014155b15610f1857610f156064610ca4600b54600d5411610f0b57600754610c9d565b60095485906112e2565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610f4e57506013546001600160a01b038581169116145b8015610f635750601354600160b01b900460ff165b8015610f70575060105481115b8015610f7f5750600c54600d54115b15610fbc57610fa1610f9c84610f97846011546113a8565b6113a8565b611133565b4766b1a2bc2ec50000811115610fba57610fba476112a3565b505b505b801561103657305f90815260016020526040902054610fdd90826113bc565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061102d9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611058908361141a565b6001600160a01b0385165f9081526001602052604090205561109b61107d838361141a565b6001600160a01b0385165f90815260016020526040902054906113bc565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110e4858561141a565b60405190815260200160405180910390a350505050565b5f818484111561111e5760405162461bcd60e51b81526004016104f99190611487565b505f61112a8486611795565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611179576111796117a8565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f49190611705565b81600181518110611207576112076117a8565b6001600160a01b03928316602091820292909201015260125461122d9130911684610a04565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906112659085905f908690309042906004016117bc565b5f604051808303815f87803b15801561127c575f80fd5b505af115801561128e573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156112de573d5f803e3d5ffd5b5050565b5f825f036112f157505f6103ee565b5f6112fc83856116b9565b905082611309858361182b565b146113605760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f9565b9392505050565b5f61136083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061145b565b5f8183116113b65782611360565b50919050565b5f806113c8838561176a565b9050838110156113605760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f9565b5f61136083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110fb565b5f818361147b5760405162461bcd60e51b81526004016104f99190611487565b505f61112a848661182b565b5f6020808352835180828501525f5b818110156114b257858101830151858201604001528201611496565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104bd575f80fd5b5f80604083850312156114f7575f80fd5b8235611502816114d2565b946020939093013593505050565b5f805f60608486031215611522575f80fd5b833561152d816114d2565b9250602084013561153d816114d2565b929592945050506040919091013590565b5f6020828403121561155e575f80fd5b8135611360816114d2565b5f806040838503121561157a575f80fd5b8235611585816114d2565b91506020830135611595816114d2565b809150509250929050565b5f602082840312156115b0575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561160557815f19048211156115eb576115eb6115b7565b808516156115f857918102915b93841c93908002906115d0565b509250929050565b5f8261161b575060016103ee565b8161162757505f6103ee565b816001811461163d576002811461164757611663565b60019150506103ee565b60ff841115611658576116586115b7565b50506001821b6103ee565b5060208310610133831016604e8410600b8410161715611686575081810a6103ee565b61169083836115cb565b805f19048211156116a3576116a36115b7565b029392505050565b5f61136060ff84168361160d565b80820281158282048414176103ee576103ee6115b7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611715575f80fd5b8151611360816114d2565b5f805f60608486031215611732575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561175b575f80fd5b81518015158114611360575f80fd5b808201808211156103ee576103ee6115b7565b5f6001820161178e5761178e6115b7565b5060010190565b818103818111156103ee576103ee6115b7565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561180a5784516001600160a01b0316835293830193918301916001016117e5565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261184557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122010f6b65f3336c977623c5484ae88f8fc78e6408d7ced4d21f0eb3fa386bd564764736f6c63430008140033

Deployed Bytecode Sourcemap

4556:8217:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6436:83;;;;;;;;;;-1:-1:-1;6506:5:0;;;;;;;;;;;;-1:-1:-1;;;6506:5:0;;;;6436:83;;;;;;;:::i;:::-;;;;;;;;7269:161;;;;;;;;;;-1:-1:-1;7269:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7269:161:0;1023:187:1;5712:51:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5712:51:0;1215:177:1;6713:95:0;;;;;;;;;;;;;:::i;7438:313::-;;;;;;;;;;-1:-1:-1;7438:313:0;;;;;:::i;:::-;;:::i;6622:83::-;;;;;;;;;;-1:-1:-1;6622:83:0;;5339:1;2000:36:1;;1988:2;1973:18;6622:83:0;1858:184:1;12375:222:0;;;;;;;;;;;;;:::i;:::-;;12605:165;;;;;;;;;;;;;:::i;6816:119::-;;;;;;;;;;-1:-1:-1;6816:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6909:18:0;6882:7;6909:18;;;:9;:18;;;;;;;6816:119;3637:148;;;;;;;;;;;;;:::i;11123:196::-;;;;;;;;;;;;;:::i;5526:53::-;;;;;;;;;;;;;;;;3423:79;;;;;;;;;;-1:-1:-1;3461:7:0;3488:6;3423:79;;-1:-1:-1;;;;;3488:6:0;;;2445:51:1;;2433:2;2418:18;3423:79:0;2299:203:1;5586:55:0;;;;;;;;;;;;;;;;6527:87;;;;;;;;;;-1:-1:-1;6599:7:0;;;;;;;;;;;;-1:-1:-1;;;6599:7:0;;;;6527:87;;6943:167;;;;;;;;;;-1:-1:-1;6943:167:0;;;;;:::i;:::-;;:::i;5648:57::-;;;;;;;;;;;;;;;;4896:39;;;;;;;;;;-1:-1:-1;4896:39:0;;;;;;;;11427:671;;;;;;;;;;;;;:::i;7118:143::-;;;;;;;;;;-1:-1:-1;7118:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7226:18:0;;;7199:7;7226:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7118:143;12112:218;;;;;;;;;;-1:-1:-1;12112:218:0;;;;;:::i;:::-;;:::i;7269:161::-;7344:4;7361:39;1258:10;7384:7;7393:6;7361:8;:39::i;:::-;-1:-1:-1;7418:4:0;7269:161;;;;;:::o;6713:95::-;6766:7;5394:13;5339:1;5394:2;:13;:::i;:::-;5382:25;;:9;:25;:::i;:::-;6786:14;;6713:95;:::o;7438:313::-;7536:4;7553:36;7563:6;7571:9;7582:6;7553:9;:36::i;:::-;7600:121;7609:6;1258:10;7631:89;7669:6;7631:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7631:19:0;;;;;;:11;:19;;;;;;;;1258:10;7631:33;;;;;;;;;;:37;:89::i;:::-;7600:8;:121::i;:::-;-1:-1:-1;7739:4:0;7438:313;;;;;:::o;12375:222::-;12439:10;;;;;-1:-1:-1;;;;;12439:10:0;1258;-1:-1:-1;;;;;12425:24:0;;12417:33;;;;;;12500:4;12461:20;6909:18;;;:9;:18;;;;;;12520:14;;12517:73;;12548:30;12565:12;12548:16;:30::i;:::-;12406:191;12375:222::o;12605:165::-;12666:21;12701:12;;12698:65;;12727:24;12740:10;12727:12;:24::i;3637:148::-;3550:6;;-1:-1:-1;;;;;3550:6:0;1258:10;3550:22;3542:67;;;;-1:-1:-1;;;3542:67:0;;;;;;;:::i;:::-;;;;;;;;;3744:1:::1;3728:6:::0;;3707:40:::1;::::0;-1:-1:-1;;;;;3728:6:0;;::::1;::::0;3707:40:::1;::::0;3744:1;;3707:40:::1;3775:1;3758:19:::0;;-1:-1:-1;;;;;;3758:19:0::1;::::0;;3637:148::o;11123:196::-;3550:6;;-1:-1:-1;;;;;3550:6:0;1258:10;3550:22;3542:67;;;;-1:-1:-1;;;3542:67:0;;;;;;;:::i;:::-;5394:13:::1;5339:1;5394:2;:13;:::i;:::-;5382:25;::::0;:9:::1;:25;:::i;:::-;11176:12;:22:::0;5394:13:::1;5339:1;5394:2;:13;:::i;:::-;5382:25;::::0;:9:::1;:25;:::i;:::-;11209:14;:22:::0;11242:20:::1;:26:::0;;-1:-1:-1;;11242:26:0::1;::::0;;11284:27:::1;5394:13;5339:1;-1:-1:-1::0;5394:13:0::1;:::i;:::-;5382:25;::::0;:9:::1;:25;:::i;:::-;11284:27;::::0;1361:25:1;;;1349:2;1334:18;11284:27:0::1;;;;;;;11123:196::o:0;6943:167::-;7021:4;7038:42;1258:10;7062:9;7073:6;7038:9;:42::i;11427:671::-;3550:6;;-1:-1:-1;;;;;3550:6:0;1258:10;3550:22;3542:67;;;;-1:-1:-1;;;3542:67:0;;;;;;;:::i;:::-;11491:11:::1;::::0;-1:-1:-1;;;11491:11:0;::::1;;;11490:12;11482:47;;;::::0;-1:-1:-1;;;11482:47:0;;5336:2:1;11482:47:0::1;::::0;::::1;5318:21:1::0;5375:2;5355:18;;;5348:30;5414:25;5394:18;;;5387:53;5457:18;;11482:47:0::1;5134:347:1::0;11482:47:0::1;11540:15;:80:::0;;-1:-1:-1;;;;;;11540:80:0::1;11577:42;11540:80:::0;;::::1;::::0;;;11631:58:::1;::::0;11648:4:::1;::::0;5394:13:::1;5339:1;5394:2;:13;:::i;:::-;5382:25;::::0;:9:::1;:25;:::i;11631:58::-;11734:15;;;;;;;;;-1:-1:-1::0;;;;;11734:15:0::1;-1:-1:-1::0;;;;;11734:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11716:55:0::1;;11780:4;11787:15;;;;;;;;;-1:-1:-1::0;;;;;11787:15:0::1;-1:-1:-1::0;;;;;11787:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11716:94;::::0;-1:-1:-1;;;;;;11716:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5972:15:1;;;11716:94:0::1;::::0;::::1;5954:34:1::0;6024:15;;6004:18;;;5997:43;5889:18;;11716:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11700:13;:110:::0;;-1:-1:-1;;;;;11700:110:0;;::::1;-1:-1:-1::0;;;;;;11700:110:0;;::::1;;::::0;;11821:15:::1;::::0;::::1;:31;11860:21;11891:4;11897:24;11891:4:::0;-1:-1:-1;;;;;6909:18:0;6882:7;6909:18;;;:9;:18;;;;;;;6816:119;11897:24:::1;11922:1;11924::::0;11926:7:::1;3461::::0;3488:6;-1:-1:-1;;;;;3488:6:0;;3423:79;11926:7:::1;11821:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11821:129:0;;;-1:-1:-1;;;;;6410:15:1;;;11821:129:0::1;::::0;::::1;6392:34:1::0;6442:18;;;6435:34;;;;6485:18;;;6478:34;;;;6528:18;;;6521:34;6592:15;;;6571:19;;;6564:44;11934:15:0::1;6624:19:1::0;;;6617:35;6326:19;;11821:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11968:13:0::1;::::0;11999:15:::1;::::0;11961:71:::1;::::0;-1:-1:-1;;;11961:71:0;;-1:-1:-1;;;;;11999:15:0;;::::1;11961:71;::::0;::::1;7148:51:1::0;-1:-1:-1;;7215:18:1;;;7208:34;11968:13:0;::::1;::::0;-1:-1:-1;11961:29:0::1;::::0;7121:18:1;;11961:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12043:11:0::1;:18:::0;;-1:-1:-1;;;;12072:18:0;-1:-1:-1;;;12072:18:0;;;11427:671::o;12112:218::-;12187:10;;;;;-1:-1:-1;;;;;12187:10:0;1258;-1:-1:-1;;;;;12173:24:0;;12165:33;;;;;;12224:12;;12215:7;:21;;:47;;;;;12249:13;;12240:7;:22;;12215:47;12207:56;;;;;;12272:12;:20;;;12301:13;:21;12112:218::o;7759:335::-;-1:-1:-1;;;;;7852:19:0;;7844:68;;;;-1:-1:-1;;;7844:68:0;;7737:2:1;7844:68:0;;;7719:21:1;7776:2;7756:18;;;7749:30;7815:34;7795:18;;;7788:62;-1:-1:-1;;;7866:18:1;;;7859:34;7910:19;;7844:68:0;7535:400:1;7844:68:0;-1:-1:-1;;;;;7931:21:0;;7923:68;;;;-1:-1:-1;;;7923:68:0;;8142:2:1;7923:68:0;;;8124:21:1;8181:2;8161:18;;;8154:30;8220:34;8200:18;;;8193:62;-1:-1:-1;;;8271:18:1;;;8264:32;8313:19;;7923:68:0;7940:398:1;7923:68:0;-1:-1:-1;;;;;8002:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8054:32;;1361:25:1;;;8054:32:0;;1334:18:1;8054:32:0;;;;;;;7759:335;;;:::o;8102:2414::-;-1:-1:-1;;;;;8190:18:0;;8182:68;;;;-1:-1:-1;;;8182:68:0;;8545:2:1;8182:68:0;;;8527:21:1;8584:2;8564:18;;;8557:30;8623:34;8603:18;;;8596:62;-1:-1:-1;;;8674:18:1;;;8667:35;8719:19;;8182:68:0;8343:401:1;8182:68:0;-1:-1:-1;;;;;8269:16:0;;8261:64;;;;-1:-1:-1;;;8261:64:0;;8951:2:1;8261:64:0;;;8933:21:1;8990:2;8970:18;;;8963:30;9029:34;9009:18;;;9002:62;-1:-1:-1;;;9080:18:1;;;9073:33;9123:19;;8261:64:0;8749:399:1;8261:64:0;8353:1;8344:6;:10;8336:64;;;;-1:-1:-1;;;8336:64:0;;9355:2:1;8336:64:0;;;9337:21:1;9394:2;9374:18;;;9367:30;9433:34;9413:18;;;9406:62;-1:-1:-1;;;9484:18:1;;;9477:39;9533:19;;8336:64:0;9153:405:1;8336:64:0;8411:17;3488:6;;-1:-1:-1;;;;;8445:15:0;;;3488:6;;8445:15;;;;:32;;-1:-1:-1;3461:7:0;3488:6;-1:-1:-1;;;;;8464:13:0;;;3488:6;;8464:13;;8445:32;8441:1719;;;8506:76;8578:3;8506:67;8528:15;;8518:9;;:25;8517:55;;8558:14;;8517:55;;;8545:12;;8517:55;8506:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8603:20;;8494:88;;-1:-1:-1;8603:20:0;;8599:508;;;8664:15;;-1:-1:-1;;;;;8650:30:0;;;8664:15;;8650:30;;;;:62;;-1:-1:-1;8698:13:0;;-1:-1:-1;;;;;8684:28:0;;;8698:13;;8684:28;;8650:62;8646:444;;;8804:9;8775:39;;;;:28;:39;;;;;;8848:12;-1:-1:-1;8739:250:0;;;;-1:-1:-1;;;8739:250:0;;9765:2:1;8739:250:0;;;9747:21:1;9804:2;9784:18;;;9777:30;9843:34;9823:18;;;9816:62;9914:34;9894:18;;;9887:62;-1:-1:-1;;;9965:19:1;;;9958:40;10015:19;;8739:250:0;9563:477:1;8739:250:0;9043:9;9014:39;;;;:28;:39;;;;;9056:12;9014:54;;8646:444;9135:13;;-1:-1:-1;;;;;9127:21:0;;;9135:13;;9127:21;:55;;;;-1:-1:-1;9166:15:0;;-1:-1:-1;;;;;9152:30:0;;;9166:15;;9152:30;;9127:55;:83;;;;-1:-1:-1;;;;;;9188:22:0;;;;;;:18;:22;;;;;;;;9186:24;9127:83;9123:313;;;9250:12;;9240:6;:22;;9232:60;;;;-1:-1:-1;;;9232:60:0;;10247:2:1;9232:60:0;;;10229:21:1;10286:2;10266:18;;;10259:30;10325:27;10305:18;;;10298:55;10370:18;;9232:60:0;10045:349:1;9232:60:0;9345:14;;9335:6;9319:13;9329:2;-1:-1:-1;;;;;6909:18:0;6882:7;6909:18;;;:9;:18;;;;;;;6816:119;9319:13;:22;;;;:::i;:::-;:40;;9311:79;;;;-1:-1:-1;;;9311:79:0;;10731:2:1;9311:79:0;;;10713:21:1;10770:2;10750:18;;;10743:30;10809:28;10789:18;;;10782:56;10855:18;;9311:79:0;10529:350:1;9311:79:0;9409:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9123:313;9461:13;;-1:-1:-1;;;;;9455:19:0;;;9461:13;;9455:19;:43;;;;-1:-1:-1;;;;;;9478:20:0;;9493:4;9478:20;;9455:43;9452:174;;;9531:79;9606:3;9531:70;9553:16;;9543:9;;:26;9542:58;;9585:15;;9542:58;;;9571:13;;9531:6;;:10;:70::i;:79::-;9519:91;;9452:174;9691:4;9642:28;6909:18;;;:9;:18;;;;;;9717:6;;-1:-1:-1;;;9717:6:0;;;;9716:7;:32;;;;-1:-1:-1;9735:13:0;;-1:-1:-1;;;;;9727:21:0;;;9735:13;;9727:21;9716:32;:47;;;;-1:-1:-1;9752:11:0;;-1:-1:-1;;;9752:11:0;;;;9716:47;:89;;;;;9788:17;;9767:20;:38;9716:89;:121;;;;;9819:18;;9809:9;;:28;9716:121;9712:437;;;9858:67;9875:49;9879:6;9886:37;9890:20;9911:11;;9886:3;:37::i;:::-;9875:3;:49::i;:::-;9858:16;:67::i;:::-;9973:21;10037:17;10016:38;;10013:121;;;10079:35;10092:21;10079:12;:35::i;:::-;9839:310;9712:437;8479:1681;8441:1719;10175:11;;10172:161;;10243:4;10225:24;;;;:9;:24;;;;;;:39;;10254:9;10225:28;:39::i;:::-;10218:4;10200:24;;;;:9;:24;;;;;;;:64;;;;10282:39;;-1:-1:-1;;;;;10282:39:0;;;;;;;10311:9;1361:25:1;;1349:2;1334:18;;1215:177;10282:39:0;;;;;;;;10172:161;-1:-1:-1;;;;;10359:15:0;;;;;;:9;:15;;;;;;:27;;10379:6;10359:19;:27::i;:::-;-1:-1:-1;;;;;10343:15:0;;;;;;:9;:15;;;;;:43;10411:40;10429:21;:6;10440:9;10429:10;:21::i;:::-;-1:-1:-1;;;;;10411:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10397:13:0;;;;;;;:9;:13;;;;;:54;;;;10467:41;;;10486:21;:6;10497:9;10486:10;:21::i;:::-;10467:41;;1361:25:1;;;1349:2;1334:18;10467:41:0;;;;;;;8171:2345;8102:2414;;;:::o;2315:190::-;2401:7;2437:12;2429:6;;;;2421:29;;;;-1:-1:-1;;;2421:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2461:9:0;2473:5;2477:1;2473;:5;:::i;:::-;2461:17;2315:190;-1:-1:-1;;;;;2315:190:0:o;10632:483::-;6045:6;:13;;-1:-1:-1;;;;6045:13:0;-1:-1:-1;;;6045:13:0;;;10734:16:::1;::::0;;10748:1:::1;10734:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10734:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10734:16:0::1;10710:40;;10779:4;10761;10766:1;10761:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10761:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10805:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10805:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10761:7;;10805:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10795:4;10800:1;10795:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10795:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10870:15:::1;::::0;10838:62:::1;::::0;10855:4:::1;::::0;10870:15:::1;10888:11:::0;10838:8:::1;:62::i;:::-;10911:15;::::0;:196:::1;::::0;-1:-1:-1;;;10911:196:0;;-1:-1:-1;;;;;10911:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10992:11;;10911:15:::1;::::0;11034:4;;11061::::1;::::0;11081:15:::1;::::0;10911:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6081:6:0;:14;;-1:-1:-1;;;;6081:14:0;;;-1:-1:-1;;;;10632:483:0:o;11327:92::-;11384:10;;:27;;:10;;;;-1:-1:-1;;;;;11384:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;11327:92;:::o;2513:246::-;2571:7;2595:1;2600;2595:6;2591:47;;-1:-1:-1;2625:1:0;2618:8;;2591:47;2648:9;2660:5;2664:1;2660;:5;:::i;:::-;2648:17;-1:-1:-1;2693:1:0;2684:5;2688:1;2648:17;2684:5;:::i;:::-;:10;2676:56;;;;-1:-1:-1;;;2676:56:0;;12830:2:1;2676:56:0;;;12812:21:1;12869:2;12849:18;;;12842:30;12908:34;12888:18;;;12881:62;-1:-1:-1;;;12959:18:1;;;12952:31;13000:19;;2676:56:0;12628:397:1;2676:56:0;2750:1;2513:246;-1:-1:-1;;;2513:246:0:o;2767:132::-;2825:7;2852:39;2856:1;2859;2852:39;;;;;;;;;;;;;;;;;:3;:39::i;10526:98::-;10583:7;10610:1;10608;:3;10607:9;;10615:1;10607:9;;;-1:-1:-1;10613:1:0;10526:98;-1:-1:-1;10526:98:0:o;1984:179::-;2042:7;;2074:5;2078:1;2074;:5;:::i;:::-;2062:17;;2103:1;2098;:6;;2090:46;;;;-1:-1:-1;;;2090:46:0;;13232:2:1;2090:46:0;;;13214:21:1;13271:2;13251:18;;;13244:30;13310:29;13290:18;;;13283:57;13357:18;;2090:46:0;13030:351:1;2171:136:0;2229:7;2256:43;2260:1;2263;2256:43;;;;;;;;;;;;;;;;;:3;:43::i;2907:189::-;2993:7;3028:12;3021:5;3013:28;;;;-1:-1:-1;;;3013:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3052:9:0;3064:5;3068:1;3064;: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:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:422;3306:1;3349:5;3306:1;3363:270;3384:7;3374:8;3371:21;3363:270;;;3443:4;3439:1;3435:6;3431:17;3425:4;3422:27;3419:53;;;3452:18;;:::i;:::-;3502:7;3492:8;3488:22;3485:55;;;3522:16;;;;3485:55;3601:22;;;;3561:15;;;;3363:270;;;3367:3;3217:422;;;;;:::o;3644:806::-;3693:5;3723:8;3713:80;;-1:-1:-1;3764:1:1;3778:5;;3713:80;3812:4;3802:76;;-1:-1:-1;3849:1:1;3863:5;;3802:76;3894:4;3912:1;3907:59;;;;3980:1;3975:130;;;;3887:218;;3907:59;3937:1;3928:10;;3951:5;;;3975:130;4012:3;4002:8;3999:17;3996:43;;;4019:18;;:::i;:::-;-1:-1:-1;;4075:1:1;4061:16;;4090:5;;3887:218;;4189:2;4179:8;4176:16;4170:3;4164:4;4161:13;4157:36;4151:2;4141:8;4138:16;4133:2;4127:4;4124:12;4120:35;4117:77;4114:159;;;-1:-1:-1;4226:19:1;;;4258:5;;4114:159;4305:34;4330:8;4324:4;4305:34;:::i;:::-;4375:6;4371:1;4367:6;4363:19;4354:7;4351:32;4348:58;;;4386:18;;:::i;:::-;4424:20;;3644:806;-1:-1:-1;;;3644:806:1:o;4455:140::-;4513:5;4542:47;4583:4;4573:8;4569:19;4563:4;4542:47;:::i;4600:168::-;4673:9;;;4704;;4721:15;;;4715:22;;4701:37;4691:71;;4742:18;;:::i;4773:356::-;4975:2;4957:21;;;4994:18;;;4987:30;5053:34;5048:2;5033:18;;5026:62;5120:2;5105:18;;4773:356::o;5486:251::-;5556:6;5609:2;5597:9;5588:7;5584:23;5580:32;5577:52;;;5625:1;5622;5615:12;5577:52;5657:9;5651:16;5676:31;5701:5;5676:31;:::i;6663:306::-;6751:6;6759;6767;6820:2;6808:9;6799:7;6795:23;6791:32;6788:52;;;6836:1;6833;6826:12;6788:52;6865:9;6859:16;6849:26;;6915:2;6904:9;6900:18;6894:25;6884:35;;6959:2;6948:9;6944:18;6938:25;6928:35;;6663:306;;;;;:::o;7253:277::-;7320:6;7373:2;7361:9;7352:7;7348:23;7344:32;7341:52;;;7389:1;7386;7379:12;7341:52;7421:9;7415:16;7474:5;7467:13;7460:21;7453:5;7450:32;7440:60;;7496:1;7493;7486:12;10399:125;10464:9;;;10485:10;;;10482:36;;;10498:18;;:::i;10884:135::-;10923:3;10944:17;;;10941:43;;10964:18;;:::i;:::-;-1:-1:-1;11011:1:1;11000:13;;10884:135::o;11024:128::-;11091:9;;;11112:11;;;11109:37;;;11126:18;;:::i;11289:127::-;11350:10;11345:3;11341:20;11338:1;11331:31;11381:4;11378:1;11371:15;11405:4;11402:1;11395:15;11421:980;11683:4;11731:3;11720:9;11716:19;11762:6;11751:9;11744:25;11788:2;11826:6;11821:2;11810:9;11806:18;11799:34;11869:3;11864:2;11853:9;11849:18;11842:31;11893:6;11928;11922:13;11959:6;11951;11944:22;11997:3;11986:9;11982:19;11975:26;;12036:2;12028:6;12024:15;12010:29;;12057:1;12067:195;12081:6;12078:1;12075:13;12067:195;;;12146:13;;-1:-1:-1;;;;;12142:39:1;12130:52;;12237:15;;;;12202:12;;;;12178:1;12096:9;12067:195;;;-1:-1:-1;;;;;;;12318:32:1;;;;12313:2;12298:18;;12291:60;-1:-1:-1;;;12382:3:1;12367:19;12360:35;12279:3;11421:980;-1:-1:-1;;;11421:980:1:o;12406:217::-;12446:1;12472;12462:132;;12516:10;12511:3;12507:20;12504:1;12497:31;12551:4;12548:1;12541:15;12579:4;12576:1;12569:15;12462:132;-1:-1:-1;12608:9:1;;12406:217::o

Swarm Source

ipfs://10f6b65f3336c977623c5484ae88f8fc78e6408d7ced4d21f0eb3fa386bd5647

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.