MATIC Price: $0.63 (-5.85%)
Gas: 276 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Token Holdings

Multichain Info

Transaction Hash
Method
Block
From
To
Value
Approve559882442024-04-19 1:34:2341 mins ago1713490463IN
0x74dD45dd...2277C944B
0 MATIC0.00929886200.99128388
Approve559865202024-04-19 0:30:581 hr ago1713486658IN
0x74dD45dd...2277C944B
0 MATIC0.0039602185.57620652
Approve559854672024-04-18 23:52:082 hrs ago1713484328IN
0x74dD45dd...2277C944B
0 MATIC0.0017918661.4137254
Approve559852052024-04-18 23:42:372 hrs ago1713483757IN
0x74dD45dd...2277C944B
0 MATIC0.00681261146.26572182
Approve559847062024-04-18 23:24:182 hrs ago1713482658IN
0x74dD45dd...2277C944B
0 MATIC0.0021834674.86593152
Approve559843202024-04-18 23:10:163 hrs ago1713481816IN
0x74dD45dd...2277C944B
0 MATIC0.0041117688.39269291
Approve559841952024-04-18 23:05:503 hrs ago1713481550IN
0x74dD45dd...2277C944B
0 MATIC0.0034712175.04844224
Approve559828892024-04-18 22:16:173 hrs ago1713478577IN
0x74dD45dd...2277C944B
0 MATIC0.0030122165.09107814
Transfer559828102024-04-18 22:13:294 hrs ago1713478409IN
0x74dD45dd...2277C944B
0 MATIC0.0129981237.13979445
Approve559810492024-04-18 21:08:455 hrs ago1713474525IN
0x74dD45dd...2277C944B
0 MATIC0.0037424780.45387224
Approve559797512024-04-18 20:19:195 hrs ago1713471559IN
0x74dD45dd...2277C944B
0 MATIC0.0028203496.66314581
Approve559791002024-04-18 19:53:566 hrs ago1713470036IN
0x74dD45dd...2277C944B
0 MATIC0.00910187195.41571712
Approve559789902024-04-18 19:50:026 hrs ago1713469802IN
0x74dD45dd...2277C944B
0 MATIC0.0033647372.80290264
Approve559785762024-04-18 19:33:586 hrs ago1713468838IN
0x74dD45dd...2277C944B
0 MATIC0.0035810276.98315787
Approve559785612024-04-18 19:33:266 hrs ago1713468806IN
0x74dD45dd...2277C944B
0 MATIC0.0019091472.34632269
Approve559785432024-04-18 19:32:466 hrs ago1713468766IN
0x74dD45dd...2277C944B
0 MATIC0.0035510376.71446851
Approve559785012024-04-18 19:31:186 hrs ago1713468678IN
0x74dD45dd...2277C944B
0 MATIC0.0036312878.50925805
Approve559782672024-04-18 19:22:576 hrs ago1713468177IN
0x74dD45dd...2277C944B
0 MATIC0.0020225776.7142757
Approve559782582024-04-18 19:22:396 hrs ago1713468159IN
0x74dD45dd...2277C944B
0 MATIC0.003649578.88255819
Approve559771062024-04-18 18:40:187 hrs ago1713465618IN
0x74dD45dd...2277C944B
0 MATIC0.0039593185.00569843
Approve559761622024-04-18 18:06:158 hrs ago1713463575IN
0x74dD45dd...2277C944B
0 MATIC0.01078828233.12417526
Approve559759052024-04-18 17:56:398 hrs ago1713462999IN
0x74dD45dd...2277C944B
0 MATIC0.0043335393.16032669
Approve559758882024-04-18 17:56:038 hrs ago1713462963IN
0x74dD45dd...2277C944B
0 MATIC0.0045089497.43388313
Approve559753162024-04-18 17:35:158 hrs ago1713461715IN
0x74dD45dd...2277C944B
0 MATIC0.0050367108.86642364
Approve559750042024-04-18 17:24:108 hrs ago1713461050IN
0x74dD45dd...2277C944B
0 MATIC0.00292204110.77998499
View all transactions

Latest 25 internal transactions (View All)

