ETH Price: $3,150.04 (-5.00%)
 

Overview

ETH Balance

1 wei

Eth Value

Less Than $0.01 (@ $3,150.04/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve136190072021-11-15 7:27:021174 days ago1636961222IN
0x0cA093e7...E1c2c3643
0 ETH0.00515949109.27418878
Approve136190022021-11-15 7:24:461174 days ago1636961086IN
0x0cA093e7...E1c2c3643
0 ETH0.0042212489.40280168
Approve134658312021-10-22 6:26:471198 days ago1634884007IN
0x0cA093e7...E1c2c3643
0 ETH0.0015909258.24153955
Approve134658282021-10-22 6:25:531198 days ago1634883953IN
0x0cA093e7...E1c2c3643
0 ETH0.0023767550.33796308
Approve134647502021-10-22 2:14:291198 days ago1634868869IN
0x0cA093e7...E1c2c3643
0 ETH0.0038336281.19343799
Approve134639832021-10-21 23:30:181199 days ago1634859018IN
0x0cA093e7...E1c2c3643
0 ETH0.0030956765.5640532
Approve134628432021-10-21 19:19:491199 days ago1634843989IN
0x0cA093e7...E1c2c3643
0 ETH0.00473267100.23447606
Approve134625532021-10-21 18:10:291199 days ago1634839829IN
0x0cA093e7...E1c2c3643
0 ETH0.00415588
Approve134624512021-10-21 17:46:141199 days ago1634838374IN
0x0cA093e7...E1c2c3643
0 ETH0.0038732482.03236326
Approve134624142021-10-21 17:38:311199 days ago1634837911IN
0x0cA093e7...E1c2c3643
0 ETH0.00501325106.17704887
Approve134621332021-10-21 16:38:181199 days ago1634834298IN
0x0cA093e7...E1c2c3643
0 ETH0.0100584213.02951564
Approve134618992021-10-21 15:49:291199 days ago1634831369IN
0x0cA093e7...E1c2c3643
0 ETH0.00656022138.94074647
Approve134618862021-10-21 15:44:181199 days ago1634831058IN
0x0cA093e7...E1c2c3643
0 ETH0.00481473101.97258834
Approve134611572021-10-21 13:00:331199 days ago1634821233IN
0x0cA093e7...E1c2c3643
0 ETH0.0032757569.37806263
Transfer134610052021-10-21 12:25:231199 days ago1634819123IN
0x0cA093e7...E1c2c3643
0 ETH0.0122421665.80852711
Approve134609892021-10-21 12:22:411199 days ago1634818961IN
0x0cA093e7...E1c2c3643
0 ETH0.0035119374.38028685
Approve134609352021-10-21 12:11:231199 days ago1634818283IN
0x0cA093e7...E1c2c3643
0 ETH0.0033763171.50777757
Approve134609072021-10-21 12:05:461199 days ago1634817946IN
0x0cA093e7...E1c2c3643
0 ETH0.0031930867.62714228
Approve134608172021-10-21 11:50:011199 days ago1634817001IN
0x0cA093e7...E1c2c3643
0 ETH0.0037638779.7161672
Approve134607832021-10-21 11:43:271199 days ago1634816607IN
0x0cA093e7...E1c2c3643
0 ETH0.0040133685
Approve134607012021-10-21 11:24:391199 days ago1634815479IN
0x0cA093e7...E1c2c3643
0 ETH0.00209769.63100245
Approve134604652021-10-21 10:31:531199 days ago1634812313IN
0x0cA093e7...E1c2c3643
0 ETH0.0029978463.49217051
Approve134604212021-10-21 10:22:381199 days ago1634811758IN
0x0cA093e7...E1c2c3643
0 ETH0.0027857459
Approve134603972021-10-21 10:17:291199 days ago1634811449IN
0x0cA093e7...E1c2c3643
0 ETH0.0030058563.66187139
Approve134603852021-10-21 10:14:571199 days ago1634811297IN
0x0cA093e7...E1c2c3643
0 ETH0.003311970.14374183
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
136190192021-11-15 7:29:171174 days ago1636961357
0x0cA093e7...E1c2c3643
0.10223502 ETH
136190192021-11-15 7:29:171174 days ago1636961357
0x0cA093e7...E1c2c3643
0.10223502 ETH
136190192021-11-15 7:29:171174 days ago1636961357
0x0cA093e7...E1c2c3643
0.10223502 ETH
136190192021-11-15 7:29:171174 days ago1636961357
0x0cA093e7...E1c2c3643
0.00710276 ETH
136190162021-11-15 7:28:431174 days ago1636961323
0x0cA093e7...E1c2c3643
0.01528179 ETH
136190072021-11-15 7:27:021174 days ago1636961222
0x0cA093e7...E1c2c3643
0.01327912 ETH
135482762021-11-04 5:08:271185 days ago1636002507
0x0cA093e7...E1c2c3643
0.0084214 ETH
135339142021-11-01 22:38:341188 days ago1635806314
0x0cA093e7...E1c2c3643
0.01202125 ETH
134696552021-10-22 20:48:061198 days ago1634935686
0x0cA093e7...E1c2c3643
0.00166609 ETH
134670902021-10-22 11:14:451198 days ago1634901285
0x0cA093e7...E1c2c3643
0.00515253 ETH
134668232021-10-22 10:10:421198 days ago1634897442
0x0cA093e7...E1c2c3643
0.00282997 ETH
134655932021-10-22 5:29:101198 days ago1634880550
0x0cA093e7...E1c2c3643
0.0037724 ETH
134647762021-10-22 2:19:091198 days ago1634869149
0x0cA093e7...E1c2c3643
0.02053862 ETH
134647652021-10-22 2:17:091198 days ago1634869029
0x0cA093e7...E1c2c3643
0.02053862 ETH
134647572021-10-22 2:15:531198 days ago1634868953
0x0cA093e7...E1c2c3643
0.01025012 ETH
134642322021-10-22 0:21:071199 days ago1634862067
0x0cA093e7...E1c2c3643
0.01187211 ETH
134641592021-10-22 0:06:421199 days ago1634861202
0x0cA093e7...E1c2c3643
0.01187211 ETH
134639392021-10-21 23:21:551199 days ago1634858515
0x0cA093e7...E1c2c3643
0.01664571 ETH
134638532021-10-21 23:03:281199 days ago1634857408
0x0cA093e7...E1c2c3643
0.01692151 ETH
134630462021-10-21 20:02:301199 days ago1634846550
0x0cA093e7...E1c2c3643
0.00596121 ETH
134628942021-10-21 19:31:371199 days ago1634844697
0x0cA093e7...E1c2c3643
0.01438106 ETH
134628922021-10-21 19:31:151199 days ago1634844675
0x0cA093e7...E1c2c3643
0.00485541 ETH
134628582021-10-21 19:23:071199 days ago1634844187
0x0cA093e7...E1c2c3643
0.00759028 ETH
134628182021-10-21 19:14:411199 days ago1634843681
0x0cA093e7...E1c2c3643
0.00751901 ETH
134627902021-10-21 19:08:151199 days ago1634843295
0x0cA093e7...E1c2c3643
0.00576821 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ElonsDogs

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-21
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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;
    address private _previousOwner;
    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 ElonsDogs  is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000  * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    address payable private _feeAddrWallet3;
    
    string private constant _name = "ElonsDogs";
    string private constant _symbol = "Elons Dogs";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0x3b4FaB23815a2E19A81A1f99C787f750d1fC54eC);
        _feeAddrWallet2 = payable(0x3b4FaB23815a2E19A81A1f99C787f750d1fC54eC);
        _feeAddrWallet3 = payable(0x3b4FaB23815a2E19A81A1f99C787f750d1fC54eC);
        _rOwned[address(this)] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        emit Transfer(address(0), address(this), _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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(amount > 0, "Transfer amount must be greater than zero");
        require(!bots[from]);
        if (from != address(this)) {
            _feeAddr1 = 1;
            _feeAddr2 = 7;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 300000000000000000) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    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 liftMaxTx() external onlyOwner{
        _maxTxAmount = _tTotal;
    }
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount/3);
        _feeAddrWallet2.transfer(amount/3);
        _feeAddrWallet3.transfer(amount/3);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 1 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"liftMaxTx","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":"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":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","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"},{"stateMutability":"payable","type":"receive"}]

