ETH Price: $1,568.65 (+3.35%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve221734282025-04-01 10:21:5910 days ago1743502919IN
0x4371cFe3...1A96a3bBB
0 ETH0.000051631.10852473
Transfer221726452025-04-01 7:44:5910 days ago1743493499IN
0x4371cFe3...1A96a3bBB
0 ETH0.000062421.05263128
Approve220886692025-03-20 14:27:3522 days ago1742480855IN
0x4371cFe3...1A96a3bBB
0 ETH0.000150333.23156708
Approve220742022025-03-18 13:56:5924 days ago1742306219IN
0x4371cFe3...1A96a3bBB
0 ETH0.000031920.6898969
Approve219935952025-03-07 7:45:2335 days ago1741333523IN
0x4371cFe3...1A96a3bBB
0 ETH0.0000762.58326711
Approve219905122025-03-06 21:24:3535 days ago1741296275IN
0x4371cFe3...1A96a3bBB
0 ETH0.000030831.17136796
Approve219905062025-03-06 21:23:2335 days ago1741296203IN
0x4371cFe3...1A96a3bBB
0 ETH0.000057491.2438369
Approve219347332025-02-27 2:37:4743 days ago1740623867IN
0x4371cFe3...1A96a3bBB
0 ETH0.000032350.69901545
Approve218096902025-02-09 14:55:2361 days ago1739112923IN
0x4371cFe3...1A96a3bBB
0 ETH0.00027335.86723332
Approve217877572025-02-06 13:27:4764 days ago1738848467IN
0x4371cFe3...1A96a3bBB
0 ETH0.000101812.2
Approve215269952025-01-01 3:41:35100 days ago1735702895IN
0x4371cFe3...1A96a3bBB
0 ETH0.000121572.61322938
Approve214781342024-12-25 7:56:11107 days ago1735113371IN
0x4371cFe3...1A96a3bBB
0 ETH0.000217564.676684
Approve213036462024-11-30 23:02:23131 days ago1733007743IN
0x4371cFe3...1A96a3bBB
0 ETH0.000363813.82179293
Approve213036412024-11-30 23:01:23131 days ago1733007683IN
0x4371cFe3...1A96a3bBB
0 ETH0.0003540613.45188727
Approve212394802024-11-21 23:46:11140 days ago1732232771IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006594614.15728622
Approve211693432024-11-12 4:53:47150 days ago1731387227IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006599625.0735578
Approve211693372024-11-12 4:52:35150 days ago1731387155IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006625825.17329743
Approve211693312024-11-12 4:51:23150 days ago1731387083IN
0x4371cFe3...1A96a3bBB
0 ETH0.0011065123.93975155
Approve211510162024-11-09 15:33:11153 days ago1731166391IN
0x4371cFe3...1A96a3bBB
0 ETH0.0005829812.6
Approve210551752024-10-27 6:28:47166 days ago1730010527IN
0x4371cFe3...1A96a3bBB
0 ETH0.000186844.0112252
Approve210479202024-10-26 6:10:35167 days ago1729923035IN
0x4371cFe3...1A96a3bBB
0 ETH0.000187454.02425493
Approve210147482024-10-21 15:07:35172 days ago1729523255IN
0x4371cFe3...1A96a3bBB
0 ETH0.0008808418.93425368
Approve210079792024-10-20 16:27:47173 days ago1729441667IN
0x4371cFe3...1A96a3bBB
0 ETH0.0007605916.45569098
Approve210076692024-10-20 15:24:47173 days ago1729437887IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006332413.61193467
Approve209964052024-10-19 1:43:23174 days ago1729302203IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006301713.52867131
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer200354862024-06-06 21:31:35308 days ago1717709495
0x4371cFe3...1A96a3bBB
0.05064035 ETH
Transfer200354862024-06-06 21:31:35308 days ago1717709495
0x4371cFe3...1A96a3bBB
0.05064035 ETH
Transfer200354842024-06-06 21:31:11308 days ago1717709471
0x4371cFe3...1A96a3bBB
0.0507426 ETH
Transfer200354842024-06-06 21:31:11308 days ago1717709471
0x4371cFe3...1A96a3bBB
0.0507426 ETH
Transfer200354682024-06-06 21:27:59308 days ago1717709279
0x4371cFe3...1A96a3bBB
0.02395047 ETH
Transfer200354682024-06-06 21:27:59308 days ago1717709279
0x4371cFe3...1A96a3bBB
0.02395047 ETH
Transfer200354672024-06-06 21:27:47308 days ago1717709267
0x4371cFe3...1A96a3bBB
0.02111754 ETH
Transfer200354672024-06-06 21:27:47308 days ago1717709267
0x4371cFe3...1A96a3bBB
0.02111754 ETH
Transfer200354662024-06-06 21:27:35308 days ago1717709255
0x4371cFe3...1A96a3bBB
0.02234258 ETH
Transfer200354662024-06-06 21:27:35308 days ago1717709255
0x4371cFe3...1A96a3bBB
0.02234258 ETH
Transfer200354552024-06-06 21:25:23308 days ago1717709123
0x4371cFe3...1A96a3bBB
0.02284259 ETH
Transfer200354552024-06-06 21:25:23308 days ago1717709123
0x4371cFe3...1A96a3bBB
0.02284259 ETH
Transfer200354542024-06-06 21:25:11308 days ago1717709111
0x4371cFe3...1A96a3bBB
0.02585118 ETH
Transfer200354542024-06-06 21:25:11308 days ago1717709111
0x4371cFe3...1A96a3bBB
0.02585118 ETH
Transfer200354512024-06-06 21:24:35308 days ago1717709075
0x4371cFe3...1A96a3bBB
0.02949619 ETH
Transfer200354512024-06-06 21:24:35308 days ago1717709075
0x4371cFe3...1A96a3bBB
0.02949619 ETH
Transfer200354412024-06-06 21:22:35308 days ago1717708955
0x4371cFe3...1A96a3bBB
0.10595308 ETH
Transfer200354412024-06-06 21:22:35308 days ago1717708955
0x4371cFe3...1A96a3bBB
0.10595308 ETH
Transfer200354402024-06-06 21:22:23308 days ago1717708943
0x4371cFe3...1A96a3bBB
0.10681447 ETH
Transfer200354402024-06-06 21:22:23308 days ago1717708943
0x4371cFe3...1A96a3bBB
0.10681447 ETH
Transfer200354392024-06-06 21:22:11308 days ago1717708931
0x4371cFe3...1A96a3bBB
0.11694118 ETH
Transfer200354392024-06-06 21:22:11308 days ago1717708931
0x4371cFe3...1A96a3bBB
0.11694118 ETH
Transfer200354342024-06-06 21:21:11308 days ago1717708871
0x4371cFe3...1A96a3bBB
0.11745944 ETH
Transfer200354342024-06-06 21:21:11308 days ago1717708871
0x4371cFe3...1A96a3bBB
0.11745944 ETH
Transfer200354322024-06-06 21:20:47308 days ago1717708847
0x4371cFe3...1A96a3bBB
0.13642918 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
chinesebeaver

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*

Chinese Beaver

0/0 TAX
OWNERSHIP RENOUNCED
Website: https://www.chinesebeaver.live/
Twitter: https://x.com/chinabeavere
https://t.me/ChineseBeaverERC

*/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.17;

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 chinesebeaver 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) private bots;
    uint256 private enabled = 0;
    address payable private _taxWallet = payable(0xDB23d1Aa3543e043C6bB9A1530D4B488642590f3);
    uint256 private _initBuyTax=25;
    uint256 private _initSellTax=45;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private lastSwap;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Chinese Beaver";
    string private constant _symbol = unicode"周潤發";
    uint256 public _maxTxAmount =   20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold=8000000 * 10**_decimals;
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"ERROR: Trading is already enabled.");
        swapEnabled = true;
        tradingOpen = true;
        lastSwap = block.number;
    }

    function unblockSnipers(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }
       
    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 _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 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 changeFee(uint256 _newInitialBuyFee, uint256 _newInitialSellFee) external onlyOwner() {
      _initBuyTax=_newInitialBuyFee;
      _initSellTax=_newInitialSellFee;
    }

    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 blockSnipers(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = 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 _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()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(tradingOpen, "Trading not open");
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul(_initBuyTax).div(100);
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_initSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && lastSwap != block.number) {
                swapTokensForEth(_taxSwapThreshold);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }   
                lastSwap = block.number;
            }
        }

        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 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;
        _taxSwapThreshold = 2000000 * 10**_decimals;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
                
    function manualSend() external {
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          _taxWallet.transfer(ethBalance);
        }
    }

    receive() external payable {}

}

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":"_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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newInitialBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newInitialSellFee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"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":[{"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":"notbot","type":"address[]"}],"name":"unblockSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006005819055600680546001600160a01b03191673db23d1aa3543e043c6bb9a1530d4b488642590f31790556019600755602d6008556009818155600a918255620000509162000505565b62000060906301312d006200051d565b600c55620000716009600a62000505565b62000081906301312d006200051d565b600d55620000926009600a62000505565b620000a190627a12006200051d565b600e556010805462ffffff60a01b19169055348015620000c057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000167573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018d919062000537565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000216919062000537565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028a919062000537565b601080546001600160a01b0319166001600160a01b0392909216919091179055620002b86009600a62000505565b620002c890633b9aca006200051d565b336000908152600160208190526040822092909255600390620002f36000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260039283905290812080549093166001908117909355620003403390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600654909116815260039092529020805490911660011790556200038f3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003c96009600a62000505565b620003d990633b9aca006200051d565b60405190815260200160405180910390a362000562565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004475781600019048211156200042b576200042b620003f0565b808516156200043957918102915b93841c93908002906200040b565b509250929050565b6000826200046057506001620004ff565b816200046f57506000620004ff565b81600181146200048857600281146200049357620004b3565b6001915050620004ff565b60ff841115620004a757620004a7620003f0565b50506001821b620004ff565b5060208310610133831016604e8410600b8410161715620004d8575081810a620004ff565b620004e4838362000406565b8060001904821115620004fb57620004fb620003f0565b0290505b92915050565b60006200051660ff8416836200044f565b9392505050565b8082028115828204841417620004ff57620004ff620003f0565b6000602082840312156200054a57600080fd5b81516001600160a01b03811681146200051657600080fd5b6117ca80620005726000396000f3fe6080604052600436106101395760003560e01c806378bfa713116100ab57806395d89b411161006f57806395d89b411461036b578063a9059cbb1461039d578063bf474bed146103bd578063dd62ed3e146103d3578063e3ca2d6514610419578063f42938901461043957600080fd5b806378bfa713146102ec5780637d1db4a51461030c5780638a8c523c146103225780638da5cb5b146103375780638f9a55c01461035557600080fd5b8063313ce567116100fd578063313ce5671461022357806349bd5a5e1461023f57806351bc3c851461027757806370a082311461028c578063715018a6146102c2578063751039fc146102d757600080fd5b806306fdde0314610145578063095ea7b31461018e578063137e82d6146101be57806318160ddd146101e057806323b872dd1461020357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600e81526d21b434b732b9b2902132b0bb32b960911b60208201525b60405161018591906112df565b60405180910390f35b34801561019a57600080fd5b506101ae6101a9366004611352565b61044e565b6040519015158152602001610185565b3480156101ca57600080fd5b506101de6101d9366004611394565b610465565b005b3480156101ec57600080fd5b506101f5610504565b604051908152602001610185565b34801561020f57600080fd5b506101ae61021e366004611459565b610525565b34801561022f57600080fd5b5060405160098152602001610185565b34801561024b57600080fd5b5060105461025f906001600160a01b031681565b6040516001600160a01b039091168152602001610185565b34801561028357600080fd5b506101de61058e565b34801561029857600080fd5b506101f56102a736600461149a565b6001600160a01b031660009081526001602052604090205490565b3480156102ce57600080fd5b506101de6105dd565b3480156102e357600080fd5b506101de610651565b3480156102f857600080fd5b506101de610307366004611394565b61071f565b34801561031857600080fd5b506101f5600c5481565b34801561032e57600080fd5b506101de6107b1565b34801561034357600080fd5b506000546001600160a01b031661025f565b34801561036157600080fd5b506101f5600d5481565b34801561037757600080fd5b5060408051808201909152600981526839646a39af6939e66f60ba1b6020820152610178565b3480156103a957600080fd5b506101ae6103b8366004611352565b61085d565b3480156103c957600080fd5b506101f5600e5481565b3480156103df57600080fd5b506101f56103ee3660046114b7565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042557600080fd5b506101de6104343660046114f0565b61086a565b34801561044557600080fd5b506101de61089f565b600061045b3384846108e3565b5060015b92915050565b6000546001600160a01b031633146104985760405162461bcd60e51b815260040161048f90611512565b60405180910390fd5b60005b8151811015610500576001600460008484815181106104bc576104bc611547565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806104f881611573565b91505061049b565b5050565b60006105126009600a611670565b61052090633b9aca0061167f565b905090565b6000610532848484610a07565b610584843361057f8560405180606001604052806028815260200161176d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f57565b6108e3565b5060019392505050565b6006546001600160a01b0316336001600160a01b0316146105ae57600080fd5b3060009081526001602052604090205480156105cd576105cd81610f91565b478015610500576105008161110b565b6000546001600160a01b031633146106075760405162461bcd60e51b815260040161048f90611512565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461067b5760405162461bcd60e51b815260040161048f90611512565b6106876009600a611670565b61069590633b9aca0061167f565b600c556106a46009600a611670565b6106b290633b9aca0061167f565b600d556106c16009600a611670565b6106ce90621e848061167f565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106fe6009600a611670565b61070c90633b9aca0061167f565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107495760405162461bcd60e51b815260040161048f90611512565b60005b81518110156105005760006004600084848151811061076d5761076d611547565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107a981611573565b91505061074c565b6000546001600160a01b031633146107db5760405162461bcd60e51b815260040161048f90611512565b601054600160a01b900460ff16156108405760405162461bcd60e51b815260206004820152602260248201527f4552524f523a2054726164696e6720697320616c726561647920656e61626c65604482015261321760f11b606482015260840161048f565b6010805462ff00ff60a01b19166201000160a01b17905543600b55565b600061045b338484610a07565b6000546001600160a01b031633146108945760405162461bcd60e51b815260040161048f90611512565b600791909155600855565b4780156108e0576006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610500573d6000803e3d6000fd5b50565b6001600160a01b0383166109455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048f565b6001600160a01b0382166109a65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048f565b6001600160a01b038216610acd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048f565b60008111610b2f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161048f565b600080546001600160a01b03858116911614801590610b5c57506000546001600160a01b03848116911614155b15610e14576001600160a01b03841660009081526004602052604090205460ff16158015610ba357506001600160a01b03831660009081526004602052604090205460ff16155b610bac57600080fd5b6010546001600160a01b038581169116148015610bd75750600f546001600160a01b03848116911614155b8015610bfc57506001600160a01b03831660009081526003602052604090205460ff16155b15610d3d57601054600160a01b900460ff16610c4d5760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b604482015260640161048f565b600c54821115610c9f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161048f565b600d5482610cc2856001600160a01b031660009081526001602052604090205490565b610ccc9190611696565b1115610d1a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161048f565b610d3a6064610d346007548561114590919063ffffffff16565b906111ce565b90505b6010546001600160a01b038481169116148015610d6357506001600160a01b0384163014155b15610d8557610d826064610d346008548561114590919063ffffffff16565b90505b30600090815260016020526040902054601054600160a81b900460ff16158015610dbc57506010546001600160a01b038581169116145b8015610dd15750601054600160b01b900460ff165b8015610dde5750600e5481115b8015610dec575043600b5414155b15610e1257610dfc600e54610f91565b478015610e0c57610e0c4761110b565b5043600b555b505b8015610e8e5730600090815260016020526040902054610e349082611210565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e859085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610eb1908361126f565b6001600160a01b038516600090815260016020526040902055610ef6610ed7838361126f565b6001600160a01b03851660009081526001602052604090205490611210565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f40858561126f565b60405190815260200160405180910390a350505050565b60008184841115610f7b5760405162461bcd60e51b815260040161048f91906112df565b506000610f8884866116a9565b95945050505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd957610fd9611547565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611032573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105691906116bc565b8160018151811061106957611069611547565b6001600160a01b039283166020918202929092010152600f5461108f91309116846108e3565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110c89085906000908690309042906004016116d9565b600060405180830381600087803b1580156110e257600080fd5b505af11580156110f6573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610500573d6000803e3d6000fd5b6000826000036111575750600061045f565b6000611163838561167f565b905082611170858361174a565b146111c75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161048f565b9392505050565b60006111c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112b1565b60008061121d8385611696565b9050838110156111c75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161048f565b60006111c783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f57565b600081836112d25760405162461bcd60e51b815260040161048f91906112df565b506000610f88848661174a565b600060208083528351808285015260005b8181101561130c578581018301518582016040015282016112f0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108e057600080fd5b803561134d8161132d565b919050565b6000806040838503121561136557600080fd5b82356113708161132d565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156113a757600080fd5b823567ffffffffffffffff808211156113bf57600080fd5b818501915085601f8301126113d357600080fd5b8135818111156113e5576113e561137e565b8060051b604051601f19603f8301168101818110858211171561140a5761140a61137e565b60405291825284820192508381018501918883111561142857600080fd5b938501935b8285101561144d5761143e85611342565b8452938501939285019261142d565b98975050505050505050565b60008060006060848603121561146e57600080fd5b83356114798161132d565b925060208401356114898161132d565b929592945050506040919091013590565b6000602082840312156114ac57600080fd5b81356111c78161132d565b600080604083850312156114ca57600080fd5b82356114d58161132d565b915060208301356114e58161132d565b809150509250929050565b6000806040838503121561150357600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016115855761158561155d565b5060010190565b600181815b808511156115c75781600019048211156115ad576115ad61155d565b808516156115ba57918102915b93841c9390800290611591565b509250929050565b6000826115de5750600161045f565b816115eb5750600061045f565b8160018114611601576002811461160b57611627565b600191505061045f565b60ff84111561161c5761161c61155d565b50506001821b61045f565b5060208310610133831016604e8410600b841016171561164a575081810a61045f565b611654838361158c565b80600019048211156116685761166861155d565b029392505050565b60006111c760ff8416836115cf565b808202811582820484141761045f5761045f61155d565b8082018082111561045f5761045f61155d565b8181038181111561045f5761045f61155d565b6000602082840312156116ce57600080fd5b81516111c78161132d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117295784516001600160a01b031683529383019391830191600101611704565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261176757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4635a343a0dbc01cfcaf8dadbb4cff8d5382e6f9c718ba5a56b1c90c69a73b364736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806378bfa713116100ab57806395d89b411161006f57806395d89b411461036b578063a9059cbb1461039d578063bf474bed146103bd578063dd62ed3e146103d3578063e3ca2d6514610419578063f42938901461043957600080fd5b806378bfa713146102ec5780637d1db4a51461030c5780638a8c523c146103225780638da5cb5b146103375780638f9a55c01461035557600080fd5b8063313ce567116100fd578063313ce5671461022357806349bd5a5e1461023f57806351bc3c851461027757806370a082311461028c578063715018a6146102c2578063751039fc146102d757600080fd5b806306fdde0314610145578063095ea7b31461018e578063137e82d6146101be57806318160ddd146101e057806323b872dd1461020357600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600e81526d21b434b732b9b2902132b0bb32b960911b60208201525b60405161018591906112df565b60405180910390f35b34801561019a57600080fd5b506101ae6101a9366004611352565b61044e565b6040519015158152602001610185565b3480156101ca57600080fd5b506101de6101d9366004611394565b610465565b005b3480156101ec57600080fd5b506101f5610504565b604051908152602001610185565b34801561020f57600080fd5b506101ae61021e366004611459565b610525565b34801561022f57600080fd5b5060405160098152602001610185565b34801561024b57600080fd5b5060105461025f906001600160a01b031681565b6040516001600160a01b039091168152602001610185565b34801561028357600080fd5b506101de61058e565b34801561029857600080fd5b506101f56102a736600461149a565b6001600160a01b031660009081526001602052604090205490565b3480156102ce57600080fd5b506101de6105dd565b3480156102e357600080fd5b506101de610651565b3480156102f857600080fd5b506101de610307366004611394565b61071f565b34801561031857600080fd5b506101f5600c5481565b34801561032e57600080fd5b506101de6107b1565b34801561034357600080fd5b506000546001600160a01b031661025f565b34801561036157600080fd5b506101f5600d5481565b34801561037757600080fd5b5060408051808201909152600981526839646a39af6939e66f60ba1b6020820152610178565b3480156103a957600080fd5b506101ae6103b8366004611352565b61085d565b3480156103c957600080fd5b506101f5600e5481565b3480156103df57600080fd5b506101f56103ee3660046114b7565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561042557600080fd5b506101de6104343660046114f0565b61086a565b34801561044557600080fd5b506101de61089f565b600061045b3384846108e3565b5060015b92915050565b6000546001600160a01b031633146104985760405162461bcd60e51b815260040161048f90611512565b60405180910390fd5b60005b8151811015610500576001600460008484815181106104bc576104bc611547565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806104f881611573565b91505061049b565b5050565b60006105126009600a611670565b61052090633b9aca0061167f565b905090565b6000610532848484610a07565b610584843361057f8560405180606001604052806028815260200161176d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f57565b6108e3565b5060019392505050565b6006546001600160a01b0316336001600160a01b0316146105ae57600080fd5b3060009081526001602052604090205480156105cd576105cd81610f91565b478015610500576105008161110b565b6000546001600160a01b031633146106075760405162461bcd60e51b815260040161048f90611512565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461067b5760405162461bcd60e51b815260040161048f90611512565b6106876009600a611670565b61069590633b9aca0061167f565b600c556106a46009600a611670565b6106b290633b9aca0061167f565b600d556106c16009600a611670565b6106ce90621e848061167f565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106fe6009600a611670565b61070c90633b9aca0061167f565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107495760405162461bcd60e51b815260040161048f90611512565b60005b81518110156105005760006004600084848151811061076d5761076d611547565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107a981611573565b91505061074c565b6000546001600160a01b031633146107db5760405162461bcd60e51b815260040161048f90611512565b601054600160a01b900460ff16156108405760405162461bcd60e51b815260206004820152602260248201527f4552524f523a2054726164696e6720697320616c726561647920656e61626c65604482015261321760f11b606482015260840161048f565b6010805462ff00ff60a01b19166201000160a01b17905543600b55565b600061045b338484610a07565b6000546001600160a01b031633146108945760405162461bcd60e51b815260040161048f90611512565b600791909155600855565b4780156108e0576006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610500573d6000803e3d6000fd5b50565b6001600160a01b0383166109455760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048f565b6001600160a01b0382166109a65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048f565b6001600160a01b038216610acd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048f565b60008111610b2f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161048f565b600080546001600160a01b03858116911614801590610b5c57506000546001600160a01b03848116911614155b15610e14576001600160a01b03841660009081526004602052604090205460ff16158015610ba357506001600160a01b03831660009081526004602052604090205460ff16155b610bac57600080fd5b6010546001600160a01b038581169116148015610bd75750600f546001600160a01b03848116911614155b8015610bfc57506001600160a01b03831660009081526003602052604090205460ff16155b15610d3d57601054600160a01b900460ff16610c4d5760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b604482015260640161048f565b600c54821115610c9f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161048f565b600d5482610cc2856001600160a01b031660009081526001602052604090205490565b610ccc9190611696565b1115610d1a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161048f565b610d3a6064610d346007548561114590919063ffffffff16565b906111ce565b90505b6010546001600160a01b038481169116148015610d6357506001600160a01b0384163014155b15610d8557610d826064610d346008548561114590919063ffffffff16565b90505b30600090815260016020526040902054601054600160a81b900460ff16158015610dbc57506010546001600160a01b038581169116145b8015610dd15750601054600160b01b900460ff165b8015610dde5750600e5481115b8015610dec575043600b5414155b15610e1257610dfc600e54610f91565b478015610e0c57610e0c4761110b565b5043600b555b505b8015610e8e5730600090815260016020526040902054610e349082611210565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e859085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610eb1908361126f565b6001600160a01b038516600090815260016020526040902055610ef6610ed7838361126f565b6001600160a01b03851660009081526001602052604090205490611210565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f40858561126f565b60405190815260200160405180910390a350505050565b60008184841115610f7b5760405162461bcd60e51b815260040161048f91906112df565b506000610f8884866116a9565b95945050505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd957610fd9611547565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611032573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105691906116bc565b8160018151811061106957611069611547565b6001600160a01b039283166020918202929092010152600f5461108f91309116846108e3565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110c89085906000908690309042906004016116d9565b600060405180830381600087803b1580156110e257600080fd5b505af11580156110f6573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610500573d6000803e3d6000fd5b6000826000036111575750600061045f565b6000611163838561167f565b905082611170858361174a565b146111c75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161048f565b9392505050565b60006111c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112b1565b60008061121d8385611696565b9050838110156111c75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161048f565b60006111c783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f57565b600081836112d25760405162461bcd60e51b815260040161048f91906112df565b506000610f88848661174a565b600060208083528351808285015260005b8181101561130c578581018301518582016040015282016112f0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108e057600080fd5b803561134d8161132d565b919050565b6000806040838503121561136557600080fd5b82356113708161132d565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156113a757600080fd5b823567ffffffffffffffff808211156113bf57600080fd5b818501915085601f8301126113d357600080fd5b8135818111156113e5576113e561137e565b8060051b604051601f19603f8301168101818110858211171561140a5761140a61137e565b60405291825284820192508381018501918883111561142857600080fd5b938501935b8285101561144d5761143e85611342565b8452938501939285019261142d565b98975050505050505050565b60008060006060848603121561146e57600080fd5b83356114798161132d565b925060208401356114898161132d565b929592945050506040919091013590565b6000602082840312156114ac57600080fd5b81356111c78161132d565b600080604083850312156114ca57600080fd5b82356114d58161132d565b915060208301356114e58161132d565b809150509250929050565b6000806040838503121561150357600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016115855761158561155d565b5060010190565b600181815b808511156115c75781600019048211156115ad576115ad61155d565b808516156115ba57918102915b93841c9390800290611591565b509250929050565b6000826115de5750600161045f565b816115eb5750600061045f565b8160018114611601576002811461160b57611627565b600191505061045f565b60ff84111561161c5761161c61155d565b50506001821b61045f565b5060208310610133831016604e8410600b841016171561164a575081810a61045f565b611654838361158c565b80600019048211156116685761166861155d565b029392505050565b60006111c760ff8416836115cf565b808202811582820484141761045f5761045f61155d565b8082018082111561045f5761045f61155d565b8181038181111561045f5761045f61155d565b6000602082840312156116ce57600080fd5b81516111c78161132d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117295784516001600160a01b031683529383019391830191600101611704565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261176757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4635a343a0dbc01cfcaf8dadbb4cff8d5382e6f9c718ba5a56b1c90c69a73b364736f6c63430008110033

