ETH Price: $3,383.53 (+0.07%)
Gas: 4 Gwei

Contract

0x67975611c44f8FDD79C36F3b80c0ed90827Fe16b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve136069932021-11-13 9:54:06955 days ago1636797246IN
0x67975611...0827Fe16b
0 ETH0.00487115103.21764992
Approve136053372021-11-13 3:38:15956 days ago1636774695IN
0x67975611...0827Fe16b
0 ETH0.0105901224.4
Approve136053332021-11-13 3:37:21956 days ago1636774641IN
0x67975611...0827Fe16b
0 ETH0.01030015218.25608124
Renounce Ownersh...136053242021-11-13 3:34:39956 days ago1636774479IN
0x67975611...0827Fe16b
0 ETH0.00505323216.36622016
Approve136053212021-11-13 3:33:17956 days ago1636774397IN
0x67975611...0827Fe16b
0 ETH0.00802217169.986597
Approve136053132021-11-13 3:31:39956 days ago1636774299IN
0x67975611...0827Fe16b
0 ETH0.01029276219.0463534
Approve136053132021-11-13 3:31:39956 days ago1636774299IN
0x67975611...0827Fe16b
0 ETH0.01036105219.5463534
Approve136053132021-11-13 3:31:39956 days ago1636774299IN
0x67975611...0827Fe16b
0 ETH0.01086284230.1792167
Open Trading136053102021-11-13 3:31:30956 days ago1636774290IN
0x67975611...0827Fe16b
0 ETH0.64321342227.36118373
Approve136053092021-11-13 3:30:19956 days ago1636774219IN
0x67975611...0827Fe16b
0 ETH0.0140715300
Transfer136052672021-11-13 3:22:01956 days ago1636773721IN
0x67975611...0827Fe16b
14 ETH0.00490444232.93507087
Transfer136052612021-11-13 3:20:59956 days ago1636773659IN
0x67975611...0827Fe16b
0 ETH0.02776271210.78831717
0x60806040136052472021-11-13 3:18:26956 days ago1636773506IN
 Create: JustSaying
0 ETH0.55090652217.17217825

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
136053962021-11-13 3:52:27956 days ago1636775547
0x67975611...0827Fe16b
0.70643924 ETH
136053962021-11-13 3:52:27956 days ago1636775547
0x67975611...0827Fe16b
0.70643924 ETH
136053132021-11-13 3:31:39956 days ago1636774299
0x67975611...0827Fe16b
0.69780212 ETH
136053132021-11-13 3:31:39956 days ago1636774299
0x67975611...0827Fe16b
0.69780212 ETH
136053132021-11-13 3:31:39956 days ago1636774299
0x67975611...0827Fe16b
0.69780212 ETH
136053132021-11-13 3:31:39956 days ago1636774299
0x67975611...0827Fe16b
0.69780212 ETH
136053102021-11-13 3:31:30956 days ago1636774290
0x67975611...0827Fe16b
14 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
JustSaying

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-11-13
*/

/*
    ___  ________      
   |\  \|\   ____\     
   \ \  \ \  \___|_    
 __ \ \  \ \_____  \   
|\  \\_\  \|____|\  \  
\ \________\____\_\  \ 
 \|________|\_________\
           \|_________|

    Just saying!
*/