Parent Txn Hash Block From To Value
559201492024-04-17 7:37:0942 hrs ago1713339429
0x74dD45dd...2277C944B
1,117.27714676 MATIC
559201492024-04-17 7:37:0942 hrs ago1713339429
0x74dD45dd...2277C944B
1,117.27714676 MATIC
559201492024-04-17 7:37:0942 hrs ago1713339429
0x74dD45dd...2277C944B
1,117.27714676 MATIC
559201492024-04-17 7:37:0942 hrs ago1713339429
0x74dD45dd...2277C944B
1,117.27714676 MATIC
559189812024-04-17 6:52:3543 hrs ago1713336755
0x74dD45dd...2277C944B
15.92583607 MATIC
559189812024-04-17 6:52:3543 hrs ago1713336755
0x74dD45dd...2277C944B
15.92583607 MATIC
559189812024-04-17 6:52:3543 hrs ago1713336755
0x74dD45dd...2277C944B
15.92583607 MATIC
559189812024-04-17 6:52:3543 hrs ago1713336755
0x74dD45dd...2277C944B
15.92583607 MATIC
559172962024-04-17 5:48:0744 hrs ago1713332887
0x74dD45dd...2277C944B
6.46082287 MATIC
559172962024-04-17 5:48:0744 hrs ago1713332887
0x74dD45dd...2277C944B
6.46082287 MATIC
559172962024-04-17 5:48:0744 hrs ago1713332887
0x74dD45dd...2277C944B
6.46082287 MATIC
559172962024-04-17 5:48:0744 hrs ago1713332887
0x74dD45dd...2277C944B
6.46082287 MATIC
559165722024-04-17 5:21:5144 hrs ago1713331311
0x74dD45dd...2277C944B
1.2407588 MATIC
559165722024-04-17 5:21:5144 hrs ago1713331311
0x74dD45dd...2277C944B
1.2407588 MATIC
559165722024-04-17 5:21:5144 hrs ago1713331311
0x74dD45dd...2277C944B
1.2407588 MATIC
559165722024-04-17 5:21:5144 hrs ago1713331311
0x74dD45dd...2277C944B
1.2407588 MATIC
559060132024-04-16 22:40:162 days ago1713307216
0x74dD45dd...2277C944B
207.01256631 MATIC
559060132024-04-16 22:40:162 days ago1713307216
0x74dD45dd...2277C944B
207.01256631 MATIC
559041292024-04-16 21:24:222 days ago1713302662
0x74dD45dd...2277C944B
81.75436898 MATIC
559041292024-04-16 21:24:222 days ago1713302662
0x74dD45dd...2277C944B
81.75436898 MATIC
557865362024-04-13 20:14:455 days ago1713039285
0x74dD45dd...2277C944B
3,511.43574863 MATIC
557865362024-04-13 20:14:455 days ago1713039285
0x74dD45dd...2277C944B
3,511.43574863 MATIC
557861712024-04-13 20:00:135 days ago1713038413
0x74dD45dd...2277C944B
12.41518336 MATIC
557861712024-04-13 20:00:135 days ago1713038413
0x74dD45dd...2277C944B
12.41518336 MATIC
557845672024-04-13 18:55:545 days ago1713034554
0x74dD45dd...2277C944B
4.49309753 MATIC
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
$Culo

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2024-01-17
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.23;

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

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

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

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

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

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

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

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

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

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

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

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

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

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 $Culo 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;
    address payable private _taxWallet;
    address public Router = 0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff; //0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff P //0x8954AfA98594b838bda56FE4C12a09D7739D179b T

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=3;
    uint256 private _finalSellTax=3;
    uint256 private _reduceBuyTaxAt=60;
    uint256 private _reduceSellTaxAt=60;
    uint256 private _preventSwapBefore=25;
    uint256 private _buyCount=0;

    uint8 private _decimals = 9;
    uint256 private _tTotal = 1_000_000_000_000 * 10**_decimals;
    string private _name = unicode"$CULO";
    string private _symbol = unicode"$CULO";
    uint256 public _maxTxAmount = 29_999_999_999 * 10**_decimals;
    uint256 public _maxWalletSize = 29_999_999_999 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1_000_000_000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10_000_000_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    receive() external payable {}
    
    function name() public view returns (string memory) {return _name;}
    function symbol() public view returns (string memory) {return _symbol;}
    function decimals() public view returns (uint8) {return _decimals;}
    function totalSupply() public view override returns (uint256) {return _tTotal;}
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function min(uint256 a, uint256 b) private pure returns (uint256){return (a>b)?b:a;}
    function sendETHToFee(uint256 amount) private {_taxWallet.transfer(amount);}

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

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

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

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

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

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

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

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

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

    function 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 openTrading() external onlyOwner() {
        uniswapV2Router = IUniswapV2Router02(Router);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)) *(100 - _initialBuyTax) / 100, 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
    }

    function ChangeRouter (address router) external onlyOwner {Router = router;}

    function manualSwap() external onlyOwner {
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){swapTokensForEth(tokenBalance);}
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){sendETHToFee(ethBalance);}
    }
}

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":[{"internalType":"address","name":"router","type":"address"}],"name":"ChangeRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600580546001600160a01b03191673a5e0829caced8ffdd4de3c43696c57f7d7a678ff179055601960068190556007819055600360088190556009908155603c600a818155600b91909155600c929092555f600d55600e805460ff1916821790556200007091620003d5565b620000819064e8d4a51000620003ec565b600f556040805180820190915260058152642443554c4f60d81b6020820152601090620000af9082620004a4565b506040805180820190915260058152642443554c4f60d81b6020820152601190620000db9082620004a4565b50600e54620000ef9060ff16600a620003d5565b62000100906406fc23abff620003ec565b601255600e54620001169060ff16600a620003d5565b62000127906406fc23abff620003ec565b601355600e546200013d9060ff16600a620003d5565b6200014d90633b9aca00620003ec565b601455600e54620001639060ff16600a620003d5565b62000174906402540be400620003ec565b6015556017805461ffff60a01b1916905534801562000191575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191633908117909155600f545f91825260016020819052604083209190915590600390620002135f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620002713390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f54604051620002b891815260200190565b60405180910390a362000570565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200031a57815f1904821115620002fe57620002fe620002c6565b808516156200030c57918102915b93841c9390800290620002df565b509250929050565b5f826200033257506001620003cf565b816200034057505f620003cf565b8160018114620003595760028114620003645762000384565b6001915050620003cf565b60ff841115620003785762000378620002c6565b50506001821b620003cf565b5060208310610133831016604e8410600b8410161715620003a9575081810a620003cf565b620003b58383620002da565b805f1904821115620003cb57620003cb620002c6565b0290505b92915050565b5f620003e560ff84168362000322565b9392505050565b8082028115828204841417620003cf57620003cf620002c6565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200042f57607f821691505b6020821081036200044e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200049f57805f5260205f20601f840160051c810160208510156200047b5750805b601f840160051c820191505b818110156200049c575f815560010162000487565b50505b505050565b81516001600160401b03811115620004c057620004c062000406565b620004d881620004d184546200041a565b8462000454565b602080601f8311600181146200050e575f8415620004f65750858301515b5f19600386901b1c1916600185901b17855562000568565b5f85815260208120601f198616915b828110156200053e578886015182559484019460019091019084016200051d565b50858210156200055c57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b611606806200057e5f395ff3fe608060405260043610610113575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb146102d9578063bf474bed146102f8578063c9567bf91461030d578063dd62ed3e14610321578063f6d7eade14610365575f80fd5b80637d1db4a51461024c5780638da5cb5b146102615780638f9a55c01461029157806395d89b41146102a65780639dd0d31c146102ba575f80fd5b806323b872dd116100e357806323b872dd146101ae578063313ce567146101cd57806351bc3c85146101ee57806370a0823114610204578063715018a614610238575f80fd5b806306fdde031461011e578063095ea7b3146101485780630faee56f1461017757806318160ddd1461019a575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b50610132610384565b60405161013f91906112b2565b60405180910390f35b348015610153575f80fd5b50610167610162366004611315565b610414565b604051901515815260200161013f565b348015610182575f80fd5b5061018c60155481565b60405190815260200161013f565b3480156101a5575f80fd5b50600f5461018c565b3480156101b9575f80fd5b506101676101c836600461133f565b61042a565b3480156101d8575f80fd5b50600e5460405160ff909116815260200161013f565b3480156101f9575f80fd5b50610202610491565b005b34801561020f575f80fd5b5061018c61021e36600461137d565b6001600160a01b03165f9081526001602052604090205490565b348015610243575f80fd5b506102026104f5565b348015610257575f80fd5b5061018c60125481565b34801561026c575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161013f565b34801561029c575f80fd5b5061018c60135481565b3480156102b1575f80fd5b50610132610566565b3480156102c5575f80fd5b506102026102d436600461137d565b610575565b3480156102e4575f80fd5b506101676102f3366004611315565b6105c0565b348015610303575f80fd5b5061018c60145481565b348015610318575f80fd5b506102026105cc565b34801561032c575f80fd5b5061018c61033b366004611398565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610370575f80fd5b50600554610279906001600160a01b031681565b606060108054610393906113cf565b80601f01602080910402602001604051908101604052809291908181526020018280546103bf906113cf565b801561040a5780601f106103e15761010080835404028352916020019161040a565b820191905f5260205f20905b8154815290600101906020018083116103ed57829003601f168201915b5050505050905090565b5f610420338484610915565b5060015b92915050565b5f610436848484610a38565b6104878433610482856040518060600160405280602881526020016115a9602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f2e565b610915565b5060019392505050565b5f546001600160a01b031633146104c35760405162461bcd60e51b81526004016104ba90611401565b60405180910390fd5b305f9081526001602052604090205480156104e1576104e181610f66565b4780156104f1576104f1816110d6565b5050565b5f546001600160a01b0316331461051e5760405162461bcd60e51b81526004016104ba90611401565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b606060118054610393906113cf565b5f546001600160a01b0316331461059e5760405162461bcd60e51b81526004016104ba90611401565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f610420338484610a38565b5f546001600160a01b031633146105f55760405162461bcd60e51b81526004016104ba90611401565b600554601680546001600160a01b0319166001600160a01b039092169182179055600f54610624913091610915565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610674573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106989190611436565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190611436565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610765573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107899190611436565b601780546001600160a01b0319166001600160a01b0392831617905560165460065491169063f305d71990479030906064906107c59082611465565b305f908152600160205260409020546107de9190611478565b6107e8919061148f565b5f806107fb5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610861573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061088691906114ae565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ff91906114d9565b506017805460ff60a81b1916600160a81b179055565b6001600160a01b0383166109775760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ba565b6001600160a01b0382166109d85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ba565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a9c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ba565b6001600160a01b038216610afe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ba565b5f8111610b5f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ba565b5f80546001600160a01b03858116911614801590610b8a57505f546001600160a01b03848116911614155b15610df1576017546001600160a01b038581169116148015610bba57506016546001600160a01b03848116911614155b8015610bde57506001600160a01b0383165f9081526003602052604090205460ff16155b15610cf257601254821115610c355760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ba565b60135482610c57856001600160a01b03165f9081526001602052604090205490565b610c6191906114f8565b1115610caf5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ba565b610cdb6064610cd5600a54600d5411610cca57600654610cce565b6008545b859061110d565b90611192565b600d80549192505f610cec8361150b565b91905055505b6017546001600160a01b038481169116148015610d2757506001600160a01b0384165f9081526003602052604090205460ff16155b15610d5457610d516064610cd5600b54600d5411610d4757600754610cce565b600954859061110d565b90505b305f90815260016020526040902054601754600160a01b900460ff16158015610d8a57506017546001600160a01b038581169116145b8015610d9f5750601754600160a81b900460ff165b8015610dac575060145481115b8015610dbb5750600c54600d54115b15610def57610ddd610dd884610dd3846015546111d3565b6111d3565b610f66565b478015610ded57610ded476110d6565b505b505b8015610e6957305f90815260016020526040902054610e1090826111e7565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e609085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610e8b9083611245565b6001600160a01b0385165f90815260016020526040902055610ece610eb08383611245565b6001600160a01b0385165f90815260016020526040902054906111e7565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f178585611245565b60405190815260200160405180910390a350505050565b5f8184841115610f515760405162461bcd60e51b81526004016104ba91906112b2565b505f610f5d8486611465565b95945050505050565b6017805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610fac57610fac611523565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110279190611436565b8160018151811061103a5761103a611523565b6001600160a01b0392831660209182029290920101526016546110609130911684610915565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906110989085905f90869030904290600401611537565b5f604051808303815f87803b1580156110af575f80fd5b505af11580156110c1573d5f803e3d5ffd5b50506017805460ff60a01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104f1573d5f803e3d5ffd5b5f825f0361111c57505f610424565b5f6111278385611478565b905082611134858361148f565b1461118b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ba565b9392505050565b5f61118b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611286565b5f8183116111e1578261118b565b50919050565b5f806111f383856114f8565b90508381101561118b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ba565b5f61118b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f2e565b5f81836112a65760405162461bcd60e51b81526004016104ba91906112b2565b505f610f5d848661148f565b5f602080835283518060208501525f5b818110156112de578581018301518582016040015282016112c2565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611312575f80fd5b50565b5f8060408385031215611326575f80fd5b8235611331816112fe565b946020939093013593505050565b5f805f60608486031215611351575f80fd5b833561135c816112fe565b9250602084013561136c816112fe565b929592945050506040919091013590565b5f6020828403121561138d575f80fd5b813561118b816112fe565b5f80604083850312156113a9575f80fd5b82356113b4816112fe565b915060208301356113c4816112fe565b809150509250929050565b600181811c908216806113e357607f821691505b6020821081036111e157634e487b7160e01b5f52602260045260245ffd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611446575f80fd5b815161118b816112fe565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042457610424611451565b808202811582820484141761042457610424611451565b5f826114a957634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f606084860312156114c0575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156114e9575f80fd5b8151801515811461118b575f80fd5b8082018082111561042457610424611451565b5f6001820161151c5761151c611451565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156115875784516001600160a01b031683529383019391830191600101611562565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c8ea0b55df7be9a41cb7ef1bcbba80c8434155e087fb4dded734e6f2e3fc107764736f6c63430008170033

