ETH Price: $2,344.15 (-2.59%)

Token

Baby Very Banking (BVB)
 

Overview

Max Total Supply

10,000,000,000 BVB

Holders

85

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 5 Decimals)

Balance
19,260,160.39045 BVB

Value
$0.00
0xcd2bb9ed5bcba9bb06cdfb2b0ca81e042b5c6867
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BVB

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
byzantium EvmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-24
*/

/**

Send It.

*/

pragma solidity 0.8.7;

// SPDX-License-Identifier: UNLICENSED 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract BVB is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    uint256 private _standardTax;
    address payable private _feeAddrWallet;

    string private constant _name = "Baby Very Banking";
    string private constant _symbol = "BVB";
    uint8 private constant _decimals = 5;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private _maxWalletSize = _tTotal.mul(2).div(100);
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(_msgSender());
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        _standardTax=5;

        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 tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

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

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


        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            _feeAddr1 = 0;
            _feeAddr2 = _standardTax;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

            }


            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }else{
          _feeAddr1 = 0;
          _feeAddr2 = 0;
        }

        _tokenTransfer(from,to,amount);
    }

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

    function setStandardTax(uint256 newTax) external onlyOwner{
      require(newTax<_standardTax);
      _standardTax=newTax;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;

        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

        function addbot(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function manualswap() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }


    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addbot","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setStandardTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001966038d7ea4c68000600019620004a1565b620000279060001962000487565b600855600f805460a860020a62ffffff02191690556200007960646200006466038d7ea4c68000600264010000000062000b146200027082021704565b9064010000000062000bb96200033a82021704565b601055620000a460646200006466038d7ea4c68000600264010000000062000b146200027082021704565b601155348015620000b457600080fd5b506000620000ca6401000000006200038d810204565b60008054600160a060020a031916600160a060020a0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001276401000000006200038d810204565b600d8054600160a060020a031916600160a060020a039290921691909117905560085460026000620001616401000000006200038d810204565b600160a060020a0316600160a060020a0316815260200190815260200160002081905550600160056000620001a462000391640100000000026401000000009004565b600160a060020a03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600593849052828120805486166001908117909155600d54909216815291909120805490931617909155600c55620002156401000000006200038d810204565b600160a060020a03166000600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c680006040516200026291815260200190565b60405180910390a362000516565b600082620002815750600062000334565b60006200028f838562000465565b9050826200029e85836200044e565b1462000331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b90505b92915050565b60006200033183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620003a0640100000000026401000000009004565b3390565b600054600160a060020a031690565b60008183620003de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003289190620003f6565b506000620003ed84866200044e565b95945050505050565b600060208083528351808285015260005b81811015620004255785810183015185820160400152820162000407565b8181111562000438576000604083870101525b50601f01601f1916929092016040019392505050565b600082620004605762000460620004e7565b500490565b6000816000190483118215151615620004825762000482620004b8565b500290565b6000828210156200049c576200049c620004b8565b500390565b600082620004b357620004b3620004e7565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b611c8580620005266000396000f3fe6080604052600436106101115760003560e060020a90048063751039fc11610099578063a9059cbb11610068578063a9059cbb14610314578063c3c8cd8014610334578063c9567bf914610349578063ccfee5d61461035e578063dd62ed3e1461037e57600080fd5b8063751039fc14610271578063843f7be2146102865780638da5cb5b146102a657806395d89b41146102ce57600080fd5b8063313ce567116100e0578063313ce567146101e95780635932ead1146102055780636fc3eaec1461022757806370a082311461023c578063715018a61461025c57600080fd5b806306fdde031461011d578063095ea7b31461017557806318160ddd146101a557806323b872dd146101c957600080fd5b3661011857005b600080fd5b34801561012957600080fd5b5060408051808201909152601181527f4261627920566572792042616e6b696e6700000000000000000000000000000060208201525b60405161016c9190611a30565b60405180910390f35b34801561018157600080fd5b506101956101903660046118b8565b6103c4565b604051901515815260200161016c565b3480156101b157600080fd5b5066038d7ea4c680005b60405190815260200161016c565b3480156101d557600080fd5b506101956101e4366004611877565b6103db565b3480156101f557600080fd5b506040516005815260200161016c565b34801561021157600080fd5b506102256102203660046119af565b610444565b005b34801561023357600080fd5b506102256104c0565b34801561024857600080fd5b506101bb610257366004611804565b6104ee565b34801561026857600080fd5b50610225610510565b34801561027d57600080fd5b50610225610594565b34801561029257600080fd5b506102256102a13660046119e9565b6105d3565b3480156102b257600080fd5b50600054604051600160a060020a03909116815260200161016c565b3480156102da57600080fd5b5060408051808201909152600381527f4256420000000000000000000000000000000000000000000000000000000000602082015261015f565b34801561032057600080fd5b5061019561032f3660046118b8565b610613565b34801561034057600080fd5b50610225610620565b34801561035557600080fd5b50610225610656565b34801561036a57600080fd5b506102256103793660046118e4565b610a7f565b34801561038a57600080fd5b506101bb61039936600461183e565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b60006103d1338484610bfb565b5060015b92915050565b60006103e8848484610d59565b61043a843361043585604051806060016040528060288152602001611c2860289139600160a060020a038a1660009081526004602090815260408083203384529091529020549190611151565b610bfb565b5060019392505050565b600054600160a060020a0316331461047a5760405160e560020a62461bcd02815260040161047190611a85565b60405180910390fd5b600f8054911515770100000000000000000000000000000000000000000000000277ff000000000000000000000000000000000000000000000019909216919091179055565b600d54600160a060020a031633600160a060020a0316146104e057600080fd5b30316104eb8161118e565b50565b600160a060020a0381166000908152600260205260408120546103d5906111c8565b600054600160a060020a0316331461053d5760405160e560020a62461bcd02815260040161047190611a85565b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031633146105c15760405160e560020a62461bcd02815260040161047190611a85565b66038d7ea4c680006010819055601155565b600054600160a060020a031633146106005760405160e560020a62461bcd02815260040161047190611a85565b600c54811061060e57600080fd5b600c55565b60006103d1338484610d59565b600d54600160a060020a031633600160a060020a03161461064057600080fd5b600061064b306104ee565b90506104eb8161125b565b600054600160a060020a031633146106835760405160e560020a62461bcd02815260040161047190611a85565b600f5474010000000000000000000000000000000000000000900460ff16156106f15760405160e560020a62461bcd02815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610471565b600e805473ffffffffffffffffffffffffffffffffffffffff1916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610739308266038d7ea4c68000610bfb565b80600160a060020a031663c45a01556040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ad9190611821565b600160a060020a031663c9c653963083600160a060020a031663ad5c46486040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156107f857600080fd5b505afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108309190611821565b60405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15801561087657600080fd5b505af115801561088a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ae9190611821565b600f805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03928316179055600e541663f305d719308031906108ed816104ee565b600080610902600054600160a060020a031690565b60405163ffffffff881660e060020a028152600160a060020a03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561096357600080fd5b505af1158015610977573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061099c9190611a02565b5050600f805477ffff00ff00000000000000000000000000000000000000001981167701010001000000000000000000000000000000000000000017909155600e546040517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610a4357600080fd5b505af1158015610a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7b91906119cc565b5050565b600054600160a060020a03163314610aac5760405160e560020a62461bcd02815260040161047190611a85565b60005b8151811015610a7b57600160066000848481518110610ad057610ad0611bd2565b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905580610b0c81611b9e565b915050610aaf565b600082610b23575060006103d5565b6000610b2f8385611b68565b905082610b3c8583611b43565b14610bb25760405160e560020a62461bcd02815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f77000000000000000000000000000000000000000000000000000000000000006064820152608401610471565b9392505050565b6000610bb283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061144c565b600160a060020a038316610c795760405160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610471565b600160a060020a038216610cf85760405160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610471565b600160a060020a0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600160a060020a038316610dd85760405160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610471565b600160a060020a038216610e575760405160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610471565b60008111610ed05760405160e560020a62461bcd02815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152608401610471565b600054600160a060020a03848116911614801590610efc5750600054600160a060020a03838116911614155b1561113657600160a060020a03831660009081526006602052604090205460ff16158015610f435750600160a060020a03821660009081526006602052604090205460ff16155b610f4c57600080fd5b6000600a55600c54600b55600f54600160a060020a038481169116148015610f825750600e54600160a060020a03838116911614155b8015610fa75750600160a060020a03821660009081526005602052604090205460ff16155b8015610fd05750600f5477010000000000000000000000000000000000000000000000900460ff165b156110925760105481111561102a5760405160e560020a62461bcd02815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610471565b60115481611037846104ee565b6110419190611b2b565b11156110925760405160e560020a62461bcd02815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610471565b600061109d306104ee565b600f549091507501000000000000000000000000000000000000000000900460ff161580156110da5750600f54600160a060020a03858116911614155b80156111025750600f54760100000000000000000000000000000000000000000000900460ff165b801561110e5750600081115b156111305761111c8161125b565b3031801561112e5761112e303161118e565b505b50611141565b6000600a819055600b555b61114c83838361147d565b505050565b600081848411156111785760405160e560020a62461bcd0281526004016104719190611a30565b5060006111858486611b87565b95945050505050565b600d54604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610a7b573d6000803e3d6000fd5b60006008548211156112455760405160e560020a62461bcd02815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e73000000000000000000000000000000000000000000006064820152608401610471565b600061124f611488565b9050610bb28382610bb9565b600f805475ff0000000000000000000000000000000000000000001916750100000000000000000000000000000000000000000017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112c7576112c7611bd2565b600160a060020a03928316602091820292909201810191909152600e54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561133457600080fd5b505afa158015611348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136c9190611821565b8160018151811061137f5761137f611bd2565b600160a060020a039283166020918202929092010152600e546113a59130911684610bfb565b600e546040517f791ac947000000000000000000000000000000000000000000000000000000008152600160a060020a039091169063791ac947906113f7908590600090869030904290600401611aba565b600060405180830381600087803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b5050600f805475ff0000000000000000000000000000000000000000001916905550505050565b600081836114705760405160e560020a62461bcd0281526004016104719190611a30565b5060006111858486611b43565b61114c8383836114ab565b60008060006114956115a2565b90925090506114a48282610bb9565b9250505090565b6000806000806000806114bd876115e0565b600160a060020a038f16600090815260026020526040902054959b509399509197509550935091506114ef908761163d565b600160a060020a03808b1660009081526002602052604080822093909355908a168152205461151e908661167f565b600160a060020a038916600090815260026020526040902055611540816116e1565b61154a848361172b565b87600160a060020a031689600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161158f91815260200190565b60405180910390a3505050505050505050565b600854600090819066038d7ea4c680006115bc8282610bb9565b8210156115d75750506008549266038d7ea4c6800092509050565b90939092509050565b60008060008060008060008060006115fd8a600a54600b5461174f565b925092509250600061160d611488565b905060008060006116208e8787876117a4565b919e509c509a509598509396509194505050505091939550919395565b6000610bb283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611151565b60008061168c8385611b2b565b905083811015610bb25760405160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610471565b60006116eb611488565b905060006116f98383610b14565b30600090815260026020526040902054909150611716908261167f565b30600090815260026020526040902055505050565b600854611738908361163d565b600855600954611748908261167f565b6009555050565b600080808061176960646117638989610b14565b90610bb9565b9050600061177c60646117638a89610b14565b905060006117948261178e8b8661163d565b9061163d565b9992985090965090945050505050565b60008080806117b38886610b14565b905060006117c18887610b14565b905060006117cf8888610b14565b905060006117e18261178e868661163d565b939b939a50919850919650505050505050565b80356117ff81611c04565b919050565b60006020828403121561181657600080fd5b8135610bb281611c04565b60006020828403121561183357600080fd5b8151610bb281611c04565b6000806040838503121561185157600080fd5b823561185c81611c04565b9150602083013561186c81611c04565b809150509250929050565b60008060006060848603121561188c57600080fd5b833561189781611c04565b925060208401356118a781611c04565b929592945050506040919091013590565b600080604083850312156118cb57600080fd5b82356118d681611c04565b946020939093013593505050565b600060208083850312156118f757600080fd5b823567ffffffffffffffff8082111561190f57600080fd5b818501915085601f83011261192357600080fd5b81358181111561193557611935611beb565b838102604051601f19603f8301168101818110858211171561195957611959611beb565b604052828152858101935084860182860187018a101561197857600080fd5b600095505b838610156119a25761198e816117f4565b85526001959095019493860193860161197d565b5098975050505050505050565b6000602082840312156119c157600080fd5b8135610bb281611c19565b6000602082840312156119de57600080fd5b8151610bb281611c19565b6000602082840312156119fb57600080fd5b5035919050565b600080600060608486031215611a1757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611a5d57858101830151858201604001528201611a41565b81811115611a6f576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b0a578451600160a060020a031683529383019391830191600101611ae5565b5050600160a060020a03969096166060850152505050608001529392505050565b60008219821115611b3e57611b3e611bb9565b500190565b600082611b635760e060020a634e487b7102600052601260045260246000fd5b500490565b6000816000190483118215151615611b8257611b82611bb9565b500290565b600082821015611b9957611b99611bb9565b500390565b6000600019821415611bb257611bb2611bb9565b5060010190565b60e060020a634e487b7102600052601160045260246000fd5b60e060020a634e487b7102600052603260045260246000fd5b60e060020a634e487b7102600052604160045260246000fd5b600160a060020a03811681146104eb57600080fd5b80151581146104eb57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220808be0f4a352d0f5510629202c86e98e656cdce74830fafe91f47dfb52be762964736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101115760003560e060020a90048063751039fc11610099578063a9059cbb11610068578063a9059cbb14610314578063c3c8cd8014610334578063c9567bf914610349578063ccfee5d61461035e578063dd62ed3e1461037e57600080fd5b8063751039fc14610271578063843f7be2146102865780638da5cb5b146102a657806395d89b41146102ce57600080fd5b8063313ce567116100e0578063313ce567146101e95780635932ead1146102055780636fc3eaec1461022757806370a082311461023c578063715018a61461025c57600080fd5b806306fdde031461011d578063095ea7b31461017557806318160ddd146101a557806323b872dd146101c957600080fd5b3661011857005b600080fd5b34801561012957600080fd5b5060408051808201909152601181527f4261627920566572792042616e6b696e6700000000000000000000000000000060208201525b60405161016c9190611a30565b60405180910390f35b34801561018157600080fd5b506101956101903660046118b8565b6103c4565b604051901515815260200161016c565b3480156101b157600080fd5b5066038d7ea4c680005b60405190815260200161016c565b3480156101d557600080fd5b506101956101e4366004611877565b6103db565b3480156101f557600080fd5b506040516005815260200161016c565b34801561021157600080fd5b506102256102203660046119af565b610444565b005b34801561023357600080fd5b506102256104c0565b34801561024857600080fd5b506101bb610257366004611804565b6104ee565b34801561026857600080fd5b50610225610510565b34801561027d57600080fd5b50610225610594565b34801561029257600080fd5b506102256102a13660046119e9565b6105d3565b3480156102b257600080fd5b50600054604051600160a060020a03909116815260200161016c565b3480156102da57600080fd5b5060408051808201909152600381527f4256420000000000000000000000000000000000000000000000000000000000602082015261015f565b34801561032057600080fd5b5061019561032f3660046118b8565b610613565b34801561034057600080fd5b50610225610620565b34801561035557600080fd5b50610225610656565b34801561036a57600080fd5b506102256103793660046118e4565b610a7f565b34801561038a57600080fd5b506101bb61039936600461183e565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b60006103d1338484610bfb565b5060015b92915050565b60006103e8848484610d59565b61043a843361043585604051806060016040528060288152602001611c2860289139600160a060020a038a1660009081526004602090815260408083203384529091529020549190611151565b610bfb565b5060019392505050565b600054600160a060020a0316331461047a5760405160e560020a62461bcd02815260040161047190611a85565b60405180910390fd5b600f8054911515770100000000000000000000000000000000000000000000000277ff000000000000000000000000000000000000000000000019909216919091179055565b600d54600160a060020a031633600160a060020a0316146104e057600080fd5b30316104eb8161118e565b50565b600160a060020a0381166000908152600260205260408120546103d5906111c8565b600054600160a060020a0316331461053d5760405160e560020a62461bcd02815260040161047190611a85565b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031633146105c15760405160e560020a62461bcd02815260040161047190611a85565b66038d7ea4c680006010819055601155565b600054600160a060020a031633146106005760405160e560020a62461bcd02815260040161047190611a85565b600c54811061060e57600080fd5b600c55565b60006103d1338484610d59565b600d54600160a060020a031633600160a060020a03161461064057600080fd5b600061064b306104ee565b90506104eb8161125b565b600054600160a060020a031633146106835760405160e560020a62461bcd02815260040161047190611a85565b600f5474010000000000000000000000000000000000000000900460ff16156106f15760405160e560020a62461bcd02815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610471565b600e805473ffffffffffffffffffffffffffffffffffffffff1916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610739308266038d7ea4c68000610bfb565b80600160a060020a031663c45a01556040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ad9190611821565b600160a060020a031663c9c653963083600160a060020a031663ad5c46486040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156107f857600080fd5b505afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108309190611821565b60405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15801561087657600080fd5b505af115801561088a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ae9190611821565b600f805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03928316179055600e541663f305d719308031906108ed816104ee565b600080610902600054600160a060020a031690565b60405163ffffffff881660e060020a028152600160a060020a03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561096357600080fd5b505af1158015610977573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061099c9190611a02565b5050600f805477ffff00ff00000000000000000000000000000000000000001981167701010001000000000000000000000000000000000000000017909155600e546040517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610a4357600080fd5b505af1158015610a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7b91906119cc565b5050565b600054600160a060020a03163314610aac5760405160e560020a62461bcd02815260040161047190611a85565b60005b8151811015610a7b57600160066000848481518110610ad057610ad0611bd2565b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff191691151591909117905580610b0c81611b9e565b915050610aaf565b600082610b23575060006103d5565b6000610b2f8385611b68565b905082610b3c8583611b43565b14610bb25760405160e560020a62461bcd02815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f77000000000000000000000000000000000000000000000000000000000000006064820152608401610471565b9392505050565b6000610bb283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061144c565b600160a060020a038316610c795760405160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610471565b600160a060020a038216610cf85760405160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610471565b600160a060020a0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600160a060020a038316610dd85760405160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610471565b600160a060020a038216610e575760405160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610471565b60008111610ed05760405160e560020a62461bcd02815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152608401610471565b600054600160a060020a03848116911614801590610efc5750600054600160a060020a03838116911614155b1561113657600160a060020a03831660009081526006602052604090205460ff16158015610f435750600160a060020a03821660009081526006602052604090205460ff16155b610f4c57600080fd5b6000600a55600c54600b55600f54600160a060020a038481169116148015610f825750600e54600160a060020a03838116911614155b8015610fa75750600160a060020a03821660009081526005602052604090205460ff16155b8015610fd05750600f5477010000000000000000000000000000000000000000000000900460ff165b156110925760105481111561102a5760405160e560020a62461bcd02815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610471565b60115481611037846104ee565b6110419190611b2b565b11156110925760405160e560020a62461bcd02815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610471565b600061109d306104ee565b600f549091507501000000000000000000000000000000000000000000900460ff161580156110da5750600f54600160a060020a03858116911614155b80156111025750600f54760100000000000000000000000000000000000000000000900460ff165b801561110e5750600081115b156111305761111c8161125b565b3031801561112e5761112e303161118e565b505b50611141565b6000600a819055600b555b61114c83838361147d565b505050565b600081848411156111785760405160e560020a62461bcd0281526004016104719190611a30565b5060006111858486611b87565b95945050505050565b600d54604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610a7b573d6000803e3d6000fd5b60006008548211156112455760405160e560020a62461bcd02815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e73000000000000000000000000000000000000000000006064820152608401610471565b600061124f611488565b9050610bb28382610bb9565b600f805475ff0000000000000000000000000000000000000000001916750100000000000000000000000000000000000000000017905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112c7576112c7611bd2565b600160a060020a03928316602091820292909201810191909152600e54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561133457600080fd5b505afa158015611348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136c9190611821565b8160018151811061137f5761137f611bd2565b600160a060020a039283166020918202929092010152600e546113a59130911684610bfb565b600e546040517f791ac947000000000000000000000000000000000000000000000000000000008152600160a060020a039091169063791ac947906113f7908590600090869030904290600401611aba565b600060405180830381600087803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b5050600f805475ff0000000000000000000000000000000000000000001916905550505050565b600081836114705760405160e560020a62461bcd0281526004016104719190611a30565b5060006111858486611b43565b61114c8383836114ab565b60008060006114956115a2565b90925090506114a48282610bb9565b9250505090565b6000806000806000806114bd876115e0565b600160a060020a038f16600090815260026020526040902054959b509399509197509550935091506114ef908761163d565b600160a060020a03808b1660009081526002602052604080822093909355908a168152205461151e908661167f565b600160a060020a038916600090815260026020526040902055611540816116e1565b61154a848361172b565b87600160a060020a031689600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161158f91815260200190565b60405180910390a3505050505050505050565b600854600090819066038d7ea4c680006115bc8282610bb9565b8210156115d75750506008549266038d7ea4c6800092509050565b90939092509050565b60008060008060008060008060006115fd8a600a54600b5461174f565b925092509250600061160d611488565b905060008060006116208e8787876117a4565b919e509c509a509598509396509194505050505091939550919395565b6000610bb283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611151565b60008061168c8385611b2b565b905083811015610bb25760405160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610471565b60006116eb611488565b905060006116f98383610b14565b30600090815260026020526040902054909150611716908261167f565b30600090815260026020526040902055505050565b600854611738908361163d565b600855600954611748908261167f565b6009555050565b600080808061176960646117638989610b14565b90610bb9565b9050600061177c60646117638a89610b14565b905060006117948261178e8b8661163d565b9061163d565b9992985090965090945050505050565b60008080806117b38886610b14565b905060006117c18887610b14565b905060006117cf8888610b14565b905060006117e18261178e868661163d565b939b939a50919850919650505050505050565b80356117ff81611c04565b919050565b60006020828403121561181657600080fd5b8135610bb281611c04565b60006020828403121561183357600080fd5b8151610bb281611c04565b6000806040838503121561185157600080fd5b823561185c81611c04565b9150602083013561186c81611c04565b809150509250929050565b60008060006060848603121561188c57600080fd5b833561189781611c04565b925060208401356118a781611c04565b929592945050506040919091013590565b600080604083850312156118cb57600080fd5b82356118d681611c04565b946020939093013593505050565b600060208083850312156118f757600080fd5b823567ffffffffffffffff8082111561190f57600080fd5b818501915085601f83011261192357600080fd5b81358181111561193557611935611beb565b838102604051601f19603f8301168101818110858211171561195957611959611beb565b604052828152858101935084860182860187018a101561197857600080fd5b600095505b838610156119a25761198e816117f4565b85526001959095019493860193860161197d565b5098975050505050505050565b6000602082840312156119c157600080fd5b8135610bb281611c19565b6000602082840312156119de57600080fd5b8151610bb281611c19565b6000602082840312156119fb57600080fd5b5035919050565b600080600060608486031215611a1757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611a5d57858101830151858201604001528201611a41565b81811115611a6f576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b0a578451600160a060020a031683529383019391830191600101611ae5565b5050600160a060020a03969096166060850152505050608001529392505050565b60008219821115611b3e57611b3e611bb9565b500190565b600082611b635760e060020a634e487b7102600052601260045260246000fd5b500490565b6000816000190483118215151615611b8257611b82611bb9565b500290565b600082821015611b9957611b99611bb9565b500390565b6000600019821415611bb257611bb2611bb9565b5060010190565b60e060020a634e487b7102600052601160045260246000fd5b60e060020a634e487b7102600052603260045260246000fd5b60e060020a634e487b7102600052604160045260246000fd5b600160a060020a03811681146104eb57600080fd5b80151581146104eb57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220808be0f4a352d0f5510629202c86e98e656cdce74830fafe91f47dfb52be762964736f6c63430008070033

Deployed Bytecode Sourcemap

3540:10168:0:-:0;;;;;;;;;;-1:-1:-1;;;3540:10168:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5304:83;;;;;;;;;;-1:-1:-1;5374:5:0;;;;;;;;;;;;;;;;;5304:83;;;;;;;:::i;:::-;;;;;;;;6156:161;;;;;;;;;;-1:-1:-1;6156:161:0;;;;;:::i;:::-;;:::i;:::-;;;5630:14:1;;5623:22;5605:41;;5593:2;5578:18;6156:161:0;5465:187:1;5581:95:0;;;;;;;;;;-1:-1:-1;4036:15:0;5581:95;;;11024:25:1;;;11012:2;10997:18;5581:95:0;10878:177:1;6325:313:0;;;;;;;;;;-1:-1:-1;6325:313:0;;;;;:::i;:::-;;:::i;5490:83::-;;;;;;;;;;-1:-1:-1;5490:83:0;;4434:1;12233:36:1;;12221:2;12206:18;5490:83:0;12091:184:1;6646:103:0;;;;;;;;;;-1:-1:-1;6646:103:0;;;;;:::i;:::-;;:::i;:::-;;11823:193;;;;;;;;;;;;;:::i;5684:138::-;;;;;;;;;;-1:-1:-1;5684:138:0;;;;;:::i;:::-;;:::i;2621:148::-;;;;;;;;;;;;;:::i;9374:118::-;;;;;;;;;;;;;:::i;9235:131::-;;;;;;;;;;-1:-1:-1;9235:131:0;;;;;:::i;:::-;;:::i;2407:79::-;;;;;;;;;;-1:-1:-1;2445:7:0;2472:6;2407:79;;-1:-1:-1;;;;;2472:6:0;;;4111:74:1;;4099:2;4084:18;2407:79:0;3965:226:1;5395:87:0;;;;;;;;;;-1:-1:-1;5467:7:0;;;;;;;;;;;;;;;;;5395:87;;5830:167;;;;;;;;;;-1:-1:-1;5830:167:0;;;;;:::i;:::-;;:::i;11621:194::-;;;;;;;;;;;;;:::i;9604:773::-;;;;;;;;;;;;;:::i;10389:163::-;;;;;;;;;;-1:-1:-1;10389:163:0;;;;;:::i;:::-;;:::i;6005:143::-;;;;;;;;;;-1:-1:-1;6005:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6113:18:0;;;6086:7;6113:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6005:143;6156:161;6231:4;6248:39;205:10;6271:7;6280:6;6248:8;:39::i;:::-;-1:-1:-1;6305:4:0;6156:161;;;;;:::o;6325:313::-;6423:4;6440:36;6450:6;6458:9;6469:6;6440:9;:36::i;:::-;6487:121;6496:6;205:10;6518:89;6556:6;6518:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6518:19:0;;;;;;:11;:19;;;;;;;;205:10;6518:33;;;;;;;;;;:37;:89::i;:::-;6487:8;:121::i;:::-;-1:-1:-1;6626:4:0;6325:313;;;;;:::o;6646:103::-;2534:6;;-1:-1:-1;;;;;2534:6:0;205:10;2534:22;2526:67;;;;-1:-1:-1;;;;;2526:67:0;;;;;;;:::i;:::-;;;;;;;;;6718:15:::1;:23:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;6718:23:0;;::::1;::::0;;;::::1;::::0;;6646:103::o;11823:193::-;11889:14;;-1:-1:-1;;;;;11889:14:0;205:10;-1:-1:-1;;;;;11873:30:0;;11865:39;;;;;;11952:4;11944:21;11976:32;11944:21;11976:12;:32::i;:::-;11854:162;11823:193::o;5684:138::-;-1:-1:-1;;;;;5797:16:0;;5750:7;5797:16;;;:7;:16;;;;;;5777:37;;:19;:37::i;2621:148::-;2534:6;;-1:-1:-1;;;;;2534:6:0;205:10;2534:22;2526:67;;;;-1:-1:-1;;;;;2526:67:0;;;;;;;:::i;:::-;2728:1:::1;2712:6:::0;;2691:40:::1;::::0;-1:-1:-1;;;;;2712:6:0;;::::1;::::0;2691:40:::1;::::0;2728:1;;2691:40:::1;2759:1;2742:19:::0;;-1:-1:-1;;2742:19:0::1;::::0;;2621:148::o;9374:118::-;2534:6;;-1:-1:-1;;;;;2534:6:0;205:10;2534:22;2526:67;;;;-1:-1:-1;;;;;2526:67:0;;;;;;;:::i;:::-;4036:15:::1;9427:12;:22:::0;;;9460:14:::1;:24:::0;9374:118::o;9235:131::-;2534:6;;-1:-1:-1;;;;;2534:6:0;205:10;2534:22;2526:67;;;;-1:-1:-1;;;;;2526:67:0;;;;;;;:::i;:::-;9317:12:::1;;9310:6;:19;9302:28;;;::::0;::::1;;9339:12;:19:::0;9235:131::o;5830:167::-;5908:4;5925:42;205:10;5949:9;5960:6;5925:9;:42::i;11621:194::-;11687:14;;-1:-1:-1;;;;;11687:14:0;205:10;-1:-1:-1;;;;;11671:30:0;;11663:39;;;;;;11713:23;11739:24;11757:4;11739:9;:24::i;:::-;11713:50;;11774:33;11791:15;11774:16;:33::i;9604:773::-;2534:6;;-1:-1:-1;;;;;2534:6:0;205:10;2534:22;2526:67;;;;-1:-1:-1;;;;;2526:67:0;;;;;;;:::i;:::-;9668:11:::1;::::0;;;::::1;;;9667:12;9659:47;;;::::0;-1:-1:-1;;;;;9659:47:0;;10728:2:1;9659:47:0::1;::::0;::::1;10710:21:1::0;10767:2;10747:18;;;10740:30;10806:25;10786:18;;;10779:53;10849:18;;9659:47:0::1;10526:347:1::0;9659:47:0::1;9828:15;:34:::0;;-1:-1:-1;;9828:34:0::1;9774:42;9828:34:::0;;::::1;::::0;;;9873:58:::1;9890:4;9774:42:::0;4036:15:::1;9873:8;:58::i;:::-;9976:16;-1:-1:-1::0;;;;;9976:24:0::1;;:26;;;;;-1:-1:-1::0;;;9976:26:0::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9958:56:0::1;;10023:4;10030:16;-1:-1:-1::0;;;;;10030:21:0::1;;:23;;;;;-1:-1:-1::0;;;10030:23:0::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9958:96;::::0;-1:-1:-1;;;9958:96:0::1;::::0;::::1;;::::0;;-1:-1:-1;;;;;4449:15:1;;;9958:96:0::1;::::0;::::1;4431:34:1::0;4501:15;;4481:18;;;4474:43;4343:18;;9958:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9942:13;:112:::0;;-1:-1:-1;;9942:112:0::1;-1:-1:-1::0;;;;;9942:112:0;;::::1;;::::0;;10065:15:::1;::::0;::::1;:31;10112:4;10104:21:::0;::::1;::::0;10141:24:::1;10112:4:::0;10141:9:::1;:24::i;:::-;10166:1;10168::::0;10170:7:::1;2445::::0;2472:6;-1:-1:-1;;;;;2472:6:0;;2407:79;10170:7:::1;10065:129;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;10065:129:0::1;::::0;;-1:-1:-1;;;;;5212:15:1;;;10065:129:0::1;::::0;::::1;5194:34:1::0;5244:18;;;5237:34;;;;5287:18;;;5280:34;;;;5330:18;;;5323:34;5394:15;;;5373:19;;;5366:44;10178:15:0::1;5426:19:1::0;;;5419:35;5105:19;;10065:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10205:11:0::1;:18:::0;;-1:-1:-1;;10269:18:0;;;;;;;10336:15:::1;::::0;10298:71:::1;::::0;;;;-1:-1:-1;;;;;10336:15:0;;::::1;10298:71;::::0;::::1;4702:74:1::0;-1:-1:-1;;4792:18:1;;;4785:34;10305:13:0;;;-1:-1:-1;10298:29:0::1;::::0;4675:18:1;;10298:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9648:729;9604:773::o:0;10389:163::-;2534:6;;-1:-1:-1;;;;;2534:6:0;205:10;2534:22;2526:67;;;;-1:-1:-1;;;;;2526:67:0;;;;;;;:::i;:::-;10462:6:::1;10457:88;10478:5;:12;10474:1;:16;10457:88;;;10529:4;10512;:14;10517:5;10523:1;10517:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10512:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10512:14:0;:21;;-1:-1:-1;;10512:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10492:3;::::1;::::0;::::1;:::i;:::-;;;;10457:88;;1460:246:::0;1518:7;1542:6;1538:47;;-1:-1:-1;1572:1:0;1565:8;;1538:47;1595:9;1607:5;1611:1;1607;:5;:::i;:::-;1595:17;-1:-1:-1;1640:1:0;1631:5;1635:1;1595:17;1631:5;:::i;:::-;:10;1623:56;;;;-1:-1:-1;;;;;1623:56:0;;8389:2:1;1623:56:0;;;8371:21:1;8428:2;8408:18;;;8401:30;8467:34;8447:18;;;8440:62;8538:3;8518:18;;;8511:31;8559:19;;1623:56:0;8187:397:1;1623:56:0;1697:1;1460:246;-1:-1:-1;;;1460:246:0:o;1714:132::-;1772:7;1799:39;1803:1;1806;1799:39;;;;;;;;;;;;;;;;;:3;:39::i;7019:335::-;-1:-1:-1;;;;;7112:19:0;;7104:68;;;;-1:-1:-1;;;;;7104:68:0;;10323:2:1;7104:68:0;;;10305:21:1;10362:2;10342:18;;;10335:30;10401:34;10381:18;;;10374:62;10472:6;10452:18;;;10445:34;10496:19;;7104:68:0;10121:400:1;7104:68:0;-1:-1:-1;;;;;7191:21:0;;7183:68;;;;-1:-1:-1;;;;;7183:68:0;;7630:2:1;7183:68:0;;;7612:21:1;7669:2;7649:18;;;7642:30;7708:34;7688:18;;;7681:62;7779:4;7759:18;;;7752:32;7801:19;;7183:68:0;7428:398:1;7183:68:0;-1:-1:-1;;;;;7262:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7314:32;;11024:25:1;;;7314:32:0;;10997:18:1;7314:32:0;;;;;;;7019:335;;;:::o;7362:1374::-;-1:-1:-1;;;;;7450:18:0;;7442:68;;;;-1:-1:-1;;;;;7442:68:0;;9562:2:1;7442:68:0;;;9544:21:1;9601:2;9581:18;;;9574:30;9640:34;9620:18;;;9613:62;9711:7;9691:18;;;9684:35;9736:19;;7442:68:0;9360:401:1;7442:68:0;-1:-1:-1;;;;;7529:16:0;;7521:64;;;;-1:-1:-1;;;;;7521:64:0;;6461:2:1;7521:64:0;;;6443:21:1;6500:2;6480:18;;;6473:30;6539:34;6519:18;;;6512:62;6610:5;6590:18;;;6583:33;6633:19;;7521:64:0;6259:399:1;7521:64:0;7613:1;7604:6;:10;7596:64;;;;-1:-1:-1;;;;;7596:64:0;;9152:2:1;7596:64:0;;;9134:21:1;9191:2;9171:18;;;9164:30;9230:34;9210:18;;;9203:62;9301:11;9281:18;;;9274:39;9330:19;;7596:64:0;8950:405:1;7596:64:0;2445:7;2472:6;-1:-1:-1;;;;;7679:15:0;;;2472:6;;7679:15;;;;:32;;-1:-1:-1;2445:7:0;2472:6;-1:-1:-1;;;;;7698:13:0;;;2472:6;;7698:13;;7679:32;7675:1011;;;-1:-1:-1;;;;;7737:10:0;;;;;;:4;:10;;;;;;;;7736:11;:24;;;;-1:-1:-1;;;;;;7752:8:0;;;;;;:4;:8;;;;;;;;7751:9;7736:24;7728:33;;;;;;7788:1;7776:9;:13;7816:12;;7804:9;:24;7855:13;;-1:-1:-1;;;;;7847:21:0;;;7855:13;;7847:21;:55;;;;-1:-1:-1;7886:15:0;;-1:-1:-1;;;;;7872:30:0;;;7886:15;;7872:30;;7847:55;:83;;;;-1:-1:-1;;;;;;7908:22:0;;;;;;:18;:22;;;;;;;;7906:24;7847:83;:102;;;;-1:-1:-1;7934:15:0;;;;;;;7847:102;7843:332;;;8017:12;;8007:6;:22;;7999:60;;;;-1:-1:-1;;;;;7999:60:0;;6865:2:1;7999:60:0;;;6847:21:1;6904:2;6884:18;;;6877:30;6943:27;6923:18;;;6916:55;6988:18;;7999:60:0;6663:349:1;7999:60:0;8112:14;;8102:6;8086:13;8096:2;8086:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8078:79;;;;-1:-1:-1;;;;;8078:79:0;;9968:2:1;8078:79:0;;;9950:21:1;10007:2;9987:18;;;9980:30;10046:28;10026:18;;;10019:56;10092:18;;8078:79:0;9766:350:1;8078:79:0;8193:28;8224:24;8242:4;8224:9;:24::i;:::-;8268:6;;8193:55;;-1:-1:-1;8268:6:0;;;;;8267:7;:32;;;;-1:-1:-1;8286:13:0;;-1:-1:-1;;;;;8278:21:0;;;8286:13;;8278:21;;8267:32;:47;;;;-1:-1:-1;8303:11:0;;;;;;;8267:47;:73;;;;;8339:1;8318:20;:22;8267:73;8263:344;;;8361:38;8378:20;8361:16;:38::i;:::-;8455:4;8447:21;8490:22;;8487:105;;8537:35;8558:4;8550:21;8537:12;:35::i;:::-;8342:265;8263:344;7713:905;7675:1011;;;8647:1;8635:9;:13;;;8661:9;:13;7675:1011;8698:30;8713:4;8718:2;8721:6;8698:14;:30::i;:::-;7362:1374;;;:::o;1262:190::-;1348:7;1384:12;1376:6;;;;1368:29;;;;-1:-1:-1;;;;;1368:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1408:9:0;1420:5;1424:1;1420;:5;:::i;:::-;1408:17;1262:190;-1:-1:-1;;;;;1262:190:0:o;9500:96::-;9557:14;;:31;;-1:-1:-1;;;;;9557:14:0;;;;:31;;;;;9581:6;;9557:14;:31;:14;:31;9581:6;9557:14;:31;;;;;;;;;;;;;;;;;;;6757:254;6824:7;6863;;6852;:18;;6844:73;;;;-1:-1:-1;;;;;6844:73:0;;7219:2:1;6844:73:0;;;7201:21:1;7258:2;7238:18;;;7231:30;7297:34;7277:18;;;7270:62;7368:12;7348:18;;;7341:40;7398:19;;6844:73:0;7017:406:1;6844:73:0;6928:19;6951:10;:8;:10::i;:::-;6928:33;-1:-1:-1;6979:24:0;:7;6928:33;6979:11;:24::i;8744:483::-;4882:6;:13;;-1:-1:-1;;4882:13:0;;;;;8846:16:::1;::::0;;8860:1:::1;8846:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8846:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8846:16:0::1;8822:40;;8891:4;8873;8878:1;8873:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8873:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8917:15:::1;::::0;:22:::1;::::0;;;;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8873:7;;8917:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8907:4;8912:1;8907:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8907:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8982:15:::1;::::0;8950:62:::1;::::0;8967:4:::1;::::0;8982:15:::1;9000:11:::0;8950:8:::1;:62::i;:::-;9023:15;::::0;:196:::1;::::0;;;;-1:-1:-1;;;;;9023:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9104:11;;9023:15:::1;::::0;9146:4;;9173::::1;::::0;9193:15:::1;::::0;9023:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4918:6:0;:14;;-1:-1:-1;;4918:14:0;;;-1:-1:-1;;;;8744:483:0:o;1854:189::-;1940:7;1975:12;1968:5;1960:28;;;;-1:-1:-1;;;;;1960:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1999:9:0;2011:5;2015:1;2011;:5;:::i;10560:146::-;10654:44;10672:6;10680:9;10691:6;10654:17;:44::i;13278:163::-;13319:7;13340:15;13357;13376:19;:17;:19::i;:::-;13339:56;;-1:-1:-1;13339:56:0;-1:-1:-1;13413:20:0;13339:56;;13413:11;:20::i;:::-;13406:27;;;;13278:163;:::o;10714:487::-;10813:15;10830:23;10855:12;10869:23;10894:12;10908:13;10925:19;10936:7;10925:10;:19::i;:::-;-1:-1:-1;;;;;10973:15:0;;;;;;:7;:15;;;;;;10812:132;;-1:-1:-1;10812:132:0;;-1:-1:-1;10812:132:0;;-1:-1:-1;10812:132:0;-1:-1:-1;10812:132:0;-1:-1:-1;10812:132:0;-1:-1:-1;10973:28:0;;10812:132;10973:19;:28::i;:::-;-1:-1:-1;;;;;10955:15:0;;;;;;;:7;:15;;;;;;:46;;;;11033:18;;;;;;;:39;;11056:15;11033:22;:39::i;:::-;-1:-1:-1;;;;;11012:18:0;;;;;;:7;:18;;;;;:60;11083:16;11093:5;11083:9;:16::i;:::-;11110:23;11122:4;11128;11110:11;:23::i;:::-;11166:9;-1:-1:-1;;;;;11149:44:0;11158:6;-1:-1:-1;;;;;11149:44:0;;11177:15;11149:44;;;;11024:25:1;;11012:2;10997:18;;10878:177;11149:44:0;;;;;;;;10801:400;;;;;;10714:487;;;:::o;13449:256::-;13546:7;;13499;;;;4036:15;13614:20;13546:7;4036:15;13614:11;:20::i;:::-;13604:7;:30;13600:61;;;-1:-1:-1;;13644:7:0;;;4036:15;;-1:-1:-1;13449:256:0;-1:-1:-1;13449:256:0:o;13600:61::-;13680:7;;13689;;-1:-1:-1;13449:256:0;-1:-1:-1;13449:256:0:o;12026:471::-;12085:7;12094;12103;12112;12121;12130;12151:23;12176:12;12190:13;12207:42;12219:7;12228:9;;12239;;12207:11;:42::i;:::-;12150:99;;;;;;12260:19;12283:10;:8;:10::i;:::-;12260:33;;12305:15;12322:23;12347:12;12363:46;12375:7;12384:4;12390:5;12397:11;12363;:46::i;:::-;12304:105;;-1:-1:-1;12304:105:0;-1:-1:-1;12304:105:0;-1:-1:-1;12460:15:0;;-1:-1:-1;12477:4:0;;-1:-1:-1;12483:5:0;;-1:-1:-1;;;;;12026:471:0;;;;;;;:::o;1118:136::-;1176:7;1203:43;1207:1;1210;1203:43;;;;;;;;;;;;;;;;;:3;:43::i;931:179::-;989:7;;1021:5;1025:1;1021;:5;:::i;:::-;1009:17;;1050:1;1045;:6;;1037:46;;;;-1:-1:-1;;;;;1037:46:0;;8033:2:1;1037:46:0;;;8015:21:1;8072:2;8052:18;;;8045:30;8111:29;8091:18;;;8084:57;8158:18;;1037:46:0;7831:351:1;11209:212:0;11262:19;11285:10;:8;:10::i;:::-;11262:33;-1:-1:-1;11306:13:0;11322:22;:5;11262:33;11322:9;:22::i;:::-;11396:4;11380:22;;;;:7;:22;;;;;;11306:38;;-1:-1:-1;11380:33:0;;11306:38;11380:26;:33::i;:::-;11371:4;11355:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11209:212:0:o;11429:147::-;11507:7;;:17;;11519:4;11507:11;:17::i;:::-;11497:7;:27;11548:10;;:20;;11563:4;11548:14;:20::i;:::-;11535:10;:33;-1:-1:-1;;11429:147:0:o;12505:351::-;12598:7;;;;12651:28;12675:3;12651:19;:7;12663:6;12651:11;:19::i;:::-;:23;;:28::i;:::-;12636:43;-1:-1:-1;12690:13:0;12706:29;12731:3;12706:20;:7;12718;12706:11;:20::i;:29::-;12690:45;-1:-1:-1;12746:23:0;12772:28;12690:45;12772:17;:7;12784:4;12772:11;:17::i;:::-;:21;;:28::i;:::-;12746:54;12836:4;;-1:-1:-1;12842:5:0;;-1:-1:-1;12505:351:0;;-1:-1:-1;;;;;12505:351:0:o;12864:409::-;12974:7;;;;13030:24;:7;13042:11;13030;:24::i;:::-;13012:42;-1:-1:-1;13065:12:0;13080:21;:4;13089:11;13080:8;:21::i;:::-;13065:36;-1:-1:-1;13112:13:0;13128:22;:5;13138:11;13128:9;:22::i;:::-;13112:38;-1:-1:-1;13161:23:0;13187:28;13112:38;13187:17;:7;13199:4;13187:11;:17::i;:28::-;13234:7;;;;-1:-1:-1;13260:4:0;;-1:-1:-1;12864:409:0;;-1:-1:-1;;;;;;;12864:409:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:1133::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:34;;;2135:1;2132;2125:12;2105:34;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:55;;2240:1;2237;2230:12;2189:55;2276:2;2263:16;2298:2;2294;2291:10;2288:36;;;2304:18;;:::i;:::-;2351:2;2347;2343:11;2383:2;2377:9;2446:2;2442:7;2437:2;2433;2429:11;2425:25;2417:6;2413:38;2501:6;2489:10;2486:22;2481:2;2469:10;2466:18;2463:46;2460:72;;;2512:18;;:::i;:::-;2548:2;2541:22;2598:18;;;2632:15;;;;-1:-1:-1;2667:11:1;;;2697;;;2693:20;;2690:33;-1:-1:-1;2687:53:1;;;2736:1;2733;2726:12;2687:53;2758:1;2749:10;;2768:169;2782:2;2779:1;2776:9;2768:169;;;2839:23;2858:3;2839:23;:::i;:::-;2827:36;;2800:1;2793:9;;;;;2883:12;;;;2915;;2768:169;;;-1:-1:-1;2956:6:1;1835:1133;-1:-1:-1;;;;;;;;1835:1133:1:o;2973:241::-;3029:6;3082:2;3070:9;3061:7;3057:23;3053:32;3050:52;;;3098:1;3095;3088:12;3050:52;3137:9;3124:23;3156:28;3178:5;3156:28;:::i;3219:245::-;3286:6;3339:2;3327:9;3318:7;3314:23;3310:32;3307:52;;;3355:1;3352;3345:12;3307:52;3387:9;3381:16;3406:28;3428:5;3406:28;:::i;3469:180::-;3528:6;3581:2;3569:9;3560:7;3556:23;3552:32;3549:52;;;3597:1;3594;3587:12;3549:52;-1:-1:-1;3620:23:1;;3469:180;-1:-1:-1;3469:180:1:o;3654:306::-;3742:6;3750;3758;3811:2;3799:9;3790:7;3786:23;3782:32;3779:52;;;3827:1;3824;3817:12;3779:52;3856:9;3850:16;3840:26;;3906:2;3895:9;3891:18;3885:25;3875:35;;3950:2;3939:9;3935:18;3929:25;3919:35;;3654:306;;;;;:::o;5657:597::-;5769:4;5798:2;5827;5816:9;5809:21;5859:6;5853:13;5902:6;5897:2;5886:9;5882:18;5875:34;5927:1;5937:140;5951:6;5948:1;5945:13;5937:140;;;6046:14;;;6042:23;;6036:30;6012:17;;;6031:2;6008:26;6001:66;5966:10;;5937:140;;;6095:6;6092:1;6089:13;6086:91;;;6165:1;6160:2;6151:6;6140:9;6136:22;6132:31;6125:42;6086:91;-1:-1:-1;6238:2:1;6217:15;-1:-1:-1;;6213:29:1;6198:45;;;;6245:2;6194:54;;5657:597;-1:-1:-1;;;5657:597:1:o;8589:356::-;8791:2;8773:21;;;8810:18;;;8803:30;8869:34;8864:2;8849:18;;8842:62;8936:2;8921:18;;8589:356::o;11060:1026::-;11322:4;11370:3;11359:9;11355:19;11401:6;11390:9;11383:25;11427:2;11465:6;11460:2;11449:9;11445:18;11438:34;11508:3;11503:2;11492:9;11488:18;11481:31;11532:6;11567;11561:13;11598:6;11590;11583:22;11636:3;11625:9;11621:19;11614:26;;11675:2;11667:6;11663:15;11649:29;;11696:1;11706:218;11720:6;11717:1;11714:13;11706:218;;;11785:13;;-1:-1:-1;;;;;11781:62:1;11769:75;;11899:15;;;;11864:12;;;;11742:1;11735:9;11706:218;;;-1:-1:-1;;;;;;;11980:55:1;;;;11975:2;11960:18;;11953:83;-1:-1:-1;;;12067:3:1;12052:19;12045:35;11941:3;11060:1026;-1:-1:-1;;;11060:1026:1:o;12280:128::-;12320:3;12351:1;12347:6;12344:1;12341:13;12338:39;;;12357:18;;:::i;:::-;-1:-1:-1;12393:9:1;;12280:128::o;12413:274::-;12453:1;12479;12469:189;;-1:-1:-1;;;;;12511:1:1;12504:88;12615:4;12612:1;12605:15;12643:4;12640:1;12633:15;12469:189;-1:-1:-1;12672:9:1;;12413:274::o;12692:168::-;12732:7;12798:1;12794;12790:6;12786:14;12783:1;12780:21;12775:1;12768:9;12761:17;12757:45;12754:71;;;12805:18;;:::i;:::-;-1:-1:-1;12845:9:1;;12692:168::o;12865:125::-;12905:4;12933:1;12930;12927:8;12924:34;;;12938:18;;:::i;:::-;-1:-1:-1;12975:9:1;;12865:125::o;12995:135::-;13034:3;-1:-1:-1;;13055:17:1;;13052:43;;;13075:18;;:::i;:::-;-1:-1:-1;13122:1:1;13111:13;;12995:135::o;13135:184::-;-1:-1:-1;;;;;13184:1:1;13177:88;13284:4;13281:1;13274:15;13308:4;13305:1;13298:15;13324:184;-1:-1:-1;;;;;13373:1:1;13366:88;13473:4;13470:1;13463:15;13497:4;13494:1;13487:15;13513:184;-1:-1:-1;;;;;13562:1:1;13555:88;13662:4;13659:1;13652:15;13686:4;13683:1;13676:15;13702:154;-1:-1:-1;;;;;13781:5:1;13777:54;13770:5;13767:65;13757:93;;13846:1;13843;13836:12;13861:118;13947:5;13940:13;13933:21;13926:5;13923:32;13913:60;;13969:1;13966;13959:12

Swarm Source

ipfs://808be0f4a352d0f5510629202c86e98e656cdce74830fafe91f47dfb52be7629
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.