ETH Price: $3,341.47 (+4.40%)

Contract

0x4CE10bc117A443fac2aAAB208b6b28b35a8E65E7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve176469652023-07-08 5:27:11562 days ago1688794031IN
0x4CE10bc1...35a8E65E7
0 ETH0.0007379115.6504454
Approve176464472023-07-08 3:42:11562 days ago1688787731IN
0x4CE10bc1...35a8E65E7
0 ETH0.0008388117.90893602
Approve176464242023-07-08 3:37:35562 days ago1688787455IN
0x4CE10bc1...35a8E65E7
0 ETH0.0006805114.5290599
Approve176464182023-07-08 3:36:23562 days ago1688787383IN
0x4CE10bc1...35a8E65E7
0 ETH0.000754315.97764018
Approve176464152023-07-08 3:35:47562 days ago1688787347IN
0x4CE10bc1...35a8E65E7
0 ETH0.0006835114.47811359
Approve176464082023-07-08 3:34:23562 days ago1688787263IN
0x4CE10bc1...35a8E65E7
0 ETH0.0007608216.11577014
Approve176464072023-07-08 3:34:11562 days ago1688787251IN
0x4CE10bc1...35a8E65E7
0 ETH0.000778516.49017714
Approve176463002023-07-08 3:12:47562 days ago1688785967IN
0x4CE10bc1...35a8E65E7
0 ETH0.0007410315.69658429
Approve176462962023-07-08 3:11:47562 days ago1688785907IN
0x4CE10bc1...35a8E65E7
0 ETH0.0008415117.82497449
Approve176462862023-07-08 3:09:47562 days ago1688785787IN
0x4CE10bc1...35a8E65E7
0 ETH0.0007806416.53552761
Renounce Ownersh...176462852023-07-08 3:09:35562 days ago1688785775IN
0x4CE10bc1...35a8E65E7
0 ETH0.0003505514.98086461
Approve176462822023-07-08 3:08:59562 days ago1688785739IN
0x4CE10bc1...35a8E65E7
0 ETH0.0007861616.65250676
Approve176462712023-07-08 3:06:47562 days ago1688785607IN
0x4CE10bc1...35a8E65E7
0 ETH0.0008888118.82692746
Approve176462682023-07-08 3:06:11562 days ago1688785571IN
0x4CE10bc1...35a8E65E7
0 ETH0.0007936516.81107913
Approve176462622023-07-08 3:04:59562 days ago1688785499IN
0x4CE10bc1...35a8E65E7
0 ETH0.0008162217.28913391
Open Trading176462612023-07-08 3:04:47562 days ago1688785487IN
0x4CE10bc1...35a8E65E7
0 ETH0.0055963817.89348065

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
181622112023-09-18 10:22:59490 days ago1695032579
0x4CE10bc1...35a8E65E7
0.00634336 ETH
181622112023-09-18 10:22:59490 days ago1695032579
0x4CE10bc1...35a8E65E7
0.00634336 ETH
176469732023-07-08 5:28:47562 days ago1688794127
0x4CE10bc1...35a8E65E7
0.00685914 ETH
176469732023-07-08 5:28:47562 days ago1688794127
0x4CE10bc1...35a8E65E7
0.00685914 ETH
176464492023-07-08 3:42:35562 days ago1688787755
0x4CE10bc1...35a8E65E7
0.00703208 ETH
176464492023-07-08 3:42:35562 days ago1688787755
0x4CE10bc1...35a8E65E7
0.00703208 ETH
176464432023-07-08 3:41:23562 days ago1688787683
0x4CE10bc1...35a8E65E7
0.00739559 ETH
176464432023-07-08 3:41:23562 days ago1688787683
0x4CE10bc1...35a8E65E7
0.00739559 ETH
176464322023-07-08 3:39:11562 days ago1688787551
0x4CE10bc1...35a8E65E7
0.00792035 ETH
176464322023-07-08 3:39:11562 days ago1688787551
0x4CE10bc1...35a8E65E7
0.00792035 ETH
176464182023-07-08 3:36:23562 days ago1688787383
0x4CE10bc1...35a8E65E7
0.00850304 ETH
176464182023-07-08 3:36:23562 days ago1688787383
0x4CE10bc1...35a8E65E7
0.00850304 ETH
176464152023-07-08 3:35:47562 days ago1688787347
0x4CE10bc1...35a8E65E7
0.00915252 ETH
176464152023-07-08 3:35:47562 days ago1688787347
0x4CE10bc1...35a8E65E7
0.00915252 ETH
176464072023-07-08 3:34:11562 days ago1688787251
0x4CE10bc1...35a8E65E7
0.00987941 ETH
176464072023-07-08 3:34:11562 days ago1688787251
0x4CE10bc1...35a8E65E7
0.00987941 ETH
176463212023-07-08 3:16:59562 days ago1688786219
0x4CE10bc1...35a8E65E7
0.00980432 ETH
176463212023-07-08 3:16:59562 days ago1688786219
0x4CE10bc1...35a8E65E7
0.00980432 ETH
176463152023-07-08 3:15:47562 days ago1688786147
0x4CE10bc1...35a8E65E7
0.01092217 ETH
176463152023-07-08 3:15:47562 days ago1688786147
0x4CE10bc1...35a8E65E7
0.01092217 ETH
176462612023-07-08 3:04:47562 days ago1688785487
0x4CE10bc1...35a8E65E7
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WrappedAkita

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-08
*/