6080604052662386f26fc100006000196200001b9190620004de565b6000196200002a919062000499565b6008556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff021916908315150217905550662386f26fc100006011553480156200009657600080fd5b506000620000a96200043a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350733b4fab23815a2e19a81a1f99c787f750d1fc54ec600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b4fab23815a2e19a81a1f99c787f750d1fc54ec600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733b4fab23815a2e19a81a1f99c787f750d1fc54ec600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002a26200044260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc100006040516200042c91906200047c565b60405180910390a362000574565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200047681620004d4565b82525050565b60006020820190506200049360008301846200046b565b92915050565b6000620004a682620004d4565b9150620004b383620004d4565b925082821015620004c957620004c862000516565b5b828203905092915050565b6000819050919050565b6000620004eb82620004d4565b9150620004f883620004d4565b9250826200050b576200050a62000545565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612bd880620005846000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ff578063c3c8cd801461033c578063c9567bf914610353578063dd62ed3e1461036a576100fe565b806370a0823114610255578063715018a6146102925780638da5cb5b146102a957806395d89b41146102d4576100fe565b80632ab30838116100c65780632ab30838146101d3578063313ce567146101ea5780635932ead1146102155780636fc3eaec1461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b604051610125919061250a565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612123565b6103e4565b60405161016291906124ef565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d919061262c565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906120d4565b610411565b6040516101ca91906124ef565b60405180910390f35b3480156101df57600080fd5b506101e86104ea565b005b3480156101f657600080fd5b506101ff61058f565b60405161020c91906126a1565b60405180910390f35b34801561022157600080fd5b5061023c6004803603810190610237919061215f565b610598565b005b34801561024a57600080fd5b5061025361064a565b005b34801561026157600080fd5b5061027c60048036038101906102779190612046565b6106bc565b604051610289919061262c565b60405180910390f35b34801561029e57600080fd5b506102a761070d565b005b3480156102b557600080fd5b506102be610860565b6040516102cb9190612421565b60405180910390f35b3480156102e057600080fd5b506102e9610889565b6040516102f6919061250a565b60405180910390f35b34801561030b57600080fd5b5061032660048036038101906103219190612123565b6108c6565b60405161033391906124ef565b60405180910390f35b34801561034857600080fd5b506103516108e4565b005b34801561035f57600080fd5b5061036861095e565b005b34801561037657600080fd5b50610391600480360381019061038c9190612098565b610eb4565b60405161039e919061262c565b60405180910390f35b60606040518060400160405280600981526020017f456c6f6e73446f67730000000000000000000000000000000000000000000000815250905090565b60006103f86103f1610f3b565b8484610f43565b6001905092915050565b6000662386f26fc10000905090565b600061041e84848461110e565b6104df8461042a610f3b565b6104da85604051806060016040528060288152602001612b7b60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610490610f3b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113ea9092919063ffffffff16565b610f43565b600190509392505050565b6104f2610f3b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610576906125ac565b60405180910390fd5b662386f26fc10000601181905550565b60006009905090565b6105a0610f3b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610624906125ac565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661068b610f3b565b73ffffffffffffffffffffffffffffffffffffffff16146106ab57600080fd5b60004790506106b98161144e565b50565b6000610706600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b0565b9050919050565b610715610f3b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610799906125ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f456c6f6e7320446f677300000000000000000000000000000000000000000000815250905090565b60006108da6108d3610f3b565b848461110e565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610925610f3b565b73ffffffffffffffffffffffffffffffffffffffff161461094557600080fd5b6000610950306106bc565b905061095b8161161e565b50565b610966610f3b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea906125ac565b60405180910390fd5b601060149054906101000a900460ff1615610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a9061260c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ad130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16662386f26fc10000610f43565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1757600080fd5b505afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f919061206f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061206f565b6040518363ffffffff1660e01b8152600401610c0692919061243c565b602060405180830381600087803b158015610c2057600080fd5b505af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c58919061206f565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ce1306106bc565b600080610cec610860565b426040518863ffffffff1660e01b8152600401610d0e9695949392919061248e565b6060604051808303818588803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d6091906121b1565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550633b9aca006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e5e929190612465565b602060405180830381600087803b158015610e7857600080fd5b505af1158015610e8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb09190612188565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610faa906125ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a9061254c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611101919061262c565b60405180910390a3505050565b60008111611151576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611148906125cc565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111a857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146113da576001600a819055506007600b81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112965750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112ec5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113045750601060179054906101000a900460ff165b156113195760115481111561131857600080fd5b5b6000611324306106bc565b9050601060159054906101000a900460ff161580156113915750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113a95750601060169054906101000a900460ff165b156113d8576113b78161161e565b6000479050670429d069189e00008111156113d6576113d54761144e565b5b505b505b6113e5838383611918565b505050565b6000838311158290611432576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611429919061250a565b60405180910390fd5b506000838561144191906127f2565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836114979190612767565b9081150290604051600060405180830381858888f193505050501580156114c2573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60038361150c9190612767565b9081150290604051600060405180830381858888f19350505050158015611537573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836115819190612767565b9081150290604051600060405180830381858888f193505050501580156115ac573d6000803e3d6000fd5b5050565b60006008548211156115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee9061252c565b60405180910390fd5b6000611601611928565b9050611616818461195390919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561167c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156116aa5781602001602082028036833780820191505090505b50905030816000815181106116e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561178a57600080fd5b505afa15801561179e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c2919061206f565b816001815181106117fc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061186330600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f43565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118c7959493929190612647565b600060405180830381600087803b1580156118e157600080fd5b505af11580156118f5573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b61192383838361199d565b505050565b6000806000611935611b68565b9150915061194c818361195390919063ffffffff16565b9250505090565b600061199583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bc4565b905092915050565b6000806000806000806119af87611c27565b955095509550955095509550611a0d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8f90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aee81611d37565b611af88483611df4565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b55919061262c565b60405180910390a3505050505050505050565b600080600060085490506000662386f26fc100009050611b9a662386f26fc1000060085461195390919063ffffffff16565b821015611bb757600854662386f26fc10000935093505050611bc0565b81819350935050505b9091565b60008083118290611c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c02919061250a565b60405180910390fd5b5060008385611c1a9190612767565b9050809150509392505050565b6000806000806000806000806000611c448a600a54600b54611e2e565b9250925092506000611c54611928565b90506000806000611c678e878787611ec4565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611cd183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113ea565b905092915050565b6000808284611ce89190612711565b905083811015611d2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d249061256c565b60405180910390fd5b8091505092915050565b6000611d41611928565b90506000611d588284611f4d90919063ffffffff16565b9050611dac81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611e0982600854611c8f90919063ffffffff16565b600881905550611e2481600954611cd990919063ffffffff16565b6009819055505050565b600080600080611e5a6064611e4c888a611f4d90919063ffffffff16565b61195390919063ffffffff16565b90506000611e846064611e76888b611f4d90919063ffffffff16565b61195390919063ffffffff16565b90506000611ead82611e9f858c611c8f90919063ffffffff16565b611c8f90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611edd8589611f4d90919063ffffffff16565b90506000611ef48689611f4d90919063ffffffff16565b90506000611f0b8789611f4d90919063ffffffff16565b90506000611f3482611f268587611c8f90919063ffffffff16565b611c8f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611f605760009050611fc2565b60008284611f6e9190612798565b9050828482611f7d9190612767565b14611fbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb49061258c565b60405180910390fd5b809150505b92915050565b600081359050611fd781612b35565b92915050565b600081519050611fec81612b35565b92915050565b60008135905061200181612b4c565b92915050565b60008151905061201681612b4c565b92915050565b60008135905061202b81612b63565b92915050565b60008151905061204081612b63565b92915050565b60006020828403121561205857600080fd5b600061206684828501611fc8565b91505092915050565b60006020828403121561208157600080fd5b600061208f84828501611fdd565b91505092915050565b600080604083850312156120ab57600080fd5b60006120b985828601611fc8565b92505060206120ca85828601611fc8565b9150509250929050565b6000806000606084860312156120e957600080fd5b60006120f786828701611fc8565b935050602061210886828701611fc8565b92505060406121198682870161201c565b9150509250925092565b6000806040838503121561213657600080fd5b600061214485828601611fc8565b92505060206121558582860161201c565b9150509250929050565b60006020828403121561217157600080fd5b600061217f84828501611ff2565b91505092915050565b60006020828403121561219a57600080fd5b60006121a884828501612007565b91505092915050565b6000806000606084860312156121c657600080fd5b60006121d486828701612031565b93505060206121e586828701612031565b92505060406121f686828701612031565b9150509250925092565b600061220c8383612218565b60208301905092915050565b61222181612826565b82525050565b61223081612826565b82525050565b6000612241826126cc565b61224b81856126ef565b9350612256836126bc565b8060005b8381101561228757815161226e8882612200565b9750612279836126e2565b92505060018101905061225a565b5085935050505092915050565b61229d81612838565b82525050565b6122ac8161287b565b82525050565b60006122bd826126d7565b6122c78185612700565b93506122d781856020860161288d565b6122e08161291e565b840191505092915050565b60006122f8602a83612700565b91506123038261292f565b604082019050919050565b600061231b602283612700565b91506123268261297e565b604082019050919050565b600061233e601b83612700565b9150612349826129cd565b602082019050919050565b6000612361602183612700565b915061236c826129f6565b604082019050919050565b6000612384602083612700565b915061238f82612a45565b602082019050919050565b60006123a7602983612700565b91506123b282612a6e565b604082019050919050565b60006123ca602483612700565b91506123d582612abd565b604082019050919050565b60006123ed601783612700565b91506123f882612b0c565b602082019050919050565b61240c81612864565b82525050565b61241b8161286e565b82525050565b60006020820190506124366000830184612227565b92915050565b60006040820190506124516000830185612227565b61245e6020830184612227565b9392505050565b600060408201905061247a6000830185612227565b6124876020830184612403565b9392505050565b600060c0820190506124a36000830189612227565b6124b06020830188612403565b6124bd60408301876122a3565b6124ca60608301866122a3565b6124d76080830185612227565b6124e460a0830184612403565b979650505050505050565b60006020820190506125046000830184612294565b92915050565b6000602082019050818103600083015261252481846122b2565b905092915050565b60006020820190508181036000830152612545816122eb565b9050919050565b600060208201905081810360008301526125658161230e565b9050919050565b6000602082019050818103600083015261258581612331565b9050919050565b600060208201905081810360008301526125a581612354565b9050919050565b600060208201905081810360008301526125c581612377565b9050919050565b600060208201905081810360008301526125e58161239a565b9050919050565b60006020820190508181036000830152612605816123bd565b9050919050565b60006020820190508181036000830152612625816123e0565b9050919050565b60006020820190506126416000830184612403565b92915050565b600060a08201905061265c6000830188612403565b61266960208301876122a3565b818103604083015261267b8186612236565b905061268a6060830185612227565b6126976080830184612403565b9695505050505050565b60006020820190506126b66000830184612412565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061271c82612864565b915061272783612864565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561275c5761275b6128c0565b5b828201905092915050565b600061277282612864565b915061277d83612864565b92508261278d5761278c6128ef565b5b828204905092915050565b60006127a382612864565b91506127ae83612864565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127e7576127e66128c0565b5b828202905092915050565b60006127fd82612864565b915061280883612864565b92508282101561281b5761281a6128c0565b5b828203905092915050565b600061283182612844565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061288682612864565b9050919050565b60005b838110156128ab578082015181840152602081019050612890565b838111156128ba576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612b3e81612826565b8114612b4957600080fd5b50565b612b5581612838565b8114612b6057600080fd5b50565b612b6c81612864565b8114612b7757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fb81c7a84aede49d95187fcf273be7ff3ec37609b03375a502c753950841c30b64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ff578063c3c8cd801461033c578063c9567bf914610353578063dd62ed3e1461036a576100fe565b806370a0823114610255578063715018a6146102925780638da5cb5b146102a957806395d89b41146102d4576100fe565b80632ab30838116100c65780632ab30838146101d3578063313ce567146101ea5780635932ead1146102155780636fc3eaec1461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b604051610125919061250a565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612123565b6103e4565b60405161016291906124ef565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d919061262c565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906120d4565b610411565b6040516101ca91906124ef565b60405180910390f35b3480156101df57600080fd5b506101e86104ea565b005b3480156101f657600080fd5b506101ff61058f565b60405161020c91906126a1565b60405180910390f35b34801561022157600080fd5b5061023c6004803603810190610237919061215f565b610598565b005b34801561024a57600080fd5b5061025361064a565b005b34801561026157600080fd5b5061027c60048036038101906102779190612046565b6106bc565b604051610289919061262c565b60405180910390f35b34801561029e57600080fd5b506102a761070d565b005b3480156102b557600080fd5b506102be610860565b6040516102cb9190612421565b60405180910390f35b3480156102e057600080fd5b506102e9610889565b6040516102f6919061250a565b60405180910390f35b34801561030b57600080fd5b5061032660048036038101906103219190612123565b6108c6565b60405161033391906124ef565b60405180910390f35b34801561034857600080fd5b506103516108e4565b005b34801561035f57600080fd5b5061036861095e565b005b34801561037657600080fd5b50610391600480360381019061038c9190612098565b610eb4565b60405161039e919061262c565b60405180910390f35b60606040518060400160405280600981526020017f456c6f6e73446f67730000000000000000000000000000000000000000000000815250905090565b60006103f86103f1610f3b565b8484610f43565b6001905092915050565b6000662386f26fc10000905090565b600061041e84848461110e565b6104df8461042a610f3b565b6104da85604051806060016040528060288152602001612b7b60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610490610f3b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113ea9092919063ffffffff16565b610f43565b600190509392505050565b6104f2610f3b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610576906125ac565b60405180910390fd5b662386f26fc10000601181905550565b60006009905090565b6105a0610f3b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610624906125ac565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661068b610f3b565b73ffffffffffffffffffffffffffffffffffffffff16146106ab57600080fd5b60004790506106b98161144e565b50565b6000610706600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b0565b9050919050565b610715610f3b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610799906125ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f456c6f6e7320446f677300000000000000000000000000000000000000000000815250905090565b60006108da6108d3610f3b565b848461110e565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610925610f3b565b73ffffffffffffffffffffffffffffffffffffffff161461094557600080fd5b6000610950306106bc565b905061095b8161161e565b50565b610966610f3b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea906125ac565b60405180910390fd5b601060149054906101000a900460ff1615610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a9061260c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ad130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16662386f26fc10000610f43565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1757600080fd5b505afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f919061206f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061206f565b6040518363ffffffff1660e01b8152600401610c0692919061243c565b602060405180830381600087803b158015610c2057600080fd5b505af1158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c58919061206f565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ce1306106bc565b600080610cec610860565b426040518863ffffffff1660e01b8152600401610d0e9695949392919061248e565b6060604051808303818588803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d6091906121b1565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550633b9aca006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e5e929190612465565b602060405180830381600087803b158015610e7857600080fd5b505af1158015610e8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb09190612188565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610faa906125ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a9061254c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611101919061262c565b60405180910390a3505050565b60008111611151576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611148906125cc565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111a857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146113da576001600a819055506007600b81905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112965750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112ec5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113045750601060179054906101000a900460ff165b156113195760115481111561131857600080fd5b5b6000611324306106bc565b9050601060159054906101000a900460ff161580156113915750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113a95750601060169054906101000a900460ff165b156113d8576113b78161161e565b6000479050670429d069189e00008111156113d6576113d54761144e565b5b505b505b6113e5838383611918565b505050565b6000838311158290611432576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611429919061250a565b60405180910390fd5b506000838561144191906127f2565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836114979190612767565b9081150290604051600060405180830381858888f193505050501580156114c2573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60038361150c9190612767565b9081150290604051600060405180830381858888f19350505050158015611537573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6003836115819190612767565b9081150290604051600060405180830381858888f193505050501580156115ac573d6000803e3d6000fd5b5050565b60006008548211156115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee9061252c565b60405180910390fd5b6000611601611928565b9050611616818461195390919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561167c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156116aa5781602001602082028036833780820191505090505b50905030816000815181106116e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561178a57600080fd5b505afa15801561179e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c2919061206f565b816001815181106117fc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061186330600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f43565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118c7959493929190612647565b600060405180830381600087803b1580156118e157600080fd5b505af11580156118f5573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b61192383838361199d565b505050565b6000806000611935611b68565b9150915061194c818361195390919063ffffffff16565b9250505090565b600061199583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bc4565b905092915050565b6000806000806000806119af87611c27565b955095509550955095509550611a0d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8f90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aee81611d37565b611af88483611df4565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b55919061262c565b60405180910390a3505050505050505050565b600080600060085490506000662386f26fc100009050611b9a662386f26fc1000060085461195390919063ffffffff16565b821015611bb757600854662386f26fc10000935093505050611bc0565b81819350935050505b9091565b60008083118290611c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c02919061250a565b60405180910390fd5b5060008385611c1a9190612767565b9050809150509392505050565b6000806000806000806000806000611c448a600a54600b54611e2e565b9250925092506000611c54611928565b90506000806000611c678e878787611ec4565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611cd183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113ea565b905092915050565b6000808284611ce89190612711565b905083811015611d2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d249061256c565b60405180910390fd5b8091505092915050565b6000611d41611928565b90506000611d588284611f4d90919063ffffffff16565b9050611dac81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611e0982600854611c8f90919063ffffffff16565b600881905550611e2481600954611cd990919063ffffffff16565b6009819055505050565b600080600080611e5a6064611e4c888a611f4d90919063ffffffff16565b61195390919063ffffffff16565b90506000611e846064611e76888b611f4d90919063ffffffff16565b61195390919063ffffffff16565b90506000611ead82611e9f858c611c8f90919063ffffffff16565b611c8f90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611edd8589611f4d90919063ffffffff16565b90506000611ef48689611f4d90919063ffffffff16565b90506000611f0b8789611f4d90919063ffffffff16565b90506000611f3482611f268587611c8f90919063ffffffff16565b611c8f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611f605760009050611fc2565b60008284611f6e9190612798565b9050828482611f7d9190612767565b14611fbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb49061258c565b60405180910390fd5b809150505b92915050565b600081359050611fd781612b35565b92915050565b600081519050611fec81612b35565b92915050565b60008135905061200181612b4c565b92915050565b60008151905061201681612b4c565b92915050565b60008135905061202b81612b63565b92915050565b60008151905061204081612b63565b92915050565b60006020828403121561205857600080fd5b600061206684828501611fc8565b91505092915050565b60006020828403121561208157600080fd5b600061208f84828501611fdd565b91505092915050565b600080604083850312156120ab57600080fd5b60006120b985828601611fc8565b92505060206120ca85828601611fc8565b9150509250929050565b6000806000606084860312156120e957600080fd5b60006120f786828701611fc8565b935050602061210886828701611fc8565b92505060406121198682870161201c565b9150509250925092565b6000806040838503121561213657600080fd5b600061214485828601611fc8565b92505060206121558582860161201c565b9150509250929050565b60006020828403121561217157600080fd5b600061217f84828501611ff2565b91505092915050565b60006020828403121561219a57600080fd5b60006121a884828501612007565b91505092915050565b6000806000606084860312156121c657600080fd5b60006121d486828701612031565b93505060206121e586828701612031565b92505060406121f686828701612031565b9150509250925092565b600061220c8383612218565b60208301905092915050565b61222181612826565b82525050565b61223081612826565b82525050565b6000612241826126cc565b61224b81856126ef565b9350612256836126bc565b8060005b8381101561228757815161226e8882612200565b9750612279836126e2565b92505060018101905061225a565b5085935050505092915050565b61229d81612838565b82525050565b6122ac8161287b565b82525050565b60006122bd826126d7565b6122c78185612700565b93506122d781856020860161288d565b6122e08161291e565b840191505092915050565b60006122f8602a83612700565b91506123038261292f565b604082019050919050565b600061231b602283612700565b91506123268261297e565b604082019050919050565b600061233e601b83612700565b9150612349826129cd565b602082019050919050565b6000612361602183612700565b915061236c826129f6565b604082019050919050565b6000612384602083612700565b915061238f82612a45565b602082019050919050565b60006123a7602983612700565b91506123b282612a6e565b604082019050919050565b60006123ca602483612700565b91506123d582612abd565b604082019050919050565b60006123ed601783612700565b91506123f882612b0c565b602082019050919050565b61240c81612864565b82525050565b61241b8161286e565b82525050565b60006020820190506124366000830184612227565b92915050565b60006040820190506124516000830185612227565b61245e6020830184612227565b9392505050565b600060408201905061247a6000830185612227565b6124876020830184612403565b9392505050565b600060c0820190506124a36000830189612227565b6124b06020830188612403565b6124bd60408301876122a3565b6124ca60608301866122a3565b6124d76080830185612227565b6124e460a0830184612403565b979650505050505050565b60006020820190506125046000830184612294565b92915050565b6000602082019050818103600083015261252481846122b2565b905092915050565b60006020820190508181036000830152612545816122eb565b9050919050565b600060208201905081810360008301526125658161230e565b9050919050565b6000602082019050818103600083015261258581612331565b9050919050565b600060208201905081810360008301526125a581612354565b9050919050565b600060208201905081810360008301526125c581612377565b9050919050565b600060208201905081810360008301526125e58161239a565b9050919050565b60006020820190508181036000830152612605816123bd565b9050919050565b60006020820190508181036000830152612625816123e0565b9050919050565b60006020820190506126416000830184612403565b92915050565b600060a08201905061265c6000830188612403565b61266960208301876122a3565b818103604083015261267b8186612236565b905061268a6060830185612227565b6126976080830184612403565b9695505050505050565b60006020820190506126b66000830184612412565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061271c82612864565b915061272783612864565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561275c5761275b6128c0565b5b828201905092915050565b600061277282612864565b915061277d83612864565b92508261278d5761278c6128ef565b5b828204905092915050565b60006127a382612864565b91506127ae83612864565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127e7576127e66128c0565b5b828202905092915050565b60006127fd82612864565b915061280883612864565b92508282101561281b5761281a6128c0565b5b828203905092915050565b600061283182612844565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061288682612864565b9050919050565b60005b838110156128ab578082015181840152602081019050612890565b838111156128ba576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612b3e81612826565b8114612b4957600080fd5b50565b612b5581612838565b8114612b6057600080fd5b50565b612b6c81612864565b8114612b7757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fb81c7a84aede49d95187fcf273be7ff3ec37609b03375a502c753950841c30b64736f6c63430008040033