// 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 JustSaying 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 _isnotTaxed;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotalAmt = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotalAmt;
    
    uint256 private _feeForAddress1;
    uint256 private _feeForAddress2;
    address payable private _walletAddrForFee;
    
    string private constant _name = "Just Saying";
    string private constant _symbol = "JS";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _walletAddrForFee = payable(0xDaB5dc22350f9a6Aff03Cf3D9341aAD0ba42d2a6);
        _rOwned[_msgSender()] = _rTotalAmt;
        _isnotTaxed[owner()] = true;
        _isnotTaxed[address(this)] = true;
        _isnotTaxed[_walletAddrForFee] = true;
        emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return 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 tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotalAmt, "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(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _feeForAddress1 = 2;
        _feeForAddress2 = 4;
        if (from != owner() && to != owner()) {
            if (from != address(uniswapV2Router) && to == uniswapV2Pair && ! _isnotTaxed[from]) {
                _feeForAddress1 = 2;
                _feeForAddress2 = 5;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendToFee(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 sendToFee(uint256 amount) private {
        _walletAddrForFee.transfer(amount);
    }
    
    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;
        _maxTxAmount = 1e12 * 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 {
        _rTotalAmt = _rTotalAmt.sub(rFee);
        _tFeeTotalAmt = _tFeeTotalAmt.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeForAddress1, _feeForAddress2);
        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 = _rTotalAmt;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotalAmt.div(_tTotal)) return (_rTotalAmt, _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":"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":[],"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"}]

6080604052683635c9adc5dea000006000196200001d91906200043d565b6000196200002c9190620003f8565b6006556000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff021916908315150217905550683635c9adc5dea00000600d553480156200007f57600080fd5b506000620000926200039960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073dab5dc22350f9a6aff03cf3d9341aad0ba42d2a6600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600260006200019c6200039960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620001f0620003a160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003236200039960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200038b9190620003db565b60405180910390a3620004d3565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003d58162000433565b82525050565b6000602082019050620003f26000830184620003ca565b92915050565b6000620004058262000433565b9150620004128362000433565b92508282101562000428576200042762000475565b5b828203905092915050565b6000819050919050565b60006200044a8262000433565b9150620004578362000433565b9250826200046a5762000469620004a4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61297280620004e36000396000f3fe6080604052600436106100ab5760003560e01c8063715018a611610064578063715018a6146101ef5780638da5cb5b1461020657806395d89b4114610231578063a9059cbb1461025c578063c9567bf914610299578063dd62ed3e146102b0576100b2565b806306fdde03146100b7578063095ea7b3146100e257806318160ddd1461011f57806323b872dd1461014a578063313ce5671461018757806370a08231146101b2576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100cc6102ed565b6040516100d991906121c6565b60405180910390f35b3480156100ee57600080fd5b5061010960048036038101906101049190611dc2565b61032a565b60405161011691906121ab565b60405180910390f35b34801561012b57600080fd5b50610134610348565b6040516101419190612328565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c9190611d73565b610359565b60405161017e91906121ab565b60405180910390f35b34801561019357600080fd5b5061019c610432565b6040516101a9919061239d565b60405180910390f35b3480156101be57600080fd5b506101d960048036038101906101d49190611ce5565b61043b565b6040516101e69190612328565b60405180910390f35b3480156101fb57600080fd5b5061020461048c565b005b34801561021257600080fd5b5061021b6105df565b60405161022891906120dd565b60405180910390f35b34801561023d57600080fd5b50610246610608565b60405161025391906121c6565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e9190611dc2565b610645565b60405161029091906121ab565b60405180910390f35b3480156102a557600080fd5b506102ae610663565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190611d37565b610ba5565b6040516102e49190612328565b60405180910390f35b60606040518060400160405280600b81526020017f4a75737420536179696e67000000000000000000000000000000000000000000815250905090565b600061033e610337610c2c565b8484610c34565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610366848484610dff565b61042784610372610c2c565b6104228560405180606001604052806028815260200161291560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103d8610c2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118e9092919063ffffffff16565b610c34565b600190509392505050565b60006009905090565b6000610485600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111f2565b9050919050565b610494610c2c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051890612288565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f4a53000000000000000000000000000000000000000000000000000000000000815250905090565b6000610659610652610c2c565b8484610dff565b6001905092915050565b61066b610c2c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ef90612288565b60405180910390fd5b600c60149054906101000a900460ff1615610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073f90612308565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107d830600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000610c34565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561081e57600080fd5b505afa158015610832573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108569190611d0e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190611d0e565b6040518363ffffffff1660e01b815260040161090d9291906120f8565b602060405180830381600087803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095f9190611d0e565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109e83061043b565b6000806109f36105df565b426040518863ffffffff1660e01b8152600401610a159695949392919061214a565b6060604051808303818588803b158015610a2e57600080fd5b505af1158015610a42573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a679190611e27565b5050506001600c60166101000a81548160ff021916908315150217905550683635c9adc5dea00000600d819055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b4f929190612121565b602060405180830381600087803b158015610b6957600080fd5b505af1158015610b7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba19190611dfe565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b906122e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90612228565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610df29190612328565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e66906122c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed6906121e8565b60405180910390fd5b60008111610f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f19906122a8565b60405180910390fd5b60026008819055506004600981905550610f3a6105df565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fa85750610f786105df565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561117e57600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110585750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80156110ae5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156110c457600260088190555060056009819055505b60006110cf3061043b565b9050600c60159054906101000a900460ff1615801561113c5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111545750600c60169054906101000a900460ff165b1561117c5761116281611260565b6000479050600081111561117a576111794761155a565b5b505b505b6111898383836115c6565b505050565b60008383111582906111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cd91906121c6565b60405180910390fd5b50600083856111e591906124ee565b9050809150509392505050565b6000600654821115611239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123090612208565b60405180910390fd5b60006112436115d6565b9050611258818461160190919063ffffffff16565b915050919050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156112be577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156112ec5781602001602082028036833780820191505090505b509050308160008151811061132a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cc57600080fd5b505afa1580156113e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114049190611d0e565b8160018151811061143e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506114a530600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c34565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611509959493929190612343565b600060405180830381600087803b15801561152357600080fd5b505af1158015611537573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115c2573d6000803e3d6000fd5b5050565b6115d183838361164b565b505050565b60008060006115e3611816565b915091506115fa818361160190919063ffffffff16565b9250505090565b600061164383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611878565b905092915050565b60008060008060008061165d876118db565b9550955095509550955095506116bb86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061175085600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061179c816119eb565b6117a68483611aa8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118039190612328565b60405180910390a3505050505050505050565b600080600060065490506000683635c9adc5dea00000905061184c683635c9adc5dea0000060065461160190919063ffffffff16565b82101561186b57600654683635c9adc5dea00000935093505050611874565b81819350935050505b9091565b600080831182906118bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b691906121c6565b60405180910390fd5b50600083856118ce9190612463565b9050809150509392505050565b60008060008060008060008060006118f88a600854600954611ae2565b92509250925060006119086115d6565b9050600080600061191b8e878787611b78565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061198583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061118e565b905092915050565b600080828461199c919061240d565b9050838110156119e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d890612248565b60405180910390fd5b8091505092915050565b60006119f56115d6565b90506000611a0c8284611c0190919063ffffffff16565b9050611a6081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611abd8260065461194390919063ffffffff16565b600681905550611ad88160075461198d90919063ffffffff16565b6007819055505050565b600080600080611b0e6064611b00888a611c0190919063ffffffff16565b61160190919063ffffffff16565b90506000611b386064611b2a888b611c0190919063ffffffff16565b61160190919063ffffffff16565b90506000611b6182611b53858c61194390919063ffffffff16565b61194390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611b918589611c0190919063ffffffff16565b90506000611ba88689611c0190919063ffffffff16565b90506000611bbf8789611c0190919063ffffffff16565b90506000611be882611bda858761194390919063ffffffff16565b61194390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611c145760009050611c76565b60008284611c229190612494565b9050828482611c319190612463565b14611c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6890612268565b60405180910390fd5b809150505b92915050565b600081359050611c8b816128cf565b92915050565b600081519050611ca0816128cf565b92915050565b600081519050611cb5816128e6565b92915050565b600081359050611cca816128fd565b92915050565b600081519050611cdf816128fd565b92915050565b600060208284031215611cf757600080fd5b6000611d0584828501611c7c565b91505092915050565b600060208284031215611d2057600080fd5b6000611d2e84828501611c91565b91505092915050565b60008060408385031215611d4a57600080fd5b6000611d5885828601611c7c565b9250506020611d6985828601611c7c565b9150509250929050565b600080600060608486031215611d8857600080fd5b6000611d9686828701611c7c565b9350506020611da786828701611c7c565b9250506040611db886828701611cbb565b9150509250925092565b60008060408385031215611dd557600080fd5b6000611de385828601611c7c565b9250506020611df485828601611cbb565b9150509250929050565b600060208284031215611e1057600080fd5b6000611e1e84828501611ca6565b91505092915050565b600080600060608486031215611e3c57600080fd5b6000611e4a86828701611cd0565b9350506020611e5b86828701611cd0565b9250506040611e6c86828701611cd0565b9150509250925092565b6000611e828383611e8e565b60208301905092915050565b611e9781612522565b82525050565b611ea681612522565b82525050565b6000611eb7826123c8565b611ec181856123eb565b9350611ecc836123b8565b8060005b83811015611efd578151611ee48882611e76565b9750611eef836123de565b925050600181019050611ed0565b5085935050505092915050565b611f1381612534565b82525050565b611f2281612577565b82525050565b6000611f33826123d3565b611f3d81856123fc565b9350611f4d818560208601612589565b611f568161261a565b840191505092915050565b6000611f6e6023836123fc565b9150611f798261262b565b604082019050919050565b6000611f91602a836123fc565b9150611f9c8261267a565b604082019050919050565b6000611fb46022836123fc565b9150611fbf826126c9565b604082019050919050565b6000611fd7601b836123fc565b9150611fe282612718565b602082019050919050565b6000611ffa6021836123fc565b915061200582612741565b604082019050919050565b600061201d6020836123fc565b915061202882612790565b602082019050919050565b60006120406029836123fc565b915061204b826127b9565b604082019050919050565b60006120636025836123fc565b915061206e82612808565b604082019050919050565b60006120866024836123fc565b915061209182612857565b604082019050919050565b60006120a96017836123fc565b91506120b4826128a6565b602082019050919050565b6120c881612560565b82525050565b6120d78161256a565b82525050565b60006020820190506120f26000830184611e9d565b92915050565b600060408201905061210d6000830185611e9d565b61211a6020830184611e9d565b9392505050565b60006040820190506121366000830185611e9d565b61214360208301846120bf565b9392505050565b600060c08201905061215f6000830189611e9d565b61216c60208301886120bf565b6121796040830187611f19565b6121866060830186611f19565b6121936080830185611e9d565b6121a060a08301846120bf565b979650505050505050565b60006020820190506121c06000830184611f0a565b92915050565b600060208201905081810360008301526121e08184611f28565b905092915050565b6000602082019050818103600083015261220181611f61565b9050919050565b6000602082019050818103600083015261222181611f84565b9050919050565b6000602082019050818103600083015261224181611fa7565b9050919050565b6000602082019050818103600083015261226181611fca565b9050919050565b6000602082019050818103600083015261228181611fed565b9050919050565b600060208201905081810360008301526122a181612010565b9050919050565b600060208201905081810360008301526122c181612033565b9050919050565b600060208201905081810360008301526122e181612056565b9050919050565b6000602082019050818103600083015261230181612079565b9050919050565b600060208201905081810360008301526123218161209c565b9050919050565b600060208201905061233d60008301846120bf565b92915050565b600060a08201905061235860008301886120bf565b6123656020830187611f19565b81810360408301526123778186611eac565b90506123866060830185611e9d565b61239360808301846120bf565b9695505050505050565b60006020820190506123b260008301846120ce565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061241882612560565b915061242383612560565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612458576124576125bc565b5b828201905092915050565b600061246e82612560565b915061247983612560565b925082612489576124886125eb565b5b828204905092915050565b600061249f82612560565b91506124aa83612560565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124e3576124e26125bc565b5b828202905092915050565b60006124f982612560565b915061250483612560565b925082821015612517576125166125bc565b5b828203905092915050565b600061252d82612540565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061258282612560565b9050919050565b60005b838110156125a757808201518184015260208101905061258c565b838111156125b6576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6128d881612522565b81146128e357600080fd5b50565b6128ef81612534565b81146128fa57600080fd5b50565b61290681612560565b811461291157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122005aa9aaee6917dd4540788cd7c1c2fc1b76d314d97df1f2eb67f3d5d25a078c964736f6c63430008040033

Deployed Bytecode

0x6080604052600436106100ab5760003560e01c8063715018a611610064578063715018a6146101ef5780638da5cb5b1461020657806395d89b4114610231578063a9059cbb1461025c578063c9567bf914610299578063dd62ed3e146102b0576100b2565b806306fdde03146100b7578063095ea7b3146100e257806318160ddd1461011f57806323b872dd1461014a578063313ce5671461018757806370a08231146101b2576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100cc6102ed565b6040516100d991906121c6565b60405180910390f35b3480156100ee57600080fd5b5061010960048036038101906101049190611dc2565b61032a565b60405161011691906121ab565b60405180910390f35b34801561012b57600080fd5b50610134610348565b6040516101419190612328565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c9190611d73565b610359565b60405161017e91906121ab565b60405180910390f35b34801561019357600080fd5b5061019c610432565b6040516101a9919061239d565b60405180910390f35b3480156101be57600080fd5b506101d960048036038101906101d49190611ce5565b61043b565b6040516101e69190612328565b60405180910390f35b3480156101fb57600080fd5b5061020461048c565b005b34801561021257600080fd5b5061021b6105df565b60405161022891906120dd565b60405180910390f35b34801561023d57600080fd5b50610246610608565b60405161025391906121c6565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e9190611dc2565b610645565b60405161029091906121ab565b60405180910390f35b3480156102a557600080fd5b506102ae610663565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190611d37565b610ba5565b6040516102e49190612328565b60405180910390f35b60606040518060400160405280600b81526020017f4a75737420536179696e67000000000000000000000000000000000000000000815250905090565b600061033e610337610c2c565b8484610c34565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610366848484610dff565b61042784610372610c2c565b6104228560405180606001604052806028815260200161291560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103d8610c2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118e9092919063ffffffff16565b610c34565b600190509392505050565b60006009905090565b6000610485600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111f2565b9050919050565b610494610c2c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051890612288565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f4a53000000000000000000000000000000000000000000000000000000000000815250905090565b6000610659610652610c2c565b8484610dff565b6001905092915050565b61066b610c2c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ef90612288565b60405180910390fd5b600c60149054906101000a900460ff1615610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073f90612308565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107d830600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000610c34565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561081e57600080fd5b505afa158015610832573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108569190611d0e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190611d0e565b6040518363ffffffff1660e01b815260040161090d9291906120f8565b602060405180830381600087803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095f9190611d0e565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109e83061043b565b6000806109f36105df565b426040518863ffffffff1660e01b8152600401610a159695949392919061214a565b6060604051808303818588803b158015610a2e57600080fd5b505af1158015610a42573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a679190611e27565b5050506001600c60166101000a81548160ff021916908315150217905550683635c9adc5dea00000600d819055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b4f929190612121565b602060405180830381600087803b158015610b6957600080fd5b505af1158015610b7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba19190611dfe565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b906122e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90612228565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610df29190612328565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e66906122c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed6906121e8565b60405180910390fd5b60008111610f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f19906122a8565b60405180910390fd5b60026008819055506004600981905550610f3a6105df565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fa85750610f786105df565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561117e57600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110585750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80156110ae5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156110c457600260088190555060056009819055505b60006110cf3061043b565b9050600c60159054906101000a900460ff1615801561113c5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111545750600c60169054906101000a900460ff165b1561117c5761116281611260565b6000479050600081111561117a576111794761155a565b5b505b505b6111898383836115c6565b505050565b60008383111582906111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cd91906121c6565b60405180910390fd5b50600083856111e591906124ee565b9050809150509392505050565b6000600654821115611239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123090612208565b60405180910390fd5b60006112436115d6565b9050611258818461160190919063ffffffff16565b915050919050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156112be577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156112ec5781602001602082028036833780820191505090505b509050308160008151811061132a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cc57600080fd5b505afa1580156113e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114049190611d0e565b8160018151811061143e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506114a530600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c34565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611509959493929190612343565b600060405180830381600087803b15801561152357600080fd5b505af1158015611537573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115c2573d6000803e3d6000fd5b5050565b6115d183838361164b565b505050565b60008060006115e3611816565b915091506115fa818361160190919063ffffffff16565b9250505090565b600061164383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611878565b905092915050565b60008060008060008061165d876118db565b9550955095509550955095506116bb86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061175085600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061179c816119eb565b6117a68483611aa8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118039190612328565b60405180910390a3505050505050505050565b600080600060065490506000683635c9adc5dea00000905061184c683635c9adc5dea0000060065461160190919063ffffffff16565b82101561186b57600654683635c9adc5dea00000935093505050611874565b81819350935050505b9091565b600080831182906118bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b691906121c6565b60405180910390fd5b50600083856118ce9190612463565b9050809150509392505050565b60008060008060008060008060006118f88a600854600954611ae2565b92509250925060006119086115d6565b9050600080600061191b8e878787611b78565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061198583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061118e565b905092915050565b600080828461199c919061240d565b9050838110156119e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d890612248565b60405180910390fd5b8091505092915050565b60006119f56115d6565b90506000611a0c8284611c0190919063ffffffff16565b9050611a6081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611abd8260065461194390919063ffffffff16565b600681905550611ad88160075461198d90919063ffffffff16565b6007819055505050565b600080600080611b0e6064611b00888a611c0190919063ffffffff16565b61160190919063ffffffff16565b90506000611b386064611b2a888b611c0190919063ffffffff16565b61160190919063ffffffff16565b90506000611b6182611b53858c61194390919063ffffffff16565b61194390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611b918589611c0190919063ffffffff16565b90506000611ba88689611c0190919063ffffffff16565b90506000611bbf8789611c0190919063ffffffff16565b90506000611be882611bda858761194390919063ffffffff16565b61194390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611c145760009050611c76565b60008284611c229190612494565b9050828482611c319190612463565b14611c71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6890612268565b60405180910390fd5b809150505b92915050565b600081359050611c8b816128cf565b92915050565b600081519050611ca0816128cf565b92915050565b600081519050611cb5816128e6565b92915050565b600081359050611cca816128fd565b92915050565b600081519050611cdf816128fd565b92915050565b600060208284031215611cf757600080fd5b6000611d0584828501611c7c565b91505092915050565b600060208284031215611d2057600080fd5b6000611d2e84828501611c91565b91505092915050565b60008060408385031215611d4a57600080fd5b6000611d5885828601611c7c565b9250506020611d6985828601611c7c565b9150509250929050565b600080600060608486031215611d8857600080fd5b6000611d9686828701611c7c565b9350506020611da786828701611c7c565b9250506040611db886828701611cbb565b9150509250925092565b60008060408385031215611dd557600080fd5b6000611de385828601611c7c565b9250506020611df485828601611cbb565b9150509250929050565b600060208284031215611e1057600080fd5b6000611e1e84828501611ca6565b91505092915050565b600080600060608486031215611e3c57600080fd5b6000611e4a86828701611cd0565b9350506020611e5b86828701611cd0565b9250506040611e6c86828701611cd0565b9150509250925092565b6000611e828383611e8e565b60208301905092915050565b611e9781612522565b82525050565b611ea681612522565b82525050565b6000611eb7826123c8565b611ec181856123eb565b9350611ecc836123b8565b8060005b83811015611efd578151611ee48882611e76565b9750611eef836123de565b925050600181019050611ed0565b5085935050505092915050565b611f1381612534565b82525050565b611f2281612577565b82525050565b6000611f33826123d3565b611f3d81856123fc565b9350611f4d818560208601612589565b611f568161261a565b840191505092915050565b6000611f6e6023836123fc565b9150611f798261262b565b604082019050919050565b6000611f91602a836123fc565b9150611f9c8261267a565b604082019050919050565b6000611fb46022836123fc565b9150611fbf826126c9565b604082019050919050565b6000611fd7601b836123fc565b9150611fe282612718565b602082019050919050565b6000611ffa6021836123fc565b915061200582612741565b604082019050919050565b600061201d6020836123fc565b915061202882612790565b602082019050919050565b60006120406029836123fc565b915061204b826127b9565b604082019050919050565b60006120636025836123fc565b915061206e82612808565b604082019050919050565b60006120866024836123fc565b915061209182612857565b604082019050919050565b60006120a96017836123fc565b91506120b4826128a6565b602082019050919050565b6120c881612560565b82525050565b6120d78161256a565b82525050565b60006020820190506120f26000830184611e9d565b92915050565b600060408201905061210d6000830185611e9d565b61211a6020830184611e9d565b9392505050565b60006040820190506121366000830185611e9d565b61214360208301846120bf565b9392505050565b600060c08201905061215f6000830189611e9d565b61216c60208301886120bf565b6121796040830187611f19565b6121866060830186611f19565b6121936080830185611e9d565b6121a060a08301846120bf565b979650505050505050565b60006020820190506121c06000830184611f0a565b92915050565b600060208201905081810360008301526121e08184611f28565b905092915050565b6000602082019050818103600083015261220181611f61565b9050919050565b6000602082019050818103600083015261222181611f84565b9050919050565b6000602082019050818103600083015261224181611fa7565b9050919050565b6000602082019050818103600083015261226181611fca565b9050919050565b6000602082019050818103600083015261228181611fed565b9050919050565b600060208201905081810360008301526122a181612010565b9050919050565b600060208201905081810360008301526122c181612033565b9050919050565b600060208201905081810360008301526122e181612056565b9050919050565b6000602082019050818103600083015261230181612079565b9050919050565b600060208201905081810360008301526123218161209c565b9050919050565b600060208201905061233d60008301846120bf565b92915050565b600060a08201905061235860008301886120bf565b6123656020830187611f19565b81810360408301526123778186611eac565b90506123866060830185611e9d565b61239360808301846120bf565b9695505050505050565b60006020820190506123b260008301846120ce565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061241882612560565b915061242383612560565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612458576124576125bc565b5b828201905092915050565b600061246e82612560565b915061247983612560565b925082612489576124886125eb565b5b828204905092915050565b600061249f82612560565b91506124aa83612560565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124e3576124e26125bc565b5b828202905092915050565b60006124f982612560565b915061250483612560565b925082821015612517576125166125bc565b5b828203905092915050565b600061252d82612540565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061258282612560565b9050919050565b60005b838110156125a757808201518184015260208101905061258c565b838111156125b6576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6128d881612522565b81146128e357600080fd5b50565b6128ef81612534565b81146128fa57600080fd5b50565b61290681612560565b811461291157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122005aa9aaee6917dd4540788cd7c1c2fc1b76d314d97df1f2eb67f3d5d25a078c964736f6c63430008040033

Deployed Bytecode Sourcemap

3749:8766:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5315:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6167:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5592:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6336:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5501:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5695:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2828:148;;;;;;;;;;;;;:::i;:::-;;2614:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5406:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5841:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8940:776;;;;;;;;;;;;;:::i;:::-;;6016:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5315:83;5352:13;5385:5;;;;;;;;;;;;;;;;;5378:12;;5315:83;:::o;6167:161::-;6242:4;6259:39;6268:12;:10;:12::i;:::-;6282:7;6291:6;6259:8;:39::i;:::-;6316:4;6309:11;;6167:161;;;;:::o;5592:95::-;5645:7;4151:12;5665:14;;5592:95;:::o;6336:313::-;6434:4;6451:36;6461:6;6469:9;6480:6;6451:9;:36::i;:::-;6498:121;6507:6;6515:12;:10;:12::i;:::-;6529:89;6567:6;6529:89;;;;;;;;;;;;;;;;;:11;:19;6541:6;6529:19;;;;;;;;;;;;;;;:33;6549:12;:10;:12::i;:::-;6529:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6498:8;:121::i;:::-;6637:4;6630:11;;6336:313;;;;;:::o;5501:83::-;5542:5;4533:1;5560:16;;5501:83;:::o;5695:138::-;5761:7;5788:37;5808:7;:16;5816:7;5808:16;;;;;;;;;;;;;;;;5788:19;:37::i;:::-;5781:44;;5695:138;;;:::o;2828:148::-;2751:12;:10;:12::i;:::-;2741:22;;:6;;;;;;;;;;:22;;;2733:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2935:1:::1;2898:40;;2919:6;::::0;::::1;;;;;;;;2898:40;;;;;;;;;;;;2966:1;2949:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2828:148::o:0;2614:79::-;2652:7;2679:6;;;;;;;;;;;2672:13;;2614:79;:::o;5406:87::-;5445:13;5478:7;;;;;;;;;;;;;;;;;5471:14;;5406:87;:::o;5841:167::-;5919:4;5936:42;5946:12;:10;:12::i;:::-;5960:9;5971:6;5936:9;:42::i;:::-;5996:4;5989:11;;5841:167;;;;:::o;8940:776::-;2751:12;:10;:12::i;:::-;2741:22;;:6;;;;;;;;;;:22;;;2733:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9004:11:::1;;;;;;;;;;;9003:12;8995:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9053:35;9110:42;9053:100;;9182:16;9164:15;;:34;;;;;;;;;;;;;;;;;;9209:58;9226:4;9241:15;;;;;;;;;;;4151:12;9209:8;:58::i;:::-;9312:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9294:56;;;9359:4;9366:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9294:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9278:13;;:112;;;;;;;;;;;;;;;;;;9401:15;;;;;;;;;;;:31;;;9440:21;9471:4;9477:24;9495:4;9477:9;:24::i;:::-;9502:1;9504::::0;9506:7:::1;:5;:7::i;:::-;9514:15;9401:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9555:4;9541:11;;:18;;;;;;;;;;;;;;;;;;9585:12;9570;:27;;;;9622:4;9608:11;;:18;;;;;;;;;;;;;;;;;;9644:13;;;;;;;;;;;9637:29;;;9675:15;;;;;;;;;;;9693:14;9637:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2811:1;8940:776::o:0;6016:143::-;6097:7;6124:11;:18;6136:5;6124:18;;;;;;;;;;;;;;;:27;6143:7;6124:27;;;;;;;;;;;;;;;;6117:34;;6016:143;;;;:::o;332:98::-;385:7;412:10;405:17;;332:98;:::o;6922:335::-;7032:1;7015:19;;:5;:19;;;;7007:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7113:1;7094:21;;:7;:21;;;;7086:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7195:6;7165:11;:18;7177:5;7165:18;;;;;;;;;;;;;;;:27;7184:7;7165:27;;;;;;;;;;;;;;;:36;;;;7233:7;7217:32;;7226:5;7217:32;;;7242:6;7217:32;;;;;;:::i;:::-;;;;;;;;6922:335;;;:::o;7265:1060::-;7369:1;7353:18;;:4;:18;;;;7345:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7446:1;7432:16;;:2;:16;;;;7424:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7516:1;7507:6;:10;7499:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7592:1;7574:15;:19;;;;7622:1;7604:15;:19;;;;7646:7;:5;:7::i;:::-;7638:15;;:4;:15;;;;:32;;;;;7663:7;:5;:7::i;:::-;7657:13;;:2;:13;;;;7638:32;7634:639;;;7707:15;;;;;;;;;;;7691:32;;:4;:32;;;;:55;;;;;7733:13;;;;;;;;;;;7727:19;;:2;:19;;;7691:55;:78;;;;;7752:11;:17;7764:4;7752:17;;;;;;;;;;;;;;;;;;;;;;;;;7750:19;7691:78;7687:176;;;7808:1;7790:15;:19;;;;7846:1;7828:15;:19;;;;7687:176;7877:28;7908:24;7926:4;7908:9;:24::i;:::-;7877:55;;7952:6;;;;;;;;;;;7951:7;:32;;;;;7970:13;;;;;;;;;;;7962:21;;:4;:21;;;;7951:32;:47;;;;;7987:11;;;;;;;;;;;7951:47;7947:315;;;8019:38;8036:20;8019:16;:38::i;:::-;8076:26;8105:21;8076:50;;8169:1;8148:18;:22;8145:102;;;8195:32;8205:21;8195:9;:32::i;:::-;8145:102;7947:315;;7634:639;;8287:30;8302:4;8307:2;8310:6;8287:14;:30::i;:::-;7265:1060;;;:::o;1469:190::-;1555:7;1588:1;1583;:6;;1591:12;1575:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1615:9;1631:1;1627;:5;;;;:::i;:::-;1615:17;;1650:1;1643:8;;;1469:190;;;;;:::o;6657:257::-;6724:7;6763:10;;6752:7;:21;;6744:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;6831:19;6854:10;:8;:10::i;:::-;6831:33;;6882:24;6894:11;6882:7;:11;;:24;;;;:::i;:::-;6875:31;;;6657:257;;;:::o;8333:483::-;4872:4;4863:6;;:13;;;;;;;;;;;;;;;;;;8411:21:::1;8449:1;8435:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8411:40;;8480:4;8462;8467:1;8462:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;8506:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8496:4;8501:1;8496:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;8539:62;8556:4;8571:15;;;;;;;;;;;8589:11;8539:8;:62::i;:::-;8612:15;;;;;;;;;;;:66;;;8693:11;8719:1;8735:4;8762;8782:15;8612:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4887:1;4908:5:::0;4899:6;;:14;;;;;;;;;;;;;;;;;;8333:483;:::o;8832:96::-;8886:17;;;;;;;;;;;:26;;:34;8913:6;8886:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8832:96;:::o;9732:146::-;9826:44;9844:6;9852:9;9863:6;9826:17;:44::i;:::-;9732:146;;;:::o;12070:163::-;12111:7;12132:15;12149;12168:19;:17;:19::i;:::-;12131:56;;;;12205:20;12217:7;12205;:11;;:20;;;;:::i;:::-;12198:27;;;;12070:163;:::o;1921:132::-;1979:7;2006:39;2010:1;2013;2006:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1999:46;;1921:132;;;;:::o;9886:488::-;9985:15;10002:23;10027:12;10041:23;10066:12;10080:13;10097:19;10108:7;10097:10;:19::i;:::-;9984:132;;;;;;;;;;;;10145:28;10165:7;10145;:15;10153:6;10145:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10127:7;:15;10135:6;10127:15;;;;;;;;;;;;;;;:46;;;;10205:39;10228:15;10205:7;:18;10213:9;10205:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10184:7;:18;10192:9;10184:18;;;;;;;;;;;;;;;:60;;;;10256:16;10266:5;10256:9;:16::i;:::-;10283:23;10295:4;10301;10283:11;:23::i;:::-;10339:9;10322:44;;10331:6;10322:44;;;10350:15;10322:44;;;;;;:::i;:::-;;;;;;;;9886:488;;;;;;;;;:::o;12241:271::-;12291:7;12300;12320:15;12338:10;;12320:28;;12359:15;4151:12;12359:25;;12415:23;4151:12;12415:10;;:14;;:23;;;;:::i;:::-;12405:7;:33;12401:67;;;12448:10;;4151:12;12440:28;;;;;;;;12401:67;12487:7;12496;12479:25;;;;;;12241:271;;;:::o;2061:189::-;2147:7;2179:1;2175;:5;2182:12;2167:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2206:9;2222:1;2218;:5;;;;:::i;:::-;2206:17;;2241:1;2234:8;;;2061:189;;;;;:::o;10806:483::-;10865:7;10874;10883;10892;10901;10910;10931:23;10956:12;10970:13;10987:54;10999:7;11008:15;;11025;;10987:11;:54::i;:::-;10930:111;;;;;;11052:19;11075:10;:8;:10::i;:::-;11052:33;;11097:15;11114:23;11139:12;11155:46;11167:7;11176:4;11182:5;11189:11;11155;:46::i;:::-;11096:105;;;;;;11220:7;11229:15;11246:4;11252:15;11269:4;11275:5;11212:69;;;;;;;;;;;;;;;;;;;10806:483;;;;;;;:::o;1325:136::-;1383:7;1410:43;1414:1;1417;1410:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1403:50;;1325:136;;;;:::o;1138:179::-;1196:7;1216:9;1232:1;1228;:5;;;;:::i;:::-;1216:17;;1257:1;1252;:6;;1244:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1308:1;1301:8;;;1138:179;;;;:::o;10382:212::-;10435:19;10458:10;:8;:10::i;:::-;10435:33;;10479:13;10495:22;10505:11;10495:5;:9;;:22;;;;:::i;:::-;10479:38;;10553:33;10580:5;10553:7;:22;10569:4;10553:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;10528:7;:22;10544:4;10528:22;;;;;;;;;;;;;;;:58;;;;10382:212;;;:::o;10602:159::-;10683:20;10698:4;10683:10;;:14;;:20;;;;:::i;:::-;10670:10;:33;;;;10730:23;10748:4;10730:13;;:17;;:23;;;;:::i;:::-;10714:13;:39;;;;10602:159;;:::o;11297:351::-;11390:7;11399;11408;11428:12;11443:28;11467:3;11443:19;11455:6;11443:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;11428:43;;11482:13;11498:29;11523:3;11498:20;11510:7;11498;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;11482:45;;11538:23;11564:28;11586:5;11564:17;11576:4;11564:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11538:54;;11611:15;11628:4;11634:5;11603:37;;;;;;;;;11297:351;;;;;;;:::o;11656:409::-;11766:7;11775;11784;11804:15;11822:24;11834:11;11822:7;:11;;:24;;;;:::i;:::-;11804:42;;11857:12;11872:21;11881:11;11872:4;:8;;:21;;;;:::i;:::-;11857:36;;11904:13;11920:22;11930:11;11920:5;:9;;:22;;;;:::i;:::-;11904:38;;11953:23;11979:28;12001:5;11979:17;11991:4;11979:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11953:54;;12026:7;12035:15;12052:4;12018:39;;;;;;;;;;11656:409;;;;;;;;:::o;1667:246::-;1725:7;1754:1;1749;:6;1745:47;;;1779:1;1772:8;;;;1745:47;1802:9;1818:1;1814;:5;;;;:::i;:::-;1802:17;;1847:1;1842;1838;:5;;;;:::i;:::-;:10;1830:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1904:1;1897:8;;;1667: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:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;797:6;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;1076:6;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;1364:6;1372;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;1786:6;1794;1802;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;2335:6;2343;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;2747:6;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:596::-;3052:6;3060;3068;3117:2;3105:9;3096:7;3092:23;3088:32;3085:2;;;3133:1;3130;3123:12;3085:2;3176:1;3201:64;3257:7;3248:6;3237:9;3233:22;3201:64;:::i;:::-;3191:74;;3147:128;3314:2;3340:64;3396:7;3387:6;3376:9;3372:22;3340:64;:::i;:::-;3330:74;;3285:129;3453:2;3479:64;3535:7;3526:6;3515:9;3511:22;3479:64;:::i;:::-;3469:74;;3424:129;3075:485;;;;;:::o;3566:179::-;3635:10;3656:46;3698:3;3690:6;3656:46;:::i;:::-;3734:4;3729:3;3725:14;3711:28;;3646:99;;;;:::o;3751:108::-;3828:24;3846:5;3828:24;:::i;:::-;3823:3;3816:37;3806:53;;:::o;3865:118::-;3952:24;3970:5;3952:24;:::i;:::-;3947:3;3940:37;3930:53;;:::o;4019:732::-;4138:3;4167:54;4215:5;4167:54;:::i;:::-;4237:86;4316:6;4311:3;4237:86;:::i;:::-;4230:93;;4347:56;4397:5;4347:56;:::i;:::-;4426:7;4457:1;4442:284;4467:6;4464:1;4461:13;4442:284;;;4543:6;4537:13;4570:63;4629:3;4614:13;4570:63;:::i;:::-;4563:70;;4656:60;4709:6;4656:60;:::i;:::-;4646:70;;4502:224;4489:1;4486;4482:9;4477:14;;4442:284;;;4446:14;4742:3;4735:10;;4143:608;;;;;;;:::o;4757:109::-;4838:21;4853:5;4838:21;:::i;:::-;4833:3;4826:34;4816:50;;:::o;4872:147::-;4967:45;5006:5;4967:45;:::i;:::-;4962:3;4955:58;4945:74;;:::o;5025:364::-;5113:3;5141:39;5174:5;5141:39;:::i;:::-;5196:71;5260:6;5255:3;5196:71;:::i;:::-;5189:78;;5276:52;5321:6;5316:3;5309:4;5302:5;5298:16;5276:52;:::i;:::-;5353:29;5375:6;5353:29;:::i;:::-;5348:3;5344:39;5337:46;;5117:272;;;;;:::o;5395:366::-;5537:3;5558:67;5622:2;5617:3;5558:67;:::i;:::-;5551:74;;5634:93;5723:3;5634:93;:::i;:::-;5752:2;5747:3;5743:12;5736:19;;5541:220;;;:::o;5767:366::-;5909:3;5930:67;5994:2;5989:3;5930:67;:::i;:::-;5923:74;;6006:93;6095:3;6006:93;:::i;:::-;6124:2;6119:3;6115:12;6108:19;;5913:220;;;:::o;6139:366::-;6281:3;6302:67;6366:2;6361:3;6302:67;:::i;:::-;6295:74;;6378:93;6467:3;6378:93;:::i;:::-;6496:2;6491:3;6487:12;6480:19;;6285:220;;;:::o;6511:366::-;6653:3;6674:67;6738:2;6733:3;6674:67;:::i;:::-;6667:74;;6750:93;6839:3;6750:93;:::i;:::-;6868:2;6863:3;6859:12;6852:19;;6657:220;;;:::o;6883:366::-;7025:3;7046:67;7110:2;7105:3;7046:67;:::i;:::-;7039:74;;7122:93;7211:3;7122:93;:::i;:::-;7240:2;7235:3;7231:12;7224:19;;7029:220;;;:::o;7255:366::-;7397:3;7418:67;7482:2;7477:3;7418:67;:::i;:::-;7411:74;;7494:93;7583:3;7494:93;:::i;:::-;7612:2;7607:3;7603:12;7596:19;;7401:220;;;:::o;7627:366::-;7769:3;7790:67;7854:2;7849:3;7790:67;:::i;:::-;7783:74;;7866:93;7955:3;7866:93;:::i;:::-;7984:2;7979:3;7975:12;7968:19;;7773:220;;;:::o;7999:366::-;8141:3;8162:67;8226:2;8221:3;8162:67;:::i;:::-;8155:74;;8238:93;8327:3;8238:93;:::i;:::-;8356:2;8351:3;8347:12;8340:19;;8145:220;;;:::o;8371:366::-;8513:3;8534:67;8598:2;8593:3;8534:67;:::i;:::-;8527:74;;8610:93;8699:3;8610:93;:::i;:::-;8728:2;8723:3;8719:12;8712:19;;8517:220;;;:::o;8743:366::-;8885:3;8906:67;8970:2;8965:3;8906:67;:::i;:::-;8899:74;;8982:93;9071:3;8982:93;:::i;:::-;9100:2;9095:3;9091:12;9084:19;;8889:220;;;:::o;9115:118::-;9202:24;9220:5;9202:24;:::i;:::-;9197:3;9190:37;9180:53;;:::o;9239:112::-;9322:22;9338:5;9322:22;:::i;:::-;9317:3;9310:35;9300:51;;:::o;9357:222::-;9450:4;9488:2;9477:9;9473:18;9465:26;;9501:71;9569:1;9558:9;9554:17;9545:6;9501:71;:::i;:::-;9455:124;;;;:::o;9585:332::-;9706:4;9744:2;9733:9;9729:18;9721:26;;9757:71;9825:1;9814:9;9810:17;9801:6;9757:71;:::i;:::-;9838:72;9906:2;9895:9;9891:18;9882:6;9838:72;:::i;:::-;9711:206;;;;;:::o;9923:332::-;10044:4;10082:2;10071:9;10067:18;10059:26;;10095:71;10163:1;10152:9;10148:17;10139:6;10095:71;:::i;:::-;10176:72;10244:2;10233:9;10229:18;10220:6;10176:72;:::i;:::-;10049:206;;;;;:::o;10261:807::-;10510:4;10548:3;10537:9;10533:19;10525:27;;10562:71;10630:1;10619:9;10615:17;10606:6;10562:71;:::i;:::-;10643:72;10711:2;10700:9;10696:18;10687:6;10643:72;:::i;:::-;10725:80;10801:2;10790:9;10786:18;10777:6;10725:80;:::i;:::-;10815;10891:2;10880:9;10876:18;10867:6;10815:80;:::i;:::-;10905:73;10973:3;10962:9;10958:19;10949:6;10905:73;:::i;:::-;10988;11056:3;11045:9;11041:19;11032:6;10988:73;:::i;:::-;10515:553;;;;;;;;;:::o;11074:210::-;11161:4;11199:2;11188:9;11184:18;11176:26;;11212:65;11274:1;11263:9;11259:17;11250:6;11212:65;:::i;:::-;11166:118;;;;:::o;11290:313::-;11403:4;11441:2;11430:9;11426:18;11418:26;;11490:9;11484:4;11480:20;11476:1;11465:9;11461:17;11454:47;11518:78;11591:4;11582:6;11518:78;:::i;:::-;11510:86;;11408:195;;;;:::o;11609:419::-;11775:4;11813:2;11802:9;11798:18;11790:26;;11862:9;11856:4;11852:20;11848:1;11837:9;11833:17;11826:47;11890:131;12016:4;11890:131;:::i;:::-;11882:139;;11780:248;;;:::o;12034:419::-;12200:4;12238:2;12227:9;12223:18;12215:26;;12287:9;12281:4;12277:20;12273:1;12262:9;12258:17;12251:47;12315:131;12441:4;12315:131;:::i;:::-;12307:139;;12205:248;;;:::o;12459:419::-;12625:4;12663:2;12652:9;12648:18;12640:26;;12712:9;12706:4;12702:20;12698:1;12687:9;12683:17;12676:47;12740:131;12866:4;12740:131;:::i;:::-;12732:139;;12630:248;;;:::o;12884:419::-;13050:4;13088:2;13077:9;13073:18;13065:26;;13137:9;13131:4;13127:20;13123:1;13112:9;13108:17;13101:47;13165:131;13291:4;13165:131;:::i;:::-;13157:139;;13055:248;;;:::o;13309:419::-;13475:4;13513:2;13502:9;13498:18;13490:26;;13562:9;13556:4;13552:20;13548:1;13537:9;13533:17;13526:47;13590:131;13716:4;13590:131;:::i;:::-;13582:139;;13480:248;;;:::o;13734:419::-;13900:4;13938:2;13927:9;13923:18;13915:26;;13987:9;13981:4;13977:20;13973:1;13962:9;13958:17;13951:47;14015:131;14141:4;14015:131;:::i;:::-;14007:139;;13905:248;;;:::o;14159:419::-;14325:4;14363:2;14352:9;14348:18;14340:26;;14412:9;14406:4;14402:20;14398:1;14387:9;14383:17;14376:47;14440:131;14566:4;14440:131;:::i;:::-;14432:139;;14330:248;;;:::o;14584:419::-;14750:4;14788:2;14777:9;14773:18;14765:26;;14837:9;14831:4;14827:20;14823:1;14812:9;14808:17;14801:47;14865:131;14991:4;14865:131;:::i;:::-;14857:139;;14755:248;;;:::o;15009:419::-;15175:4;15213:2;15202:9;15198:18;15190:26;;15262:9;15256:4;15252:20;15248:1;15237:9;15233:17;15226:47;15290:131;15416:4;15290:131;:::i;:::-;15282:139;;15180:248;;;:::o;15434:419::-;15600:4;15638:2;15627:9;15623:18;15615:26;;15687:9;15681:4;15677:20;15673:1;15662:9;15658:17;15651:47;15715:131;15841:4;15715:131;:::i;:::-;15707:139;;15605:248;;;:::o;15859:222::-;15952:4;15990:2;15979:9;15975:18;15967:26;;16003:71;16071:1;16060:9;16056:17;16047:6;16003:71;:::i;:::-;15957:124;;;;:::o;16087:831::-;16350:4;16388:3;16377:9;16373:19;16365:27;;16402:71;16470:1;16459:9;16455:17;16446:6;16402:71;:::i;:::-;16483:80;16559:2;16548:9;16544:18;16535:6;16483:80;:::i;:::-;16610:9;16604:4;16600:20;16595:2;16584:9;16580:18;16573:48;16638:108;16741:4;16732:6;16638:108;:::i;:::-;16630:116;;16756:72;16824:2;16813:9;16809:18;16800:6;16756:72;:::i;:::-;16838:73;16906:3;16895:9;16891:19;16882:6;16838:73;:::i;:::-;16355:563;;;;;;;;:::o;16924:214::-;17013:4;17051:2;17040:9;17036:18;17028:26;;17064:67;17128:1;17117:9;17113:17;17104:6;17064:67;:::i;:::-;17018:120;;;;:::o;17144:132::-;17211:4;17234:3;17226:11;;17264:4;17259:3;17255:14;17247:22;;17216:60;;;:::o;17282:114::-;17349:6;17383:5;17377:12;17367:22;;17356:40;;;:::o;17402:99::-;17454:6;17488:5;17482:12;17472:22;;17461:40;;;:::o;17507:113::-;17577:4;17609;17604:3;17600:14;17592:22;;17582:38;;;:::o;17626:184::-;17725:11;17759:6;17754:3;17747:19;17799:4;17794:3;17790:14;17775:29;;17737:73;;;;:::o;17816:169::-;17900:11;17934:6;17929:3;17922:19;17974:4;17969:3;17965:14;17950:29;;17912:73;;;;:::o;17991:305::-;18031:3;18050:20;18068:1;18050:20;:::i;:::-;18045:25;;18084:20;18102:1;18084:20;:::i;:::-;18079:25;;18238:1;18170:66;18166:74;18163:1;18160:81;18157:2;;;18244:18;;:::i;:::-;18157:2;18288:1;18285;18281:9;18274:16;;18035:261;;;;:::o;18302:185::-;18342:1;18359:20;18377:1;18359:20;:::i;:::-;18354:25;;18393:20;18411:1;18393:20;:::i;:::-;18388:25;;18432:1;18422:2;;18437:18;;:::i;:::-;18422:2;18479:1;18476;18472:9;18467:14;;18344:143;;;;:::o;18493:348::-;18533:7;18556:20;18574:1;18556:20;:::i;:::-;18551:25;;18590:20;18608:1;18590:20;:::i;:::-;18585:25;;18778:1;18710:66;18706:74;18703:1;18700:81;18695:1;18688:9;18681:17;18677:105;18674:2;;;18785:18;;:::i;:::-;18674:2;18833:1;18830;18826:9;18815:20;;18541:300;;;;:::o;18847:191::-;18887:4;18907:20;18925:1;18907:20;:::i;:::-;18902:25;;18941:20;18959:1;18941:20;:::i;:::-;18936:25;;18980:1;18977;18974:8;18971:2;;;18985:18;;:::i;:::-;18971:2;19030:1;19027;19023:9;19015:17;;18892:146;;;;:::o;19044:96::-;19081:7;19110:24;19128:5;19110:24;:::i;:::-;19099:35;;19089:51;;;:::o;19146:90::-;19180:7;19223:5;19216:13;19209:21;19198:32;;19188:48;;;:::o;19242:126::-;19279:7;19319:42;19312:5;19308:54;19297:65;;19287:81;;;:::o;19374:77::-;19411:7;19440:5;19429:16;;19419:32;;;:::o;19457:86::-;19492:7;19532:4;19525:5;19521:16;19510:27;;19500:43;;;:::o;19549:121::-;19607:9;19640:24;19658:5;19640:24;:::i;:::-;19627:37;;19617:53;;;:::o;19676:307::-;19744:1;19754:113;19768:6;19765:1;19762:13;19754:113;;;19853:1;19848:3;19844:11;19838:18;19834:1;19829:3;19825:11;19818:39;19790:2;19787:1;19783:10;19778:15;;19754:113;;;19885:6;19882:1;19879:13;19876:2;;;19965:1;19956:6;19951:3;19947:16;19940:27;19876:2;19725:258;;;;:::o;19989:180::-;20037:77;20034:1;20027:88;20134:4;20131:1;20124:15;20158:4;20155:1;20148:15;20175:180;20223:77;20220:1;20213:88;20320:4;20317:1;20310:15;20344:4;20341:1;20334:15;20361:102;20402:6;20453:2;20449:7;20444:2;20437:5;20433:14;20429:28;20419:38;;20409:54;;;:::o;20469:222::-;20609:34;20605:1;20597:6;20593:14;20586:58;20678:5;20673:2;20665:6;20661:15;20654:30;20575:116;:::o;20697:229::-;20837:34;20833:1;20825:6;20821:14;20814:58;20906:12;20901:2;20893:6;20889:15;20882:37;20803:123;:::o;20932:221::-;21072:34;21068:1;21060:6;21056:14;21049:58;21141:4;21136:2;21128:6;21124:15;21117:29;21038:115;:::o;21159:177::-;21299:29;21295:1;21287:6;21283:14;21276:53;21265:71;:::o;21342:220::-;21482:34;21478:1;21470:6;21466:14;21459:58;21551:3;21546:2;21538:6;21534:15;21527:28;21448:114;:::o;21568:182::-;21708:34;21704:1;21696:6;21692:14;21685:58;21674:76;:::o;21756:228::-;21896:34;21892:1;21884:6;21880:14;21873:58;21965:11;21960:2;21952:6;21948:15;21941:36;21862:122;:::o;21990:224::-;22130:34;22126:1;22118:6;22114:14;22107:58;22199:7;22194:2;22186:6;22182:15;22175:32;22096:118;:::o;22220:223::-;22360:34;22356:1;22348:6;22344:14;22337:58;22429:6;22424:2;22416:6;22412:15;22405:31;22326:117;:::o;22449:173::-;22589:25;22585:1;22577:6;22573:14;22566:49;22555:67;:::o;22628:122::-;22701:24;22719:5;22701:24;:::i;:::-;22694:5;22691:35;22681:2;;22740:1;22737;22730:12;22681:2;22671:79;:::o;22756:116::-;22826:21;22841:5;22826:21;:::i;:::-;22819:5;22816:32;22806:2;;22862:1;22859;22852:12;22806:2;22796:76;:::o;22878:122::-;22951:24;22969:5;22951:24;:::i;:::-;22944:5;22941:35;22931:2;;22990:1;22987;22980:12;22931:2;22921:79;:::o

Swarm Source

ipfs://05aa9aaee6917dd4540788cd7c1c2fc1b76d314d97df1f2eb67f3d5d25a078c9

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.