Deployed Bytecode

0x608060405260043610610113575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb146102d9578063bf474bed146102f8578063c9567bf91461030d578063dd62ed3e14610321578063f6d7eade14610365575f80fd5b80637d1db4a51461024c5780638da5cb5b146102615780638f9a55c01461029157806395d89b41146102a65780639dd0d31c146102ba575f80fd5b806323b872dd116100e357806323b872dd146101ae578063313ce567146101cd57806351bc3c85146101ee57806370a0823114610204578063715018a614610238575f80fd5b806306fdde031461011e578063095ea7b3146101485780630faee56f1461017757806318160ddd1461019a575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b50610132610384565b60405161013f91906112b2565b60405180910390f35b348015610153575f80fd5b50610167610162366004611315565b610414565b604051901515815260200161013f565b348015610182575f80fd5b5061018c60155481565b60405190815260200161013f565b3480156101a5575f80fd5b50600f5461018c565b3480156101b9575f80fd5b506101676101c836600461133f565b61042a565b3480156101d8575f80fd5b50600e5460405160ff909116815260200161013f565b3480156101f9575f80fd5b50610202610491565b005b34801561020f575f80fd5b5061018c61021e36600461137d565b6001600160a01b03165f9081526001602052604090205490565b348015610243575f80fd5b506102026104f5565b348015610257575f80fd5b5061018c60125481565b34801561026c575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161013f565b34801561029c575f80fd5b5061018c60135481565b3480156102b1575f80fd5b50610132610566565b3480156102c5575f80fd5b506102026102d436600461137d565b610575565b3480156102e4575f80fd5b506101676102f3366004611315565b6105c0565b348015610303575f80fd5b5061018c60145481565b348015610318575f80fd5b506102026105cc565b34801561032c575f80fd5b5061018c61033b366004611398565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610370575f80fd5b50600554610279906001600160a01b031681565b606060108054610393906113cf565b80601f01602080910402602001604051908101604052809291908181526020018280546103bf906113cf565b801561040a5780601f106103e15761010080835404028352916020019161040a565b820191905f5260205f20905b8154815290600101906020018083116103ed57829003601f168201915b5050505050905090565b5f610420338484610915565b5060015b92915050565b5f610436848484610a38565b6104878433610482856040518060600160405280602881526020016115a9602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f2e565b610915565b5060019392505050565b5f546001600160a01b031633146104c35760405162461bcd60e51b81526004016104ba90611401565b60405180910390fd5b305f9081526001602052604090205480156104e1576104e181610f66565b4780156104f1576104f1816110d6565b5050565b5f546001600160a01b0316331461051e5760405162461bcd60e51b81526004016104ba90611401565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b606060118054610393906113cf565b5f546001600160a01b0316331461059e5760405162461bcd60e51b81526004016104ba90611401565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f610420338484610a38565b5f546001600160a01b031633146105f55760405162461bcd60e51b81526004016104ba90611401565b600554601680546001600160a01b0319166001600160a01b039092169182179055600f54610624913091610915565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610674573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106989190611436565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190611436565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610765573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107899190611436565b601780546001600160a01b0319166001600160a01b0392831617905560165460065491169063f305d71990479030906064906107c59082611465565b305f908152600160205260409020546107de9190611478565b6107e8919061148f565b5f806107fb5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610861573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061088691906114ae565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ff91906114d9565b506017805460ff60a81b1916600160a81b179055565b6001600160a01b0383166109775760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ba565b6001600160a01b0382166109d85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ba565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a9c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ba565b6001600160a01b038216610afe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ba565b5f8111610b5f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ba565b5f80546001600160a01b03858116911614801590610b8a57505f546001600160a01b03848116911614155b15610df1576017546001600160a01b038581169116148015610bba57506016546001600160a01b03848116911614155b8015610bde57506001600160a01b0383165f9081526003602052604090205460ff16155b15610cf257601254821115610c355760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ba565b60135482610c57856001600160a01b03165f9081526001602052604090205490565b610c6191906114f8565b1115610caf5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ba565b610cdb6064610cd5600a54600d5411610cca57600654610cce565b6008545b859061110d565b90611192565b600d80549192505f610cec8361150b565b91905055505b6017546001600160a01b038481169116148015610d2757506001600160a01b0384165f9081526003602052604090205460ff16155b15610d5457610d516064610cd5600b54600d5411610d4757600754610cce565b600954859061110d565b90505b305f90815260016020526040902054601754600160a01b900460ff16158015610d8a57506017546001600160a01b038581169116145b8015610d9f5750601754600160a81b900460ff165b8015610dac575060145481115b8015610dbb5750600c54600d54115b15610def57610ddd610dd884610dd3846015546111d3565b6111d3565b610f66565b478015610ded57610ded476110d6565b505b505b8015610e6957305f90815260016020526040902054610e1090826111e7565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e609085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610e8b9083611245565b6001600160a01b0385165f90815260016020526040902055610ece610eb08383611245565b6001600160a01b0385165f90815260016020526040902054906111e7565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f178585611245565b60405190815260200160405180910390a350505050565b5f8184841115610f515760405162461bcd60e51b81526004016104ba91906112b2565b505f610f5d8486611465565b95945050505050565b6017805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610fac57610fac611523565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611003573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110279190611436565b8160018151811061103a5761103a611523565b6001600160a01b0392831660209182029290920101526016546110609130911684610915565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906110989085905f90869030904290600401611537565b5f604051808303815f87803b1580156110af575f80fd5b505af11580156110c1573d5f803e3d5ffd5b50506017805460ff60a01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104f1573d5f803e3d5ffd5b5f825f0361111c57505f610424565b5f6111278385611478565b905082611134858361148f565b1461118b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ba565b9392505050565b5f61118b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611286565b5f8183116111e1578261118b565b50919050565b5f806111f383856114f8565b90508381101561118b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ba565b5f61118b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f2e565b5f81836112a65760405162461bcd60e51b81526004016104ba91906112b2565b505f610f5d848661148f565b5f602080835283518060208501525f5b818110156112de578581018301518582016040015282016112c2565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611312575f80fd5b50565b5f8060408385031215611326575f80fd5b8235611331816112fe565b946020939093013593505050565b5f805f60608486031215611351575f80fd5b833561135c816112fe565b9250602084013561136c816112fe565b929592945050506040919091013590565b5f6020828403121561138d575f80fd5b813561118b816112fe565b5f80604083850312156113a9575f80fd5b82356113b4816112fe565b915060208301356113c4816112fe565b809150509250929050565b600181811c908216806113e357607f821691505b6020821081036111e157634e487b7160e01b5f52602260045260245ffd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611446575f80fd5b815161118b816112fe565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042457610424611451565b808202811582820484141761042457610424611451565b5f826114a957634e487b7160e01b5f52601260045260245ffd5b500490565b5f805f606084860312156114c0575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156114e9575f80fd5b8151801515811461118b575f80fd5b8082018082111561042457610424611451565b5f6001820161151c5761151c611451565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156115875784516001600160a01b031683529383019391830191600101611562565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c8ea0b55df7be9a41cb7ef1bcbba80c8434155e087fb4dded734e6f2e3fc107764736f6c63430008170033

