ETH Price: $3,486.93 (+2.79%)

Contract

0x4371cFe3Ae6451325361dB3bE875D811A96a3bBB
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve213036462024-11-30 23:02:2324 days ago1733007743IN
0x4371cFe3...1A96a3bBB
0 ETH0.000363813.82179293
Approve213036412024-11-30 23:01:2324 days ago1733007683IN
0x4371cFe3...1A96a3bBB
0 ETH0.0003540613.45188727
Approve212394802024-11-21 23:46:1133 days ago1732232771IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006594614.15728622
Approve211693432024-11-12 4:53:4742 days ago1731387227IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006599625.0735578
Approve211693372024-11-12 4:52:3542 days ago1731387155IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006625825.17329743
Approve211693312024-11-12 4:51:2342 days ago1731387083IN
0x4371cFe3...1A96a3bBB
0 ETH0.0011065123.93975155
Approve211510162024-11-09 15:33:1145 days ago1731166391IN
0x4371cFe3...1A96a3bBB
0 ETH0.0005829812.6
Approve210551752024-10-27 6:28:4758 days ago1730010527IN
0x4371cFe3...1A96a3bBB
0 ETH0.000186844.0112252
Approve210479202024-10-26 6:10:3559 days ago1729923035IN
0x4371cFe3...1A96a3bBB
0 ETH0.000187454.02425493
Approve210147482024-10-21 15:07:3564 days ago1729523255IN
0x4371cFe3...1A96a3bBB
0 ETH0.0008808418.93425368
Approve210079792024-10-20 16:27:4765 days ago1729441667IN
0x4371cFe3...1A96a3bBB
0 ETH0.0007605916.45569098
Approve210076692024-10-20 15:24:4765 days ago1729437887IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006332413.61193467
Approve209964052024-10-19 1:43:2367 days ago1729302203IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006301713.52867131
Approve209886552024-10-17 23:46:1168 days ago1729208771IN
0x4371cFe3...1A96a3bBB
0 ETH0.000452129.78172347
Approve209753192024-10-16 3:04:4770 days ago1729047887IN
0x4371cFe3...1A96a3bBB
0 ETH0.0005317911.43121299
Approve209739622024-10-15 22:31:3570 days ago1729031495IN
0x4371cFe3...1A96a3bBB
0 ETH0.0007122815.37050996
Transfer209738502024-10-15 22:09:1170 days ago1729030151IN
0x4371cFe3...1A96a3bBB
0 ETH0.0006397110.79196168
Approve209736012024-10-15 21:19:1170 days ago1729027151IN
0x4371cFe3...1A96a3bBB
0 ETH0.0004659515.83752503
Approve209735152024-10-15 21:01:5970 days ago1729026119IN
0x4371cFe3...1A96a3bBB
0 ETH0.0009538620.47754147
Approve209735012024-10-15 20:59:1170 days ago1729025951IN
0x4371cFe3...1A96a3bBB
0 ETH0.0007067715.2951618
Approve209734322024-10-15 20:44:4770 days ago1729025087IN
0x4371cFe3...1A96a3bBB
0 ETH0.0004586717.41841023
Approve209734282024-10-15 20:43:5970 days ago1729025039IN
0x4371cFe3...1A96a3bBB
0 ETH0.0008155517.64016063
Transfer209733922024-10-15 20:36:4770 days ago1729024607IN
0x4371cFe3...1A96a3bBB
0 ETH0.0010192121.69049146
Transfer209733882024-10-15 20:35:4770 days ago1729024547IN
0x4371cFe3...1A96a3bBB
0 ETH0.0007893318.70956798
Transfer209733812024-10-15 20:34:2370 days ago1729024463IN
0x4371cFe3...1A96a3bBB
0 ETH0.000878620.83729861
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
200354862024-06-06 21:31:35201 days ago1717709495
0x4371cFe3...1A96a3bBB
0.05064035 ETH
200354862024-06-06 21:31:35201 days ago1717709495
0x4371cFe3...1A96a3bBB
0.05064035 ETH
200354842024-06-06 21:31:11201 days ago1717709471
0x4371cFe3...1A96a3bBB
0.0507426 ETH
200354842024-06-06 21:31:11201 days ago1717709471
0x4371cFe3...1A96a3bBB
0.0507426 ETH
200354682024-06-06 21:27:59201 days ago1717709279
0x4371cFe3...1A96a3bBB
0.02395047 ETH
200354682024-06-06 21:27:59201 days ago1717709279
0x4371cFe3...1A96a3bBB
0.02395047 ETH
200354672024-06-06 21:27:47201 days ago1717709267
0x4371cFe3...1A96a3bBB
0.02111754 ETH
200354672024-06-06 21:27:47201 days ago1717709267
0x4371cFe3...1A96a3bBB
0.02111754 ETH
200354662024-06-06 21:27:35201 days ago1717709255
0x4371cFe3...1A96a3bBB
0.02234258 ETH
200354662024-06-06 21:27:35201 days ago1717709255
0x4371cFe3...1A96a3bBB
0.02234258 ETH
200354552024-06-06 21:25:23201 days ago1717709123
0x4371cFe3...1A96a3bBB
0.02284259 ETH
200354552024-06-06 21:25:23201 days ago1717709123
0x4371cFe3...1A96a3bBB
0.02284259 ETH
200354542024-06-06 21:25:11201 days ago1717709111
0x4371cFe3...1A96a3bBB
0.02585118 ETH
200354542024-06-06 21:25:11201 days ago1717709111
0x4371cFe3...1A96a3bBB
0.02585118 ETH
200354512024-06-06 21:24:35201 days ago1717709075
0x4371cFe3...1A96a3bBB
0.02949619 ETH
200354512024-06-06 21:24:35201 days ago1717709075
0x4371cFe3...1A96a3bBB
0.02949619 ETH
200354412024-06-06 21:22:35201 days ago1717708955
0x4371cFe3...1A96a3bBB
0.10595308 ETH
200354412024-06-06 21:22:35201 days ago1717708955
0x4371cFe3...1A96a3bBB
0.10595308 ETH
200354402024-06-06 21:22:23201 days ago1717708943
0x4371cFe3...1A96a3bBB
0.10681447 ETH
200354402024-06-06 21:22:23201 days ago1717708943
0x4371cFe3...1A96a3bBB
0.10681447 ETH
200354392024-06-06 21:22:11201 days ago1717708931
0x4371cFe3...1A96a3bBB
0.11694118 ETH
200354392024-06-06 21:22:11201 days ago1717708931
0x4371cFe3...1A96a3bBB
0.11694118 ETH
200354342024-06-06 21:21:11201 days ago1717708871
0x4371cFe3...1A96a3bBB
0.11745944 ETH
200354342024-06-06 21:21:11201 days ago1717708871
0x4371cFe3...1A96a3bBB
0.11745944 ETH
200354322024-06-06 21:20:47201 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

[{"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.