ETH Price: $3,320.61 (-4.32%)

Contract

0xFC18B3bF92d0200Df6b3D6E8B4C3296c269A0caC
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve213265542024-12-04 3:49:1122 days ago1733284151IN
0xFC18B3bF...c269A0caC
0 ETH0.000496419.93290977
Approve210997072024-11-02 11:38:1154 days ago1730547491IN
0xFC18B3bF...c269A0caC
0 ETH0.000168223.56589041
Transfer210970372024-11-02 2:40:3554 days ago1730515235IN
0xFC18B3bF...c269A0caC
0 ETH0.000237934.95618427
Approve210970242024-11-02 2:37:4754 days ago1730515067IN
0xFC18B3bF...c269A0caC
0 ETH0.000219264.64665945
Approve210968822024-11-02 2:09:2354 days ago1730513363IN
0xFC18B3bF...c269A0caC
0 ETH0.000161433.42197369
Approve210955902024-11-01 21:49:3554 days ago1730497775IN
0xFC18B3bF...c269A0caC
0 ETH0.000318336.74777224
Transfer210954252024-11-01 21:16:1154 days ago1730495771IN
0xFC18B3bF...c269A0caC
0 ETH0.000317546.64268282
Approve210951692024-11-01 20:24:4754 days ago1730492687IN
0xFC18B3bF...c269A0caC
0 ETH0.000346567.35362916
Approve210951502024-11-01 20:20:5955 days ago1730492459IN
0xFC18B3bF...c269A0caC
0 ETH0.00035177.46275724
Approve210951192024-11-01 20:14:4755 days ago1730492087IN
0xFC18B3bF...c269A0caC
0 ETH0.000293216.22177328
Approve210950962024-11-01 20:10:1155 days ago1730491811IN
0xFC18B3bF...c269A0caC
0 ETH0.000353487.50053044
Approve210950922024-11-01 20:09:2355 days ago1730491763IN
0xFC18B3bF...c269A0caC
0 ETH0.000347567.37485427
Approve210950732024-11-01 20:05:1155 days ago1730491511IN
0xFC18B3bF...c269A0caC
0 ETH0.000335657.12217519
Approve210950342024-11-01 19:57:2355 days ago1730491043IN
0xFC18B3bF...c269A0caC
0 ETH0.000356697.56857182
Approve210950342024-11-01 19:57:2355 days ago1730491043IN
0xFC18B3bF...c269A0caC
0 ETH0.000356697.56857182
Approve210950322024-11-01 19:56:5955 days ago1730491019IN
0xFC18B3bF...c269A0caC
0 ETH0.000363817.71971066
Approve210949952024-11-01 19:49:3555 days ago1730490575IN
0xFC18B3bF...c269A0caC
0 ETH0.000327396.94688586
Approve210949852024-11-01 19:47:2355 days ago1730490443IN
0xFC18B3bF...c269A0caC
0 ETH0.000316996.72618479
Approve210949412024-11-01 19:38:3555 days ago1730489915IN
0xFC18B3bF...c269A0caC
0 ETH0.0004694810
Approve210949282024-11-01 19:35:5955 days ago1730489759IN
0xFC18B3bF...c269A0caC
0 ETH0.000358627.5999576
Approve210949102024-11-01 19:32:2355 days ago1730489543IN
0xFC18B3bF...c269A0caC
0 ETH0.000353257.49569044
Transfer210948872024-11-01 19:27:4755 days ago1730489267IN
0xFC18B3bF...c269A0caC
0 ETH0.000275758.91846205
Transfer210948872024-11-01 19:27:4755 days ago1730489267IN
0xFC18B3bF...c269A0caC
0 ETH0.000275758.91846205
Transfer210948872024-11-01 19:27:4755 days ago1730489267IN
0xFC18B3bF...c269A0caC
0 ETH0.000275758.91846205
Transfer210948872024-11-01 19:27:4755 days ago1730489267IN
0xFC18B3bF...c269A0caC
0 ETH0.000275758.91846205
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
210941202024-11-01 16:54:1155 days ago1730480051
0xFC18B3bF...c269A0caC
6 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CANDUL

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-11-01
*/

// SPDX-License-Identifier:MIT

/*
https://www.candultoken.com/
http://t.me/candultoken
https://twitter.com/candultoken
https://www.instagram.com/candultoken
*/

pragma solidity 0.8.23;

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

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }
}

library SafeMath {
    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 add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        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;
    }
}

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 addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function WETH() external pure returns (address);
}