Deployed Bytecode Sourcemap

3519:9738:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5447:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6299:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5724:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6468:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8973:80;;;;;;;;;;;;;:::i;:::-;;5633:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6789:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11361:194;;;;;;;;;;;;;:::i;:::-;;5827:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2598:148;;;;;;;;;;;;;:::i;:::-;;2384:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5538:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5973:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11154:195;;;;;;;;;;;;;:::i;:::-;;9260:806;;;;;;;;;;;;;:::i;:::-;;6148:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5447:83;5484:13;5517:5;;;;;;;;;;;;;;;;;5510:12;;5447:83;:::o;6299:161::-;6374:4;6391:39;6400:12;:10;:12::i;:::-;6414:7;6423:6;6391:8;:39::i;:::-;6448:4;6441:11;;6299:161;;;;:::o;5724:95::-;5777:7;4022:17;5797:14;;5724:95;:::o;6468:313::-;6566:4;6583:36;6593:6;6601:9;6612:6;6583:9;:36::i;:::-;6630:121;6639:6;6647:12;:10;:12::i;:::-;6661:89;6699:6;6661:89;;;;;;;;;;;;;;;;;:11;:19;6673:6;6661:19;;;;;;;;;;;;;;;:33;6681:12;:10;:12::i;:::-;6661:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6630:8;:121::i;:::-;6769:4;6762:11;;6468:313;;;;;:::o;8973:80::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4022:17:::1;9023:12;:22;;;;8973:80::o:0;5633:83::-;5674:5;4487:1;5692:16;;5633:83;:::o;6789:103::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6879:5:::1;6861:15;;:23;;;;;;;;;;;;;;;;;;6789:103:::0;:::o;11361:194::-;11427:15;;;;;;;;;;;11411:31;;:12;:10;:12::i;:::-;:31;;;11403:40;;;;;;11454:26;11483:21;11454:50;;11515:32;11528:18;11515:12;:32::i;:::-;11361:194;:::o;5827:138::-;5893:7;5920:37;5940:7;:16;5948:7;5940:16;;;;;;;;;;;;;;;;5920:19;:37::i;:::-;5913:44;;5827:138;;;:::o;2598:148::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2705:1:::1;2668:40;;2689:6;::::0;::::1;;;;;;;;2668:40;;;;;;;;;;;;2736:1;2719:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2598:148::o:0;2384:79::-;2422:7;2449:6;;;;;;;;;;;2442:13;;2384:79;:::o;5538:87::-;5577:13;5610:7;;;;;;;;;;;;;;;;;5603:14;;5538:87;:::o;5973:167::-;6051:4;6068:42;6078:12;:10;:12::i;:::-;6092:9;6103:6;6068:9;:42::i;:::-;6128:4;6121:11;;5973:167;;;;:::o;11154:195::-;11220:15;;;;;;;;;;;11204:31;;:12;:10;:12::i;:::-;:31;;;11196:40;;;;;;11247:23;11273:24;11291:4;11273:9;:24::i;:::-;11247:50;;11308:33;11325:15;11308:16;:33::i;:::-;11154:195;:::o;9260:806::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9324:11:::1;;;;;;;;;;;9323:12;9315:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9373:35;9430:42;9373:100;;9502:16;9484:15;;:34;;;;;;;;;;;;;;;;;;9529:58;9546:4;9561:15;;;;;;;;;;;4022:17;9529:8;:58::i;:::-;9632:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9614:56;;;9679:4;9686:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9614:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9598:13;;:112;;;;;;;;;;;;;;;;;;9721:15;;;;;;;;;;;:31;;;9760:21;9791:4;9797:24;9815:4;9797:9;:24::i;:::-;9822:1;9824::::0;9826:7:::1;:5;:7::i;:::-;9834:15;9721:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9875:4;9861:11;;:18;;;;;;;;;;;;;;;;;;9908:4;9890:15;;:22;;;;;;;;;;;;;;;;;;9938:9;9923:12;:24;;;;9972:4;9958:11;;:18;;;;;;;;;;;;;;;;;;9994:13;;;;;;;;;;;9987:29;;;10025:15;;;;;;;;;;;10043:14;9987:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2581:1;9260:806::o:0;6148:143::-;6229:7;6256:11;:18;6268:5;6256:18;;;;;;;;;;;;;;;:27;6275:7;6256:27;;;;;;;;;;;;;;;;6249:34;;6148:143;;;;:::o;102:98::-;155:7;182:10;175:17;;102:98;:::o;7162:335::-;7272:1;7255:19;;:5;:19;;;;7247:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7353:1;7334:21;;:7;:21;;;;7326:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7435:6;7405:11;:18;7417:5;7405:18;;;;;;;;;;;;;;;:27;7424:7;7405:27;;;;;;;;;;;;;;;:36;;;;7473:7;7457:32;;7466:5;7457:32;;;7482:6;7457:32;;;;;;:::i;:::-;;;;;;;;7162:335;;;:::o;7505:971::-;7602:1;7593:6;:10;7585:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7669:4;:10;7674:4;7669:10;;;;;;;;;;;;;;;;;;;;;;;;;7668:11;7660:20;;;;;;7711:4;7695:21;;:4;:21;;;7691:733;;7745:1;7733:9;:13;;;;7773:1;7761:9;:13;;;;7801;;;;;;;;;;;7793:21;;:4;:21;;;:55;;;;;7832:15;;;;;;;;;;;7818:30;;:2;:30;;;;7793:55;:83;;;;;7854:18;:22;7873:2;7854:22;;;;;;;;;;;;;;;;;;;;;;;;;7852:24;7793:83;:102;;;;;7880:15;;;;;;;;;;;7793:102;7789:203;;;7963:12;;7953:6;:22;;7945:31;;;;;;7789:203;8008:28;8039:24;8057:4;8039:9;:24::i;:::-;8008:55;;8083:6;;;;;;;;;;;8082:7;:32;;;;;8101:13;;;;;;;;;;;8093:21;;:4;:21;;;;8082:32;:47;;;;;8118:11;;;;;;;;;;;8082:47;8078:335;;;8150:38;8167:20;8150:16;:38::i;:::-;8207:26;8236:21;8207:50;;8300:18;8279;:39;8276:122;;;8343:35;8356:21;8343:12;:35::i;:::-;8276:122;8078:335;;7691:733;;8438:30;8453:4;8458:2;8461:6;8438:14;:30::i;:::-;7505:971;;;:::o;1239:190::-;1325:7;1358:1;1353;:6;;1361:12;1345:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1385:9;1401:1;1397;:5;;;;:::i;:::-;1385:17;;1420:1;1413:8;;;1239:190;;;;;:::o;9059:189::-;9116:15;;;;;;;;;;;:24;;:34;9148:1;9141:6;:8;;;;:::i;:::-;9116:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9161:15;;;;;;;;;;;:24;;:34;9193:1;9186:6;:8;;;;:::i;:::-;9161:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9206:15;;;;;;;;;;;:24;;:34;9238:1;9231:6;:8;;;;:::i;:::-;9206:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9059:189;:::o;6900:254::-;6967:7;7006;;6995;:18;;6987:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7071:19;7094:10;:8;:10::i;:::-;7071:33;;7122:24;7134:11;7122:7;:11;;:24;;;;:::i;:::-;7115:31;;;6900:254;;;:::o;8484:483::-;4869:4;4860:6;;:13;;;;;;;;;;;;;;;;;;8562:21:::1;8600:1;8586:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8562:40;;8631:4;8613;8618:1;8613:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;8657:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8647:4;8652:1;8647:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;8690:62;8707:4;8722:15;;;;;;;;;;;8740:11;8690:8;:62::i;:::-;8763:15;;;;;;;;;;;:66;;;8844:11;8870:1;8886:4;8913;8933:15;8763:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4884:1;4905:5:::0;4896:6;;:14;;;;;;;;;;;;;;;;;;8484:483;:::o;10088:146::-;10182:44;10200:6;10208:9;10219:6;10182:17;:44::i;:::-;10088:146;;;:::o;12821:163::-;12862:7;12883:15;12900;12919:19;:17;:19::i;:::-;12882:56;;;;12956:20;12968:7;12956;:11;;:20;;;;:::i;:::-;12949:27;;;;12821:163;:::o;1691:132::-;1749:7;1776:39;1780:1;1783;1776:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1769:46;;1691:132;;;;:::o;10242:488::-;10341:15;10358:23;10383:12;10397:23;10422:12;10436:13;10453:19;10464:7;10453:10;:19::i;:::-;10340:132;;;;;;;;;;;;10501:28;10521:7;10501;:15;10509:6;10501:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10483:7;:15;10491:6;10483:15;;;;;;;;;;;;;;;:46;;;;10561:39;10584:15;10561:7;:18;10569:9;10561:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10540:7;:18;10548:9;10540:18;;;;;;;;;;;;;;;:60;;;;10612:16;10622:5;10612:9;:16::i;:::-;10639:23;10651:4;10657;10639:11;:23::i;:::-;10695:9;10678:44;;10687:6;10678:44;;;10706:15;10678:44;;;;;;:::i;:::-;;;;;;;;10242:488;;;;;;;;;:::o;12992:262::-;13042:7;13051;13071:15;13089:7;;13071:25;;13107:15;4022:17;13107:25;;13163:20;4022:17;13163:7;;:11;;:20;;;;:::i;:::-;13153:7;:30;13149:61;;;13193:7;;4022:17;13185:25;;;;;;;;13149:61;13229:7;13238;13221:25;;;;;;12992:262;;;:::o;1831:189::-;1917:7;1949:1;1945;:5;1952:12;1937:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1976:9;1992:1;1988;:5;;;;:::i;:::-;1976:17;;2011:1;2004:8;;;1831:189;;;;;:::o;11569:471::-;11628:7;11637;11646;11655;11664;11673;11694:23;11719:12;11733:13;11750:42;11762:7;11771:9;;11782;;11750:11;:42::i;:::-;11693:99;;;;;;11803:19;11826:10;:8;:10::i;:::-;11803:33;;11848:15;11865:23;11890:12;11906:46;11918:7;11927:4;11933:5;11940:11;11906;:46::i;:::-;11847:105;;;;;;11971:7;11980:15;11997:4;12003:15;12020:4;12026:5;11963:69;;;;;;;;;;;;;;;;;;;11569:471;;;;;;;:::o;1095:136::-;1153:7;1180:43;1184:1;1187;1180:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1173:50;;1095:136;;;;:::o;908:179::-;966:7;986:9;1002:1;998;:5;;;;:::i;:::-;986:17;;1027:1;1022;:6;;1014:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1078:1;1071:8;;;908:179;;;;:::o;10738:212::-;10791:19;10814:10;:8;:10::i;:::-;10791:33;;10835:13;10851:22;10861:11;10851:5;:9;;:22;;;;:::i;:::-;10835:38;;10909:33;10936:5;10909:7;:22;10925:4;10909:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;10884:7;:22;10900:4;10884:22;;;;;;;;;;;;;;;:58;;;;10738:212;;;:::o;10958:147::-;11036:17;11048:4;11036:7;;:11;;:17;;;;:::i;:::-;11026:7;:27;;;;11077:20;11092:4;11077:10;;:14;;:20;;;;:::i;:::-;11064:10;:33;;;;10958:147;;:::o;12048:351::-;12141:7;12150;12159;12179:12;12194:28;12218:3;12194:19;12206:6;12194:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12179:43;;12233:13;12249:29;12274:3;12249:20;12261:7;12249;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12233:45;;12289:23;12315:28;12337:5;12315:17;12327:4;12315:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12289:54;;12362:15;12379:4;12385:5;12354:37;;;;;;;;;12048:351;;;;;;;:::o;12407:409::-;12517:7;12526;12535;12555:15;12573:24;12585:11;12573:7;:11;;:24;;;;:::i;:::-;12555:42;;12608:12;12623:21;12632:11;12623:4;:8;;:21;;;;:::i;:::-;12608:36;;12655:13;12671:22;12681:11;12671:5;:9;;:22;;;;:::i;:::-;12655:38;;12704:23;12730:28;12752:5;12730:17;12742:4;12730:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12704:54;;12777:7;12786:15;12803:4;12769:39;;;;;;;;;;12407:409;;;;;;;;:::o;1437:246::-;1495:7;1524:1;1519;:6;1515:47;;;1549:1;1542:8;;;;1515:47;1572:9;1588:1;1584;:5;;;;:::i;:::-;1572:17;;1617:1;1612;1608;:5;;;;:::i;:::-;:10;1600:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1674:1;1667:8;;;1437:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:407::-;2474:6;2482;2531:2;2519:9;2510:7;2506:23;2502:32;2499:2;;;2547:1;2544;2537:12;2499:2;2590:1;2615:53;2660:7;2651:6;2640:9;2636:22;2615:53;:::i;:::-;2605:63;;2561:117;2717:2;2743:53;2788:7;2779:6;2768:9;2764:22;2743:53;:::i;:::-;2733:63;;2688:118;2489:324;;;;;:::o;2819:256::-;2875:6;2924:2;2912:9;2903:7;2899:23;2895:32;2892:2;;;2940:1;2937;2930:12;2892:2;2983:1;3008:50;3050:7;3041:6;3030:9;3026:22;3008:50;:::i;:::-;2998:60;;2954:114;2882:193;;;;:::o;3081:278::-;3148:6;3197:2;3185:9;3176:7;3172:23;3168:32;3165:2;;;3213:1;3210;3203:12;3165:2;3256:1;3281:61;3334:7;3325:6;3314:9;3310:22;3281:61;:::i;:::-;3271:71;;3227:125;3155:204;;;;:::o;3365:596::-;3453:6;3461;3469;3518:2;3506:9;3497:7;3493:23;3489:32;3486:2;;;3534:1;3531;3524:12;3486:2;3577:1;3602:64;3658:7;3649:6;3638:9;3634:22;3602:64;:::i;:::-;3592:74;;3548:128;3715:2;3741:64;3797:7;3788:6;3777:9;3773:22;3741:64;:::i;:::-;3731:74;;3686:129;3854:2;3880:64;3936:7;3927:6;3916:9;3912:22;3880:64;:::i;:::-;3870:74;;3825:129;3476:485;;;;;:::o;3967:179::-;4036:10;4057:46;4099:3;4091:6;4057:46;:::i;:::-;4135:4;4130:3;4126:14;4112:28;;4047:99;;;;:::o;4152:108::-;4229:24;4247:5;4229:24;:::i;:::-;4224:3;4217:37;4207:53;;:::o;4266:118::-;4353:24;4371:5;4353:24;:::i;:::-;4348:3;4341:37;4331:53;;:::o;4420:732::-;4539:3;4568:54;4616:5;4568:54;:::i;:::-;4638:86;4717:6;4712:3;4638:86;:::i;:::-;4631:93;;4748:56;4798:5;4748:56;:::i;:::-;4827:7;4858:1;4843:284;4868:6;4865:1;4862:13;4843:284;;;4944:6;4938:13;4971:63;5030:3;5015:13;4971:63;:::i;:::-;4964:70;;5057:60;5110:6;5057:60;:::i;:::-;5047:70;;4903:224;4890:1;4887;4883:9;4878:14;;4843:284;;;4847:14;5143:3;5136:10;;4544:608;;;;;;;:::o;5158:109::-;5239:21;5254:5;5239:21;:::i;:::-;5234:3;5227:34;5217:50;;:::o;5273:147::-;5368:45;5407:5;5368:45;:::i;:::-;5363:3;5356:58;5346:74;;:::o;5426:364::-;5514:3;5542:39;5575:5;5542:39;:::i;:::-;5597:71;5661:6;5656:3;5597:71;:::i;:::-;5590:78;;5677:52;5722:6;5717:3;5710:4;5703:5;5699:16;5677:52;:::i;:::-;5754:29;5776:6;5754:29;:::i;:::-;5749:3;5745:39;5738:46;;5518:272;;;;;:::o;5796:366::-;5938:3;5959:67;6023:2;6018:3;5959:67;:::i;:::-;5952:74;;6035:93;6124:3;6035:93;:::i;:::-;6153:2;6148:3;6144:12;6137:19;;5942:220;;;:::o;6168:366::-;6310:3;6331:67;6395:2;6390:3;6331:67;:::i;:::-;6324:74;;6407:93;6496:3;6407:93;:::i;:::-;6525:2;6520:3;6516:12;6509:19;;6314:220;;;:::o;6540:366::-;6682:3;6703:67;6767:2;6762:3;6703:67;:::i;:::-;6696:74;;6779:93;6868:3;6779:93;:::i;:::-;6897:2;6892:3;6888:12;6881:19;;6686:220;;;:::o;6912:366::-;7054:3;7075:67;7139:2;7134:3;7075:67;:::i;:::-;7068:74;;7151:93;7240:3;7151:93;:::i;:::-;7269:2;7264:3;7260:12;7253:19;;7058:220;;;:::o;7284:366::-;7426:3;7447:67;7511:2;7506:3;7447:67;:::i;:::-;7440:74;;7523:93;7612:3;7523:93;:::i;:::-;7641:2;7636:3;7632:12;7625:19;;7430:220;;;:::o;7656:366::-;7798:3;7819:67;7883:2;7878:3;7819:67;:::i;:::-;7812:74;;7895:93;7984:3;7895:93;:::i;:::-;8013:2;8008:3;8004:12;7997:19;;7802:220;;;:::o;8028:366::-;8170:3;8191:67;8255:2;8250:3;8191:67;:::i;:::-;8184:74;;8267:93;8356:3;8267:93;:::i;:::-;8385:2;8380:3;8376:12;8369:19;;8174:220;;;:::o;8400:366::-;8542:3;8563:67;8627:2;8622:3;8563:67;:::i;:::-;8556:74;;8639:93;8728:3;8639:93;:::i;:::-;8757:2;8752:3;8748:12;8741:19;;8546:220;;;:::o;8772:118::-;8859:24;8877:5;8859:24;:::i;:::-;8854:3;8847:37;8837:53;;:::o;8896:112::-;8979:22;8995:5;8979:22;:::i;:::-;8974:3;8967:35;8957:51;;:::o;9014:222::-;9107:4;9145:2;9134:9;9130:18;9122:26;;9158:71;9226:1;9215:9;9211:17;9202:6;9158:71;:::i;:::-;9112:124;;;;:::o;9242:332::-;9363:4;9401:2;9390:9;9386:18;9378:26;;9414:71;9482:1;9471:9;9467:17;9458:6;9414:71;:::i;:::-;9495:72;9563:2;9552:9;9548:18;9539:6;9495:72;:::i;:::-;9368:206;;;;;:::o;9580:332::-;9701:4;9739:2;9728:9;9724:18;9716:26;;9752:71;9820:1;9809:9;9805:17;9796:6;9752:71;:::i;:::-;9833:72;9901:2;9890:9;9886:18;9877:6;9833:72;:::i;:::-;9706:206;;;;;:::o;9918:807::-;10167:4;10205:3;10194:9;10190:19;10182:27;;10219:71;10287:1;10276:9;10272:17;10263:6;10219:71;:::i;:::-;10300:72;10368:2;10357:9;10353:18;10344:6;10300:72;:::i;:::-;10382:80;10458:2;10447:9;10443:18;10434:6;10382:80;:::i;:::-;10472;10548:2;10537:9;10533:18;10524:6;10472:80;:::i;:::-;10562:73;10630:3;10619:9;10615:19;10606:6;10562:73;:::i;:::-;10645;10713:3;10702:9;10698:19;10689:6;10645:73;:::i;:::-;10172:553;;;;;;;;;:::o;10731:210::-;10818:4;10856:2;10845:9;10841:18;10833:26;;10869:65;10931:1;10920:9;10916:17;10907:6;10869:65;:::i;:::-;10823:118;;;;:::o;10947:313::-;11060:4;11098:2;11087:9;11083:18;11075:26;;11147:9;11141:4;11137:20;11133:1;11122:9;11118:17;11111:47;11175:78;11248:4;11239:6;11175:78;:::i;:::-;11167:86;;11065:195;;;;:::o;11266:419::-;11432:4;11470:2;11459:9;11455:18;11447:26;;11519:9;11513:4;11509:20;11505:1;11494:9;11490:17;11483:47;11547:131;11673:4;11547:131;:::i;:::-;11539:139;;11437:248;;;:::o;11691:419::-;11857:4;11895:2;11884:9;11880:18;11872:26;;11944:9;11938:4;11934:20;11930:1;11919:9;11915:17;11908:47;11972:131;12098:4;11972:131;:::i;:::-;11964:139;;11862:248;;;:::o;12116:419::-;12282:4;12320:2;12309:9;12305:18;12297:26;;12369:9;12363:4;12359:20;12355:1;12344:9;12340:17;12333:47;12397:131;12523:4;12397:131;:::i;:::-;12389:139;;12287:248;;;:::o;12541:419::-;12707:4;12745:2;12734:9;12730:18;12722:26;;12794:9;12788:4;12784:20;12780:1;12769:9;12765:17;12758:47;12822:131;12948:4;12822:131;:::i;:::-;12814:139;;12712:248;;;:::o;12966:419::-;13132:4;13170:2;13159:9;13155:18;13147:26;;13219:9;13213:4;13209:20;13205:1;13194:9;13190:17;13183:47;13247:131;13373:4;13247:131;:::i;:::-;13239:139;;13137:248;;;:::o;13391:419::-;13557:4;13595:2;13584:9;13580:18;13572:26;;13644:9;13638:4;13634:20;13630:1;13619:9;13615:17;13608:47;13672:131;13798:4;13672:131;:::i;:::-;13664:139;;13562:248;;;:::o;13816:419::-;13982:4;14020:2;14009:9;14005:18;13997:26;;14069:9;14063:4;14059:20;14055:1;14044:9;14040:17;14033:47;14097:131;14223:4;14097:131;:::i;:::-;14089:139;;13987:248;;;:::o;14241:419::-;14407:4;14445:2;14434:9;14430:18;14422:26;;14494:9;14488:4;14484:20;14480:1;14469:9;14465:17;14458:47;14522:131;14648:4;14522:131;:::i;:::-;14514:139;;14412:248;;;:::o;14666:222::-;14759:4;14797:2;14786:9;14782:18;14774:26;;14810:71;14878:1;14867:9;14863:17;14854:6;14810:71;:::i;:::-;14764:124;;;;:::o;14894:831::-;15157:4;15195:3;15184:9;15180:19;15172:27;;15209:71;15277:1;15266:9;15262:17;15253:6;15209:71;:::i;:::-;15290:80;15366:2;15355:9;15351:18;15342:6;15290:80;:::i;:::-;15417:9;15411:4;15407:20;15402:2;15391:9;15387:18;15380:48;15445:108;15548:4;15539:6;15445:108;:::i;:::-;15437:116;;15563:72;15631:2;15620:9;15616:18;15607:6;15563:72;:::i;:::-;15645:73;15713:3;15702:9;15698:19;15689:6;15645:73;:::i;:::-;15162:563;;;;;;;;:::o;15731:214::-;15820:4;15858:2;15847:9;15843:18;15835:26;;15871:67;15935:1;15924:9;15920:17;15911:6;15871:67;:::i;:::-;15825:120;;;;:::o;15951:132::-;16018:4;16041:3;16033:11;;16071:4;16066:3;16062:14;16054:22;;16023:60;;;:::o;16089:114::-;16156:6;16190:5;16184:12;16174:22;;16163:40;;;:::o;16209:99::-;16261:6;16295:5;16289:12;16279:22;;16268:40;;;:::o;16314:113::-;16384:4;16416;16411:3;16407:14;16399:22;;16389:38;;;:::o;16433:184::-;16532:11;16566:6;16561:3;16554:19;16606:4;16601:3;16597:14;16582:29;;16544:73;;;;:::o;16623:169::-;16707:11;16741:6;16736:3;16729:19;16781:4;16776:3;16772:14;16757:29;;16719:73;;;;:::o;16798:305::-;16838:3;16857:20;16875:1;16857:20;:::i;:::-;16852:25;;16891:20;16909:1;16891:20;:::i;:::-;16886:25;;17045:1;16977:66;16973:74;16970:1;16967:81;16964:2;;;17051:18;;:::i;:::-;16964:2;17095:1;17092;17088:9;17081:16;;16842:261;;;;:::o;17109:185::-;17149:1;17166:20;17184:1;17166:20;:::i;:::-;17161:25;;17200:20;17218:1;17200:20;:::i;:::-;17195:25;;17239:1;17229:2;;17244:18;;:::i;:::-;17229:2;17286:1;17283;17279:9;17274:14;;17151:143;;;;:::o;17300:348::-;17340:7;17363:20;17381:1;17363:20;:::i;:::-;17358:25;;17397:20;17415:1;17397:20;:::i;:::-;17392:25;;17585:1;17517:66;17513:74;17510:1;17507:81;17502:1;17495:9;17488:17;17484:105;17481:2;;;17592:18;;:::i;:::-;17481:2;17640:1;17637;17633:9;17622:20;;17348:300;;;;:::o;17654:191::-;17694:4;17714:20;17732:1;17714:20;:::i;:::-;17709:25;;17748:20;17766:1;17748:20;:::i;:::-;17743:25;;17787:1;17784;17781:8;17778:2;;;17792:18;;:::i;:::-;17778:2;17837:1;17834;17830:9;17822:17;;17699:146;;;;:::o;17851:96::-;17888:7;17917:24;17935:5;17917:24;:::i;:::-;17906:35;;17896:51;;;:::o;17953:90::-;17987:7;18030:5;18023:13;18016:21;18005:32;;17995:48;;;:::o;18049:126::-;18086:7;18126:42;18119:5;18115:54;18104:65;;18094:81;;;:::o;18181:77::-;18218:7;18247:5;18236:16;;18226:32;;;:::o;18264:86::-;18299:7;18339:4;18332:5;18328:16;18317:27;;18307:43;;;:::o;18356:121::-;18414:9;18447:24;18465:5;18447:24;:::i;:::-;18434:37;;18424:53;;;:::o;18483:307::-;18551:1;18561:113;18575:6;18572:1;18569:13;18561:113;;;18660:1;18655:3;18651:11;18645:18;18641:1;18636:3;18632:11;18625:39;18597:2;18594:1;18590:10;18585:15;;18561:113;;;18692:6;18689:1;18686:13;18683:2;;;18772:1;18763:6;18758:3;18754:16;18747:27;18683:2;18532:258;;;;:::o;18796:180::-;18844:77;18841:1;18834:88;18941:4;18938:1;18931:15;18965:4;18962:1;18955:15;18982:180;19030:77;19027:1;19020:88;19127:4;19124:1;19117:15;19151:4;19148:1;19141:15;19168:102;19209:6;19260:2;19256:7;19251:2;19244:5;19240:14;19236:28;19226:38;;19216:54;;;:::o;19276:229::-;19416:34;19412:1;19404:6;19400:14;19393:58;19485:12;19480:2;19472:6;19468:15;19461:37;19382:123;:::o;19511:221::-;19651:34;19647:1;19639:6;19635:14;19628:58;19720:4;19715:2;19707:6;19703:15;19696:29;19617:115;:::o;19738:177::-;19878:29;19874:1;19866:6;19862:14;19855:53;19844:71;:::o;19921:220::-;20061:34;20057:1;20049:6;20045:14;20038:58;20130:3;20125:2;20117:6;20113:15;20106:28;20027:114;:::o;20147:182::-;20287:34;20283:1;20275:6;20271:14;20264:58;20253:76;:::o;20335:228::-;20475:34;20471:1;20463:6;20459:14;20452:58;20544:11;20539:2;20531:6;20527:15;20520:36;20441:122;:::o;20569:223::-;20709:34;20705:1;20697:6;20693:14;20686:58;20778:6;20773:2;20765:6;20761:15;20754:31;20675:117;:::o;20798:173::-;20938:25;20934:1;20926:6;20922:14;20915:49;20904:67;:::o;20977:122::-;21050:24;21068:5;21050:24;:::i;:::-;21043:5;21040:35;21030:2;;21089:1;21086;21079:12;21030:2;21020:79;:::o;21105:116::-;21175:21;21190:5;21175:21;:::i;:::-;21168:5;21165:32;21155:2;;21211:1;21208;21201:12;21155:2;21145:76;:::o;21227:122::-;21300:24;21318:5;21300:24;:::i;:::-;21293:5;21290:35;21280:2;;21339:1;21336;21329:12;21280:2;21270:79;:::o

Swarm Source

ipfs://fb81c7a84aede49d95187fcf273be7ff3ec37609b03375a502c753950841c30b

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.