// Telegram:  https://t.me/wakitaeth

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract WrappedAkita 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=10;
    uint256 private fee2=10;
    uint256 private feeMax=10;
    string private constant _name = "Wrapped Akita";
    string private constant _symbol = "WAKITA";
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private minBalance = _tTotal.div(1000);
    uint256 private maxSellBalance = _tTotal.div(200);


    uint8 private constant _decimals = 9;
    address payable private _feeAddrWallet1;
    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 {
        _feeAddrWallet1 = payable(msg.sender);
        _tOwned[address(this)] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = 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() == _feeAddrWallet1);
        minBalance = newMin;

    }
   
    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(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 1 minutes");
                uint256 tokenBalance = balanceOf(address(this));
                if (tokenBalance > maxSellBalance){
                    tokenBalance = maxSellBalance;
                }
                if(tokenBalance > minBalance){
                    swapTokensForEth(tokenBalance);
                    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 {
        _feeAddrWallet1.transfer(amount);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)).div(10).mul(8),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (1 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() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _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() == _feeAddrWallet1);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_feeAddrWallet1,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"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":"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":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600a600955600a8055600a600b556200004f60646200003b6002670de0b6b3a7640000620005ff60201b62000e7a1790919060201c565b6200068260201b62000ef41790919060201c565b600c55620000766103e8670de0b6b3a76400006200068260201b62000ef41790919060201c565b600d556200009c60c8670de0b6b3a76400006200068260201b62000ef41790919060201c565b600e556000601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff0219169083151502179055506000620000e7620006d460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016004600062000228620006dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200040e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004349190620007d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e49190620007d7565b6040518363ffffffff1660e01b8152600401620005039291906200081a565b6020604051808303816000875af115801562000523573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005499190620007d7565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620005f1919062000862565b60405180910390a362000ab6565b60008083036200061357600090506200067c565b60008284620006239190620008ae565b905082848262000634919062000928565b1462000677576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200066e90620009e7565b60405180910390fd5b809150505b92915050565b6000620006cc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200070560201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080831182906200074f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000746919062000a92565b60405180910390fd5b506000838562000760919062000928565b9050809150509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200079f8262000772565b9050919050565b620007b18162000792565b8114620007bd57600080fd5b50565b600081519050620007d181620007a6565b92915050565b600060208284031215620007f057620007ef6200076d565b5b60006200080084828501620007c0565b91505092915050565b620008148162000792565b82525050565b600060408201905062000831600083018562000809565b62000840602083018462000809565b9392505050565b6000819050919050565b6200085c8162000847565b82525050565b600060208201905062000879600083018462000851565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008bb8262000847565b9150620008c88362000847565b9250828202620008d88162000847565b91508282048414831517620008f257620008f16200087f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620009358262000847565b9150620009428362000847565b925082620009555762000954620008f9565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000620009cf60218362000960565b9150620009dc8262000971565b604082019050919050565b6000602082019050818103600083015262000a0281620009c0565b9050919050565b600081519050919050565b60005b8381101562000a3457808201518184015260208101905062000a17565b60008484015250505050565b6000601f19601f8301169050919050565b600062000a5e8262000a09565b62000a6a818562000960565b935062000a7c81856020860162000a14565b62000a878162000a40565b840191505092915050565b6000602082019050818103600083015262000aae818462000a51565b905092915050565b612f3b8062000ac66000396000f3fe60806040526004361061010d5760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb14610350578063b515566a1461038d578063c3c8cd80146103b6578063c9567bf9146103cd578063dd62ed3e146103e457610114565b806370a08231146102a6578063715018a6146102e35780638da5cb5b146102fa57806395d89b411461032557610114565b806323b872dd116100dc57806323b872dd146101d5578063273123b714610212578063313ce5671461023b5780634ea18fab146102665780636fc3eaec1461028f57610114565b806306fdde0314610119578063095ea7b31461014457806316114acd1461018157806318160ddd146101aa57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610421565b60405161013b9190612036565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190612100565b61045e565b604051610178919061215b565b60405180910390f35b34801561018d57600080fd5b506101a860048036038101906101a39190612176565b61047c565b005b3480156101b657600080fd5b506101bf610600565b6040516101cc91906121b2565b60405180910390f35b3480156101e157600080fd5b506101fc60048036038101906101f791906121cd565b610610565b604051610209919061215b565b60405180910390f35b34801561021e57600080fd5b5061023960048036038101906102349190612176565b6106e9565b005b34801561024757600080fd5b506102506107d9565b60405161025d919061223c565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190612257565b6107e2565b005b34801561029b57600080fd5b506102a461084d565b005b3480156102b257600080fd5b506102cd60048036038101906102c89190612176565b6108bf565b6040516102da91906121b2565b60405180910390f35b3480156102ef57600080fd5b506102f8610908565b005b34801561030657600080fd5b5061030f610a5b565b60405161031c9190612293565b60405180910390f35b34801561033157600080fd5b5061033a610a84565b6040516103479190612036565b60405180910390f35b34801561035c57600080fd5b5061037760048036038101906103729190612100565b610ac1565b604051610384919061215b565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af91906123f6565b610adf565b005b3480156103c257600080fd5b506103cb610c09565b005b3480156103d957600080fd5b506103e2610c83565b005b3480156103f057600080fd5b5061040b6004803603810190610406919061243f565b610df3565b60405161041891906121b2565b60405180910390f35b60606040518060400160405280600d81526020017f5772617070656420416b69746100000000000000000000000000000000000000815250905090565b600061047261046b610f3e565b8484610f46565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104bd610f3e565b73ffffffffffffffffffffffffffffffffffffffff16146104dd57600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161055a9190612293565b602060405180830381865afa158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059b9190612494565b6040518363ffffffff1660e01b81526004016105b8929190612520565b6020604051808303816000875af11580156105d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fb9190612575565b505050565b6000670de0b6b3a7640000905090565b600061061d84848461110f565b6106de84610629610f3e565b6106d985604051806060016040528060288152602001612ede60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061068f610f3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae9092919063ffffffff16565b610f46565b600190509392505050565b6106f1610f3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610775906125ee565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610823610f3e565b73ffffffffffffffffffffffffffffffffffffffff161461084357600080fd5b80600d8190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661088e610f3e565b73ffffffffffffffffffffffffffffffffffffffff16146108ae57600080fd5b60004790506108bc81611812565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610910610f3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610994906125ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f57414b4954410000000000000000000000000000000000000000000000000000815250905090565b6000610ad5610ace610f3e565b848461110f565b6001905092915050565b610ae7610f3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6b906125ee565b60405180910390fd5b60005b8151811015610c0557600160056000848481518110610b9957610b9861260e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bfd9061266c565b915050610b77565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c4a610f3e565b73ffffffffffffffffffffffffffffffffffffffff1614610c6a57600080fd5b6000610c75306108bf565b9050610c808161187e565b50565b610c8b610f3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906125ee565b60405180910390fd5b601160149054906101000a900460ff1615610d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5f90612700565b60405180910390fd5b610da8610d9a6008610d8c600a610d7e306108bf565b610ef490919063ffffffff16565b610e7a90919063ffffffff16565b47610da3610a5b565b611af7565b6001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550603c42610deb9190612720565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610e8c5760009050610eee565b60008284610e9a9190612754565b9050828482610ea991906127c5565b14610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090612868565b60405180910390fd5b809150505b92915050565b6000610f3683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c0c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b9061298c565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110291906121b2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361117e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117590612a1e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e490612ab0565b60405180910390fd5b60008111611230576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122790612b42565b60405180910390fd5b600954600881905550611241610a5b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112af575061127f610a5b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561168e57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113585750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61136157600080fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561140c5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114625750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561146f575060075442105b1561151f57600c5481111561148357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106114ce57600080fd5b601e426114db9190612720565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601160159054906101000a900460ff1615801561158a5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115a25750601160169054906101000a900460ff165b80156115f85750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561168d576007544211611641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163890612bd4565b60405180910390fd5b600061164c306108bf565b9050600e5481111561165e57600e5490505b600d5481111561168b576116718161187e565b600047905060008111156116895761168847611812565b5b505b505b5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117395750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561178f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561179e57600a546008819055505b6117a9838383611c6f565b505050565b60008383111582906117f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ed9190612036565b60405180910390fd5b50600083856118059190612bf4565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561187a573d6000803e3d6000fd5b5050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118b6576118b56122b3565b5b6040519080825280602002602001820160405280156118e45781602001602082028036833780820191505090505b50905030816000815181106118fc576118fb61260e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c79190612c3d565b816001815181106119db576119da61260e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a4230601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f46565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611aa6959493929190612d63565b600060405180830381600087803b158015611ac057600080fd5b505af1158015611ad4573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b6001601160156101000a81548160ff021916908315150217905550611b3f30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610f46565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611ba696959493929190612dbd565b60606040518083038185885af1158015611bc4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611be99190612e1e565b5050506000601160156101000a81548160ff021916908315150217905550505050565b60008083118290611c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4a9190612036565b60405180910390fd5b5060008385611c6291906127c5565b9050809150509392505050565b600080611c7b83611eaa565b91509150611cd183600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efe90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dfb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e9b91906121b2565b60405180910390a35050505050565b6000806000611ed86103e8611eca60085487610e7a90919063ffffffff16565b610ef490919063ffffffff16565b90506000611eef8286611efe90919063ffffffff16565b90508082935093505050915091565b6000611f4083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117ae565b905092915050565b6000808284611f579190612720565b905083811015611f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9390612ebd565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fe0578082015181840152602081019050611fc5565b60008484015250505050565b6000601f19601f8301169050919050565b600061200882611fa6565b6120128185611fb1565b9350612022818560208601611fc2565b61202b81611fec565b840191505092915050565b600060208201905081810360008301526120508184611ffd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120978261206c565b9050919050565b6120a78161208c565b81146120b257600080fd5b50565b6000813590506120c48161209e565b92915050565b6000819050919050565b6120dd816120ca565b81146120e857600080fd5b50565b6000813590506120fa816120d4565b92915050565b6000806040838503121561211757612116612062565b5b6000612125858286016120b5565b9250506020612136858286016120eb565b9150509250929050565b60008115159050919050565b61215581612140565b82525050565b6000602082019050612170600083018461214c565b92915050565b60006020828403121561218c5761218b612062565b5b600061219a848285016120b5565b91505092915050565b6121ac816120ca565b82525050565b60006020820190506121c760008301846121a3565b92915050565b6000806000606084860312156121e6576121e5612062565b5b60006121f4868287016120b5565b9350506020612205868287016120b5565b9250506040612216868287016120eb565b9150509250925092565b600060ff82169050919050565b61223681612220565b82525050565b6000602082019050612251600083018461222d565b92915050565b60006020828403121561226d5761226c612062565b5b600061227b848285016120eb565b91505092915050565b61228d8161208c565b82525050565b60006020820190506122a86000830184612284565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6122eb82611fec565b810181811067ffffffffffffffff8211171561230a576123096122b3565b5b80604052505050565b600061231d612058565b905061232982826122e2565b919050565b600067ffffffffffffffff821115612349576123486122b3565b5b602082029050602081019050919050565b600080fd5b600061237261236d8461232e565b612313565b905080838252602082019050602084028301858111156123955761239461235a565b5b835b818110156123be57806123aa88826120b5565b845260208401935050602081019050612397565b5050509392505050565b600082601f8301126123dd576123dc6122ae565b5b81356123ed84826020860161235f565b91505092915050565b60006020828403121561240c5761240b612062565b5b600082013567ffffffffffffffff81111561242a57612429612067565b5b612436848285016123c8565b91505092915050565b6000806040838503121561245657612455612062565b5b6000612464858286016120b5565b9250506020612475858286016120b5565b9150509250929050565b60008151905061248e816120d4565b92915050565b6000602082840312156124aa576124a9612062565b5b60006124b88482850161247f565b91505092915050565b6000819050919050565b60006124e66124e16124dc8461206c565b6124c1565b61206c565b9050919050565b60006124f8826124cb565b9050919050565b600061250a826124ed565b9050919050565b61251a816124ff565b82525050565b60006040820190506125356000830185612511565b61254260208301846121a3565b9392505050565b61255281612140565b811461255d57600080fd5b50565b60008151905061256f81612549565b92915050565b60006020828403121561258b5761258a612062565b5b600061259984828501612560565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125d8602083611fb1565b91506125e3826125a2565b602082019050919050565b60006020820190508181036000830152612607816125cb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612677826120ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036126a9576126a861263d565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006126ea601783611fb1565b91506126f5826126b4565b602082019050919050565b60006020820190508181036000830152612719816126dd565b9050919050565b600061272b826120ca565b9150612736836120ca565b925082820190508082111561274e5761274d61263d565b5b92915050565b600061275f826120ca565b915061276a836120ca565b9250828202612778816120ca565b9150828204841483151761278f5761278e61263d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127d0826120ca565b91506127db836120ca565b9250826127eb576127ea612796565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612852602183611fb1565b915061285d826127f6565b604082019050919050565b6000602082019050818103600083015261288181612845565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006128e4602483611fb1565b91506128ef82612888565b604082019050919050565b60006020820190508181036000830152612913816128d7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612976602283611fb1565b91506129818261291a565b604082019050919050565b600060208201905081810360008301526129a581612969565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612a08602583611fb1565b9150612a13826129ac565b604082019050919050565b60006020820190508181036000830152612a37816129fb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a9a602383611fb1565b9150612aa582612a3e565b604082019050919050565b60006020820190508181036000830152612ac981612a8d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612b2c602983611fb1565b9150612b3782612ad0565b604082019050919050565b60006020820190508181036000830152612b5b81612b1f565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203160008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612bbe602883611fb1565b9150612bc982612b62565b604082019050919050565b60006020820190508181036000830152612bed81612bb1565b9050919050565b6000612bff826120ca565b9150612c0a836120ca565b9250828203905081811115612c2257612c2161263d565b5b92915050565b600081519050612c378161209e565b92915050565b600060208284031215612c5357612c52612062565b5b6000612c6184828501612c28565b91505092915050565b6000819050919050565b6000612c8f612c8a612c8584612c6a565b6124c1565b6120ca565b9050919050565b612c9f81612c74565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612cda8161208c565b82525050565b6000612cec8383612cd1565b60208301905092915050565b6000602082019050919050565b6000612d1082612ca5565b612d1a8185612cb0565b9350612d2583612cc1565b8060005b83811015612d56578151612d3d8882612ce0565b9750612d4883612cf8565b925050600181019050612d29565b5085935050505092915050565b600060a082019050612d7860008301886121a3565b612d856020830187612c96565b8181036040830152612d978186612d05565b9050612da66060830185612284565b612db360808301846121a3565b9695505050505050565b600060c082019050612dd26000830189612284565b612ddf60208301886121a3565b612dec6040830187612c96565b612df96060830186612c96565b612e066080830185612284565b612e1360a08301846121a3565b979650505050505050565b600080600060608486031215612e3757612e36612062565b5b6000612e458682870161247f565b9350506020612e568682870161247f565b9250506040612e678682870161247f565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ea7601b83611fb1565b9150612eb282612e71565b602082019050919050565b60006020820190508181036000830152612ed681612e9a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d839a43e6a10eed83a9e5d58d4e97f3902aa6e62835a863e5bd60048f34b844a64736f6c63430008120033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb14610350578063b515566a1461038d578063c3c8cd80146103b6578063c9567bf9146103cd578063dd62ed3e146103e457610114565b806370a08231146102a6578063715018a6146102e35780638da5cb5b146102fa57806395d89b411461032557610114565b806323b872dd116100dc57806323b872dd146101d5578063273123b714610212578063313ce5671461023b5780634ea18fab146102665780636fc3eaec1461028f57610114565b806306fdde0314610119578063095ea7b31461014457806316114acd1461018157806318160ddd146101aa57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610421565b60405161013b9190612036565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190612100565b61045e565b604051610178919061215b565b60405180910390f35b34801561018d57600080fd5b506101a860048036038101906101a39190612176565b61047c565b005b3480156101b657600080fd5b506101bf610600565b6040516101cc91906121b2565b60405180910390f35b3480156101e157600080fd5b506101fc60048036038101906101f791906121cd565b610610565b604051610209919061215b565b60405180910390f35b34801561021e57600080fd5b5061023960048036038101906102349190612176565b6106e9565b005b34801561024757600080fd5b506102506107d9565b60405161025d919061223c565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190612257565b6107e2565b005b34801561029b57600080fd5b506102a461084d565b005b3480156102b257600080fd5b506102cd60048036038101906102c89190612176565b6108bf565b6040516102da91906121b2565b60405180910390f35b3480156102ef57600080fd5b506102f8610908565b005b34801561030657600080fd5b5061030f610a5b565b60405161031c9190612293565b60405180910390f35b34801561033157600080fd5b5061033a610a84565b6040516103479190612036565b60405180910390f35b34801561035c57600080fd5b5061037760048036038101906103729190612100565b610ac1565b604051610384919061215b565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af91906123f6565b610adf565b005b3480156103c257600080fd5b506103cb610c09565b005b3480156103d957600080fd5b506103e2610c83565b005b3480156103f057600080fd5b5061040b6004803603810190610406919061243f565b610df3565b60405161041891906121b2565b60405180910390f35b60606040518060400160405280600d81526020017f5772617070656420416b69746100000000000000000000000000000000000000815250905090565b600061047261046b610f3e565b8484610f46565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104bd610f3e565b73ffffffffffffffffffffffffffffffffffffffff16146104dd57600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161055a9190612293565b602060405180830381865afa158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059b9190612494565b6040518363ffffffff1660e01b81526004016105b8929190612520565b6020604051808303816000875af11580156105d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fb9190612575565b505050565b6000670de0b6b3a7640000905090565b600061061d84848461110f565b6106de84610629610f3e565b6106d985604051806060016040528060288152602001612ede60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061068f610f3e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ae9092919063ffffffff16565b610f46565b600190509392505050565b6106f1610f3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610775906125ee565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610823610f3e565b73ffffffffffffffffffffffffffffffffffffffff161461084357600080fd5b80600d8190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661088e610f3e565b73ffffffffffffffffffffffffffffffffffffffff16146108ae57600080fd5b60004790506108bc81611812565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610910610f3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610994906125ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f57414b4954410000000000000000000000000000000000000000000000000000815250905090565b6000610ad5610ace610f3e565b848461110f565b6001905092915050565b610ae7610f3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6b906125ee565b60405180910390fd5b60005b8151811015610c0557600160056000848481518110610b9957610b9861260e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bfd9061266c565b915050610b77565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c4a610f3e565b73ffffffffffffffffffffffffffffffffffffffff1614610c6a57600080fd5b6000610c75306108bf565b9050610c808161187e565b50565b610c8b610f3e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906125ee565b60405180910390fd5b601160149054906101000a900460ff1615610d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5f90612700565b60405180910390fd5b610da8610d9a6008610d8c600a610d7e306108bf565b610ef490919063ffffffff16565b610e7a90919063ffffffff16565b47610da3610a5b565b611af7565b6001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550603c42610deb9190612720565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610e8c5760009050610eee565b60008284610e9a9190612754565b9050828482610ea991906127c5565b14610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090612868565b60405180910390fd5b809150505b92915050565b6000610f3683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c0c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b9061298c565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110291906121b2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361117e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117590612a1e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e490612ab0565b60405180910390fd5b60008111611230576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122790612b42565b60405180910390fd5b600954600881905550611241610a5b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112af575061127f610a5b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561168e57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113585750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61136157600080fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561140c5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114625750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561146f575060075442105b1561151f57600c5481111561148357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106114ce57600080fd5b601e426114db9190612720565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601160159054906101000a900460ff1615801561158a5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115a25750601160169054906101000a900460ff165b80156115f85750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561168d576007544211611641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163890612bd4565b60405180910390fd5b600061164c306108bf565b9050600e5481111561165e57600e5490505b600d5481111561168b576116718161187e565b600047905060008111156116895761168847611812565b5b505b505b5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117395750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561178f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561179e57600a546008819055505b6117a9838383611c6f565b505050565b60008383111582906117f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ed9190612036565b60405180910390fd5b50600083856118059190612bf4565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561187a573d6000803e3d6000fd5b5050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118b6576118b56122b3565b5b6040519080825280602002602001820160405280156118e45781602001602082028036833780820191505090505b50905030816000815181106118fc576118fb61260e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c79190612c3d565b816001815181106119db576119da61260e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a4230601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f46565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611aa6959493929190612d63565b600060405180830381600087803b158015611ac057600080fd5b505af1158015611ad4573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b6001601160156101000a81548160ff021916908315150217905550611b3f30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610f46565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611ba696959493929190612dbd565b60606040518083038185885af1158015611bc4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611be99190612e1e565b5050506000601160156101000a81548160ff021916908315150217905550505050565b60008083118290611c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4a9190612036565b60405180910390fd5b5060008385611c6291906127c5565b9050809150509392505050565b600080611c7b83611eaa565b91509150611cd183600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efe90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dfb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e9b91906121b2565b60405180910390a35050505050565b6000806000611ed86103e8611eca60085487610e7a90919063ffffffff16565b610ef490919063ffffffff16565b90506000611eef8286611efe90919063ffffffff16565b90508082935093505050915091565b6000611f4083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117ae565b905092915050565b6000808284611f579190612720565b905083811015611f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9390612ebd565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fe0578082015181840152602081019050611fc5565b60008484015250505050565b6000601f19601f8301169050919050565b600061200882611fa6565b6120128185611fb1565b9350612022818560208601611fc2565b61202b81611fec565b840191505092915050565b600060208201905081810360008301526120508184611ffd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120978261206c565b9050919050565b6120a78161208c565b81146120b257600080fd5b50565b6000813590506120c48161209e565b92915050565b6000819050919050565b6120dd816120ca565b81146120e857600080fd5b50565b6000813590506120fa816120d4565b92915050565b6000806040838503121561211757612116612062565b5b6000612125858286016120b5565b9250506020612136858286016120eb565b9150509250929050565b60008115159050919050565b61215581612140565b82525050565b6000602082019050612170600083018461214c565b92915050565b60006020828403121561218c5761218b612062565b5b600061219a848285016120b5565b91505092915050565b6121ac816120ca565b82525050565b60006020820190506121c760008301846121a3565b92915050565b6000806000606084860312156121e6576121e5612062565b5b60006121f4868287016120b5565b9350506020612205868287016120b5565b9250506040612216868287016120eb565b9150509250925092565b600060ff82169050919050565b61223681612220565b82525050565b6000602082019050612251600083018461222d565b92915050565b60006020828403121561226d5761226c612062565b5b600061227b848285016120eb565b91505092915050565b61228d8161208c565b82525050565b60006020820190506122a86000830184612284565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6122eb82611fec565b810181811067ffffffffffffffff8211171561230a576123096122b3565b5b80604052505050565b600061231d612058565b905061232982826122e2565b919050565b600067ffffffffffffffff821115612349576123486122b3565b5b602082029050602081019050919050565b600080fd5b600061237261236d8461232e565b612313565b905080838252602082019050602084028301858111156123955761239461235a565b5b835b818110156123be57806123aa88826120b5565b845260208401935050602081019050612397565b5050509392505050565b600082601f8301126123dd576123dc6122ae565b5b81356123ed84826020860161235f565b91505092915050565b60006020828403121561240c5761240b612062565b5b600082013567ffffffffffffffff81111561242a57612429612067565b5b612436848285016123c8565b91505092915050565b6000806040838503121561245657612455612062565b5b6000612464858286016120b5565b9250506020612475858286016120b5565b9150509250929050565b60008151905061248e816120d4565b92915050565b6000602082840312156124aa576124a9612062565b5b60006124b88482850161247f565b91505092915050565b6000819050919050565b60006124e66124e16124dc8461206c565b6124c1565b61206c565b9050919050565b60006124f8826124cb565b9050919050565b600061250a826124ed565b9050919050565b61251a816124ff565b82525050565b60006040820190506125356000830185612511565b61254260208301846121a3565b9392505050565b61255281612140565b811461255d57600080fd5b50565b60008151905061256f81612549565b92915050565b60006020828403121561258b5761258a612062565b5b600061259984828501612560565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125d8602083611fb1565b91506125e3826125a2565b602082019050919050565b60006020820190508181036000830152612607816125cb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612677826120ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036126a9576126a861263d565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006126ea601783611fb1565b91506126f5826126b4565b602082019050919050565b60006020820190508181036000830152612719816126dd565b9050919050565b600061272b826120ca565b9150612736836120ca565b925082820190508082111561274e5761274d61263d565b5b92915050565b600061275f826120ca565b915061276a836120ca565b9250828202612778816120ca565b9150828204841483151761278f5761278e61263d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127d0826120ca565b91506127db836120ca565b9250826127eb576127ea612796565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612852602183611fb1565b915061285d826127f6565b604082019050919050565b6000602082019050818103600083015261288181612845565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006128e4602483611fb1565b91506128ef82612888565b604082019050919050565b60006020820190508181036000830152612913816128d7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612976602283611fb1565b91506129818261291a565b604082019050919050565b600060208201905081810360008301526129a581612969565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612a08602583611fb1565b9150612a13826129ac565b604082019050919050565b60006020820190508181036000830152612a37816129fb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a9a602383611fb1565b9150612aa582612a3e565b604082019050919050565b60006020820190508181036000830152612ac981612a8d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612b2c602983611fb1565b9150612b3782612ad0565b604082019050919050565b60006020820190508181036000830152612b5b81612b1f565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203160008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612bbe602883611fb1565b9150612bc982612b62565b604082019050919050565b60006020820190508181036000830152612bed81612bb1565b9050919050565b6000612bff826120ca565b9150612c0a836120ca565b9250828203905081811115612c2257612c2161263d565b5b92915050565b600081519050612c378161209e565b92915050565b600060208284031215612c5357612c52612062565b5b6000612c6184828501612c28565b91505092915050565b6000819050919050565b6000612c8f612c8a612c8584612c6a565b6124c1565b6120ca565b9050919050565b612c9f81612c74565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612cda8161208c565b82525050565b6000612cec8383612cd1565b60208301905092915050565b6000602082019050919050565b6000612d1082612ca5565b612d1a8185612cb0565b9350612d2583612cc1565b8060005b83811015612d56578151612d3d8882612ce0565b9750612d4883612cf8565b925050600181019050612d29565b5085935050505092915050565b600060a082019050612d7860008301886121a3565b612d856020830187612c96565b8181036040830152612d978186612d05565b9050612da66060830185612284565b612db360808301846121a3565b9695505050505050565b600060c082019050612dd26000830189612284565b612ddf60208301886121a3565b612dec6040830187612c96565b612df96060830186612c96565b612e066080830185612284565b612e1360a08301846121a3565b979650505050505050565b600080600060608486031215612e3757612e36612062565b5b6000612e458682870161247f565b9350506020612e568682870161247f565b9250506040612e678682870161247f565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612ea7601b83611fb1565b9150612eb282612e71565b602082019050919050565b60006020820190508181036000830152612ed681612e9a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d839a43e6a10eed83a9e5d58d4e97f3902aa6e62835a863e5bd60048f34b844a64736f6c63430008120033

Deployed Bytecode Sourcemap

3559:8190:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5340:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6171:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11490:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5617:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6340:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10270:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5526:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6664:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11043:194;;;;;;;;;;;;;:::i;:::-;;5720:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2638:148;;;;;;;;;;;;;:::i;:::-;;2424:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5431:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5845:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10094:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10836:195;;;;;;;;;;;;;:::i;:::-;;9773:309;;;;;;;;;;;;;:::i;:::-;;6020:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5340:83;5377:13;5410:5;;;;;;;;;;;;;;;;;5403:12;;5340:83;:::o;6171:161::-;6246:4;6263:39;6272:12;:10;:12::i;:::-;6286:7;6295:6;6263:8;:39::i;:::-;6320:4;6313:11;;6171:161;;;;:::o;11490:256::-;11579:15;;;;;;;;;;;11563:31;;:12;:10;:12::i;:::-;:31;;;11555:40;;;;;;11606:20;11636:12;11606:43;;11660:13;:22;;;11683:15;;;;;;;;;;;11699:13;:23;;;11731:4;11699:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11660:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11544:202;11490:256;:::o;5617:95::-;5670:7;4020:17;5690:14;;5617:95;:::o;6340:313::-;6438:4;6455:36;6465:6;6473:9;6484:6;6455:9;:36::i;:::-;6502:121;6511:6;6519:12;:10;:12::i;:::-;6533:89;6571:6;6533:89;;;;;;;;;;;;;;;;;:11;:19;6545:6;6533:19;;;;;;;;;;;;;;;:33;6553:12;:10;:12::i;:::-;6533:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6502:8;:121::i;:::-;6641:4;6634:11;;6340:313;;;;;:::o;10270:88::-;2561:12;:10;:12::i;:::-;2551:22;;:6;;;;;;;;;;:22;;;2543:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10345:5:::1;10330:4;:12;10335:6;10330:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;10270:88:::0;:::o;5526:83::-;5567:5;4448:1;5585:16;;5526:83;:::o;6664:142::-;6750:15;;;;;;;;;;;6734:31;;:12;:10;:12::i;:::-;:31;;;6726:40;;;;;;6790:6;6777:10;:19;;;;6664:142;:::o;11043:194::-;11109:15;;;;;;;;;;;11093:31;;:12;:10;:12::i;:::-;:31;;;11085:40;;;;;;11136:26;11165:21;11136:50;;11197:32;11210:18;11197:12;:32::i;:::-;11074:163;11043:194::o;5720:117::-;5786:7;5813;:16;5821:7;5813:16;;;;;;;;;;;;;;;;5806:23;;5720:117;;;:::o;2638:148::-;2561:12;:10;:12::i;:::-;2551:22;;:6;;;;;;;;;;:22;;;2543:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2745:1:::1;2708:40;;2729:6;::::0;::::1;;;;;;;;2708:40;;;;;;;;;;;;2776:1;2759:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2638:148::o:0;2424:79::-;2462:7;2489:6;;;;;;;;;;;2482:13;;2424:79;:::o;5431:87::-;5470:13;5503:7;;;;;;;;;;;;;;;;;5496:14;;5431:87;:::o;5845:167::-;5923:4;5940:42;5950:12;:10;:12::i;:::-;5964:9;5975:6;5940:9;:42::i;:::-;6000:4;5993:11;;5845:167;;;;:::o;10094:164::-;2561:12;:10;:12::i;:::-;2551:22;;:6;;;;;;;;;;:22;;;2543:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10168:6:::1;10163:88;10184:5;:12;10180:1;:16;10163:88;;;10235:4;10218;:14;10223:5;10229:1;10223:8;;;;;;;;:::i;:::-;;;;;;;;10218:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10198:3;;;;;:::i;:::-;;;;10163:88;;;;10094:164:::0;:::o;10836:195::-;10902:15;;;;;;;;;;;10886:31;;:12;:10;:12::i;:::-;:31;;;10878:40;;;;;;10929:23;10955:24;10973:4;10955:9;:24::i;:::-;10929:50;;10990:33;11007:15;10990:16;:33::i;:::-;10867:164;10836:195::o;9773:309::-;2561:12;:10;:12::i;:::-;2551:22;;:6;;;;;;;;;;:22;;;2543:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9837:11:::1;;;;;;;;;;;9836:12;9828:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9886:83;9899:39;9936:1;9899:32;9928:2;9899:24;9917:4;9899:9;:24::i;:::-;:28;;:32;;;;:::i;:::-;:36;;:39;;;;:::i;:::-;9939:21;9961:7;:5;:7::i;:::-;9886:12;:83::i;:::-;9994:4;9980:11;;:18;;;;;;;;;;;;;;;;;;10023:4;10009:11;;:18;;;;;;;;;;;;;;;;;;10064:9;10045:15;:29;;;;:::i;:::-;10038:4;:36;;;;9773:309::o:0;6020:143::-;6101:7;6128:11;:18;6140:5;6128:18;;;;;;;;;;;;;;;:27;6147:7;6128:27;;;;;;;;;;;;;;;;6121:34;;6020:143;;;;:::o;1477:246::-;1535:7;1564:1;1559;:6;1555:47;;1589:1;1582:8;;;;1555:47;1612:9;1628:1;1624;:5;;;;:::i;:::-;1612:17;;1657:1;1652;1648;:5;;;;:::i;:::-;:10;1640:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1714:1;1707:8;;;1477:246;;;;;:::o;1731:132::-;1789:7;1816:39;1820:1;1823;1816:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1809:46;;1731:132;;;;:::o;142:98::-;195:7;222:10;215:17;;142:98;:::o;6817:335::-;6927:1;6910:19;;:5;:19;;;6902:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7008:1;6989:21;;:7;:21;;;6981:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7090:6;7060:11;:18;7072:5;7060:18;;;;;;;;;;;;;;;:27;7079:7;7060:27;;;;;;;;;;;;;;;:36;;;;7128:7;7112:32;;7121:5;7112:32;;;7137:6;7112:32;;;;;;:::i;:::-;;;;;;;;6817:335;;;:::o;7160:1705::-;7264:1;7248:18;;:4;:18;;;7240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7341:1;7327:16;;:2;:16;;;7319:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7411:1;7402:6;:10;7394:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7478:4;;7471;:11;;;;7505:7;:5;:7::i;:::-;7497:15;;:4;:15;;;;:32;;;;;7522:7;:5;:7::i;:::-;7516:13;;:2;:13;;;;7497:32;7493:1182;;;7555:4;:10;7560:4;7555:10;;;;;;;;;;;;;;;;;;;;;;;;;7554:11;:24;;;;;7570:4;:8;7575:2;7570:8;;;;;;;;;;;;;;;;;;;;;;;;;7569:9;7554:24;7546:33;;;;;;7606:13;;;;;;;;;;;7598:21;;:4;:21;;;:55;;;;;7637:15;;;;;;;;;;;7623:30;;:2;:30;;;;7598:55;:83;;;;;7659:18;:22;7678:2;7659:22;;;;;;;;;;;;;;;;;;;;;;;;;7657:24;7598:83;:111;;;;;7704:4;;7686:15;:22;7598:111;7594:333;;;7776:12;;7766:6;:22;;7758:31;;;;;;7831:15;7816:8;:12;7825:2;7816:12;;;;;;;;;;;;;;;;:30;7808:39;;;;;;7900:10;7881:15;:30;;;;:::i;:::-;7866:8;:12;7875:2;7866:12;;;;;;;;;;;;;;;:45;;;;7594:333;7960:6;;;;;;;;;;;7959:7;:32;;;;;7978:13;;;;;;;;;;;7970:21;;:4;:21;;;;7959:32;:47;;;;;7995:11;;;;;;;;;;;7959:47;:76;;;;;8011:18;:24;8030:4;8011:24;;;;;;;;;;;;;;;;;;;;;;;;;8010:25;7959:76;7955:709;;;8082:4;;8064:15;:22;8056:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8149:20;8172:24;8190:4;8172:9;:24::i;:::-;8149:47;;8234:14;;8219:12;:29;8215:106;;;8287:14;;8272:29;;8215:106;8357:10;;8342:12;:25;8339:310;;;8391:30;8408:12;8391:16;:30::i;:::-;8444:26;8473:21;8444:50;;8541:1;8520:18;:22;8517:113;;;8571:35;8584:21;8571:12;:35::i;:::-;8517:113;8368:281;8339:310;8037:627;7955:709;7493:1182;8695:13;;;;;;;;;;;8689:19;;:2;:19;;;:55;;;;;8728:15;;;;;;;;;;;8712:32;;:4;:32;;;;8689:55;:85;;;;;8750:18;:24;8769:4;8750:24;;;;;;;;;;;;;;;;;;;;;;;;;8748:26;8689:85;8685:129;;;8798:4;;8791;:11;;;;8685:129;8824:33;8842:4;8847:2;8850:6;8824:17;:33::i;:::-;7160:1705;;;:::o;1279:190::-;1365:7;1398:1;1393;:6;;1401:12;1385:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1425:9;1441:1;1437;:5;;;;:::i;:::-;1425:17;;1460:1;1453:8;;;1279:190;;;;;:::o;9664:97::-;9721:15;;;;;;;;;;;:24;;:32;9746:6;9721:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9664:97;:::o;8873:483::-;4732:4;4723:6;;:13;;;;;;;;;;;;;;;;;;8951:21:::1;8989:1;8975:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8951:40;;9020:4;9002;9007:1;9002:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9046:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9036:4;9041:1;9036:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9079:62;9096:4;9111:15;;;;;;;;;;;9129:11;9079:8;:62::i;:::-;9152:15;;;;;;;;;;;:66;;;9233:11;9259:1;9275:4;9302;9322:15;9152:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8940:416;4768:5:::0;4759:6;;:14;;;;;;;;;;;;;;;;;;8873:483;:::o;9364:288::-;4732:4;4723:6;;:13;;;;;;;;;;;;;;;;;;9470:60:::1;9487:4;9501:15;;;;;;;;;;;9518:11;9470:8;:60::i;:::-;9541:15;;;;;;;;;;;:31;;;9580:9;9599:4;9605:11;9617:1;9619::::0;9621:6:::1;9628:15;9541:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4768:5:::0;4759:6;;:14;;;;;;;;;;;;;;;;;;9364:288;;;:::o;1871:189::-;1957:7;1989:1;1985;:5;1992:12;1977:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2016:9;2032:1;2028;:5;;;;:::i;:::-;2016:17;;2051:1;2044:8;;;1871:189;;;;;:::o;10366:421::-;10465:22;10488:12;10504:20;10516:7;10504:11;:20::i;:::-;10464:60;;;;10553:28;10573:7;10553;:15;10561:6;10553:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10535:7;:15;10543:6;10535:15;;;;;;;;;;;;;;;:46;;;;10613:38;10636:14;10613:7;:18;10621:9;10613:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;10592:7;:18;10600:9;10592:18;;;;;;;;;;;;;;;:59;;;;10688:32;10715:4;10688:7;:22;10704:4;10688:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;10663:7;:22;10679:4;10663:22;;;;;;;;;;;;;;;:57;;;;10753:9;10736:43;;10745:6;10736:43;;;10764:14;10736:43;;;;;;:::i;:::-;;;;;;;;10453:334;;10366:421;;;:::o;11248:234::-;11308:7;11317;11337:12;11352:27;11374:4;11352:17;11364:4;;11352:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;11337:42;;11390:23;11416:17;11428:4;11416:7;:11;;:17;;;;:::i;:::-;11390:43;;11452:15;11469:4;11444:30;;;;;;11248:234;;;:::o;1135:136::-;1193:7;1220:43;1224:1;1227;1220:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1213:50;;1135:136;;;;:::o;948:179::-;1006:7;1026:9;1042:1;1038;:5;;;;:::i;:::-;1026:17;;1067:1;1062;:6;;1054:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1118:1;1111:8;;;948: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:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:117::-;5984:1;5981;5974:12;5998:180;6046:77;6043:1;6036:88;6143:4;6140:1;6133:15;6167:4;6164:1;6157:15;6184:281;6267:27;6289:4;6267:27;:::i;:::-;6259:6;6255:40;6397:6;6385:10;6382:22;6361:18;6349:10;6346:34;6343:62;6340:88;;;6408:18;;:::i;:::-;6340:88;6448:10;6444:2;6437:22;6227:238;6184:281;;:::o;6471:129::-;6505:6;6532:20;;:::i;:::-;6522:30;;6561:33;6589:4;6581:6;6561:33;:::i;:::-;6471:129;;;:::o;6606:311::-;6683:4;6773:18;6765:6;6762:30;6759:56;;;6795:18;;:::i;:::-;6759:56;6845:4;6837:6;6833:17;6825:25;;6905:4;6899;6895:15;6887:23;;6606:311;;;:::o;6923:117::-;7032:1;7029;7022:12;7063:710;7159:5;7184:81;7200:64;7257:6;7200:64;:::i;:::-;7184:81;:::i;:::-;7175:90;;7285:5;7314:6;7307:5;7300:21;7348:4;7341:5;7337:16;7330:23;;7401:4;7393:6;7389:17;7381:6;7377:30;7430:3;7422:6;7419:15;7416:122;;;7449:79;;:::i;:::-;7416:122;7564:6;7547:220;7581:6;7576:3;7573:15;7547:220;;;7656:3;7685:37;7718:3;7706:10;7685:37;:::i;:::-;7680:3;7673:50;7752:4;7747:3;7743:14;7736:21;;7623:144;7607:4;7602:3;7598:14;7591:21;;7547:220;;;7551:21;7165:608;;7063:710;;;;;:::o;7796:370::-;7867:5;7916:3;7909:4;7901:6;7897:17;7893:27;7883:122;;7924:79;;:::i;:::-;7883:122;8041:6;8028:20;8066:94;8156:3;8148:6;8141:4;8133:6;8129:17;8066:94;:::i;:::-;8057:103;;7873:293;7796:370;;;;:::o;8172:539::-;8256:6;8305:2;8293:9;8284:7;8280:23;8276:32;8273:119;;;8311:79;;:::i;:::-;8273:119;8459:1;8448:9;8444:17;8431:31;8489:18;8481:6;8478:30;8475:117;;;8511:79;;:::i;:::-;8475:117;8616:78;8686:7;8677:6;8666:9;8662:22;8616:78;:::i;:::-;8606:88;;8402:302;8172:539;;;;:::o;8717:474::-;8785:6;8793;8842:2;8830:9;8821:7;8817:23;8813:32;8810:119;;;8848:79;;:::i;:::-;8810:119;8968:1;8993:53;9038:7;9029:6;9018:9;9014:22;8993:53;:::i;:::-;8983:63;;8939:117;9095:2;9121:53;9166:7;9157:6;9146:9;9142:22;9121:53;:::i;:::-;9111:63;;9066:118;8717:474;;;;;:::o;9197:143::-;9254:5;9285:6;9279:13;9270:22;;9301:33;9328:5;9301:33;:::i;:::-;9197:143;;;;:::o;9346:351::-;9416:6;9465:2;9453:9;9444:7;9440:23;9436:32;9433:119;;;9471:79;;:::i;:::-;9433:119;9591:1;9616:64;9672:7;9663:6;9652:9;9648:22;9616:64;:::i;:::-;9606:74;;9562:128;9346:351;;;;:::o;9703:60::-;9731:3;9752:5;9745:12;;9703:60;;;:::o;9769:142::-;9819:9;9852:53;9870:34;9879:24;9897:5;9879:24;:::i;:::-;9870:34;:::i;:::-;9852:53;:::i;:::-;9839:66;;9769:142;;;:::o;9917:126::-;9967:9;10000:37;10031:5;10000:37;:::i;:::-;9987:50;;9917:126;;;:::o;10049:134::-;10107:9;10140:37;10171:5;10140:37;:::i;:::-;10127:50;;10049:134;;;:::o;10189:147::-;10284:45;10323:5;10284:45;:::i;:::-;10279:3;10272:58;10189:147;;:::o;10342:348::-;10471:4;10509:2;10498:9;10494:18;10486:26;;10522:79;10598:1;10587:9;10583:17;10574:6;10522:79;:::i;:::-;10611:72;10679:2;10668:9;10664:18;10655:6;10611:72;:::i;:::-;10342:348;;;;;:::o;10696:116::-;10766:21;10781:5;10766:21;:::i;:::-;10759:5;10756:32;10746:60;;10802:1;10799;10792:12;10746:60;10696:116;:::o;10818:137::-;10872:5;10903:6;10897:13;10888:22;;10919:30;10943:5;10919:30;:::i;:::-;10818:137;;;;:::o;10961:345::-;11028:6;11077:2;11065:9;11056:7;11052:23;11048:32;11045:119;;;11083:79;;:::i;:::-;11045:119;11203:1;11228:61;11281:7;11272:6;11261:9;11257:22;11228:61;:::i;:::-;11218:71;;11174:125;10961:345;;;;:::o;11312:182::-;11452:34;11448:1;11440:6;11436:14;11429:58;11312:182;:::o;11500:366::-;11642:3;11663:67;11727:2;11722:3;11663:67;:::i;:::-;11656:74;;11739:93;11828:3;11739:93;:::i;:::-;11857:2;11852:3;11848:12;11841:19;;11500:366;;;:::o;11872:419::-;12038:4;12076:2;12065:9;12061:18;12053:26;;12125:9;12119:4;12115:20;12111:1;12100:9;12096:17;12089:47;12153:131;12279:4;12153:131;:::i;:::-;12145:139;;11872:419;;;:::o;12297:180::-;12345:77;12342:1;12335:88;12442:4;12439:1;12432:15;12466:4;12463:1;12456:15;12483:180;12531:77;12528:1;12521:88;12628:4;12625:1;12618:15;12652:4;12649:1;12642:15;12669:233;12708:3;12731:24;12749:5;12731:24;:::i;:::-;12722:33;;12777:66;12770:5;12767:77;12764:103;;12847:18;;:::i;:::-;12764:103;12894:1;12887:5;12883:13;12876:20;;12669:233;;;:::o;12908:173::-;13048:25;13044:1;13036:6;13032:14;13025:49;12908:173;:::o;13087:366::-;13229:3;13250:67;13314:2;13309:3;13250:67;:::i;:::-;13243:74;;13326:93;13415:3;13326:93;:::i;:::-;13444:2;13439:3;13435:12;13428:19;;13087:366;;;:::o;13459:419::-;13625:4;13663:2;13652:9;13648:18;13640:26;;13712:9;13706:4;13702:20;13698:1;13687:9;13683:17;13676:47;13740:131;13866:4;13740:131;:::i;:::-;13732:139;;13459:419;;;:::o;13884:191::-;13924:3;13943:20;13961:1;13943:20;:::i;:::-;13938:25;;13977:20;13995:1;13977:20;:::i;:::-;13972:25;;14020:1;14017;14013:9;14006:16;;14041:3;14038:1;14035:10;14032:36;;;14048:18;;:::i;:::-;14032:36;13884:191;;;;:::o;14081:410::-;14121:7;14144:20;14162:1;14144:20;:::i;:::-;14139:25;;14178:20;14196:1;14178:20;:::i;:::-;14173:25;;14233:1;14230;14226:9;14255:30;14273:11;14255:30;:::i;:::-;14244:41;;14434:1;14425:7;14421:15;14418:1;14415:22;14395:1;14388:9;14368:83;14345:139;;14464:18;;:::i;:::-;14345:139;14129:362;14081:410;;;;:::o;14497:180::-;14545:77;14542:1;14535:88;14642:4;14639:1;14632:15;14666:4;14663:1;14656:15;14683:185;14723:1;14740:20;14758:1;14740:20;:::i;:::-;14735:25;;14774:20;14792:1;14774:20;:::i;:::-;14769:25;;14813:1;14803:35;;14818:18;;:::i;:::-;14803:35;14860:1;14857;14853:9;14848:14;;14683:185;;;;:::o;14874:220::-;15014:34;15010:1;15002:6;14998:14;14991:58;15083:3;15078:2;15070:6;15066:15;15059:28;14874:220;:::o;15100:366::-;15242:3;15263:67;15327:2;15322:3;15263:67;:::i;:::-;15256:74;;15339:93;15428:3;15339:93;:::i;:::-;15457:2;15452:3;15448:12;15441:19;;15100:366;;;:::o;15472:419::-;15638:4;15676:2;15665:9;15661:18;15653:26;;15725:9;15719:4;15715:20;15711:1;15700:9;15696:17;15689:47;15753:131;15879:4;15753:131;:::i;:::-;15745:139;;15472:419;;;:::o;15897:223::-;16037:34;16033:1;16025:6;16021:14;16014:58;16106:6;16101:2;16093:6;16089:15;16082:31;15897:223;:::o;16126:366::-;16268:3;16289:67;16353:2;16348:3;16289:67;:::i;:::-;16282:74;;16365:93;16454:3;16365:93;:::i;:::-;16483:2;16478:3;16474:12;16467:19;;16126:366;;;:::o;16498:419::-;16664:4;16702:2;16691:9;16687:18;16679:26;;16751:9;16745:4;16741:20;16737:1;16726:9;16722:17;16715:47;16779:131;16905:4;16779:131;:::i;:::-;16771:139;;16498:419;;;:::o;16923:221::-;17063:34;17059:1;17051:6;17047:14;17040:58;17132:4;17127:2;17119:6;17115:15;17108:29;16923:221;:::o;17150:366::-;17292:3;17313:67;17377:2;17372:3;17313:67;:::i;:::-;17306:74;;17389:93;17478:3;17389:93;:::i;:::-;17507:2;17502:3;17498:12;17491:19;;17150:366;;;:::o;17522:419::-;17688:4;17726:2;17715:9;17711:18;17703:26;;17775:9;17769:4;17765:20;17761:1;17750:9;17746:17;17739:47;17803:131;17929:4;17803:131;:::i;:::-;17795:139;;17522:419;;;:::o;17947:224::-;18087:34;18083:1;18075:6;18071:14;18064:58;18156:7;18151:2;18143:6;18139:15;18132:32;17947:224;:::o;18177:366::-;18319:3;18340:67;18404:2;18399:3;18340:67;:::i;:::-;18333:74;;18416:93;18505:3;18416:93;:::i;:::-;18534:2;18529:3;18525:12;18518:19;;18177:366;;;:::o;18549:419::-;18715:4;18753:2;18742:9;18738:18;18730:26;;18802:9;18796:4;18792:20;18788:1;18777:9;18773:17;18766:47;18830:131;18956:4;18830:131;:::i;:::-;18822:139;;18549:419;;;:::o;18974:222::-;19114:34;19110:1;19102:6;19098:14;19091:58;19183:5;19178:2;19170:6;19166:15;19159:30;18974:222;:::o;19202:366::-;19344:3;19365:67;19429:2;19424:3;19365:67;:::i;:::-;19358:74;;19441:93;19530:3;19441:93;:::i;:::-;19559:2;19554:3;19550:12;19543:19;;19202:366;;;:::o;19574:419::-;19740:4;19778:2;19767:9;19763:18;19755:26;;19827:9;19821:4;19817:20;19813:1;19802:9;19798:17;19791:47;19855:131;19981:4;19855:131;:::i;:::-;19847:139;;19574:419;;;:::o;19999:228::-;20139:34;20135:1;20127:6;20123:14;20116:58;20208:11;20203:2;20195:6;20191:15;20184:36;19999:228;:::o;20233:366::-;20375:3;20396:67;20460:2;20455:3;20396:67;:::i;:::-;20389:74;;20472:93;20561:3;20472:93;:::i;:::-;20590:2;20585:3;20581:12;20574:19;;20233:366;;;:::o;20605:419::-;20771:4;20809:2;20798:9;20794:18;20786:26;;20858:9;20852:4;20848:20;20844:1;20833:9;20829:17;20822:47;20886:131;21012:4;20886:131;:::i;:::-;20878:139;;20605:419;;;:::o;21030:227::-;21170:34;21166:1;21158:6;21154:14;21147:58;21239:10;21234:2;21226:6;21222:15;21215:35;21030:227;:::o;21263:366::-;21405:3;21426:67;21490:2;21485:3;21426:67;:::i;:::-;21419:74;;21502:93;21591:3;21502:93;:::i;:::-;21620:2;21615:3;21611:12;21604:19;;21263:366;;;:::o;21635:419::-;21801:4;21839:2;21828:9;21824:18;21816:26;;21888:9;21882:4;21878:20;21874:1;21863:9;21859:17;21852:47;21916:131;22042:4;21916:131;:::i;:::-;21908:139;;21635:419;;;:::o;22060:194::-;22100:4;22120:20;22138:1;22120:20;:::i;:::-;22115:25;;22154:20;22172:1;22154:20;:::i;:::-;22149:25;;22198:1;22195;22191:9;22183:17;;22222:1;22216:4;22213:11;22210:37;;;22227:18;;:::i;:::-;22210:37;22060:194;;;;:::o;22260:143::-;22317:5;22348:6;22342:13;22333:22;;22364:33;22391:5;22364:33;:::i;:::-;22260:143;;;;:::o;22409:351::-;22479:6;22528:2;22516:9;22507:7;22503:23;22499:32;22496:119;;;22534:79;;:::i;:::-;22496:119;22654:1;22679:64;22735:7;22726:6;22715:9;22711:22;22679:64;:::i;:::-;22669:74;;22625:128;22409:351;;;;:::o;22766:85::-;22811:7;22840:5;22829:16;;22766:85;;;:::o;22857:158::-;22915:9;22948:61;22966:42;22975:32;23001:5;22975:32;:::i;:::-;22966:42;:::i;:::-;22948:61;:::i;:::-;22935:74;;22857:158;;;:::o;23021:147::-;23116:45;23155:5;23116:45;:::i;:::-;23111:3;23104:58;23021:147;;:::o;23174:114::-;23241:6;23275:5;23269:12;23259:22;;23174:114;;;:::o;23294:184::-;23393:11;23427:6;23422:3;23415:19;23467:4;23462:3;23458:14;23443:29;;23294:184;;;;:::o;23484:132::-;23551:4;23574:3;23566:11;;23604:4;23599:3;23595:14;23587:22;;23484:132;;;:::o;23622:108::-;23699:24;23717:5;23699:24;:::i;:::-;23694:3;23687:37;23622:108;;:::o;23736:179::-;23805:10;23826:46;23868:3;23860:6;23826:46;:::i;:::-;23904:4;23899:3;23895:14;23881:28;;23736:179;;;;:::o;23921:113::-;23991:4;24023;24018:3;24014:14;24006:22;;23921:113;;;:::o;24070:732::-;24189:3;24218:54;24266:5;24218:54;:::i;:::-;24288:86;24367:6;24362:3;24288:86;:::i;:::-;24281:93;;24398:56;24448:5;24398:56;:::i;:::-;24477:7;24508:1;24493:284;24518:6;24515:1;24512:13;24493:284;;;24594:6;24588:13;24621:63;24680:3;24665:13;24621:63;:::i;:::-;24614:70;;24707:60;24760:6;24707:60;:::i;:::-;24697:70;;24553:224;24540:1;24537;24533:9;24528:14;;24493:284;;;24497:14;24793:3;24786:10;;24194:608;;;24070:732;;;;:::o;24808:831::-;25071:4;25109:3;25098:9;25094:19;25086:27;;25123:71;25191:1;25180:9;25176:17;25167:6;25123:71;:::i;:::-;25204:80;25280:2;25269:9;25265:18;25256:6;25204:80;:::i;:::-;25331:9;25325:4;25321:20;25316:2;25305:9;25301:18;25294:48;25359:108;25462:4;25453:6;25359:108;:::i;:::-;25351:116;;25477:72;25545:2;25534:9;25530:18;25521:6;25477:72;:::i;:::-;25559:73;25627:3;25616:9;25612:19;25603:6;25559:73;:::i;:::-;24808:831;;;;;;;;:::o;25645:807::-;25894:4;25932:3;25921:9;25917:19;25909:27;;25946:71;26014:1;26003:9;25999:17;25990:6;25946:71;:::i;:::-;26027:72;26095:2;26084:9;26080:18;26071:6;26027:72;:::i;:::-;26109:80;26185:2;26174:9;26170:18;26161:6;26109:80;:::i;:::-;26199;26275:2;26264:9;26260:18;26251:6;26199:80;:::i;:::-;26289:73;26357:3;26346:9;26342:19;26333:6;26289:73;:::i;:::-;26372;26440:3;26429:9;26425:19;26416:6;26372:73;:::i;:::-;25645:807;;;;;;;;;:::o;26458:663::-;26546:6;26554;26562;26611:2;26599:9;26590:7;26586:23;26582:32;26579:119;;;26617:79;;:::i;:::-;26579:119;26737:1;26762:64;26818:7;26809:6;26798:9;26794:22;26762:64;:::i;:::-;26752:74;;26708:128;26875:2;26901:64;26957:7;26948:6;26937:9;26933:22;26901:64;:::i;:::-;26891:74;;26846:129;27014:2;27040:64;27096:7;27087:6;27076:9;27072:22;27040:64;:::i;:::-;27030:74;;26985:129;26458:663;;;;;:::o;27127:177::-;27267:29;27263:1;27255:6;27251:14;27244:53;27127:177;:::o;27310:366::-;27452:3;27473:67;27537:2;27532:3;27473:67;:::i;:::-;27466:74;;27549:93;27638:3;27549:93;:::i;:::-;27667:2;27662:3;27658:12;27651:19;;27310:366;;;:::o;27682:419::-;27848:4;27886:2;27875:9;27871:18;27863:26;;27935:9;27929:4;27925:20;27921:1;27910:9;27906:17;27899:47;27963:131;28089:4;27963:131;:::i;:::-;27955:139;;27682:419;;;:::o

Swarm Source

ipfs://d839a43e6a10eed83a9e5d58d4e97f3902aa6e62835a863e5bd60048f34b844a

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.