ETH Price: $2,456.56 (-8.36%)
Gas: 0.77 Gwei

Token

A Piggys Dream (OINK)
 

Overview

Max Total Supply

10,000,000,000 OINK

Holders

28

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
179,100,000 OINK

Value
$0.00
0x710abaa993f7eee4b80cd2bc80eed5b4ae99165f
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:
OINK

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

//SPDX-License-Identifier: UNLICENSED

/*
https://piggysdream.finance
https://t.me/oinkportal
https://twitter.com/oinkpiggydream
*/

pragma solidity ^0.8.10;

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

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 OINK is Context, IERC20, Ownable {
    mapping (address => uint) private _owned;
    mapping (address => mapping (address => uint)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isBot;
    uint private constant _totalSupply = 1e10 * 10**9;

    string public constant name = unicode"A Piggys Dream";
    string public constant symbol = unicode"OINK";
    uint8 public constant decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;

    address payable public _FeeCollectionADD;
    address public uniswapV2Pair;
    uint public _buyFee = 10;
    uint public _sellFee = 10;
    uint private _feeRate = 15;
    uint public _maxHeldTokens;

    uint public _launchedAt;
    bool private _tradingOpen;
    bool private _inSwap = false;
    bool public _useImpactFeeSetter = false;

    struct User {
        uint buy;
        bool exists;
    }

    event FeeMultiplierUpdated(uint _multiplier);
    event ImpactFeeSetterUpdated(bool _usefeesetter);
    event FeeRateUpdated(uint _rate);
    event FeesUpdated(uint _buy, uint _sell);
    event TaxAddUpdated(address _taxwallet);
    
    modifier lockTheSwap {
        _inSwap = true;
        _;
        _inSwap = false;
    }
    constructor (address payable TaxAdd) {
        _FeeCollectionADD = TaxAdd;
        _owned[address(this)] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[TaxAdd] = true;
        emit Transfer(address(0), address(this), _totalSupply);
    }

    function balanceOf(address account) public view override returns (uint) {
        return _owned[account];
    }
    function transfer(address recipient, uint amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function totalSupply() public pure override returns (uint) {
        return _totalSupply;
    }

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

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

    function transferFrom(address sender, address recipient, uint amount) public override returns (bool) {
       
        _transfer(sender, recipient, amount);
        uint allowedAmount = _allowances[sender][_msgSender()] - amount;
        _approve(sender, _msgSender(), allowedAmount);
        return true;
    }

    function _approve(address owner, address spender, uint 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, uint amount) private {
        require(!_isBot[from]);
        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");
        bool isBuy = false;
        if(from != owner() && to != owner()) {
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(_tradingOpen, "Trading not yet enabled.");
                if((_launchedAt + (2 minutes)) > block.timestamp) {
                    require((amount + balanceOf(address(to))) <= _maxHeldTokens); 
                }
                isBuy = true;
            }
            if(!_inSwap && _tradingOpen && from != uniswapV2Pair) {
                uint contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > 0) {
                    if(_useImpactFeeSetter) {
                        if(contractTokenBalance > (balanceOf(uniswapV2Pair) * _feeRate) / 100) {
                            contractTokenBalance = (balanceOf(uniswapV2Pair) * _feeRate) / 100;
                        }
                    }
                    swapTokensForEth(contractTokenBalance);
                }
                uint contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                isBuy = false;
            }
        }
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        _tokenTransfer(from,to,amount,takeFee,isBuy);
    }

    function swapTokensForEth(uint 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 sendETHToFee(uint amount) private {
        _FeeCollectionADD.transfer(amount);
    }
    
    function _tokenTransfer(address sender, address recipient, uint amount, bool takefee, bool buy) private {
        (uint fee) = _getFee(takefee, buy);
        _transferStandard(sender, recipient, amount, fee);
    }

    function _getFee(bool takefee, bool buy) private view returns (uint) {
        uint fee = 0;
        if(takefee) {
            if(buy) {
                fee = _buyFee;
            } else {
                fee = _sellFee;
            }
        }
        return fee;
    }

    function _transferStandard(address sender, address recipient, uint amount, uint fee) private {
        (uint transferAmount, uint team) = _getValues(amount, fee);
        _owned[sender] = _owned[sender] - amount;
        _owned[recipient] = _owned[recipient] + transferAmount; 
        _takeTeam(team);
        emit Transfer(sender, recipient, transferAmount);
    }

    function _getValues(uint amount, uint teamFee) private pure returns (uint, uint) {
        uint team = (amount * teamFee) / 100;
        uint transferAmount = amount - team;
        return (transferAmount, team);
    }

    function _takeTeam(uint team) private {
        _owned[address(this)] = _owned[address(this)] + team;
    }

    receive() external payable {}
    
    function createPair() external onlyOwner() {
        require(!_tradingOpen, "Trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
    }

    function openTrading() external onlyOwner() {
        require(!_tradingOpen, "Trading is already open");
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        _tradingOpen = true;
        _launchedAt = block.timestamp;
        _maxHeldTokens = 200000000 * 10**9; 


    }

    function manualswap() external {
        uint contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        uint contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setFeeRate(uint rate) external onlyOwner() {
        require(_msgSender() == _FeeCollectionADD);
        require(rate > 0, "can't be zero");
        _feeRate = rate;
        emit FeeRateUpdated(_feeRate);
    }

    function setFees(uint buy, uint sell) external onlyOwner() {
        require(buy < 12 && sell < 12 );
        _buyFee = buy;
        _sellFee = sell;
        emit FeesUpdated(_buyFee, _sellFee);
    }

    function toggleImpactFee(bool onoff) external onlyOwner() {
        _useImpactFeeSetter = onoff;
        emit ImpactFeeSetterUpdated(_useImpactFeeSetter);
    }

    function updateTaxAdd(address newAddress) external {
        require(_msgSender() == _FeeCollectionADD);
        _FeeCollectionADD = payable(newAddress);
        emit TaxAddUpdated(_FeeCollectionADD);
    }

    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }

     function setBots(address[] memory bots_) external onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
                _isBot[bots_[i]] = true;
            }
        }
    }

    function delBots(address[] memory bots_) external {
        require(_msgSender() == _FeeCollectionADD);
        for (uint i = 0; i < bots_.length; i++) {
            _isBot[bots_[i]] = false;
        }
    }

    function isBot(address ad) public view returns (bool) {
        return _isBot[ad];
    }

    

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"TaxAdd","type":"address"}],"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":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_usefeesetter","type":"bool"}],"name":"ImpactFeeSetterUpdated","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":false,"internalType":"address","name":"_taxwallet","type":"address"}],"name":"TaxAddUpdated","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":"_FeeCollectionADD","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHeldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_useImpactFeeSetter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"amountInPool","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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"view","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"toggleImpactFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateTaxAdd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600a60098190558055600f600b55600e805462ffff001916905534801561002a57600080fd5b5060405162001d6a38038062001d6a83398101604081905261004b9161017b565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b0319166001600160a01b038316179055306000908152600260205260408120678ac7230489e8000090556001906004906100d96000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530808252600490945282812080548616600190811790915591861681528281208054909516909117909355519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061016d90678ac7230489e80000815260200190565b60405180910390a3506101ab565b60006020828403121561018d57600080fd5b81516001600160a01b03811681146101a457600080fd5b9392505050565b611baf80620001bb6000396000f3fe6080604052600436106101dc5760003560e01c80636fc3eaec11610102578063a9059cbb11610095578063c9567bf911610064578063c9567bf914610576578063db92dbb61461058b578063dcb0e0ad146105a0578063dd62ed3e146105c057600080fd5b8063a9059cbb14610501578063b2289c6214610521578063b515566a14610541578063c3c8cd801461056157600080fd5b80638da5cb5b116100d15780638da5cb5b1461047e57806394b8d8f21461049c57806395d89b41146104bc5780639e78fb4f146104ec57600080fd5b80636fc3eaec1461041457806370a0823114610429578063715018a61461044957806373f54a111461045e57600080fd5b8063313ce5671161017a57806340b9a54b1161014957806340b9a54b1461039057806345596e2e146103a657806349bd5a5e146103c6578063590f897e146103fe57600080fd5b8063313ce567146102fa57806331c2d8471461032157806332d873d8146103415780633bbac5791461035757600080fd5b806318160ddd116101b657806318160ddd1461028a5780631940d020146102af57806323b872dd146102c557806327f3a72a146102e557600080fd5b806306fdde03146101e8578063095ea7b3146102385780630b78f9c01461026857600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506102226040518060400160405280600e81526020016d412050696767797320447265616d60901b81525081565b60405161022f9190611736565b60405180910390f35b34801561024457600080fd5b506102586102533660046117b0565b610606565b604051901515815260200161022f565b34801561027457600080fd5b506102886102833660046117dc565b61061c565b005b34801561029657600080fd5b50678ac7230489e800005b60405190815260200161022f565b3480156102bb57600080fd5b506102a1600c5481565b3480156102d157600080fd5b506102586102e03660046117fe565b6106af565b3480156102f157600080fd5b506102a1610703565b34801561030657600080fd5b5061030f600981565b60405160ff909116815260200161022f565b34801561032d57600080fd5b5061028861033c366004611855565b610713565b34801561034d57600080fd5b506102a1600d5481565b34801561036357600080fd5b5061025861037236600461191a565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561039c57600080fd5b506102a160095481565b3480156103b257600080fd5b506102886103c1366004611937565b61079f565b3480156103d257600080fd5b506008546103e6906001600160a01b031681565b6040516001600160a01b03909116815260200161022f565b34801561040a57600080fd5b506102a1600a5481565b34801561042057600080fd5b50610288610865565b34801561043557600080fd5b506102a161044436600461191a565b610872565b34801561045557600080fd5b5061028861088d565b34801561046a57600080fd5b5061028861047936600461191a565b610901565b34801561048a57600080fd5b506000546001600160a01b03166103e6565b3480156104a857600080fd5b50600e546102589062010000900460ff1681565b3480156104c857600080fd5b50610222604051806040016040528060048152602001634f494e4b60e01b81525081565b3480156104f857600080fd5b5061028861096f565b34801561050d57600080fd5b5061025861051c3660046117b0565b610b74565b34801561052d57600080fd5b506007546103e6906001600160a01b031681565b34801561054d57600080fd5b5061028861055c366004611855565b610b81565b34801561056d57600080fd5b50610288610c9a565b34801561058257600080fd5b50610288610cb0565b34801561059757600080fd5b506102a1610ea2565b3480156105ac57600080fd5b506102886105bb36600461195e565b610eba565b3480156105cc57600080fd5b506102a16105db36600461197b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000610613338484610f37565b50600192915050565b6000546001600160a01b0316331461064f5760405162461bcd60e51b8152600401610646906119b4565b60405180910390fd5b600c8210801561065f5750600c81105b61066857600080fd5b6009829055600a81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60006106bc84848461105b565b6001600160a01b03841660009081526003602090815260408083203384529091528120546106eb9084906119ff565b90506106f8853383610f37565b506001949350505050565b600061070e30610872565b905090565b6007546001600160a01b0316336001600160a01b03161461073357600080fd5b60005b815181101561079b5760006005600084848151811061075757610757611a16565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061079381611a2c565b915050610736565b5050565b6000546001600160a01b031633146107c95760405162461bcd60e51b8152600401610646906119b4565b6007546001600160a01b0316336001600160a01b0316146107e957600080fd5b600081116108295760405162461bcd60e51b815260206004820152600d60248201526c63616e2774206265207a65726f60981b6044820152606401610646565b600b8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8906020015b60405180910390a150565b4761086f81611403565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b031633146108b75760405162461bcd60e51b8152600401610646906119b4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6007546001600160a01b0316336001600160a01b03161461092157600080fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a9bcd8aea0cbf27de081c73815e420f65287b49bcf7a17ff691c61a2dd2d2d69060200161085a565b6000546001600160a01b031633146109995760405162461bcd60e51b8152600401610646906119b4565b600e5460ff16156109e65760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610646565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015610a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6f9190611a47565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae09190611a47565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b519190611a47565b600880546001600160a01b0319166001600160a01b039290921691909117905550565b600061061333848461105b565b6000546001600160a01b03163314610bab5760405162461bcd60e51b8152600401610646906119b4565b60005b815181101561079b5760085482516001600160a01b0390911690839083908110610bda57610bda611a16565b60200260200101516001600160a01b031614158015610c2b575060065482516001600160a01b0390911690839083908110610c1757610c17611a16565b60200260200101516001600160a01b031614155b15610c8857600160056000848481518110610c4857610c48611a16565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610c9281611a2c565b915050610bae565b6000610ca530610872565b905061086f8161143d565b6000546001600160a01b03163314610cda5760405162461bcd60e51b8152600401610646906119b4565b600e5460ff1615610d275760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610646565b600654610d479030906001600160a01b0316678ac7230489e80000610f37565b6006546001600160a01b031663f305d7194730610d6381610872565b600080610d786000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610de0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e059190611a64565b505060085460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190611a92565b50600e805460ff1916600117905542600d556702c68af0bb140000600c55565b60085460009061070e906001600160a01b0316610872565b6000546001600160a01b03163314610ee45760405162461bcd60e51b8152600401610646906119b4565b600e805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb9060200161085a565b6001600160a01b038316610f995760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610646565b6001600160a01b038216610ffa5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610646565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460ff161561108157600080fd5b6001600160a01b0383166110e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610646565b6001600160a01b0382166111475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610646565b600081116111a95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610646565b600080546001600160a01b038581169116148015906111d657506000546001600160a01b03848116911614155b156113a4576008546001600160a01b03858116911614801561120657506006546001600160a01b03848116911614155b801561122b57506001600160a01b03831660009081526004602052604090205460ff16155b156112bd57600e5460ff166112825760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610646565b42600d5460786112929190611aaf565b11156112b957600c546112a484610872565b6112ae9084611aaf565b11156112b957600080fd5b5060015b600e54610100900460ff161580156112d75750600e5460ff165b80156112f157506008546001600160a01b03858116911614155b156113a457600061130130610872565b9050801561138d57600e5462010000900460ff161561138457600b5460085460649190611336906001600160a01b0316610872565b6113409190611ac7565b61134a9190611ae6565b81111561138457600b546008546064919061136d906001600160a01b0316610872565b6113779190611ac7565b6113819190611ae6565b90505b61138d8161143d565b47801561139d5761139d47611403565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff16806113e657506001600160a01b03841660009081526004602052604090205460ff165b156113ef575060005b6113fc85858584866115b1565b5050505050565b6007546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561079b573d6000803e3d6000fd5b600e805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061148157611481611a16565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fe9190611a47565b8160018151811061151157611511611a16565b6001600160a01b0392831660209182029290920101526006546115379130911684610f37565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611570908590600090869030904290600401611b08565b600060405180830381600087803b15801561158a57600080fd5b505af115801561159e573d6000803e3d6000fd5b5050600e805461ff001916905550505050565b60006115bd83836115d3565b90506115cb868686846115f7565b505050505050565b60008083156115f05782156115eb57506009546115f0565b50600a545b9392505050565b60008061160484846116d4565b6001600160a01b038816600090815260026020526040902054919350915061162d9085906119ff565b6001600160a01b03808816600090815260026020526040808220939093559087168152205461165d908390611aaf565b6001600160a01b03861660009081526002602052604090205561167f81611708565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116c491815260200190565b60405180910390a3505050505050565b6000808060646116e48587611ac7565b6116ee9190611ae6565b905060006116fc82876119ff565b96919550909350505050565b30600090815260026020526040902054611723908290611aaf565b3060009081526002602052604090205550565b600060208083528351808285015260005b8181101561176357858101830151858201604001528201611747565b81811115611775576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461086f57600080fd5b80356117ab8161178b565b919050565b600080604083850312156117c357600080fd5b82356117ce8161178b565b946020939093013593505050565b600080604083850312156117ef57600080fd5b50508035926020909101359150565b60008060006060848603121561181357600080fd5b833561181e8161178b565b9250602084013561182e8161178b565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561186857600080fd5b823567ffffffffffffffff8082111561188057600080fd5b818501915085601f83011261189457600080fd5b8135818111156118a6576118a661183f565b8060051b604051601f19603f830116810181811085821117156118cb576118cb61183f565b6040529182528482019250838101850191888311156118e957600080fd5b938501935b8285101561190e576118ff856117a0565b845293850193928501926118ee565b98975050505050505050565b60006020828403121561192c57600080fd5b81356115f08161178b565b60006020828403121561194957600080fd5b5035919050565b801515811461086f57600080fd5b60006020828403121561197057600080fd5b81356115f081611950565b6000806040838503121561198e57600080fd5b82356119998161178b565b915060208301356119a98161178b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015611a1157611a116119e9565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611a4057611a406119e9565b5060010190565b600060208284031215611a5957600080fd5b81516115f08161178b565b600080600060608486031215611a7957600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611aa457600080fd5b81516115f081611950565b60008219821115611ac257611ac26119e9565b500190565b6000816000190483118215151615611ae157611ae16119e9565b500290565b600082611b0357634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b585784516001600160a01b031683529383019391830191600101611b33565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220ba08925f14d700864e2512532588af14c12233c72e0d5c5e1c6c9d683545ea7464736f6c634300080c0033000000000000000000000000c9073a0ef77ab236763af4d6ff621866589a04a9

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80636fc3eaec11610102578063a9059cbb11610095578063c9567bf911610064578063c9567bf914610576578063db92dbb61461058b578063dcb0e0ad146105a0578063dd62ed3e146105c057600080fd5b8063a9059cbb14610501578063b2289c6214610521578063b515566a14610541578063c3c8cd801461056157600080fd5b80638da5cb5b116100d15780638da5cb5b1461047e57806394b8d8f21461049c57806395d89b41146104bc5780639e78fb4f146104ec57600080fd5b80636fc3eaec1461041457806370a0823114610429578063715018a61461044957806373f54a111461045e57600080fd5b8063313ce5671161017a57806340b9a54b1161014957806340b9a54b1461039057806345596e2e146103a657806349bd5a5e146103c6578063590f897e146103fe57600080fd5b8063313ce567146102fa57806331c2d8471461032157806332d873d8146103415780633bbac5791461035757600080fd5b806318160ddd116101b657806318160ddd1461028a5780631940d020146102af57806323b872dd146102c557806327f3a72a146102e557600080fd5b806306fdde03146101e8578063095ea7b3146102385780630b78f9c01461026857600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506102226040518060400160405280600e81526020016d412050696767797320447265616d60901b81525081565b60405161022f9190611736565b60405180910390f35b34801561024457600080fd5b506102586102533660046117b0565b610606565b604051901515815260200161022f565b34801561027457600080fd5b506102886102833660046117dc565b61061c565b005b34801561029657600080fd5b50678ac7230489e800005b60405190815260200161022f565b3480156102bb57600080fd5b506102a1600c5481565b3480156102d157600080fd5b506102586102e03660046117fe565b6106af565b3480156102f157600080fd5b506102a1610703565b34801561030657600080fd5b5061030f600981565b60405160ff909116815260200161022f565b34801561032d57600080fd5b5061028861033c366004611855565b610713565b34801561034d57600080fd5b506102a1600d5481565b34801561036357600080fd5b5061025861037236600461191a565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561039c57600080fd5b506102a160095481565b3480156103b257600080fd5b506102886103c1366004611937565b61079f565b3480156103d257600080fd5b506008546103e6906001600160a01b031681565b6040516001600160a01b03909116815260200161022f565b34801561040a57600080fd5b506102a1600a5481565b34801561042057600080fd5b50610288610865565b34801561043557600080fd5b506102a161044436600461191a565b610872565b34801561045557600080fd5b5061028861088d565b34801561046a57600080fd5b5061028861047936600461191a565b610901565b34801561048a57600080fd5b506000546001600160a01b03166103e6565b3480156104a857600080fd5b50600e546102589062010000900460ff1681565b3480156104c857600080fd5b50610222604051806040016040528060048152602001634f494e4b60e01b81525081565b3480156104f857600080fd5b5061028861096f565b34801561050d57600080fd5b5061025861051c3660046117b0565b610b74565b34801561052d57600080fd5b506007546103e6906001600160a01b031681565b34801561054d57600080fd5b5061028861055c366004611855565b610b81565b34801561056d57600080fd5b50610288610c9a565b34801561058257600080fd5b50610288610cb0565b34801561059757600080fd5b506102a1610ea2565b3480156105ac57600080fd5b506102886105bb36600461195e565b610eba565b3480156105cc57600080fd5b506102a16105db36600461197b565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000610613338484610f37565b50600192915050565b6000546001600160a01b0316331461064f5760405162461bcd60e51b8152600401610646906119b4565b60405180910390fd5b600c8210801561065f5750600c81105b61066857600080fd5b6009829055600a81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60006106bc84848461105b565b6001600160a01b03841660009081526003602090815260408083203384529091528120546106eb9084906119ff565b90506106f8853383610f37565b506001949350505050565b600061070e30610872565b905090565b6007546001600160a01b0316336001600160a01b03161461073357600080fd5b60005b815181101561079b5760006005600084848151811061075757610757611a16565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061079381611a2c565b915050610736565b5050565b6000546001600160a01b031633146107c95760405162461bcd60e51b8152600401610646906119b4565b6007546001600160a01b0316336001600160a01b0316146107e957600080fd5b600081116108295760405162461bcd60e51b815260206004820152600d60248201526c63616e2774206265207a65726f60981b6044820152606401610646565b600b8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8906020015b60405180910390a150565b4761086f81611403565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b031633146108b75760405162461bcd60e51b8152600401610646906119b4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6007546001600160a01b0316336001600160a01b03161461092157600080fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a9bcd8aea0cbf27de081c73815e420f65287b49bcf7a17ff691c61a2dd2d2d69060200161085a565b6000546001600160a01b031633146109995760405162461bcd60e51b8152600401610646906119b4565b600e5460ff16156109e65760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610646565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015610a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6f9190611a47565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae09190611a47565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b519190611a47565b600880546001600160a01b0319166001600160a01b039290921691909117905550565b600061061333848461105b565b6000546001600160a01b03163314610bab5760405162461bcd60e51b8152600401610646906119b4565b60005b815181101561079b5760085482516001600160a01b0390911690839083908110610bda57610bda611a16565b60200260200101516001600160a01b031614158015610c2b575060065482516001600160a01b0390911690839083908110610c1757610c17611a16565b60200260200101516001600160a01b031614155b15610c8857600160056000848481518110610c4857610c48611a16565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610c9281611a2c565b915050610bae565b6000610ca530610872565b905061086f8161143d565b6000546001600160a01b03163314610cda5760405162461bcd60e51b8152600401610646906119b4565b600e5460ff1615610d275760405162461bcd60e51b81526020600482015260176024820152762a3930b234b7339034b99030b63932b0b23c9037b832b760491b6044820152606401610646565b600654610d479030906001600160a01b0316678ac7230489e80000610f37565b6006546001600160a01b031663f305d7194730610d6381610872565b600080610d786000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610de0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e059190611a64565b505060085460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190611a92565b50600e805460ff1916600117905542600d556702c68af0bb140000600c55565b60085460009061070e906001600160a01b0316610872565b6000546001600160a01b03163314610ee45760405162461bcd60e51b8152600401610646906119b4565b600e805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb9060200161085a565b6001600160a01b038316610f995760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610646565b6001600160a01b038216610ffa5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610646565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460ff161561108157600080fd5b6001600160a01b0383166110e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610646565b6001600160a01b0382166111475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610646565b600081116111a95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610646565b600080546001600160a01b038581169116148015906111d657506000546001600160a01b03848116911614155b156113a4576008546001600160a01b03858116911614801561120657506006546001600160a01b03848116911614155b801561122b57506001600160a01b03831660009081526004602052604090205460ff16155b156112bd57600e5460ff166112825760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610646565b42600d5460786112929190611aaf565b11156112b957600c546112a484610872565b6112ae9084611aaf565b11156112b957600080fd5b5060015b600e54610100900460ff161580156112d75750600e5460ff165b80156112f157506008546001600160a01b03858116911614155b156113a457600061130130610872565b9050801561138d57600e5462010000900460ff161561138457600b5460085460649190611336906001600160a01b0316610872565b6113409190611ac7565b61134a9190611ae6565b81111561138457600b546008546064919061136d906001600160a01b0316610872565b6113779190611ac7565b6113819190611ae6565b90505b61138d8161143d565b47801561139d5761139d47611403565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff16806113e657506001600160a01b03841660009081526004602052604090205460ff165b156113ef575060005b6113fc85858584866115b1565b5050505050565b6007546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561079b573d6000803e3d6000fd5b600e805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061148157611481611a16565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fe9190611a47565b8160018151811061151157611511611a16565b6001600160a01b0392831660209182029290920101526006546115379130911684610f37565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611570908590600090869030904290600401611b08565b600060405180830381600087803b15801561158a57600080fd5b505af115801561159e573d6000803e3d6000fd5b5050600e805461ff001916905550505050565b60006115bd83836115d3565b90506115cb868686846115f7565b505050505050565b60008083156115f05782156115eb57506009546115f0565b50600a545b9392505050565b60008061160484846116d4565b6001600160a01b038816600090815260026020526040902054919350915061162d9085906119ff565b6001600160a01b03808816600090815260026020526040808220939093559087168152205461165d908390611aaf565b6001600160a01b03861660009081526002602052604090205561167f81611708565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116c491815260200190565b60405180910390a3505050505050565b6000808060646116e48587611ac7565b6116ee9190611ae6565b905060006116fc82876119ff565b96919550909350505050565b30600090815260026020526040902054611723908290611aaf565b3060009081526002602052604090205550565b600060208083528351808285015260005b8181101561176357858101830151858201604001528201611747565b81811115611775576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461086f57600080fd5b80356117ab8161178b565b919050565b600080604083850312156117c357600080fd5b82356117ce8161178b565b946020939093013593505050565b600080604083850312156117ef57600080fd5b50508035926020909101359150565b60008060006060848603121561181357600080fd5b833561181e8161178b565b9250602084013561182e8161178b565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561186857600080fd5b823567ffffffffffffffff8082111561188057600080fd5b818501915085601f83011261189457600080fd5b8135818111156118a6576118a661183f565b8060051b604051601f19603f830116810181811085821117156118cb576118cb61183f565b6040529182528482019250838101850191888311156118e957600080fd5b938501935b8285101561190e576118ff856117a0565b845293850193928501926118ee565b98975050505050505050565b60006020828403121561192c57600080fd5b81356115f08161178b565b60006020828403121561194957600080fd5b5035919050565b801515811461086f57600080fd5b60006020828403121561197057600080fd5b81356115f081611950565b6000806040838503121561198e57600080fd5b82356119998161178b565b915060208301356119a98161178b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015611a1157611a116119e9565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611a4057611a406119e9565b5060010190565b600060208284031215611a5957600080fd5b81516115f08161178b565b600080600060608486031215611a7957600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611aa457600080fd5b81516115f081611950565b60008219821115611ac257611ac26119e9565b500190565b6000816000190483118215151615611ae157611ae16119e9565b500290565b600082611b0357634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b585784516001600160a01b031683529383019391830191600101611b33565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220ba08925f14d700864e2512532588af14c12233c72e0d5c5e1c6c9d683545ea7464736f6c634300080c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000c9073a0ef77ab236763af4d6ff621866589a04a9