contract CANDUL is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _exclFromLimit;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 840000000000 * 10**_decimals;
    string private constant _name = unicode"CANDUL";
    string private constant _symbol = unicode"$CANDUL";

    // Entferne die Limite und Steuer Variablen
    uint256 public _maxTxAmount = _tTotal; // Max. Transaktionsbetrag
    uint256 public _maxWalletSize = _tTotal; // Max. Walletgröße
    uint256 public _taxSwapThreshold = 100000000 * 10**_decimals; // Steuer-Swap-Schwelle
    uint256 public _maxTaxSwap = 1000000000 * 10**_decimals; // Max. Steuer-Swap

    IUniswapV2Router02 private constant _router = IUniswapV2Router02(
        0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
    );
    address payable private _taxWallet;

    address public uniswapPair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private limitsInEffect = false; // Limits von Anfang an deaktiviert

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event ClearToken(address tokenAddr, uint256 tokenAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0xbbc69e87D761f4eAA8296AfBCad0D210cB5B6085);

        _balances[_msgSender()] = _tTotal;
        _exclFromLimit[_taxWallet] = true;
        _exclFromLimit[address(this)] = true;

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

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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 _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");

        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _router.WETH();
        _approve(address(this), address(_router), tokenAmount);
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    receive() external payable {}

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        _approve(address(this), address(_router), _tTotal);
        swapEnabled = true;
        uniswapPair = IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH());
        _router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IERC20(uniswapPair).approve(address(_router), type(uint).max);
        tradingOpen = true;
    }

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

    function recoverStuckEth(address _receiver, address _percent) external {
        require(_msgSender() == _taxWallet);
        // Funktionsimplementierung
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddr","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"_receiver","type":"address"},{"internalType":"address","name":"_percent","type":"address"}],"name":"recoverStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a62000014919062000599565b64c393e6d000620000269190620005e9565b6004556012600a62000039919062000599565b64c393e6d0006200004b9190620005e9565b6005556012600a6200005e919062000599565b6305f5e1006200006f9190620005e9565b6006556012600a62000082919062000599565b633b9aca00620000939190620005e9565b6007555f600960156101000a81548160ff0219169083151502179055505f600960166101000a81548160ff0219169083151502179055505f600960176101000a81548160ff021916908315150217905550348015620000f0575f80fd5b5062000111620001056200033f60201b60201c565b6200034660201b60201c565b73bbc69e87d761f4eaa8296afbcad0d210cb5b608560085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000175919062000599565b64c393e6d000620001879190620005e9565b60015f6200019a6200033f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620002b26200033f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a62000310919062000599565b64c393e6d000620003229190620005e9565b60405162000331919062000644565b60405180910390a36200065f565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004915780860481111562000469576200046862000407565b5b6001851615620004795780820291505b8081029050620004898562000434565b945062000449565b94509492505050565b5f82620004ab57600190506200057d565b81620004ba575f90506200057d565b8160018114620004d35760028114620004de5762000514565b60019150506200057d565b60ff841115620004f357620004f262000407565b5b8360020a9150848211156200050d576200050c62000407565b5b506200057d565b5060208310610133831016604e8410600b84101617156200054e5782820a90508381111562000548576200054762000407565b5b6200057d565b6200055d848484600162000440565b9250905081840481111562000577576200057662000407565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005a58262000584565b9150620005b2836200058d565b9250620005e17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200049a565b905092915050565b5f620005f58262000584565b9150620006028362000584565b9250828202620006128162000584565b915082820484148315176200062c576200062b62000407565b5b5092915050565b6200063e8162000584565b82525050565b5f602082019050620006595f83018462000633565b92915050565b6122fe806200066d5f395ff3fe608060405260043610610117575f3560e01c8063715018a61161009f578063a9059cbb11610063578063a9059cbb1461037a578063bf474bed146103b6578063c816841b146103e0578063c9567bf91461040a578063dd62ed3e146104205761011e565b8063715018a6146102bc5780637d1db4a5146102d25780638da5cb5b146102fc5780638f9a55c01461032657806395d89b41146103505761011e565b806318160ddd116100e657806318160ddd146101da57806323b872dd14610204578063313ce5671461024057806351bc3c851461026a57806370a08231146102805761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806313492905146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661045c565b60405161014391906116a6565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190611757565b610499565b60405161017f91906117af565b60405180910390f35b348015610193575f80fd5b5061019c6104b6565b6040516101a991906117d7565b60405180910390f35b3480156101bd575f80fd5b506101d860048036038101906101d391906117f0565b6104bc565b005b3480156101e5575f80fd5b506101ee61051f565b6040516101fb91906117d7565b60405180910390f35b34801561020f575f80fd5b5061022a6004803603810190610225919061182e565b610543565b60405161023791906117af565b60405180910390f35b34801561024b575f80fd5b50610254610617565b6040516102619190611899565b60405180910390f35b348015610275575f80fd5b5061027e61061f565b005b34801561028b575f80fd5b506102a660048036038101906102a191906118b2565b6106b6565b6040516102b391906117d7565b60405180910390f35b3480156102c7575f80fd5b506102d06106fc565b005b3480156102dd575f80fd5b506102e6610783565b6040516102f391906117d7565b60405180910390f35b348015610307575f80fd5b50610310610789565b60405161031d91906118ec565b60405180910390f35b348015610331575f80fd5b5061033a6107b0565b60405161034791906117d7565b60405180910390f35b34801561035b575f80fd5b506103646107b6565b60405161037191906116a6565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190611757565b6107f3565b6040516103ad91906117af565b60405180910390f35b3480156103c1575f80fd5b506103ca610810565b6040516103d791906117d7565b60405180910390f35b3480156103eb575f80fd5b506103f4610816565b60405161040191906118ec565b60405180910390f35b348015610415575f80fd5b5061041e61083b565b005b34801561042b575f80fd5b50610446600480360381019061044191906117f0565b610cb1565b60405161045391906117d7565b60405180910390f35b60606040518060400160405280600681526020017f43414e44554c0000000000000000000000000000000000000000000000000000815250905090565b5f6104ac6104a5610d33565b8484610d3a565b6001905092915050565b60075481565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104fc610d33565b73ffffffffffffffffffffffffffffffffffffffff161461051b575f80fd5b5050565b5f6012600a61052e9190611a61565b64c393e6d00061053e9190611aab565b905090565b5f61054f848484610efd565b61060c8461055b610d33565b610607856040518060600160405280602881526020016122a16028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105be610d33565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111a79092919063ffffffff16565b610d3a565b600190509392505050565b5f6012905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661065f610d33565b73ffffffffffffffffffffffffffffffffffffffff161461067e575f80fd5b5f610688306106b6565b90505f81111561069c5761069b81611209565b5b5f4790505f8111156106b2576106b18161144d565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610704610d33565b73ffffffffffffffffffffffffffffffffffffffff16610722610789565b73ffffffffffffffffffffffffffffffffffffffff1614610778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076f90611b36565b60405180910390fd5b6107815f6114b5565b565b60045481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60606040518060400160405280600781526020017f2443414e44554c00000000000000000000000000000000000000000000000000815250905090565b5f6108066107ff610d33565b8484610efd565b6001905092915050565b60065481565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610843610d33565b73ffffffffffffffffffffffffffffffffffffffff16610861610789565b73ffffffffffffffffffffffffffffffffffffffff16146108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae90611b36565b60405180910390fd5b600960149054906101000a900460ff1615610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fe90611b9e565b60405180910390fd5b61094330737a250d5630b4cf539739df2c5dacb4c659f2488d6012600a61092e9190611a61565b64c393e6d00061093e9190611aab565b610d3a565b6001600960166101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109df9190611bd0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190611bd0565b6040518363ffffffff1660e01b8152600401610a99929190611bfb565b6020604051808303815f875af1158015610ab5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad99190611bd0565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b53306106b6565b5f80610b5d610789565b426040518863ffffffff1660e01b8152600401610b7f96959493929190611c64565b60606040518083038185885af1158015610b9b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bc09190611cd7565b50505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c53929190611d27565b6020604051808303815f875af1158015610c6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c939190611d78565b506001600960146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90611e13565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90611ea1565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ef091906117d7565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6290611f2f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd090611fbd565b60405180910390fd5b5f811161101b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110129061204b565b60405180910390fd5b61106b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461157690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506110fc8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115bf90919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161119a91906117d7565b60405180910390a3505050565b5f8383111582906111ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e591906116a6565b60405180910390fd5b505f83856111fc9190612069565b9050809150509392505050565b6001600960156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156112405761123f61209c565b5b60405190808252806020026020018201604052801561126e5781602001602082028036833780820191505090505b50905030815f81518110611285576112846120c9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561131c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113409190611bd0565b81600181518110611354576113536120c9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506113ad30737a250d5630b4cf539739df2c5dacb4c659f2488d84610d3a565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016114029594939291906121ad565b5f604051808303815f87803b158015611419575f80fd5b505af115801561142b573d5f803e3d5ffd5b50505050505f600960156101000a81548160ff02191690831515021790555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156114b1573d5f803e3d5ffd5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6115b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111a7565b905092915050565b5f8082846115cd9190612205565b905083811015611612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160990612282565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611653578082015181840152602081019050611638565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6116788261161c565b6116828185611626565b9350611692818560208601611636565b61169b8161165e565b840191505092915050565b5f6020820190508181035f8301526116be818461166e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6116f3826116ca565b9050919050565b611703816116e9565b811461170d575f80fd5b50565b5f8135905061171e816116fa565b92915050565b5f819050919050565b61173681611724565b8114611740575f80fd5b50565b5f813590506117518161172d565b92915050565b5f806040838503121561176d5761176c6116c6565b5b5f61177a85828601611710565b925050602061178b85828601611743565b9150509250929050565b5f8115159050919050565b6117a981611795565b82525050565b5f6020820190506117c25f8301846117a0565b92915050565b6117d181611724565b82525050565b5f6020820190506117ea5f8301846117c8565b92915050565b5f8060408385031215611806576118056116c6565b5b5f61181385828601611710565b925050602061182485828601611710565b9150509250929050565b5f805f60608486031215611845576118446116c6565b5b5f61185286828701611710565b935050602061186386828701611710565b925050604061187486828701611743565b9150509250925092565b5f60ff82169050919050565b6118938161187e565b82525050565b5f6020820190506118ac5f83018461188a565b92915050565b5f602082840312156118c7576118c66116c6565b5b5f6118d484828501611710565b91505092915050565b6118e6816116e9565b82525050565b5f6020820190506118ff5f8301846118dd565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156119875780860481111561196357611962611905565b5b60018516156119725780820291505b808102905061198085611932565b9450611947565b94509492505050565b5f8261199f5760019050611a5a565b816119ac575f9050611a5a565b81600181146119c257600281146119cc576119fb565b6001915050611a5a565b60ff8411156119de576119dd611905565b5b8360020a9150848211156119f5576119f4611905565b5b50611a5a565b5060208310610133831016604e8410600b8410161715611a305782820a905083811115611a2b57611a2a611905565b5b611a5a565b611a3d848484600161193e565b92509050818404811115611a5457611a53611905565b5b81810290505b9392505050565b5f611a6b82611724565b9150611a768361187e565b9250611aa37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611990565b905092915050565b5f611ab582611724565b9150611ac083611724565b9250828202611ace81611724565b91508282048414831517611ae557611ae4611905565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611b20602083611626565b9150611b2b82611aec565b602082019050919050565b5f6020820190508181035f830152611b4d81611b14565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f611b88601783611626565b9150611b9382611b54565b602082019050919050565b5f6020820190508181035f830152611bb581611b7c565b9050919050565b5f81519050611bca816116fa565b92915050565b5f60208284031215611be557611be46116c6565b5b5f611bf284828501611bbc565b91505092915050565b5f604082019050611c0e5f8301856118dd565b611c1b60208301846118dd565b9392505050565b5f819050919050565b5f819050919050565b5f611c4e611c49611c4484611c22565b611c2b565b611724565b9050919050565b611c5e81611c34565b82525050565b5f60c082019050611c775f8301896118dd565b611c8460208301886117c8565b611c916040830187611c55565b611c9e6060830186611c55565b611cab60808301856118dd565b611cb860a08301846117c8565b979650505050505050565b5f81519050611cd18161172d565b92915050565b5f805f60608486031215611cee57611ced6116c6565b5b5f611cfb86828701611cc3565b9350506020611d0c86828701611cc3565b9250506040611d1d86828701611cc3565b9150509250925092565b5f604082019050611d3a5f8301856118dd565b611d4760208301846117c8565b9392505050565b611d5781611795565b8114611d61575f80fd5b50565b5f81519050611d7281611d4e565b92915050565b5f60208284031215611d8d57611d8c6116c6565b5b5f611d9a84828501611d64565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611dfd602483611626565b9150611e0882611da3565b604082019050919050565b5f6020820190508181035f830152611e2a81611df1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611e8b602283611626565b9150611e9682611e31565b604082019050919050565b5f6020820190508181035f830152611eb881611e7f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611f19602583611626565b9150611f2482611ebf565b604082019050919050565b5f6020820190508181035f830152611f4681611f0d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611fa7602383611626565b9150611fb282611f4d565b604082019050919050565b5f6020820190508181035f830152611fd481611f9b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612035602983611626565b915061204082611fdb565b604082019050919050565b5f6020820190508181035f83015261206281612029565b9050919050565b5f61207382611724565b915061207e83611724565b925082820390508181111561209657612095611905565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612128816116e9565b82525050565b5f612139838361211f565b60208301905092915050565b5f602082019050919050565b5f61215b826120f6565b6121658185612100565b935061217083612110565b805f5b838110156121a0578151612187888261212e565b975061219283612145565b925050600181019050612173565b5085935050505092915050565b5f60a0820190506121c05f8301886117c8565b6121cd6020830187611c55565b81810360408301526121df8186612151565b90506121ee60608301856118dd565b6121fb60808301846117c8565b9695505050505050565b5f61220f82611724565b915061221a83611724565b925082820190508082111561223257612231611905565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61226c601b83611626565b915061227782612238565b602082019050919050565b5f6020820190508181035f83015261229981612260565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220020cc3e9cc8da6e476614bbb2af8aa8b44c2442c2474b5386d576a4e6d7cd4cf64736f6c63430008170033