Deployed Bytecode Sourcemap

3647:7768:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5995:83;;;;;;;;;;-1:-1:-1;6065:5:0;;;;;;;;;;;;-1:-1:-1;;;6065:5:0;;;;5995:83;;;;;;;:::i;:::-;;;;;;;;7171:161;;;;;;;;;;-1:-1:-1;7171:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7171:161:0;1162:187:1;7885:169:0;;;;;;;;;;-1:-1:-1;7885:169:0;;;;;:::i;:::-;;:::i;:::-;;6272:95;;;;;;;;;;;;;:::i;:::-;;;2758:25:1;;;2746:2;2731:18;6272:95:0;2612:177:1;8064:313:0;;;;;;;;;;-1:-1:-1;8064:313:0;;;;;:::i;:::-;;:::i;6181:83::-;;;;;;;;;;-1:-1:-1;6181:83:0;;4316:1;3397:36:1;;3385:2;3370:18;6181:83:0;3255:184:1;4751:28:0;;;;;;;;;;-1:-1:-1;4751:28:0;;;;-1:-1:-1;;;;;4751:28:0;;;;;;-1:-1:-1;;;;;3608:32:1;;;3590:51;;3578:2;3563:18;4751:28:0;3444:203:1;7529:348:0;;;;;;;;;;;;;:::i;6375:119::-;;;;;;;;;;-1:-1:-1;6375:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6468:18:0;6441:7;6468:18;;;:9;:18;;;;;;;6375:119;2728:148;;;;;;;;;;;;;:::i;10758:213::-;;;;;;;;;;;;;:::i;5811:169::-;;;;;;;;;;-1:-1:-1;5811:169:0;;;;;:::i;:::-;;:::i;4513:56::-;;;;;;;;;;;;;;;;5588:215;;;;;;;;;;;;;:::i;2514:79::-;;;;;;;;;;-1:-1:-1;2552:7:0;2579:6;-1:-1:-1;;;;;2579:6:0;2514:79;;4576:56;;;;;;;;;;;;;;;;6086:87;;;;;;;;;;-1:-1:-1;6158:7:0;;;;;;;;;;;;-1:-1:-1;;;6158:7:0;;;;6086:87;;6502:167;;;;;;;;;;-1:-1:-1;6502:167:0;;;;;:::i;:::-;;:::i;4639:56::-;;;;;;;;;;;;;;;;7020:143;;;;;;;;;;-1:-1:-1;7020:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7128:18:0;;;7101:7;7128:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7020:143;7340:181;;;;;;;;;;-1:-1:-1;7340:181:0;;;;;:::i;:::-;;:::i;11201:172::-;;;;;;;;;;;;;:::i;7171:161::-;7246:4;7263:39;349:10;7286:7;7295:6;7263:8;:39::i;:::-;-1:-1:-1;7320:4:0;7171:161;;;;;:::o;7885:169::-;2641:6;;-1:-1:-1;;;;;2641:6:0;349:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;;;;;;;;;7964:6:::1;7959:88;7980:5;:12;7976:1;:16;7959:88;;;8031:4;8014;:14;8019:5;8025:1;8019:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;8014:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;8014:14:0;:21;;-1:-1:-1;;8014:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7994:3;::::1;::::0;::::1;:::i;:::-;;;;7959:88;;;;7885:169:::0;:::o;6272:95::-;6325:7;4372:13;4316:1;4372:2;:13;:::i;:::-;4359:26;;:10;:26;:::i;:::-;6345:14;;6272:95;:::o;8064:313::-;8162:4;8179:36;8189:6;8197:9;8208:6;8179:9;:36::i;:::-;8226:121;8235:6;349:10;8257:89;8295:6;8257:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8257:19:0;;;;;;:11;:19;;;;;;;;349:10;8257:33;;;;;;;;;;:37;:89::i;:::-;8226:8;:121::i;:::-;-1:-1:-1;8365:4:0;8064:313;;;;;:::o;7529:348::-;7593:10;;-1:-1:-1;;;;;7593:10:0;349;-1:-1:-1;;;;;7579:24:0;;7571:33;;;;;;7654:4;7615:20;6468:18;;;:9;:18;;;;;;7674:14;;7671:73;;7702:30;7719:12;7702:16;:30::i;:::-;7773:21;7808:12;;7805:65;;7834:24;7847:10;7834:12;:24::i;2728:148::-;2641:6;;-1:-1:-1;;;;;2641:6:0;349:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;2835:1:::1;2819:6:::0;;2798:40:::1;::::0;-1:-1:-1;;;;;2819:6:0;;::::1;::::0;2798:40:::1;::::0;2835:1;;2798:40:::1;2866:1;2849:19:::0;;-1:-1:-1;;;;;;2849:19:0::1;::::0;;2728:148::o;10758:213::-;2641:6;;-1:-1:-1;;;;;2641:6:0;349:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;4372:13:::1;4316:1;4372:2;:13;:::i;:::-;4359:26;::::0;:10:::1;:26;:::i;:::-;10811:12;:22:::0;4372:13:::1;4316:1;4372:2;:13;:::i;:::-;4359:26;::::0;:10:::1;:26;:::i;:::-;10844:14;:22:::0;10907:13:::1;4316:1;10907:2;:13;:::i;:::-;10897:23;::::0;:7:::1;:23;:::i;:::-;10877:17;:43:::0;10936:27:::1;4372:13;4316:1;4372:2;:13;:::i;:::-;4359:26;::::0;:10:::1;:26;:::i;:::-;10936:27;::::0;2758:25:1;;;2746:2;2731:18;10936:27:0::1;;;;;;;10758:213::o:0;5811:169::-;2641:6;;-1:-1:-1;;;;;2641:6:0;349:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;5891:6:::1;5886:87;5907:6;:13;5903:1;:17;5886:87;;;5958:5;5940:4;:15;5945:6;5952:1;5945:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;5940:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;5940:15:0;:23;;-1:-1:-1;;5940:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;5922:3;::::1;::::0;::::1;:::i;:::-;;;;5886:87;;5588:215:::0;2641:6;;-1:-1:-1;;;;;2641:6:0;349:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;5654:11:::1;::::0;-1:-1:-1;;;5654:11:0;::::1;;;5653:12;5645:58;;;::::0;-1:-1:-1;;;5645:58:0;;7073:2:1;5645:58:0::1;::::0;::::1;7055:21:1::0;7112:2;7092:18;;;7085:30;7151:34;7131:18;;;7124:62;-1:-1:-1;;;7202:18:1;;;7195:32;7244:19;;5645:58:0::1;6871:398:1::0;5645:58:0::1;5714:11;:18:::0;;-1:-1:-1;;;;5743:18:0;-1:-1:-1;;;5743:18:0;;;5783:12:::1;5772:8;:23:::0;5588:215::o;6502:167::-;6580:4;6597:42;349:10;6621:9;6632:6;6597:9;:42::i;7340:181::-;2641:6;;-1:-1:-1;;;;;2641:6:0;349:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;7444:11:::1;:29:::0;;;;7482:12:::1;:31:::0;7340:181::o;11201:172::-;11262:21;11297:12;;11294:72;;11323:10;;:31;;-1:-1:-1;;;;;11323:10:0;;;;:31;;;;;11343:10;;11323;:31;:10;:31;11343:10;11323;:31;;;;;;;;;;;;;;;;;;;11294:72;11232:141;11201:172::o;6677:335::-;-1:-1:-1;;;;;6770:19:0;;6762:68;;;;-1:-1:-1;;;6762:68:0;;7476:2:1;6762:68:0;;;7458:21:1;7515:2;7495:18;;;7488:30;7554:34;7534:18;;;7527:62;-1:-1:-1;;;7605:18:1;;;7598:34;7649:19;;6762:68:0;7274:400:1;6762:68:0;-1:-1:-1;;;;;6849:21:0;;6841:68;;;;-1:-1:-1;;;6841:68:0;;7881:2:1;6841:68:0;;;7863:21:1;7920:2;7900:18;;;7893:30;7959:34;7939:18;;;7932:62;-1:-1:-1;;;8010:18:1;;;8003:32;8052:19;;6841:68:0;7679:398:1;6841:68:0;-1:-1:-1;;;;;6920:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6972:32;;2758:25:1;;;6972:32:0;;2731:18:1;6972:32:0;;;;;;;6677:335;;;:::o;8385:1874::-;-1:-1:-1;;;;;8473:18:0;;8465:68;;;;-1:-1:-1;;;8465:68:0;;8284:2:1;8465:68:0;;;8266:21:1;8323:2;8303:18;;;8296:30;8362:34;8342:18;;;8335:62;-1:-1:-1;;;8413:18:1;;;8406:35;8458:19;;8465:68:0;8082:401:1;8465:68:0;-1:-1:-1;;;;;8552:16:0;;8544:64;;;;-1:-1:-1;;;8544:64:0;;8690:2:1;8544:64:0;;;8672:21:1;8729:2;8709:18;;;8702:30;8768:34;8748:18;;;8741:62;-1:-1:-1;;;8819:18:1;;;8812:33;8862:19;;8544:64:0;8488:399:1;8544:64:0;8636:1;8627:6;:10;8619:64;;;;-1:-1:-1;;;8619:64:0;;9094:2:1;8619:64:0;;;9076:21:1;9133:2;9113:18;;;9106:30;9172:34;9152:18;;;9145:62;-1:-1:-1;;;9223:18:1;;;9216:39;9272:19;;8619:64:0;8892:405:1;8619:64:0;8694:17;2579:6;;-1:-1:-1;;;;;8728:15:0;;;2579:6;;8728:15;;;;:32;;-1:-1:-1;2552:7:0;2579:6;-1:-1:-1;;;;;8747:13:0;;;2579:6;;8747:13;;8728:32;8724:1177;;;-1:-1:-1;;;;;8786:10:0;;;;;;:4;:10;;;;;;;;8785:11;:24;;;;-1:-1:-1;;;;;;8801:8:0;;;;;;:4;:8;;;;;;;;8800:9;8785:24;8777:33;;;;;;8837:13;;-1:-1:-1;;;;;8829:21:0;;;8837:13;;8829:21;:55;;;;-1:-1:-1;8868:15:0;;-1:-1:-1;;;;;8854:30:0;;;8868:15;;8854:30;;8829:55;:83;;;;-1:-1:-1;;;;;;8890:22:0;;;;;;:18;:22;;;;;;;;8888:24;8829:83;8825:405;;;8942:11;;-1:-1:-1;;;8942:11:0;;;;8934:40;;;;-1:-1:-1;;;8934:40:0;;9504:2:1;8934:40:0;;;9486:21:1;9543:2;9523:18;;;9516:30;-1:-1:-1;;;9562:18:1;;;9555:46;9618:18;;8934:40:0;9302:340:1;8934:40:0;9011:12;;9001:6;:22;;8993:60;;;;-1:-1:-1;;;8993:60:0;;9849:2:1;8993:60:0;;;9831:21:1;9888:2;9868:18;;;9861:30;9927:27;9907:18;;;9900:55;9972:18;;8993:60:0;9647:349:1;8993:60:0;9106:14;;9096:6;9080:13;9090:2;-1:-1:-1;;;;;6468:18:0;6441:7;6468:18;;;:9;:18;;;;;;;6375:119;9080:13;:22;;;;:::i;:::-;:40;;9072:79;;;;-1:-1:-1;;;9072:79:0;;10333:2:1;9072:79:0;;;10315:21:1;10372:2;10352:18;;;10345:30;10411:28;10391:18;;;10384:56;10457:18;;9072:79:0;10131:350:1;9072:79:0;9182:32;9210:3;9182:23;9193:11;;9182:6;:10;;:23;;;;:::i;:::-;:27;;:32::i;:::-;9170:44;;8825:405;9255:13;;-1:-1:-1;;;;;9249:19:0;;;9255:13;;9249:19;:43;;;;-1:-1:-1;;;;;;9272:20:0;;9287:4;9272:20;;9249:43;9246:128;;;9325:33;9354:3;9325:24;9336:12;;9325:6;:10;;:24;;;;:::i;:33::-;9313:45;;9246:128;9439:4;9390:28;6468:18;;;:9;:18;;;;;;9465:6;;-1:-1:-1;;;9465:6:0;;;;9464:7;:32;;;;-1:-1:-1;9483:13:0;;-1:-1:-1;;;;;9475:21:0;;;9483:13;;9475:21;9464:32;:47;;;;-1:-1:-1;9500:11:0;;-1:-1:-1;;;9500:11:0;;;;9464:47;:89;;;;;9536:17;;9515:20;:38;9464:89;:117;;;;;9569:12;9557:8;;:24;;9464:117;9460:430;;;9602:35;9619:17;;9602:16;:35::i;:::-;9685:21;9728:22;;9725:105;;9775:35;9788:21;9775:12;:35::i;:::-;-1:-1:-1;9862:12:0;9851:8;:23;9460:430;8762:1139;8724:1177;9916:11;;9913:161;;9984:4;9966:24;;;;:9;:24;;;;;;:39;;9995:9;9966:28;:39::i;:::-;9959:4;9941:24;;;;:9;:24;;;;;;;:64;;;;10023:39;;-1:-1:-1;;;;;10023:39:0;;;;;;;10052:9;2758:25:1;;2746:2;2731:18;;2612:177;10023:39:0;;;;;;;;9913:161;-1:-1:-1;;;;;10102:15:0;;;;;;:9;:15;;;;;;:27;;10122:6;10102:19;:27::i;:::-;-1:-1:-1;;;;;10086:15:0;;;;;;:9;:15;;;;;:43;10154:40;10172:21;:6;10183:9;10172:10;:21::i;:::-;-1:-1:-1;;;;;10154:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10140:13:0;;;;;;;:9;:13;;;;;:54;;;;10210:41;;;10229:21;:6;10240:9;10229:10;:21::i;:::-;10210:41;;2758:25:1;;;2746:2;2731:18;10210:41:0;;;;;;;8454:1805;8385:1874;;;:::o;1406:190::-;1492:7;1528:12;1520:6;;;;1512:29;;;;-1:-1:-1;;;1512:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1552:9:0;1564:5;1568:1;1564;:5;:::i;:::-;1552:17;1406:190;-1:-1:-1;;;;;1406:190:0:o;10267:483::-;4982:6;:13;;-1:-1:-1;;;;4982:13:0;-1:-1:-1;;;4982:13:0;;;10369:16:::1;::::0;;10383:1:::1;10369:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10369:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10369:16:0::1;10345:40;;10414:4;10396;10401:1;10396:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10396:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10440:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10440:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10396:7;;10440:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10430:4;10435:1;10430:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10430:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10505:15:::1;::::0;10473:62:::1;::::0;10490:4:::1;::::0;10505:15:::1;10523:11:::0;10473:8:::1;:62::i;:::-;10546:15;::::0;:196:::1;::::0;-1:-1:-1;;;10546:196:0;;-1:-1:-1;;;;;10546:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10627:11;;10546:15:::1;::::0;10669:4;;10696::::1;::::0;10716:15:::1;::::0;10546:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5018:6:0;:14;;-1:-1:-1;;;;5018:14:0;;;-1:-1:-1;;;;10267:483:0:o;11085:92::-;11142:10;;:27;;-1:-1:-1;;;;;11142:10:0;;;;:27;;;;;11162:6;;11142:10;:27;:10;:27;11162:6;11142:10;:27;;;;;;;;;;;;;;;;;;;1604:246;1662:7;1686:1;1691;1686:6;1682:47;;-1:-1:-1;1716:1:0;1709:8;;1682:47;1739:9;1751:5;1755:1;1751;:5;:::i;:::-;1739:17;-1:-1:-1;1784:1:0;1775:5;1779:1;1739:17;1775:5;:::i;:::-;:10;1767:56;;;;-1:-1:-1;;;1767:56:0;;12284:2:1;1767:56:0;;;12266:21:1;12323:2;12303:18;;;12296:30;12362:34;12342:18;;;12335:62;-1:-1:-1;;;12413:18:1;;;12406:31;12454:19;;1767:56:0;12082:397:1;1767:56:0;1841:1;1604:246;-1:-1:-1;;;1604:246:0:o;1858:132::-;1916:7;1943:39;1947:1;1950;1943:39;;;;;;;;;;;;;;;;;:3;:39::i;1075:179::-;1133:7;;1165:5;1169:1;1165;:5;:::i;:::-;1153:17;;1194:1;1189;:6;;1181:46;;;;-1:-1:-1;;;1181:46:0;;12686:2:1;1181:46:0;;;12668:21:1;12725:2;12705:18;;;12698:30;12764:29;12744:18;;;12737:57;12811:18;;1181:46:0;12484:351:1;1262:136:0;1320:7;1347:43;1351:1;1354;1347:43;;;;;;;;;;;;;;;;;:3;:43::i;1998:189::-;2084:7;2119:12;2112:5;2104:28;;;;-1:-1:-1;;;2104:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2143:9:0;2155:5;2159:1;2155;: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:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:127::-;1415:10;1410:3;1406:20;1403:1;1396:31;1446:4;1443:1;1436:15;1470:4;1467:1;1460:15;1486:1121;1570:6;1601:2;1644;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1700:9;1687:23;1729:18;1770:2;1762:6;1759:14;1756:34;;;1786:1;1783;1776:12;1756:34;1824:6;1813:9;1809:22;1799:32;;1869:7;1862:4;1858:2;1854:13;1850:27;1840:55;;1891:1;1888;1881:12;1840:55;1927:2;1914:16;1949:2;1945;1942:10;1939:36;;;1955:18;;:::i;:::-;2001:2;1998:1;1994:10;2033:2;2027:9;2096:2;2092:7;2087:2;2083;2079:11;2075:25;2067:6;2063:38;2151:6;2139:10;2136:22;2131:2;2119:10;2116:18;2113:46;2110:72;;;2162:18;;:::i;:::-;2198:2;2191:22;2248:18;;;2282:15;;;;-1:-1:-1;2324:11:1;;;2320:20;;;2352:19;;;2349:39;;;2384:1;2381;2374:12;2349:39;2408:11;;;;2428:148;2444:6;2439:3;2436:15;2428:148;;;2510:23;2529:3;2510:23;:::i;:::-;2498:36;;2461:12;;;;2554;;;;2428:148;;;2595:6;1486:1121;-1:-1:-1;;;;;;;;1486:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3652:247::-;3711:6;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:248::-;4365:6;4373;4426:2;4414:9;4405:7;4401:23;4397:32;4394:52;;;4442:1;4439;4432:12;4394:52;-1:-1:-1;;4465:23:1;;;4535:2;4520:18;;;4507:32;;-1:-1:-1;4297:248:1:o;4550:356::-;4752:2;4734:21;;;4771:18;;;4764:30;4830:34;4825:2;4810:18;;4803:62;4897:2;4882:18;;4550:356::o;4911:127::-;4972:10;4967:3;4963:20;4960:1;4953:31;5003:4;5000:1;4993:15;5027:4;5024:1;5017:15;5043:127;5104:10;5099:3;5095:20;5092:1;5085:31;5135:4;5132:1;5125:15;5159:4;5156:1;5149:15;5175:135;5214:3;5235:17;;;5232:43;;5255:18;;:::i;:::-;-1:-1:-1;5302:1:1;5291:13;;5175:135::o;5315:422::-;5404:1;5447:5;5404:1;5461:270;5482:7;5472:8;5469:21;5461:270;;;5541:4;5537:1;5533:6;5529:17;5523:4;5520:27;5517:53;;;5550:18;;:::i;:::-;5600:7;5590:8;5586:22;5583:55;;;5620:16;;;;5583:55;5699:22;;;;5659:15;;;;5461:270;;;5465:3;5315:422;;;;;:::o;5742:806::-;5791:5;5821:8;5811:80;;-1:-1:-1;5862:1:1;5876:5;;5811:80;5910:4;5900:76;;-1:-1:-1;5947:1:1;5961:5;;5900:76;5992:4;6010:1;6005:59;;;;6078:1;6073:130;;;;5985:218;;6005:59;6035:1;6026:10;;6049:5;;;6073:130;6110:3;6100:8;6097:17;6094:43;;;6117:18;;:::i;:::-;-1:-1:-1;;6173:1:1;6159:16;;6188:5;;5985:218;;6287:2;6277:8;6274:16;6268:3;6262:4;6259:13;6255:36;6249:2;6239:8;6236:16;6231:2;6225:4;6222:12;6218:35;6215:77;6212:159;;;-1:-1:-1;6324:19:1;;;6356:5;;6212:159;6403:34;6428:8;6422:4;6403:34;:::i;:::-;6473:6;6469:1;6465:6;6461:19;6452:7;6449:32;6446:58;;;6484:18;;:::i;:::-;6522:20;;5742:806;-1:-1:-1;;;5742:806:1:o;6553:140::-;6611:5;6640:47;6681:4;6671:8;6667:19;6661:4;6640:47;:::i;6698:168::-;6771:9;;;6802;;6819:15;;;6813:22;;6799:37;6789:71;;6840:18;;:::i;10001:125::-;10066:9;;;10087:10;;;10084:36;;;10100:18;;:::i;10486:128::-;10553:9;;;10574:11;;;10571:37;;;10588:18;;:::i;10619:251::-;10689:6;10742:2;10730:9;10721:7;10717:23;10713:32;10710:52;;;10758:1;10755;10748:12;10710:52;10790:9;10784:16;10809:31;10834:5;10809:31;:::i;10875:980::-;11137:4;11185:3;11174:9;11170:19;11216:6;11205:9;11198:25;11242:2;11280:6;11275:2;11264:9;11260:18;11253:34;11323:3;11318:2;11307:9;11303:18;11296:31;11347:6;11382;11376:13;11413:6;11405;11398:22;11451:3;11440:9;11436:19;11429:26;;11490:2;11482:6;11478:15;11464:29;;11511:1;11521:195;11535:6;11532:1;11529:13;11521:195;;;11600:13;;-1:-1:-1;;;;;11596:39:1;11584:52;;11691:15;;;;11656:12;;;;11632:1;11550:9;11521:195;;;-1:-1:-1;;;;;;;11772:32:1;;;;11767:2;11752:18;;11745:60;-1:-1:-1;;;11836:3:1;11821:19;11814:35;11733:3;10875:980;-1:-1:-1;;;10875:980:1:o;11860:217::-;11900:1;11926;11916:132;;11970:10;11965:3;11961:20;11958:1;11951:31;12005:4;12002:1;11995:15;12033:4;12030:1;12023:15;11916:132;-1:-1:-1;12062:9:1;;11860:217::o

Swarm Source

ipfs://f4635a343a0dbc01cfcaf8dadbb4cff8d5382e6f9c718ba5a56b1c90c69a73b3

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.