-----Decoded View---------------
Arg [0] : TaxAdd (address): 0xc9073A0ef77ab236763aF4d6ff621866589A04A9

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c9073a0ef77ab236763af4d6ff621866589a04a9


Deployed Bytecode Sourcemap

2472:9614:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2805:53;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2805:53:0;;;;;;;;;;;;:::i;:::-;;;;;;;;4670:158;;;;;;;;;;-1:-1:-1;4670:158:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;4670:158:0;1211:187:1;10660:205:0;;;;;;;;;;-1:-1:-1;10660:205:0;;;;;:::i;:::-;;:::i;:::-;;4417:97;;;;;;;;;;-1:-1:-1;2784:12:0;4417:97;;;1802:25:1;;;1790:2;1775:18;4417:97:0;1656:177:1;3189:26:0;;;;;;;;;;;;;;;;4836:317;;;;;;;;;;-1:-1:-1;4836:317:0;;;;;:::i;:::-;;:::i;11262:100::-;;;;;;;;;;;;;:::i;2917:34::-;;;;;;;;;;;;2950:1;2917:34;;;;;2471:4:1;2459:17;;;2441:36;;2429:2;2414:18;2917:34:0;2299:184:1;11763:212:0;;;;;;;;;;-1:-1:-1;11763:212:0;;;;;:::i;:::-;;:::i;3224:23::-;;;;;;;;;;;;;;;;11983:90;;;;;;;;;;-1:-1:-1;11983:90:0;;;;;:::i;:::-;-1:-1:-1;;;;;12055:10:0;12031:4;12055:10;;;:6;:10;;;;;;;;;11983:90;3093:24;;;;;;;;;;;;;;;;10428:224;;;;;;;;;;-1:-1:-1;10428:224:0;;;;;:::i;:::-;;:::i;3058:28::-;;;;;;;;;;-1:-1:-1;3058:28:0;;;;-1:-1:-1;;;;;3058:28:0;;;;;;-1:-1:-1;;;;;4347:32:1;;;4329:51;;4317:2;4302:18;3058:28:0;4183:203:1;3124:25:0;;;;;;;;;;;;;;;;10280:140;;;;;;;;;;;;;:::i;4122:113::-;;;;;;;;;;-1:-1:-1;4122:113:0;;;;;:::i;:::-;;:::i;1553:148::-;;;;;;;;;;;;;:::i;11044:210::-;;;;;;;;;;-1:-1:-1;11044:210:0;;;;;:::i;:::-;;:::i;1339:79::-;;;;;;;;;;-1:-1:-1;1377:7:0;1404:6;-1:-1:-1;;;;;1404:6:0;1339:79;;3321:39;;;;;;;;;;-1:-1:-1;3321:39:0;;;;;;;;;;;2865:45;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2865:45:0;;;;;9193:390;;;;;;;;;;;;;:::i;4241:164::-;;;;;;;;;;-1:-1:-1;4241:164:0;;;;;:::i;:::-;;:::i;3011:40::-;;;;;;;;;;-1:-1:-1;3011:40:0;;;;-1:-1:-1;;;;;3011:40:0;;;11480:275;;;;;;;;;;-1:-1:-1;11480:275:0;;;;;:::i;:::-;;:::i;10127:141::-;;;;;;;;;;;;;:::i;9591:528::-;;;;;;;;;;;;;:::i;11370:101::-;;;;;;;;;;;;;:::i;10873:163::-;;;;;;;;;;-1:-1:-1;10873:163:0;;;;;:::i;:::-;;:::i;4522:140::-;;;;;;;;;;-1:-1:-1;4522:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;4627:18:0;;;4603:4;4627:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4522:140;4670:158;4742:4;4759:39;282:10;4782:7;4791:6;4759:8;:39::i;:::-;-1:-1:-1;4816:4:0;4670:158;;;;:::o;10660:205::-;1466:6;;-1:-1:-1;;;;;1466:6:0;282:10;1466:22;1458:67;;;;-1:-1:-1;;;1458:67:0;;;;;;;:::i;:::-;;;;;;;;;10744:2:::1;10738:3;:8;:21;;;;;10757:2;10750:4;:9;10738:21;10730:31;;;::::0;::::1;;10772:7;:13:::0;;;10796:8:::1;:15:::0;;;10827:30:::1;::::0;;5912:25:1;;;5968:2;5953:18;;5946:34;;;10827:30:0::1;::::0;5885:18:1;10827:30:0::1;;;;;;;10660:205:::0;;:::o;4836:317::-;4931:4;4957:36;4967:6;4975:9;4986:6;4957:9;:36::i;:::-;-1:-1:-1;;;;;5025:19:0;;5004:18;5025:19;;;:11;:19;;;;;;;;282:10;5025:33;;;;;;;;:42;;5061:6;;5025:42;:::i;:::-;5004:63;-1:-1:-1;5078:45:0;5087:6;282:10;5109:13;5078:8;:45::i;:::-;-1:-1:-1;5141:4:0;;4836:317;-1:-1:-1;;;;4836:317:0:o;11262:100::-;11306:4;11330:24;11348:4;11330:9;:24::i;:::-;11323:31;;11262:100;:::o;11763:212::-;11848:17;;-1:-1:-1;;;;;11848:17:0;282:10;-1:-1:-1;;;;;11832:33:0;;11824:42;;;;;;11882:6;11877:91;11898:5;:12;11894:1;:16;11877:91;;;11951:5;11932:6;:16;11939:5;11945:1;11939:8;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;11932:16:0;;;;;;;;;;;-1:-1:-1;11932:16:0;:24;;-1:-1:-1;;11932:24:0;;;;;;;;;;11912:3;;;;:::i;:::-;;;;11877:91;;;;11763:212;:::o;10428:224::-;1466:6;;-1:-1:-1;;;;;1466:6:0;282:10;1466:22;1458:67;;;;-1:-1:-1;;;1458:67:0;;;;;;;:::i;:::-;10515:17:::1;::::0;-1:-1:-1;;;;;10515:17:0::1;282:10:::0;-1:-1:-1;;;;;10499:33:0::1;;10491:42;;;::::0;::::1;;10559:1;10552:4;:8;10544:34;;;::::0;-1:-1:-1;;;10544:34:0;;6727:2:1;10544:34:0::1;::::0;::::1;6709:21:1::0;6766:2;6746:18;;;6739:30;-1:-1:-1;;;6785:18:1;;;6778:43;6838:18;;10544:34:0::1;6525:337:1::0;10544:34:0::1;10589:8;:15:::0;;;10620:24:::1;::::0;1802:25:1;;;10620:24:0::1;::::0;1790:2:1;1775:18;10620:24:0::1;;;;;;;;10428:224:::0;:::o;10280:140::-;10348:21;10380:32;10348:21;10380:12;:32::i;:::-;10311:109;10280:140::o;4122:113::-;-1:-1:-1;;;;;4212:15:0;4188:4;4212:15;;;:6;:15;;;;;;;4122:113::o;1553:148::-;1466:6;;-1:-1:-1;;;;;1466:6:0;282:10;1466:22;1458:67;;;;-1:-1:-1;;;1458:67:0;;;;;;;:::i;:::-;1660:1:::1;1644:6:::0;;1623:40:::1;::::0;-1:-1:-1;;;;;1644:6:0;;::::1;::::0;1623:40:::1;::::0;1660:1;;1623:40:::1;1691:1;1674:19:::0;;-1:-1:-1;;;;;;1674:19:0::1;::::0;;1553:148::o;11044:210::-;11130:17;;-1:-1:-1;;;;;11130:17:0;282:10;-1:-1:-1;;;;;11114:33:0;;11106:42;;;;;;11159:17;:39;;-1:-1:-1;;;;;;11159:39:0;-1:-1:-1;;;;;11159:39:0;;;;;;;;11214:32;;4329:51:1;;;11214:32:0;;4317:2:1;4302:18;11214:32:0;4183:203:1;9193:390:0;1466:6;;-1:-1:-1;;;;;1466:6:0;282:10;1466:22;1458:67;;;;-1:-1:-1;;;1458:67:0;;;;;;;:::i;:::-;9256:12:::1;::::0;::::1;;9255:13;9247:49;;;::::0;-1:-1:-1;;;9247:49:0;;7285:2:1;9247:49:0::1;::::0;::::1;7267:21:1::0;7324:2;7304:18;;;7297:30;-1:-1:-1;;;7343:18:1;;;7336:53;7406:18;;9247:49:0::1;7083:347:1::0;9247:49:0::1;9418:15;:34:::0;;-1:-1:-1;;;;;;9418:34:0::1;9364:42;9418:34:::0;;::::1;::::0;;;9497:26:::1;::::0;;-1:-1:-1;;;9497:26:0;;;;9364:42;;9497:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;9364:42;9497:26:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9479:56:0::1;;9544:4;9551:16;-1:-1:-1::0;;;;;9551:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9479:96;::::0;-1:-1:-1;;;;;;9479:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7921:15:1;;;9479:96:0::1;::::0;::::1;7903:34:1::0;7973:15;;7953:18;;;7946:43;7838:18;;9479:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9463:13;:112:::0;;-1:-1:-1;;;;;;9463:112:0::1;-1:-1:-1::0;;;;;9463:112:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;9193:390:0:o;4241:164::-;4316:4;4333:42;282:10;4357:9;4368:6;4333:9;:42::i;11480:275::-;1466:6;;-1:-1:-1;;;;;1466:6:0;282:10;1466:22;1458:67;;;;-1:-1:-1;;;1458:67:0;;;;;;;:::i;:::-;11558:6:::1;11553:195;11574:5;:12;11570:1;:16;11553:195;;;11624:13;::::0;11612:8;;-1:-1:-1;;;;;11624:13:0;;::::1;::::0;11612:5;;11618:1;;11612:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;11612:25:0::1;;;:65;;;;-1:-1:-1::0;11661:15:0::1;::::0;11641:8;;-1:-1:-1;;;;;11661:15:0;;::::1;::::0;11641:5;;11647:1;;11641:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;11641:36:0::1;;;11612:65;11608:129;;;11717:4;11698:6;:16;11705:5;11711:1;11705:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;11698:16:0::1;-1:-1:-1::0;;;;;11698:16:0::1;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11608:129;11588:3:::0;::::1;::::0;::::1;:::i;:::-;;;;11553:195;;10127:141:::0;10169:20;10192:24;10210:4;10192:9;:24::i;:::-;10169:47;;10227:33;10244:15;10227:16;:33::i;9591:528::-;1466:6;;-1:-1:-1;;;;;1466:6:0;282:10;1466:22;1458:67;;;;-1:-1:-1;;;1458:67:0;;;;;;;:::i;:::-;9655:12:::1;::::0;::::1;;9654:13;9646:49;;;::::0;-1:-1:-1;;;9646:49:0;;7285:2:1;9646:49:0::1;::::0;::::1;7267:21:1::0;7324:2;7304:18;;;7297:30;-1:-1:-1;;;7343:18:1;;;7336:53;7406:18;;9646:49:0::1;7083:347:1::0;9646:49:0::1;9738:15;::::0;9706:63:::1;::::0;9723:4:::1;::::0;-1:-1:-1;;;;;9738:15:0::1;2784:12;9706:8;:63::i;:::-;9780:15;::::0;-1:-1:-1;;;;;9780:15:0::1;:31;9819:21;9850:4;9856:24;9850:4:::0;9856:9:::1;:24::i;:::-;9881:1;9883::::0;9885:7:::1;1377::::0;1404:6;-1:-1:-1;;;;;1404:6:0;;1339:79;9885:7:::1;9780:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9780:129:0;;;-1:-1:-1;;;;;8359:15:1;;;9780:129:0::1;::::0;::::1;8341:34:1::0;8391:18;;;8384:34;;;;8434:18;;;8427:34;;;;8477:18;;;8470:34;8541:15;;;8520:19;;;8513:44;9893:15:0::1;8573:19:1::0;;;8566:35;8275:19;;9780:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9927:13:0::1;::::0;9958:15:::1;::::0;9920:71:::1;::::0;-1:-1:-1;;;9920:71:0;;-1:-1:-1;;;;;9958:15:0;;::::1;9920:71;::::0;::::1;9097:51:1::0;-1:-1:-1;;9164:18:1;;;9157:34;9927:13:0;::::1;::::0;-1:-1:-1;9920:29:0::1;::::0;9070:18:1;;9920:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10002:12:0::1;:19:::0;;-1:-1:-1;;10002:19:0::1;10017:4;10002:19;::::0;;10046:15:::1;10032:11;:29:::0;10089:17:::1;10072:14;:34:::0;9591:528::o;11370:101::-;11449:13;;11415:4;;11439:24;;-1:-1:-1;;;;;11449:13:0;11439:9;:24::i;10873:163::-;1466:6;;-1:-1:-1;;;;;1466:6:0;282:10;1466:22;1458:67;;;;-1:-1:-1;;;1458:67:0;;;;;;;:::i;:::-;10942:19:::1;:27:::0;;-1:-1:-1;;10942:27:0::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;10985:43:::1;::::0;10942:27:::1;11008:19:::0;;;::::1;;1376:14:1::0;1369:22;1351:41;;10985:43:0::1;::::0;1339:2:1;1324:18;10985:43:0::1;1211:187:1::0;5161:332:0;-1:-1:-1;;;;;5251:19:0;;5243:68;;;;-1:-1:-1;;;5243:68:0;;9654:2:1;5243:68:0;;;9636:21:1;9693:2;9673:18;;;9666:30;9732:34;9712:18;;;9705:62;-1:-1:-1;;;9783:18:1;;;9776:34;9827:19;;5243:68:0;9452:400:1;5243:68:0;-1:-1:-1;;;;;5330:21:0;;5322:68;;;;-1:-1:-1;;;5322:68:0;;10059:2:1;5322:68:0;;;10041:21:1;10098:2;10078:18;;;10071:30;10137:34;10117:18;;;10110:62;-1:-1:-1;;;10188:18:1;;;10181:32;10230:19;;5322:68:0;9857:398:1;5322:68:0;-1:-1:-1;;;;;5401:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5453:32;;1802:25:1;;;5453:32:0;;1775:18:1;5453:32:0;;;;;;;5161:332;;;:::o;5501:1799::-;-1:-1:-1;;;;;5587:12:0;;;;;;:6;:12;;;;;;;;5586:13;5578:22;;;;;;-1:-1:-1;;;;;5619:18:0;;5611:68;;;;-1:-1:-1;;;5611:68:0;;10462:2:1;5611:68:0;;;10444:21:1;10501:2;10481:18;;;10474:30;10540:34;10520:18;;;10513:62;-1:-1:-1;;;10591:18:1;;;10584:35;10636:19;;5611:68:0;10260:401:1;5611:68:0;-1:-1:-1;;;;;5698:16:0;;5690:64;;;;-1:-1:-1;;;5690:64:0;;10868:2:1;5690:64:0;;;10850:21:1;10907:2;10887:18;;;10880:30;10946:34;10926:18;;;10919:62;-1:-1:-1;;;10997:18:1;;;10990:33;11040:19;;5690:64:0;10666:399:1;5690:64:0;5782:1;5773:6;:10;5765:64;;;;-1:-1:-1;;;5765:64:0;;11272:2:1;5765:64:0;;;11254:21:1;11311:2;11291:18;;;11284:30;11350:34;11330:18;;;11323:62;-1:-1:-1;;;11401:18:1;;;11394:39;11450:19;;5765:64:0;11070:405:1;5765:64:0;5840:10;1404:6;;-1:-1:-1;;;;;5872:15:0;;;1404:6;;5872:15;;;;:32;;-1:-1:-1;1377:7:0;1404:6;-1:-1:-1;;;;;5891:13:0;;;1404:6;;5891:13;;5872:32;5869:1233;;;5932:13;;-1:-1:-1;;;;;5924:21:0;;;5932:13;;5924:21;:55;;;;-1:-1:-1;5963:15:0;;-1:-1:-1;;;;;5949:30:0;;;5963:15;;5949:30;;5924:55;:82;;;;-1:-1:-1;;;;;;5984:22:0;;;;;;:18;:22;;;;;;;;5983:23;5924:82;5921:374;;;6035:12;;;;6027:49;;;;-1:-1:-1;;;6027:49:0;;11682:2:1;6027:49:0;;;11664:21:1;11721:2;11701:18;;;11694:30;11760:26;11740:18;;;11733:54;11804:18;;6027:49:0;11480:348:1;6027:49:0;6128:15;6099:11;;6114:9;6099:25;;;;:::i;:::-;6098:45;6095:154;;;6213:14;;6186:22;6204:2;6186:9;:22::i;:::-;6177:31;;:6;:31;:::i;:::-;6176:51;;6168:60;;;;;;-1:-1:-1;6275:4:0;5921:374;6313:7;;;;;;;6312:8;:24;;;;-1:-1:-1;6324:12:0;;;;6312:24;:49;;;;-1:-1:-1;6348:13:0;;-1:-1:-1;;;;;6340:21:0;;;6348:13;;6340:21;;6312:49;6309:782;;;6382:25;6410:24;6428:4;6410:9;:24::i;:::-;6382:52;-1:-1:-1;6456:24:0;;6453:402;;6508:19;;;;;;;6505:270;;;6610:8;;6593:13;;6622:3;;6610:8;6583:24;;-1:-1:-1;;;;;6593:13:0;6583:9;:24::i;:::-;:35;;;;:::i;:::-;6582:43;;;;:::i;:::-;6559:20;:66;6556:196;;;6709:8;;6692:13;;6721:3;;6709:8;6682:24;;-1:-1:-1;;;;;6692:13:0;6682:9;:24::i;:::-;:35;;;;:::i;:::-;6681:43;;;;:::i;:::-;6658:66;;6556:196;6797:38;6814:20;6797:16;:38::i;:::-;6899:21;6942:22;;6939:105;;6989:35;7002:21;6989:12;:35::i;:::-;7070:5;7062:13;;6363:728;;6309:782;-1:-1:-1;;;;;7145:24:0;;7112:12;7145:24;;;:18;:24;;;;;;7127:4;;7145:24;;;:50;;-1:-1:-1;;;;;;7173:22:0;;;;;;:18;:22;;;;;;;;7145:50;7142:96;;;-1:-1:-1;7221:5:0;7142:96;7248:44;7263:4;7268:2;7271:6;7278:7;7286:5;7248:14;:44::i;:::-;5567:1733;;5501:1799;;;:::o;7804:96::-;7858:17;;:34;;-1:-1:-1;;;;;7858:17:0;;;;:34;;;;;7885:6;;7858:17;:34;:17;:34;7885:6;7858:17;:34;;;;;;;;;;;;;;;;;;;7308:480;3714:7;:14;;-1:-1:-1;;3714:14:0;;;;;7407:16:::1;::::0;;7421:1:::1;7407:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7407:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7407:16:0::1;7383:40;;7452:4;7434;7439:1;7434:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7434:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7478:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7478:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7434:7;;7478:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7468:4;7473:1;7468:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7468:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7543:15:::1;::::0;7511:62:::1;::::0;7528:4:::1;::::0;7543:15:::1;7561:11:::0;7511:8:::1;:62::i;:::-;7584:15;::::0;:196:::1;::::0;-1:-1:-1;;;7584:196:0;;-1:-1:-1;;;;;7584:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;7665:11;;7584:15:::1;::::0;7707:4;;7734::::1;::::0;7754:15:::1;::::0;7584:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3751:7:0;:15;;-1:-1:-1;;3751:15:0;;;-1:-1:-1;;;;7308:480:0:o;7912:217::-;8028:8;8040:21;8048:7;8057:3;8040:7;:21::i;:::-;8027:34;;8072:49;8090:6;8098:9;8109:6;8117:3;8072:17;:49::i;:::-;8016:113;7912:217;;;;;:::o;8137:280::-;8200:4;;8240:149;;;;8270:3;8267:111;;;-1:-1:-1;8300:7:0;;8267:111;;;-1:-1:-1;8354:8:0;;8267:111;8406:3;8137:280;-1:-1:-1;;;8137:280:0:o;8425:372::-;8530:19;8551:9;8564:23;8575:6;8583:3;8564:10;:23::i;:::-;-1:-1:-1;;;;;8615:14:0;;;;;;:6;:14;;;;;;8529:58;;-1:-1:-1;8529:58:0;-1:-1:-1;8615:23:0;;8632:6;;8615:23;:::i;:::-;-1:-1:-1;;;;;8598:14:0;;;;;;;:6;:14;;;;;;:40;;;;8669:17;;;;;;;:34;;8689:14;;8669:34;:::i;:::-;-1:-1:-1;;;;;8649:17:0;;;;;;:6;:17;;;;;:54;8715:15;8725:4;8715:9;:15::i;:::-;8763:9;-1:-1:-1;;;;;8746:43:0;8755:6;-1:-1:-1;;;;;8746:43:0;;8774:14;8746:43;;;;1802:25:1;;1790:2;1775:18;;1656:177;8746:43:0;;;;;;;;8518:279;;8425:372;;;;:::o;8805:222::-;8874:4;;;8930:3;8910:16;8919:7;8910:6;:16;:::i;:::-;8909:24;;;;:::i;:::-;8897:36;-1:-1:-1;8944:19:0;8966:13;8897:36;8966:6;:13;:::i;:::-;8944:35;9014:4;;-1:-1:-1;8805:222:0;;-1:-1:-1;;;;8805:222:0:o;9035:109::-;9123:4;9108:21;;;;:6;:21;;;;;;:28;;9132:4;;9108:28;:::i;:::-;9099:4;9084:21;;;;:6;:21;;;;;:52;-1:-1:-1;9035:109:0:o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1403:248::-;1471:6;1479;1532:2;1520:9;1511:7;1507:23;1503:32;1500:52;;;1548:1;1545;1538:12;1500:52;-1:-1:-1;;1571:23:1;;;1641:2;1626:18;;;1613:32;;-1:-1:-1;1403:248:1:o;1838:456::-;1915:6;1923;1931;1984:2;1972:9;1963:7;1959:23;1955:32;1952:52;;;2000:1;1997;1990:12;1952:52;2039:9;2026:23;2058:31;2083:5;2058:31;:::i;:::-;2108:5;-1:-1:-1;2165:2:1;2150:18;;2137:32;2178:33;2137:32;2178:33;:::i;:::-;1838:456;;2230:7;;-1:-1:-1;;;2284:2:1;2269:18;;;;2256:32;;1838:456::o;2488:127::-;2549:10;2544:3;2540:20;2537:1;2530:31;2580:4;2577:1;2570:15;2604:4;2601:1;2594:15;2620:1121;2704:6;2735:2;2778;2766:9;2757:7;2753:23;2749:32;2746:52;;;2794:1;2791;2784:12;2746:52;2834:9;2821:23;2863:18;2904:2;2896:6;2893:14;2890:34;;;2920:1;2917;2910:12;2890:34;2958:6;2947:9;2943:22;2933:32;;3003:7;2996:4;2992:2;2988:13;2984:27;2974:55;;3025:1;3022;3015:12;2974:55;3061:2;3048:16;3083:2;3079;3076:10;3073:36;;;3089:18;;:::i;:::-;3135:2;3132:1;3128:10;3167:2;3161:9;3230:2;3226:7;3221:2;3217;3213:11;3209:25;3201:6;3197:38;3285:6;3273:10;3270:22;3265:2;3253:10;3250:18;3247:46;3244:72;;;3296:18;;:::i;:::-;3332:2;3325:22;3382:18;;;3416:15;;;;-1:-1:-1;3458:11:1;;;3454:20;;;3486:19;;;3483:39;;;3518:1;3515;3508:12;3483:39;3542:11;;;;3562:148;3578:6;3573:3;3570:15;3562:148;;;3644:23;3663:3;3644:23;:::i;:::-;3632:36;;3595:12;;;;3688;;;;3562:148;;;3729:6;2620:1121;-1:-1:-1;;;;;;;;2620:1121:1:o;3746:247::-;3805:6;3858:2;3846:9;3837:7;3833:23;3829:32;3826:52;;;3874:1;3871;3864:12;3826:52;3913:9;3900:23;3932:31;3957:5;3932:31;:::i;3998:180::-;4057:6;4110:2;4098:9;4089:7;4085:23;4081:32;4078:52;;;4126:1;4123;4116:12;4078:52;-1:-1:-1;4149:23:1;;3998:180;-1:-1:-1;3998:180:1:o;4615:118::-;4701:5;4694:13;4687:21;4680:5;4677:32;4667:60;;4723:1;4720;4713:12;4738:241;4794:6;4847:2;4835:9;4826:7;4822:23;4818:32;4815:52;;;4863:1;4860;4853:12;4815:52;4902:9;4889:23;4921:28;4943:5;4921:28;:::i;4984:388::-;5052:6;5060;5113:2;5101:9;5092:7;5088:23;5084:32;5081:52;;;5129:1;5126;5119:12;5081:52;5168:9;5155:23;5187:31;5212:5;5187:31;:::i;:::-;5237:5;-1:-1:-1;5294:2:1;5279:18;;5266:32;5307:33;5266:32;5307:33;:::i;:::-;5359:7;5349:17;;;4984:388;;;;;:::o;5377:356::-;5579:2;5561:21;;;5598:18;;;5591:30;5657:34;5652:2;5637:18;;5630:62;5724:2;5709:18;;5377:356::o;5991:127::-;6052:10;6047:3;6043:20;6040:1;6033:31;6083:4;6080:1;6073:15;6107:4;6104:1;6097:15;6123:125;6163:4;6191:1;6188;6185:8;6182:34;;;6196:18;;:::i;:::-;-1:-1:-1;6233:9:1;;6123:125::o;6253:127::-;6314:10;6309:3;6305:20;6302:1;6295:31;6345:4;6342:1;6335:15;6369:4;6366:1;6359:15;6385:135;6424:3;-1:-1:-1;;6445:17:1;;6442:43;;;6465:18;;:::i;:::-;-1:-1:-1;6512:1:1;6501:13;;6385:135::o;7435:251::-;7505:6;7558:2;7546:9;7537:7;7533:23;7529:32;7526:52;;;7574:1;7571;7564:12;7526:52;7606:9;7600:16;7625:31;7650:5;7625:31;:::i;8612:306::-;8700:6;8708;8716;8769:2;8757:9;8748:7;8744:23;8740:32;8737:52;;;8785:1;8782;8775:12;8737:52;8814:9;8808:16;8798:26;;8864:2;8853:9;8849:18;8843:25;8833:35;;8908:2;8897:9;8893:18;8887:25;8877:35;;8612:306;;;;;:::o;9202:245::-;9269:6;9322:2;9310:9;9301:7;9297:23;9293:32;9290:52;;;9338:1;9335;9328:12;9290:52;9370:9;9364:16;9389:28;9411:5;9389:28;:::i;11833:128::-;11873:3;11904:1;11900:6;11897:1;11894:13;11891:39;;;11910:18;;:::i;:::-;-1:-1:-1;11946:9:1;;11833:128::o;11966:168::-;12006:7;12072:1;12068;12064:6;12060:14;12057:1;12054:21;12049:1;12042:9;12035:17;12031:45;12028:71;;;12079:18;;:::i;:::-;-1:-1:-1;12119:9:1;;11966:168::o;12139:217::-;12179:1;12205;12195:132;;12249:10;12244:3;12240:20;12237:1;12230:31;12284:4;12281:1;12274:15;12312:4;12309:1;12302:15;12195:132;-1:-1:-1;12341:9:1;;12139:217::o;12361:980::-;12623:4;12671:3;12660:9;12656:19;12702:6;12691:9;12684:25;12728:2;12766:6;12761:2;12750:9;12746:18;12739:34;12809:3;12804:2;12793:9;12789:18;12782:31;12833:6;12868;12862:13;12899:6;12891;12884:22;12937:3;12926:9;12922:19;12915:26;;12976:2;12968:6;12964:15;12950:29;;12997:1;13007:195;13021:6;13018:1;13015:13;13007:195;;;13086:13;;-1:-1:-1;;;;;13082:39:1;13070:52;;13177:15;;;;13142:12;;;;13118:1;13036:9;13007:195;;;-1:-1:-1;;;;;;;13258:32:1;;;;13253:2;13238:18;;13231:60;-1:-1:-1;;;13322:3:1;13307:19;13300:35;13219:3;12361:980;-1:-1:-1;;;12361:980:1:o

Swarm Source

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