Deployed Bytecode

0x608060405260043610610117575f3560e01c8063715018a61161009f578063a9059cbb11610063578063a9059cbb1461037a578063bf474bed146103b6578063c816841b146103e0578063c9567bf91461040a578063dd62ed3e146104205761011e565b8063715018a6146102bc5780637d1db4a5146102d25780638da5cb5b146102fc5780638f9a55c01461032657806395d89b41146103505761011e565b806318160ddd116100e657806318160ddd146101da57806323b872dd14610204578063313ce5671461024057806351bc3c851461026a57806370a08231146102805761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806313492905146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661045c565b60405161014391906116a6565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190611757565b610499565b60405161017f91906117af565b60405180910390f35b348015610193575f80fd5b5061019c6104b6565b6040516101a991906117d7565b60405180910390f35b3480156101bd575f80fd5b506101d860048036038101906101d391906117f0565b6104bc565b005b3480156101e5575f80fd5b506101ee61051f565b6040516101fb91906117d7565b60405180910390f35b34801561020f575f80fd5b5061022a6004803603810190610225919061182e565b610543565b60405161023791906117af565b60405180910390f35b34801561024b575f80fd5b50610254610617565b6040516102619190611899565b60405180910390f35b348015610275575f80fd5b5061027e61061f565b005b34801561028b575f80fd5b506102a660048036038101906102a191906118b2565b6106b6565b6040516102b391906117d7565b60405180910390f35b3480156102c7575f80fd5b506102d06106fc565b005b3480156102dd575f80fd5b506102e6610783565b6040516102f391906117d7565b60405180910390f35b348015610307575f80fd5b50610310610789565b60405161031d91906118ec565b60405180910390f35b348015610331575f80fd5b5061033a6107b0565b60405161034791906117d7565b60405180910390f35b34801561035b575f80fd5b506103646107b6565b60405161037191906116a6565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190611757565b6107f3565b6040516103ad91906117af565b60405180910390f35b3480156103c1575f80fd5b506103ca610810565b6040516103d791906117d7565b60405180910390f35b3480156103eb575f80fd5b506103f4610816565b60405161040191906118ec565b60405180910390f35b348015610415575f80fd5b5061041e61083b565b005b34801561042b575f80fd5b50610446600480360381019061044191906117f0565b610cb1565b60405161045391906117d7565b60405180910390f35b60606040518060400160405280600681526020017f43414e44554c0000000000000000000000000000000000000000000000000000815250905090565b5f6104ac6104a5610d33565b8484610d3a565b6001905092915050565b60075481565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104fc610d33565b73ffffffffffffffffffffffffffffffffffffffff161461051b575f80fd5b5050565b5f6012600a61052e9190611a61565b64c393e6d00061053e9190611aab565b905090565b5f61054f848484610efd565b61060c8461055b610d33565b610607856040518060600160405280602881526020016122a16028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105be610d33565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111a79092919063ffffffff16565b610d3a565b600190509392505050565b5f6012905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661065f610d33565b73ffffffffffffffffffffffffffffffffffffffff161461067e575f80fd5b5f610688306106b6565b90505f81111561069c5761069b81611209565b5b5f4790505f8111156106b2576106b18161144d565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610704610d33565b73ffffffffffffffffffffffffffffffffffffffff16610722610789565b73ffffffffffffffffffffffffffffffffffffffff1614610778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076f90611b36565b60405180910390fd5b6107815f6114b5565b565b60045481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b60606040518060400160405280600781526020017f2443414e44554c00000000000000000000000000000000000000000000000000815250905090565b5f6108066107ff610d33565b8484610efd565b6001905092915050565b60065481565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610843610d33565b73ffffffffffffffffffffffffffffffffffffffff16610861610789565b73ffffffffffffffffffffffffffffffffffffffff16146108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae90611b36565b60405180910390fd5b600960149054906101000a900460ff1615610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fe90611b9e565b60405180910390fd5b61094330737a250d5630b4cf539739df2c5dacb4c659f2488d6012600a61092e9190611a61565b64c393e6d00061093e9190611aab565b610d3a565b6001600960166101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109df9190611bd0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7c9190611bd0565b6040518363ffffffff1660e01b8152600401610a99929190611bfb565b6020604051808303815f875af1158015610ab5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad99190611bd0565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b53306106b6565b5f80610b5d610789565b426040518863ffffffff1660e01b8152600401610b7f96959493929190611c64565b60606040518083038185885af1158015610b9b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bc09190611cd7565b50505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c53929190611d27565b6020604051808303815f875af1158015610c6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c939190611d78565b506001600960146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90611e13565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90611ea1565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ef091906117d7565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6290611f2f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd090611fbd565b60405180910390fd5b5f811161101b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110129061204b565b60405180910390fd5b61106b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461157690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506110fc8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115bf90919063ffffffff16565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161119a91906117d7565b60405180910390a3505050565b5f8383111582906111ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e591906116a6565b60405180910390fd5b505f83856111fc9190612069565b9050809150509392505050565b6001600960156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156112405761123f61209c565b5b60405190808252806020026020018201604052801561126e5781602001602082028036833780820191505090505b50905030815f81518110611285576112846120c9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561131c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113409190611bd0565b81600181518110611354576113536120c9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506113ad30737a250d5630b4cf539739df2c5dacb4c659f2488d84610d3a565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016114029594939291906121ad565b5f604051808303815f87803b158015611419575f80fd5b505af115801561142b573d5f803e3d5ffd5b50505050505f600960156101000a81548160ff02191690831515021790555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156114b1573d5f803e3d5ffd5b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6115b783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111a7565b905092915050565b5f8082846115cd9190612205565b905083811015611612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160990612282565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611653578082015181840152602081019050611638565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6116788261161c565b6116828185611626565b9350611692818560208601611636565b61169b8161165e565b840191505092915050565b5f6020820190508181035f8301526116be818461166e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6116f3826116ca565b9050919050565b611703816116e9565b811461170d575f80fd5b50565b5f8135905061171e816116fa565b92915050565b5f819050919050565b61173681611724565b8114611740575f80fd5b50565b5f813590506117518161172d565b92915050565b5f806040838503121561176d5761176c6116c6565b5b5f61177a85828601611710565b925050602061178b85828601611743565b9150509250929050565b5f8115159050919050565b6117a981611795565b82525050565b5f6020820190506117c25f8301846117a0565b92915050565b6117d181611724565b82525050565b5f6020820190506117ea5f8301846117c8565b92915050565b5f8060408385031215611806576118056116c6565b5b5f61181385828601611710565b925050602061182485828601611710565b9150509250929050565b5f805f60608486031215611845576118446116c6565b5b5f61185286828701611710565b935050602061186386828701611710565b925050604061187486828701611743565b9150509250925092565b5f60ff82169050919050565b6118938161187e565b82525050565b5f6020820190506118ac5f83018461188a565b92915050565b5f602082840312156118c7576118c66116c6565b5b5f6118d484828501611710565b91505092915050565b6118e6816116e9565b82525050565b5f6020820190506118ff5f8301846118dd565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156119875780860481111561196357611962611905565b5b60018516156119725780820291505b808102905061198085611932565b9450611947565b94509492505050565b5f8261199f5760019050611a5a565b816119ac575f9050611a5a565b81600181146119c257600281146119cc576119fb565b6001915050611a5a565b60ff8411156119de576119dd611905565b5b8360020a9150848211156119f5576119f4611905565b5b50611a5a565b5060208310610133831016604e8410600b8410161715611a305782820a905083811115611a2b57611a2a611905565b5b611a5a565b611a3d848484600161193e565b92509050818404811115611a5457611a53611905565b5b81810290505b9392505050565b5f611a6b82611724565b9150611a768361187e565b9250611aa37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611990565b905092915050565b5f611ab582611724565b9150611ac083611724565b9250828202611ace81611724565b91508282048414831517611ae557611ae4611905565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611b20602083611626565b9150611b2b82611aec565b602082019050919050565b5f6020820190508181035f830152611b4d81611b14565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f611b88601783611626565b9150611b9382611b54565b602082019050919050565b5f6020820190508181035f830152611bb581611b7c565b9050919050565b5f81519050611bca816116fa565b92915050565b5f60208284031215611be557611be46116c6565b5b5f611bf284828501611bbc565b91505092915050565b5f604082019050611c0e5f8301856118dd565b611c1b60208301846118dd565b9392505050565b5f819050919050565b5f819050919050565b5f611c4e611c49611c4484611c22565b611c2b565b611724565b9050919050565b611c5e81611c34565b82525050565b5f60c082019050611c775f8301896118dd565b611c8460208301886117c8565b611c916040830187611c55565b611c9e6060830186611c55565b611cab60808301856118dd565b611cb860a08301846117c8565b979650505050505050565b5f81519050611cd18161172d565b92915050565b5f805f60608486031215611cee57611ced6116c6565b5b5f611cfb86828701611cc3565b9350506020611d0c86828701611cc3565b9250506040611d1d86828701611cc3565b9150509250925092565b5f604082019050611d3a5f8301856118dd565b611d4760208301846117c8565b9392505050565b611d5781611795565b8114611d61575f80fd5b50565b5f81519050611d7281611d4e565b92915050565b5f60208284031215611d8d57611d8c6116c6565b5b5f611d9a84828501611d64565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611dfd602483611626565b9150611e0882611da3565b604082019050919050565b5f6020820190508181035f830152611e2a81611df1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611e8b602283611626565b9150611e9682611e31565b604082019050919050565b5f6020820190508181035f830152611eb881611e7f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611f19602583611626565b9150611f2482611ebf565b604082019050919050565b5f6020820190508181035f830152611f4681611f0d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611fa7602383611626565b9150611fb282611f4d565b604082019050919050565b5f6020820190508181035f830152611fd481611f9b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612035602983611626565b915061204082611fdb565b604082019050919050565b5f6020820190508181035f83015261206281612029565b9050919050565b5f61207382611724565b915061207e83611724565b925082820390508181111561209657612095611905565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612128816116e9565b82525050565b5f612139838361211f565b60208301905092915050565b5f602082019050919050565b5f61215b826120f6565b6121658185612100565b935061217083612110565b805f5b838110156121a0578151612187888261212e565b975061219283612145565b925050600181019050612173565b5085935050505092915050565b5f60a0820190506121c05f8301886117c8565b6121cd6020830187611c55565b81810360408301526121df8186612151565b90506121ee60608301856118dd565b6121fb60808301846117c8565b9695505050505050565b5f61220f82611724565b915061221a83611724565b925082820190508082111561223257612231611905565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61226c601b83611626565b915061227782612238565b602082019050919050565b5f6020820190508181035f83015261229981612260565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220020cc3e9cc8da6e476614bbb2af8aa8b44c2442c2474b5386d576a4e6d7cd4cf64736f6c63430008170033