Deployed Bytecode Sourcemap

3253:6852:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5190:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6089:161;;;;;;;;;;-1:-1:-1;6089:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6089:161:0;1023:187:1;4449:58:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4449:58:0;1215:177:1;5413:79:0;;;;;;;;;;-1:-1:-1;5483:7:0;;5413:79;;6258:313;;;;;;;;;;-1:-1:-1;6258:313:0;;;;;:::i;:::-;;:::i;5340:67::-;;;;;;;;;;-1:-1:-1;5396:9:0;;5340:67;;5396:9;;;;2000:36:1;;1988:2;1973:18;5340:67:0;1858:184:1;9832:270:0;;;;;;;;;;;;;:::i;:::-;;5498:103;;;;;;;;;;-1:-1:-1;5498:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;5581:18:0;5564:7;5581:18;;;:9;:18;;;;;;;5498:103;2457:148;;;;;;;;;;;;;:::i;4243:60::-;;;;;;;;;;;;;;;;2259:63;;;;;;;;;;-1:-1:-1;2297:7:0;2314:6;-1:-1:-1;;;;;2314:6:0;2259:63;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;2259:63:0;2299:203:1;4310:62:0;;;;;;;;;;;;;;;;5263:71;;;;;;;;;;;;;:::i;9748:76::-;;;;;;;;;;-1:-1:-1;9748:76:0;;;;;:::i;:::-;;:::i;5914:167::-;;;;;;;;;;-1:-1:-1;5914:167:0;;;;;:::i;:::-;;:::i;4379:63::-;;;;;;;;;;;;;;;;9157:583;;;;;;;;;;;;;:::i;5607:127::-;;;;;;;;;;-1:-1:-1;5607:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5705:18:0;;;5688:7;5705:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5607:127;3565:66;;;;;;;;;;-1:-1:-1;3565:66:0;;;;-1:-1:-1;;;;;3565:66:0;;;5190:67;5227:13;5250:5;5243:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5190:67;:::o;6089:161::-;6164:4;6181:39;160:10;6204:7;6213:6;6181:8;:39::i;:::-;-1:-1:-1;6238:4:0;6089:161;;;;;:::o;6258:313::-;6356:4;6373:36;6383:6;6391:9;6402:6;6373:9;:36::i;:::-;6420:121;6429:6;160:10;6451:89;6489:6;6451:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6451:19:0;;;;;;:11;:19;;;;;;;;160:10;6451:33;;;;;;;;;;:37;:89::i;:::-;6420:8;:121::i;:::-;-1:-1:-1;6559:4:0;6258:313;;;;;:::o;9832:270::-;2370:6;;-1:-1:-1;;;;;2370:6:0;160:10;2370:22;2362:67;;;;-1:-1:-1;;;2362:67:0;;;;;;;:::i;:::-;;;;;;;;;9923:4:::1;9884:20;5581:18:::0;;;:9;:18;;;;;;9943:14;;9940:51:::1;;9959:30;9976:12;9959:16;:30::i;:::-;10020:21;10055:12:::0;;10052:43:::1;;10069:24;10082:10;10069:12;:24::i;:::-;9873:229;;9832:270::o:0;2457:148::-;2370:6;;-1:-1:-1;;;;;2370:6:0;160:10;2370:22;2362:67;;;;-1:-1:-1;;;2362:67:0;;;;;;;:::i;:::-;2564:1:::1;2548:6:::0;;2527:40:::1;::::0;-1:-1:-1;;;;;2548:6:0;;::::1;::::0;2527:40:::1;::::0;2564:1;;2527:40:::1;2595:1;2578:19:::0;;-1:-1:-1;;;;;;2578:19:0::1;::::0;;2457:148::o;5263:71::-;5302:13;5325:7;5318:14;;;;;:::i;9748:76::-;2370:6;;-1:-1:-1;;;;;2370:6:0;160:10;2370:22;2362:67;;;;-1:-1:-1;;;2362:67:0;;;;;;;:::i;:::-;9807:6:::1;:15:::0;;-1:-1:-1;;;;;;9807:15:0::1;-1:-1:-1::0;;;;;9807:15:0;;;::::1;::::0;;;::::1;::::0;;9748:76::o;5914:167::-;5992:4;6009:42;160:10;6033:9;6044:6;6009:9;:42::i;9157:583::-;2370:6;;-1:-1:-1;;;;;2370:6:0;160:10;2370:22;2362:67;;;;-1:-1:-1;;;2362:67:0;;;;;;;:::i;:::-;9249:6:::1;::::0;9212:15:::1;:44:::0;;-1:-1:-1;;;;;;9212:44:0::1;-1:-1:-1::0;;;;;9249:6:0;;::::1;9212:44:::0;;::::1;::::0;;9317:7:::1;::::0;9267:58:::1;::::0;9284:4:::1;::::0;9267:8:::1;:58::i;:::-;9370:15;;;;;;;;;-1:-1:-1::0;;;;;9370:15:0::1;-1:-1:-1::0;;;;;9370:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9352:55:0::1;;9416:4;9423:15;;;;;;;;;-1:-1:-1::0;;;;;9423:15:0::1;-1:-1:-1::0;;;;;9423:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9352:94;::::0;-1:-1:-1;;;;;;9352:94:0::1;::::0;;;;;;-1:-1:-1;;;;;4132:15:1;;;9352:94:0::1;::::0;::::1;4114:34:1::0;4184:15;;4164:18;;;4157:43;4049:18;;9352:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9336:13;:110:::0;;-1:-1:-1;;;;;;9336:110:0::1;-1:-1:-1::0;;;;;9336:110:0;;::::1;;::::0;;9457:15:::1;::::0;9567:14:::1;::::0;9457:15;::::1;::::0;:31:::1;::::0;9496:21:::1;::::0;9527:4:::1;::::0;9585:3:::1;::::0;9561:20:::1;::::0;9585:3;9561:20:::1;:::i;:::-;9552:4;5564:7:::0;5581:18;;;:9;:18;;;;;;9534:48:::1;;;;:::i;:::-;:54;;;;:::i;:::-;9590:1;9593::::0;9596:7:::1;2297::::0;2314:6;-1:-1:-1;;;;;2314:6:0;;2259:63;9596:7:::1;9457:164;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9457:164:0;;;-1:-1:-1;;;;;5230:15:1;;;9457:164:0::1;::::0;::::1;5212:34:1::0;5262:18;;;5255:34;;;;5305:18;;;5298:34;;;;5348:18;;;5341:34;5412:15;;;5391:19;;;5384:44;9605:15:0::1;5444:19:1::0;;;5437:35;5146:19;;9457:164:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9639:13:0::1;::::0;9670:15:::1;::::0;9632:71:::1;::::0;-1:-1:-1;;;9632:71:0;;-1:-1:-1;;;;;9670:15:0;;::::1;9632:71;::::0;::::1;5968:51:1::0;-1:-1:-1;;6035:18:1;;;6028:34;9639:13:0;::::1;::::0;-1:-1:-1;9632:29:0::1;::::0;5941:18:1;;9632:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;9714:11:0::1;:18:::0;;-1:-1:-1;;;;9714:18:0::1;-1:-1:-1::0;;;9714:18:0::1;::::0;;9157:583::o;6579:335::-;-1:-1:-1;;;;;6672:19:0;;6664:68;;;;-1:-1:-1;;;6664:68:0;;6557:2:1;6664:68:0;;;6539:21:1;6596:2;6576:18;;;6569:30;6635:34;6615:18;;;6608:62;-1:-1:-1;;;6686:18:1;;;6679:34;6730:19;;6664:68:0;6355:400:1;6664:68:0;-1:-1:-1;;;;;6751:21:0;;6743:68;;;;-1:-1:-1;;;6743:68:0;;6962:2:1;6743:68:0;;;6944:21:1;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:1;;;7084:32;7133:19;;6743:68:0;6760:398:1;6743:68:0;-1:-1:-1;;;;;6822:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6874:32;;1361:25:1;;;6874:32:0;;1334:18:1;6874:32:0;;;;;;;6579:335;;;:::o;6922:1812::-;-1:-1:-1;;;;;7010:18:0;;7002:68;;;;-1:-1:-1;;;7002:68:0;;7365:2:1;7002:68:0;;;7347:21:1;7404:2;7384:18;;;7377:30;7443:34;7423:18;;;7416:62;-1:-1:-1;;;7494:18:1;;;7487:35;7539:19;;7002:68:0;7163:401:1;7002:68:0;-1:-1:-1;;;;;7089:16:0;;7081:64;;;;-1:-1:-1;;;7081:64:0;;7771:2:1;7081:64:0;;;7753:21:1;7810:2;7790:18;;;7783:30;7849:34;7829:18;;;7822:62;-1:-1:-1;;;7900:18:1;;;7893:33;7943:19;;7081:64:0;7569:399:1;7081:64:0;7173:1;7164:6;:10;7156:64;;;;-1:-1:-1;;;7156:64:0;;8175:2:1;7156:64:0;;;8157:21:1;8214:2;8194:18;;;8187:30;8253:34;8233:18;;;8226:62;-1:-1:-1;;;8304:18:1;;;8297:39;8353:19;;7156:64:0;7973:405:1;7156:64:0;7231:17;2314:6;;-1:-1:-1;;;;;7265:15:0;;;2314:6;;7265:15;;;;:32;;-1:-1:-1;2297:7:0;2314:6;-1:-1:-1;;;;;7284:13:0;;;2314:6;;7284:13;;7265:32;7261:1117;;;7328:13;;-1:-1:-1;;;;;7320:21:0;;;7328:13;;7320:21;:55;;;;-1:-1:-1;7359:15:0;;-1:-1:-1;;;;;7345:30:0;;;7359:15;;7345:30;;7320:55;:83;;;;-1:-1:-1;;;;;;7381:22:0;;;;;;:18;:22;;;;;;;;7379:24;7320:83;7316:420;;;7443:12;;7433:6;:22;;7425:60;;;;-1:-1:-1;;;7425:60:0;;8585:2:1;7425:60:0;;;8567:21:1;8624:2;8604:18;;;8597:30;8663:27;8643:18;;;8636:55;8708:18;;7425:60:0;8383:349:1;7425:60:0;7538:14;;7528:6;7512:13;7522:2;-1:-1:-1;;;;;5581:18:0;5564:7;5581:18;;;:9;:18;;;;;;;5498:103;7512:13;:22;;;;:::i;:::-;:40;;7504:79;;;;-1:-1:-1;;;7504:79:0;;9069:2:1;7504:79:0;;;9051:21:1;9108:2;9088:18;;;9081:30;9147:28;9127:18;;;9120:56;9193:18;;7504:79:0;8867:350:1;7504:79:0;7614:76;7686:3;7614:67;7636:15;;7626:9;;:25;7625:55;;7666:14;;7625:55;;;7653:12;;7625:55;7614:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7709:9;:11;;7602:88;;-1:-1:-1;7709:9:0;:11;;;:::i;:::-;;;;;;7316:420;7761:13;;-1:-1:-1;;;;;7755:19:0;;;7761:13;;7755:19;:49;;;;-1:-1:-1;;;;;;7780:24:0;;;;;;:18;:24;;;;;;;;7778:26;7755:49;7752:148;;;7819:79;7894:3;7819:70;7841:16;;7831:9;;:26;7830:58;;7873:15;;7830:58;;;7859:13;;7819:6;;:10;:70::i;:79::-;7807:91;;7752:148;7965:4;7916:28;5581:18;;;:9;:18;;;;;;7991:6;;-1:-1:-1;;;7991:6:0;;;;7990:7;:32;;;;-1:-1:-1;8009:13:0;;-1:-1:-1;;;;;8001:21:0;;;8009:13;;8001:21;7990:32;:47;;;;-1:-1:-1;8026:11:0;;-1:-1:-1;;;8026:11:0;;;;7990:47;:89;;;;;8062:17;;8041:20;:38;7990:89;:121;;;;;8093:18;;8083:9;;:28;7990:121;7986:381;;;8132:67;8149:49;8153:6;8160:37;8164:20;8185:11;;8160:3;:37::i;:::-;8149:3;:49::i;:::-;8132:16;:67::i;:::-;8247:21;8290:22;;8287:65;;8315:35;8328:21;8315:12;:35::i;:::-;8113:254;7986:381;7299:1079;7261:1117;8393:11;;8390:161;;8461:4;8443:24;;;;:9;:24;;;;;;:39;;8472:9;8443:28;:39::i;:::-;8436:4;8418:24;;;;:9;:24;;;;;;;:64;;;;8500:39;;-1:-1:-1;;;;;8500:39:0;;;;;;;8529:9;1361:25:1;;1349:2;1334:18;;1215:177;8500:39:0;;;;;;;;8390:161;-1:-1:-1;;;;;8577:15:0;;;;;;:9;:15;;;;;;:27;;8597:6;8577:19;:27::i;:::-;-1:-1:-1;;;;;8561:15:0;;;;;;:9;:15;;;;;:43;8629:40;8647:21;:6;8658:9;8647:10;:21::i;:::-;-1:-1:-1;;;;;8629:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8615:13:0;;;;;;;:9;:13;;;;;:54;;;;8685:41;;;8704:21;:6;8715:9;8704:10;:21::i;:::-;8685:41;;1361:25:1;;;1349:2;1334:18;8685:41:0;;;;;;;6991:1743;6922:1812;;;:::o;1193:190::-;1279:7;1315:12;1307:6;;;;1299:29;;;;-1:-1:-1;;;1299:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1339:9:0;1351:5;1355:1;1351;:5;:::i;:::-;1339:17;1193:190;-1:-1:-1;;;;;1193:190:0:o;8742:407::-;4756:6;:13;;-1:-1:-1;;;;4756:13:0;-1:-1:-1;;;4756:13:0;;;8844:16:::1;::::0;;8858:1:::1;8844:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8844:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8844:16:0::1;8820:40;;8889:4;8871;8876:1;8871:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8871:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8915:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8915:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8871:7;;8915:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8905:4;8910:1;8905:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8905:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8980:15:::1;::::0;8948:62:::1;::::0;8965:4:::1;::::0;8980:15:::1;8998:11:::0;8948:8:::1;:62::i;:::-;9021:15;::::0;:120:::1;::::0;-1:-1:-1;;;9021:120:0;;-1:-1:-1;;;;;9021:15:0;;::::1;::::0;:66:::1;::::0;:120:::1;::::0;9088:11;;9021:15:::1;::::0;9104:4;;9118::::1;::::0;9125:15:::1;::::0;9021:120:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4792:6:0;:14;;-1:-1:-1;;;;4792:14:0;;;-1:-1:-1;;;;8742:407:0:o;5830:76::-;5877:10;;:27;;-1:-1:-1;;;;;5877:10:0;;;;:27;;;;;5897:6;;5877:10;:27;:10;:27;5897:6;5877:10;:27;;;;;;;;;;;;;;;;;;;1391:222;1449:7;1473:1;1478;1473:6;1469:23;;-1:-1:-1;1489:1:0;1482:8;;1469:23;1502:9;1514:5;1518:1;1514;:5;:::i;:::-;1502:17;-1:-1:-1;1547:1:0;1538:5;1542:1;1502:17;1538:5;:::i;:::-;:10;1530:56;;;;-1:-1:-1;;;1530:56:0;;10813:2:1;1530:56:0;;;10795:21:1;10852:2;10832:18;;;10825:30;10891:34;10871:18;;;10864:62;-1:-1:-1;;;10942:18:1;;;10935:31;10983:19;;1530:56:0;10611:397:1;1530:56:0;1604:1;1391:222;-1:-1:-1;;;1391:222:0:o;1621:116::-;1679:7;1696:39;1700:1;1703;1696:39;;;;;;;;;;;;;;;;;:3;:39::i;5740:84::-;5797:7;5816:1;5814;:3;5813:9;;5821:1;5813:9;;;-1:-1:-1;5819:1:0;5740:84;-1:-1:-1;5740:84:0:o;878:179::-;936:7;;968:5;972:1;968;:5;:::i;:::-;956:17;;997:1;992;:6;;984:46;;;;-1:-1:-1;;;984:46:0;;11215:2:1;984:46:0;;;11197:21:1;11254:2;11234:18;;;11227:30;11293:29;11273:18;;;11266:57;11340:18;;984:46:0;11013:351:1;1065:120:0;1123:7;1140:43;1144:1;1147;1140:43;;;;;;;;;;;;;;;;;:3;:43::i;1745:189::-;1831:7;1866:12;1859:5;1851:28;;;;-1:-1:-1;;;1851:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1890:9:0;1902:5;1906:1;1902;: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;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:380::-;2979:1;2975:12;;;;3022;;;3043:61;;3097:4;3089:6;3085:17;3075:27;;3043:61;3150:2;3142:6;3139:14;3119:18;3116:38;3113:161;;3196:10;3191:3;3187:20;3184:1;3177:31;3231:4;3228:1;3221:15;3259:4;3256:1;3249:15;3285:356;3487:2;3469:21;;;3506:18;;;3499:30;3565:34;3560:2;3545:18;;3538:62;3632:2;3617:18;;3285:356::o;3646:251::-;3716:6;3769:2;3757:9;3748:7;3744:23;3740:32;3737:52;;;3785:1;3782;3775:12;3737:52;3817:9;3811:16;3836:31;3861:5;3836:31;:::i;4211:127::-;4272:10;4267:3;4263:20;4260:1;4253:31;4303:4;4300:1;4293:15;4327:4;4324:1;4317:15;4343:128;4410:9;;;4431:11;;;4428:37;;;4445:18;;:::i;4476:168::-;4549:9;;;4580;;4597:15;;;4591:22;;4577:37;4567:71;;4618:18;;:::i;4649:217::-;4689:1;4715;4705:132;;4759:10;4754:3;4750:20;4747:1;4740:31;4794:4;4791:1;4784:15;4822:4;4819:1;4812:15;4705:132;-1:-1:-1;4851:9:1;;4649:217::o;5483:306::-;5571:6;5579;5587;5640:2;5628:9;5619:7;5615:23;5611:32;5608:52;;;5656:1;5653;5646:12;5608:52;5685:9;5679:16;5669:26;;5735:2;5724:9;5720:18;5714:25;5704:35;;5779:2;5768:9;5764:18;5758:25;5748:35;;5483:306;;;;;:::o;6073:277::-;6140:6;6193:2;6181:9;6172:7;6168:23;6164:32;6161:52;;;6209:1;6206;6199:12;6161:52;6241:9;6235:16;6294:5;6287:13;6280:21;6273:5;6270:32;6260:60;;6316:1;6313;6306:12;8737:125;8802:9;;;8823:10;;;8820:36;;;8836:18;;:::i;9222:135::-;9261:3;9282:17;;;9279:43;;9302:18;;:::i;:::-;-1:-1:-1;9349:1:1;9338:13;;9222:135::o;9494:127::-;9555:10;9550:3;9546:20;9543:1;9536:31;9586:4;9583:1;9576:15;9610:4;9607:1;9600:15;9626:980;9888:4;9936:3;9925:9;9921:19;9967:6;9956:9;9949:25;9993:2;10031:6;10026:2;10015:9;10011:18;10004:34;10074:3;10069:2;10058:9;10054:18;10047:31;10098:6;10133;10127:13;10164:6;10156;10149:22;10202:3;10191:9;10187:19;10180:26;;10241:2;10233:6;10229:15;10215:29;;10262:1;10272:195;10286:6;10283:1;10280:13;10272:195;;;10351:13;;-1:-1:-1;;;;;10347:39:1;10335:52;;10442:15;;;;10407:12;;;;10383:1;10301:9;10272:195;;;-1:-1:-1;;;;;;;10523:32:1;;;;10518:2;10503:18;;10496:60;-1:-1:-1;;;10587:3:1;10572:19;10565:35;10484:3;9626:980;-1:-1:-1;;;9626:980:1:o

Swarm Source

ipfs://c8ea0b55df7be9a41cb7ef1bcbba80c8434155e087fb4dded734e6f2e3fc1077

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.