Deployed Bytecode Sourcemap

3655:5627:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5425:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6258:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4433:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9117:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5702:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6427:347;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5611:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8743:366;;;;;;;;;;;;;:::i;:::-;;5805:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1649:94;;;;;;;;;;;;;:::i;:::-;;4203:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1426:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4274:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5516:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5932:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4342:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4691:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8195:540;;;;;;;;;;;;;:::i;:::-;;6107:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5425:83;5462:13;5495:5;;;;;;;;;;;;;;;;;5488:12;;5425:83;:::o;6258:161::-;6333:4;6350:39;6359:12;:10;:12::i;:::-;6373:7;6382:6;6350:8;:39::i;:::-;6407:4;6400:11;;6258:161;;;;:::o;4433:55::-;;;;:::o;9117:162::-;9223:10;;;;;;;;;;;9207:26;;:12;:10;:12::i;:::-;:26;;;9199:35;;;;;;9117:162;;:::o;5702:95::-;5755:7;3962:2;4021;:13;;;;:::i;:::-;4006:12;:28;;;;:::i;:::-;5775:14;;5702:95;:::o;6427:347::-;6559:4;6576:36;6586:6;6594:9;6605:6;6576:9;:36::i;:::-;6623:121;6632:6;6640:12;:10;:12::i;:::-;6654:89;6692:6;6654:89;;;;;;;;;;;;;;;;;:11;:19;6666:6;6654:19;;;;;;;;;;;;;;;:33;6674:12;:10;:12::i;:::-;6654:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6623:8;:121::i;:::-;6762:4;6755:11;;6427:347;;;;;:::o;5611:83::-;5652:5;3962:2;5670:16;;5611:83;:::o;8743:366::-;8809:10;;;;;;;;;;;8793:26;;:12;:10;:12::i;:::-;:26;;;8785:35;;;;;;8831:20;8854:24;8872:4;8854:9;:24::i;:::-;8831:47;;8908:1;8893:12;:16;8889:79;;;8926:30;8943:12;8926:16;:30::i;:::-;8889:79;8978:18;8999:21;8978:42;;9048:1;9035:10;:14;9031:71;;;9066:24;9079:10;9066:12;:24::i;:::-;9031:71;8774:335;;8743:366::o;5805:119::-;5871:7;5898:9;:18;5908:7;5898:18;;;;;;;;;;;;;;;;5891:25;;5805:119;;;:::o;1649:94::-;1572:12;:10;:12::i;:::-;1561:23;;:7;:5;:7::i;:::-;:23;;;1553:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1714:21:::1;1732:1;1714:9;:21::i;:::-;1649:94::o:0;4203:37::-;;;;:::o;1426:87::-;1472:7;1499:6;;;;;;;;;;;1492:13;;1426:87;:::o;4274:39::-;;;;:::o;5516:87::-;5555:13;5588:7;;;;;;;;;;;;;;;;;5581:14;;5516:87;:::o;5932:167::-;6010:4;6027:42;6037:12;:10;:12::i;:::-;6051:9;6062:6;6027:9;:42::i;:::-;6087:4;6080:11;;5932:167;;;;:::o;4342:60::-;;;;:::o;4691:26::-;;;;;;;;;;;;;:::o;8195:540::-;1572:12;:10;:12::i;:::-;1561:23;;:7;:5;:7::i;:::-;:23;;;1553:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8257:11:::1;;;;;;;;;;;8256:12;8248:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;8307:50;8324:4;4592:42;3962:2;4021;:13;;;;:::i;:::-;4006:12;:28;;;;:::i;:::-;8307:8;:50::i;:::-;8382:4;8368:11;;:18;;;;;;;;;;;;;;;;;;4592:42;8429:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8411:47;;;8467:4;4592:42;8474:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8411:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8397:11;;:92;;;;;;;;;;;;;;;;;;4592:42;8500:23;;;8531:21;8562:4;8569:24;8587:4;8569:9;:24::i;:::-;8595:1;8598::::0;8601:7:::1;:5;:7::i;:::-;8610:15;8500:126;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8644:11;;;;;;;;;;;8637:27;;;4592:42;8683:14;8637:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8723:4;8709:11;;:18;;;;;;;;;;;;;;;;;;8195:540::o:0;6107:143::-;6188:7;6215:11;:18;6227:5;6215:18;;;;;;;;;;;;;;;:27;6234:7;6215:27;;;;;;;;;;;;;;;;6208:34;;6107:143;;;;:::o;231:98::-;284:7;311:10;304:17;;231:98;:::o;6782:335::-;6892:1;6875:19;;:5;:19;;;6867:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6973:1;6954:21;;:7;:21;;;6946:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7055:6;7025:11;:18;7037:5;7025:18;;;;;;;;;;;;;;;:27;7044:7;7025:27;;;;;;;;;;;;;;;:36;;;;7093:7;7077:32;;7086:5;7077:32;;;7102:6;7077:32;;;;;;:::i;:::-;;;;;;;;6782:335;;;:::o;7125:458::-;7229:1;7213:18;;:4;:18;;;7205:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7306:1;7292:16;;:2;:16;;;7284:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7376:1;7367:6;:10;7359:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7454:27;7474:6;7454:9;:15;7464:4;7454:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7436:9;:15;7446:4;7436:15;;;;;;;;;;;;;;;:45;;;;7508:25;7526:6;7508:9;:13;7518:2;7508:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;7492:9;:13;7502:2;7492:13;;;;;;;;;;;;;;;:41;;;;7564:2;7549:26;;7558:4;7549:26;;;7568:6;7549:26;;;;;;:::i;:::-;;;;;;;;7125:458;;;:::o;1918:190::-;2004:7;2037:1;2032;:6;;2040:12;2024:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2064:9;2080:1;2076;:5;;;;:::i;:::-;2064:17;;2099:1;2092:8;;;1918:190;;;;;:::o;7591:459::-;5064:4;5055:6;;:13;;;;;;;;;;;;;;;;;;7669:21:::1;7707:1;7693:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7669:40;;7738:4;7720;7725:1;7720:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;4592:42;7764:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7754:4;7759:1;7754:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;7789:54;7806:4;4592:42;7831:11;7789:8;:54::i;:::-;4592:42;7854:58;;;7927:11;7953:1;7969:4;7996;8016:15;7854:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7658:392;5100:5:::0;5091:6;;:14;;;;;;;;;;;;;;;;;;7591:459;:::o;8058:92::-;8115:10;;;;;;;;;;;:19;;:27;8135:6;8115:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8058:92;:::o;1245:173::-;1301:16;1320:6;;;;;;;;;;;1301:25;;1346:8;1337:6;;:17;;;;;;;;;;;;;;;;;;1401:8;1370:40;;1391:8;1370:40;;;;;;;;;;;;1290:128;1245:173;:::o;1774:136::-;1832:7;1859:43;1863:1;1866;1859:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1852:50;;1774:136;;;;:::o;2116:179::-;2174:7;2194:9;2210:1;2206;:5;;;;:::i;:::-;2194:17;;2235:1;2230;:6;;2222:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2286:1;2279:8;;;2116: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;1430:117::-;1539:1;1536;1529: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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:474::-;3866:6;3874;3923:2;3911:9;3902:7;3898:23;3894:32;3891:119;;;3929:79;;:::i;:::-;3891:119;4049:1;4074:53;4119:7;4110:6;4099:9;4095:22;4074:53;:::i;:::-;4064:63;;4020:117;4176:2;4202:53;4247:7;4238:6;4227:9;4223:22;4202:53;:::i;:::-;4192:63;;4147:118;3798:474;;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:182::-;9090:34;9086:1;9078:6;9074:14;9067:58;8950:182;:::o;9138:366::-;9280:3;9301:67;9365:2;9360:3;9301:67;:::i;:::-;9294:74;;9377:93;9466:3;9377:93;:::i;:::-;9495:2;9490:3;9486:12;9479:19;;9138:366;;;:::o;9510:419::-;9676:4;9714:2;9703:9;9699:18;9691:26;;9763:9;9757:4;9753:20;9749:1;9738:9;9734:17;9727:47;9791:131;9917:4;9791:131;:::i;:::-;9783:139;;9510:419;;;:::o;9935:173::-;10075:25;10071:1;10063:6;10059:14;10052:49;9935:173;:::o;10114:366::-;10256:3;10277:67;10341:2;10336:3;10277:67;:::i;:::-;10270:74;;10353:93;10442:3;10353:93;:::i;:::-;10471:2;10466:3;10462:12;10455:19;;10114:366;;;:::o;10486:419::-;10652:4;10690:2;10679:9;10675:18;10667:26;;10739:9;10733:4;10729:20;10725:1;10714:9;10710:17;10703:47;10767:131;10893:4;10767:131;:::i;:::-;10759:139;;10486:419;;;:::o;10911:143::-;10968:5;10999:6;10993:13;10984:22;;11015:33;11042:5;11015:33;:::i;:::-;10911:143;;;;:::o;11060:351::-;11130:6;11179:2;11167:9;11158:7;11154:23;11150:32;11147:119;;;11185:79;;:::i;:::-;11147:119;11305:1;11330:64;11386:7;11377:6;11366:9;11362:22;11330:64;:::i;:::-;11320:74;;11276:128;11060:351;;;;:::o;11417:332::-;11538:4;11576:2;11565:9;11561:18;11553:26;;11589:71;11657:1;11646:9;11642:17;11633:6;11589:71;:::i;:::-;11670:72;11738:2;11727:9;11723:18;11714:6;11670:72;:::i;:::-;11417:332;;;;;:::o;11755:85::-;11800:7;11829:5;11818:16;;11755:85;;;:::o;11846:60::-;11874:3;11895:5;11888:12;;11846:60;;;:::o;11912:158::-;11970:9;12003:61;12021:42;12030:32;12056:5;12030:32;:::i;:::-;12021:42;:::i;:::-;12003:61;:::i;:::-;11990:74;;11912:158;;;:::o;12076:147::-;12171:45;12210:5;12171:45;:::i;:::-;12166:3;12159:58;12076:147;;:::o;12229:807::-;12478:4;12516:3;12505:9;12501:19;12493:27;;12530:71;12598:1;12587:9;12583:17;12574:6;12530:71;:::i;:::-;12611:72;12679:2;12668:9;12664:18;12655:6;12611:72;:::i;:::-;12693:80;12769:2;12758:9;12754:18;12745:6;12693:80;:::i;:::-;12783;12859:2;12848:9;12844:18;12835:6;12783:80;:::i;:::-;12873:73;12941:3;12930:9;12926:19;12917:6;12873:73;:::i;:::-;12956;13024:3;13013:9;13009:19;13000:6;12956:73;:::i;:::-;12229:807;;;;;;;;;:::o;13042:143::-;13099:5;13130:6;13124:13;13115:22;;13146:33;13173:5;13146:33;:::i;:::-;13042:143;;;;:::o;13191:663::-;13279:6;13287;13295;13344:2;13332:9;13323:7;13319:23;13315:32;13312:119;;;13350:79;;:::i;:::-;13312:119;13470:1;13495:64;13551:7;13542:6;13531:9;13527:22;13495:64;:::i;:::-;13485:74;;13441:128;13608:2;13634:64;13690:7;13681:6;13670:9;13666:22;13634:64;:::i;:::-;13624:74;;13579:129;13747:2;13773:64;13829:7;13820:6;13809:9;13805:22;13773:64;:::i;:::-;13763:74;;13718:129;13191:663;;;;;:::o;13860:332::-;13981:4;14019:2;14008:9;14004:18;13996:26;;14032:71;14100:1;14089:9;14085:17;14076:6;14032:71;:::i;:::-;14113:72;14181:2;14170:9;14166:18;14157:6;14113:72;:::i;:::-;13860:332;;;;;:::o;14198:116::-;14268:21;14283:5;14268:21;:::i;:::-;14261:5;14258:32;14248:60;;14304:1;14301;14294:12;14248:60;14198:116;:::o;14320:137::-;14374:5;14405:6;14399:13;14390:22;;14421:30;14445:5;14421:30;:::i;:::-;14320:137;;;;:::o;14463:345::-;14530:6;14579:2;14567:9;14558:7;14554:23;14550:32;14547:119;;;14585:79;;:::i;:::-;14547:119;14705:1;14730:61;14783:7;14774:6;14763:9;14759:22;14730:61;:::i;:::-;14720:71;;14676:125;14463:345;;;;:::o;14814:223::-;14954:34;14950:1;14942:6;14938:14;14931:58;15023:6;15018:2;15010:6;15006:15;14999:31;14814:223;:::o;15043:366::-;15185:3;15206:67;15270:2;15265:3;15206:67;:::i;:::-;15199:74;;15282:93;15371:3;15282:93;:::i;:::-;15400:2;15395:3;15391:12;15384:19;;15043:366;;;:::o;15415:419::-;15581:4;15619:2;15608:9;15604:18;15596:26;;15668:9;15662:4;15658:20;15654:1;15643:9;15639:17;15632:47;15696:131;15822:4;15696:131;:::i;:::-;15688:139;;15415:419;;;:::o;15840:221::-;15980:34;15976:1;15968:6;15964:14;15957:58;16049:4;16044:2;16036:6;16032:15;16025:29;15840:221;:::o;16067:366::-;16209:3;16230:67;16294:2;16289:3;16230:67;:::i;:::-;16223:74;;16306:93;16395:3;16306:93;:::i;:::-;16424:2;16419:3;16415:12;16408:19;;16067:366;;;:::o;16439:419::-;16605:4;16643:2;16632:9;16628:18;16620:26;;16692:9;16686:4;16682:20;16678:1;16667:9;16663:17;16656:47;16720:131;16846:4;16720:131;:::i;:::-;16712:139;;16439:419;;;:::o;16864:224::-;17004:34;17000:1;16992:6;16988:14;16981:58;17073:7;17068:2;17060:6;17056:15;17049:32;16864:224;:::o;17094:366::-;17236:3;17257:67;17321:2;17316:3;17257:67;:::i;:::-;17250:74;;17333:93;17422:3;17333:93;:::i;:::-;17451:2;17446:3;17442:12;17435:19;;17094:366;;;:::o;17466:419::-;17632:4;17670:2;17659:9;17655:18;17647:26;;17719:9;17713:4;17709:20;17705:1;17694:9;17690:17;17683:47;17747:131;17873:4;17747:131;:::i;:::-;17739:139;;17466:419;;;:::o;17891:222::-;18031:34;18027:1;18019:6;18015:14;18008:58;18100:5;18095:2;18087:6;18083:15;18076:30;17891:222;:::o;18119:366::-;18261:3;18282:67;18346:2;18341:3;18282:67;:::i;:::-;18275:74;;18358:93;18447:3;18358:93;:::i;:::-;18476:2;18471:3;18467:12;18460:19;;18119:366;;;:::o;18491:419::-;18657:4;18695:2;18684:9;18680:18;18672:26;;18744:9;18738:4;18734:20;18730:1;18719:9;18715:17;18708:47;18772:131;18898:4;18772:131;:::i;:::-;18764:139;;18491:419;;;:::o;18916:228::-;19056:34;19052:1;19044:6;19040:14;19033:58;19125:11;19120:2;19112:6;19108:15;19101:36;18916:228;:::o;19150:366::-;19292:3;19313:67;19377:2;19372:3;19313:67;:::i;:::-;19306:74;;19389:93;19478:3;19389:93;:::i;:::-;19507:2;19502:3;19498:12;19491:19;;19150:366;;;:::o;19522:419::-;19688:4;19726:2;19715:9;19711:18;19703:26;;19775:9;19769:4;19765:20;19761:1;19750:9;19746:17;19739:47;19803:131;19929:4;19803:131;:::i;:::-;19795:139;;19522:419;;;:::o;19947:194::-;19987:4;20007:20;20025:1;20007:20;:::i;:::-;20002:25;;20041:20;20059:1;20041:20;:::i;:::-;20036:25;;20085:1;20082;20078:9;20070:17;;20109:1;20103:4;20100:11;20097:37;;;20114:18;;:::i;:::-;20097:37;19947:194;;;;:::o;20147:180::-;20195:77;20192:1;20185:88;20292:4;20289:1;20282:15;20316:4;20313:1;20306:15;20333:180;20381:77;20378:1;20371:88;20478:4;20475:1;20468:15;20502:4;20499:1;20492:15;20519:114;20586:6;20620:5;20614:12;20604:22;;20519:114;;;:::o;20639:184::-;20738:11;20772:6;20767:3;20760:19;20812:4;20807:3;20803:14;20788:29;;20639:184;;;;:::o;20829:132::-;20896:4;20919:3;20911:11;;20949:4;20944:3;20940:14;20932:22;;20829:132;;;:::o;20967:108::-;21044:24;21062:5;21044:24;:::i;:::-;21039:3;21032:37;20967:108;;:::o;21081:179::-;21150:10;21171:46;21213:3;21205:6;21171:46;:::i;:::-;21249:4;21244:3;21240:14;21226:28;;21081:179;;;;:::o;21266:113::-;21336:4;21368;21363:3;21359:14;21351:22;;21266:113;;;:::o;21415:732::-;21534:3;21563:54;21611:5;21563:54;:::i;:::-;21633:86;21712:6;21707:3;21633:86;:::i;:::-;21626:93;;21743:56;21793:5;21743:56;:::i;:::-;21822:7;21853:1;21838:284;21863:6;21860:1;21857:13;21838:284;;;21939:6;21933:13;21966:63;22025:3;22010:13;21966:63;:::i;:::-;21959:70;;22052:60;22105:6;22052:60;:::i;:::-;22042:70;;21898:224;21885:1;21882;21878:9;21873:14;;21838:284;;;21842:14;22138:3;22131:10;;21539:608;;;21415:732;;;;:::o;22153:831::-;22416:4;22454:3;22443:9;22439:19;22431:27;;22468:71;22536:1;22525:9;22521:17;22512:6;22468:71;:::i;:::-;22549:80;22625:2;22614:9;22610:18;22601:6;22549:80;:::i;:::-;22676:9;22670:4;22666:20;22661:2;22650:9;22646:18;22639:48;22704:108;22807:4;22798:6;22704:108;:::i;:::-;22696:116;;22822:72;22890:2;22879:9;22875:18;22866:6;22822:72;:::i;:::-;22904:73;22972:3;22961:9;22957:19;22948:6;22904:73;:::i;:::-;22153:831;;;;;;;;:::o;22990:191::-;23030:3;23049:20;23067:1;23049:20;:::i;:::-;23044:25;;23083:20;23101:1;23083:20;:::i;:::-;23078:25;;23126:1;23123;23119:9;23112:16;;23147:3;23144:1;23141:10;23138:36;;;23154:18;;:::i;:::-;23138:36;22990:191;;;;:::o;23187:177::-;23327:29;23323:1;23315:6;23311:14;23304:53;23187:177;:::o;23370:366::-;23512:3;23533:67;23597:2;23592:3;23533:67;:::i;:::-;23526:74;;23609:93;23698:3;23609:93;:::i;:::-;23727:2;23722:3;23718:12;23711:19;;23370:366;;;:::o;23742:419::-;23908:4;23946:2;23935:9;23931:18;23923:26;;23995:9;23989:4;23985:20;23981:1;23970:9;23966:17;23959:47;24023:131;24149:4;24023:131;:::i;:::-;24015:139;;23742:419;;;:::o

Swarm Source

ipfs://020cc3e9cc8da6e476614bbb2af8aa8b44c2442c2474b5386d576a4e6d7cd4cf

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.