ETH Price: $3,239.13 (-0.47%)
Gas: 2 Gwei

Token

AKELA TOKEN (AKELA)
 

Overview

Max Total Supply

70,000,000,000,000,000,000,000 AKELA

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
alternativeceodegenwallet.eth
Balance
1,642,522,789,994,017,716,929.708060645 AKELA

Value
$0.00
0x4d2f502fbfb05c2fe549cb87e2df5e6523a311d5
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:
AKELA

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-01-18
*/

/*

    -The Blue WOLF ( $AKELA )

Telegram: https://t.me/AkelaToken
Twitter:  https://twitter.com/AkelaToken
WebSite:  https://akelaproject.com

*/


//SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract AKELA is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;
    mapping(address => uint256) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 70000000000000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _maxTxAmount = _tTotal;
    uint256 private openBlock;
    uint256 private _swapTokensAtAmount = 100 * 10**9; // 100 tokens
    uint256 private _maxWalletAmount = _tTotal;
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;

    string private constant _name = "AKELA TOKEN";
    string private constant _symbol = "AKELA";
    uint8 private constant _decimals = 9;

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

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

    constructor(address payable addr1, address payable addr2) {
        _feeAddrWallet1 = addr1;
        _feeAddrWallet2 = addr2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = 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 tokenFromReflection(_rOwned[account]);
    }

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

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

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

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

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

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

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

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


        _feeAddr1 = 4;
        _feeAddr2 = 8;

        if (from != owner() && to != owner() && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {


            require(!bots[from] && !bots[to]);
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to] &&
                cooldownEnabled
            ) {

                // Not over max tx amount
                require(amount <= _maxTxAmount, "Over max transaction amount.");
                // Cooldown
                require(cooldown[to] < block.timestamp, "Cooldown enforced.");
                // Max wallet
                require(balanceOf(to) + amount <= _maxWalletAmount, "Over max wallet amount.");
                cooldown[to] = block.timestamp + (30 seconds);
            }

            if (
                to == uniswapV2Pair &&
                from != address(uniswapV2Router) &&
                !_isExcludedFromFee[from]
            ) {
                _feeAddr1 = 4;
                _feeAddr2 = 8;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {

                swapTokensForEth(contractTokenBalance);
               uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        } else {
            // Only if it's not from or to owner or from contract address.
            _feeAddr1 = 0;
            _feeAddr2 = 0;
        }

        _tokenTransfer(from, to, amount);
    }

    function swapAndLiquifyEnabled(bool enabled) public onlyOwner {
        inSwap = enabled;
    }

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

    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }

    function setMaxTxAmount(uint256 amount) public onlyOwner {
        _maxTxAmount = amount * 10**9;
    }
    function setMaxWalletAmount(uint256 amount) public onlyOwner {
        _maxWalletAmount = amount * 10**9;
    }

    function whitelist(address payable adr1) external onlyOwner {
    _isExcludedFromFee[adr1] = true;
  }
  function unwhitelist(address payable adr2) external onlyOwner {
  _isExcludedFromFee[adr2] = false;
}

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

        _maxTxAmount = 70000000000000000000000 * 10**9;
        _maxWalletAmount = 70000000000000000000000 * 10**9;
        tradingOpen = true;
        openBlock = block.number;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function addBot(address theBot) public onlyOwner {
        bots[theBot] = true;
    }

    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

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

    function setSwapTokens(uint256 swaptokens) public onlyOwner {
        _swapTokensAtAmount = swaptokens;
    }


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

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

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

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

    receive() external payable {}

    function manualSwap() external {
          uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualSend() external {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

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

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


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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"theBot","type":"address"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swaptokens","type":"uint256"}],"name":"setSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"swapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr2","type":"address"}],"name":"unwhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr1","type":"address"}],"name":"whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000206d03738632e0f343f90e0d80000000600019620002a6565b6200002e9060001962000282565b6008556d03738632e0f343f90e0d80000000600a81905564174876e800600c55600d556013805462ffffff60a81b191690553480156200006d57600080fd5b506040516200213e3803806200213e83398101604081905262000090916200024b565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b038085166001600160a01b031992831617909255601180549284169290911691909117905560085460026000620001103390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600560006200014a6200021f60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155601054821684528284208054861682179055601154909116835291208054909216179055620001bb3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6d03738632e0f343f90e0d800000006040516200020f91815260200190565b60405180910390a35050620002c7565b6000546001600160a01b031690565b80516001600160a01b03811681146200024657600080fd5b919050565b600080604083850312156200025e578182fd5b62000269836200022e565b915062000279602084016200022e565b90509250929050565b600082821015620002a157634e487b7160e01b81526011600452602481fd5b500390565b600082620002c257634e487b7160e01b81526012600452602481fd5b500690565b611e6780620002d76000396000f3fe60806040526004361061014f5760003560e01c806395d89b41116100b6578063c9567bf91161006f578063c9567bf9146103da578063dd62ed3e146103ef578063e98391ff14610435578063ec28438a14610455578063f429389014610475578063ffecf5161461048a57600080fd5b806395d89b411461030c5780639a5904271461033a5780639b19251a1461035a578063a9059cbb1461037a578063b515566a1461039a578063bf6642e7146103ba57600080fd5b8063313ce56711610108578063313ce5671461025e57806351bc3c851461027a5780635932ead11461028f57806370a08231146102af578063715018a6146102cf5780638da5cb5b146102e457600080fd5b806306fdde031461015b578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101fc578063273123b71461021c57806327a14fc21461023e57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600b81526a20a5a2a620902a27a5a2a760a91b60208201525b6040516101989190611c39565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611aca565b6104aa565b6040519015158152602001610198565b3480156101dd57600080fd5b506d03738632e0f343f90e0d800000005b604051908152602001610198565b34801561020857600080fd5b506101c1610217366004611a8a565b6104c1565b34801561022857600080fd5b5061023c610237366004611a1a565b61052a565b005b34801561024a57600080fd5b5061023c610259366004611bf4565b61057e565b34801561026a57600080fd5b5060405160098152602001610198565b34801561028657600080fd5b5061023c6105bc565b34801561029b57600080fd5b5061023c6102aa366004611bbc565b6105d5565b3480156102bb57600080fd5b506101ee6102ca366004611a1a565b61061d565b3480156102db57600080fd5b5061023c61063f565b3480156102f057600080fd5b506000546040516001600160a01b039091168152602001610198565b34801561031857600080fd5b50604080518082019091526005815264414b454c4160d81b602082015261018b565b34801561034657600080fd5b5061023c610355366004611a1a565b6106b3565b34801561036657600080fd5b5061023c610375366004611a1a565b6106fe565b34801561038657600080fd5b506101c1610395366004611aca565b61074c565b3480156103a657600080fd5b5061023c6103b5366004611af5565b610759565b3480156103c657600080fd5b5061023c6103d5366004611bf4565b6107fd565b3480156103e657600080fd5b5061023c61082c565b3480156103fb57600080fd5b506101ee61040a366004611a52565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561044157600080fd5b5061023c610450366004611bbc565b610c03565b34801561046157600080fd5b5061023c610470366004611bf4565b610c4b565b34801561048157600080fd5b5061023c610c89565b34801561049657600080fd5b5061023c6104a5366004611a1a565b610c93565b60006104b7338484610ce1565b5060015b92915050565b60006104ce848484610e05565b610520843361051b85604051806060016040528060288152602001611e0a602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906112b1565b610ce1565b5060019392505050565b6000546001600160a01b0316331461055d5760405162461bcd60e51b815260040161055490611c8c565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146105a85760405162461bcd60e51b815260040161055490611c8c565b6105b681633b9aca00611d69565b600d5550565b60006105c73061061d565b90506105d2816112eb565b50565b6000546001600160a01b031633146105ff5760405162461bcd60e51b815260040161055490611c8c565b60138054911515600160b81b0260ff60b81b19909216919091179055565b6001600160a01b0381166000908152600260205260408120546104bb90611490565b6000546001600160a01b031633146106695760405162461bcd60e51b815260040161055490611c8c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106dd5760405162461bcd60e51b815260040161055490611c8c565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146107285760405162461bcd60e51b815260040161055490611c8c565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b60006104b7338484610e05565b6000546001600160a01b031633146107835760405162461bcd60e51b815260040161055490611c8c565b60005b81518110156107f9576001600660008484815181106107b557634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107f181611d9f565b915050610786565b5050565b6000546001600160a01b031633146108275760405162461bcd60e51b815260040161055490611c8c565b600c55565b6000546001600160a01b031633146108565760405162461bcd60e51b815260040161055490611c8c565b601354600160a01b900460ff16156108b05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610554565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108f230826d03738632e0f343f90e0d80000000610ce1565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561092b57600080fd5b505afa15801561093f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109639190611a36565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ab57600080fd5b505afa1580156109bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e39190611a36565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611a36565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d7194730610a938161061d565b600080610aa86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b449190611c0c565b5050601380546d03738632e0f343f90e0d80000000600a819055600d5563ffff00ff60a01b198116630101000160a01b1790915543600b5560125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610bcb57600080fd5b505af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f99190611bd8565b6000546001600160a01b03163314610c2d5760405162461bcd60e51b815260040161055490611c8c565b60138054911515600160a81b0260ff60a81b19909216919091179055565b6000546001600160a01b03163314610c755760405162461bcd60e51b815260040161055490611c8c565b610c8381633b9aca00611d69565b600a5550565b476105d281611514565b6000546001600160a01b03163314610cbd5760405162461bcd60e51b815260040161055490611c8c565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6001600160a01b038316610d435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610554565b6001600160a01b038216610da45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610554565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610554565b6001600160a01b038216610ecb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610554565b60008111610f2d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610554565b6004600e556008600f556000546001600160a01b03848116911614801590610f6357506000546001600160a01b03838116911614155b8015610f7857506001600160a01b0383163014155b8015610f9d57506001600160a01b03831660009081526005602052604090205460ff16155b8015610fc257506001600160a01b03821660009081526005602052604090205460ff16155b15611296576001600160a01b03831660009081526006602052604090205460ff1615801561100957506001600160a01b03821660009081526006602052604090205460ff16155b61101257600080fd5b6013546001600160a01b03848116911614801561103d57506012546001600160a01b03838116911614155b801561106257506001600160a01b03821660009081526005602052604090205460ff16155b80156110775750601354600160b81b900460ff165b156111b457600a548111156110ce5760405162461bcd60e51b815260206004820152601c60248201527f4f766572206d6178207472616e73616374696f6e20616d6f756e742e000000006044820152606401610554565b6001600160a01b038216600090815260076020526040902054421161112a5760405162461bcd60e51b815260206004820152601260248201527121b7b7b63237bbb71032b73337b931b2b21760711b6044820152606401610554565b600d54816111378461061d565b6111419190611d31565b111561118f5760405162461bcd60e51b815260206004820152601760248201527f4f766572206d61782077616c6c657420616d6f756e742e0000000000000000006044820152606401610554565b61119a42601e611d31565b6001600160a01b0383166000908152600760205260409020555b6013546001600160a01b0383811691161480156111df57506012546001600160a01b03848116911614155b801561120457506001600160a01b03831660009081526005602052604090205460ff16155b15611214576004600e556008600f555b600061121f3061061d565b600c54909150811080159081906112405750601354600160a81b900460ff16155b801561125a57506013546001600160a01b03868116911614155b801561126f5750601354600160b01b900460ff165b1561128f5761127d826112eb565b47801561128d5761128d47611514565b505b50506112a1565b6000600e819055600f555b6112ac838383611599565b505050565b600081848411156112d55760405162461bcd60e51b81526004016105549190611c39565b5060006112e28486611d88565b95945050505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061134157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561139557600080fd5b505afa1580156113a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cd9190611a36565b816001815181106113ee57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526012546114149130911684610ce1565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061144d908590600090869030904290600401611cc1565b600060405180830381600087803b15801561146757600080fd5b505af115801561147b573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b60006008548211156114f75760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610554565b60006115016115a4565b905061150d83826115c7565b9392505050565b6010546001600160a01b03166108fc61152e8360026115c7565b6040518115909202916000818181858888f19350505050158015611556573d6000803e3d6000fd5b506011546001600160a01b03166108fc6115718360026115c7565b6040518115909202916000818181858888f193505050501580156107f9573d6000803e3d6000fd5b6112ac838383611609565b60008060006115b1611700565b90925090506115c082826115c7565b9250505090565b600061150d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061174c565b60008060008060008061161b8761177a565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061164d90876117d7565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461167c9086611819565b6001600160a01b03891660009081526002602052604090205561169e81611878565b6116a884836118c2565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516116ed91815260200190565b60405180910390a3505050505050505050565b60085460009081906d03738632e0f343f90e0d8000000061172182826115c7565b821015611743575050600854926d03738632e0f343f90e0d8000000092509050565b90939092509050565b6000818361176d5760405162461bcd60e51b81526004016105549190611c39565b5060006112e28486611d49565b60008060008060008060008060006117978a600e54600f546118e6565b92509250925060006117a76115a4565b905060008060006117ba8e87878761193b565b919e509c509a509598509396509194505050505091939550919395565b600061150d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b1565b6000806118268385611d31565b90508381101561150d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610554565b60006118826115a4565b90506000611890838361198b565b306000908152600260205260409020549091506118ad9082611819565b30600090815260026020526040902055505050565b6008546118cf90836117d7565b6008556009546118df9082611819565b6009555050565b600080808061190060646118fa898961198b565b906115c7565b9050600061191360646118fa8a8961198b565b9050600061192b826119258b866117d7565b906117d7565b9992985090965090945050505050565b600080808061194a888661198b565b90506000611958888761198b565b90506000611966888861198b565b905060006119788261192586866117d7565b939b939a50919850919650505050505050565b60008261199a575060006104bb565b60006119a68385611d69565b9050826119b38583611d49565b1461150d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610554565b8035611a1581611de6565b919050565b600060208284031215611a2b578081fd5b813561150d81611de6565b600060208284031215611a47578081fd5b815161150d81611de6565b60008060408385031215611a64578081fd5b8235611a6f81611de6565b91506020830135611a7f81611de6565b809150509250929050565b600080600060608486031215611a9e578081fd5b8335611aa981611de6565b92506020840135611ab981611de6565b929592945050506040919091013590565b60008060408385031215611adc578182fd5b8235611ae781611de6565b946020939093013593505050565b60006020808385031215611b07578182fd5b823567ffffffffffffffff80821115611b1e578384fd5b818501915085601f830112611b31578384fd5b813581811115611b4357611b43611dd0565b8060051b604051601f19603f83011681018181108582111715611b6857611b68611dd0565b604052828152858101935084860182860187018a1015611b86578788fd5b8795505b83861015611baf57611b9b81611a0a565b855260019590950194938601938601611b8a565b5098975050505050505050565b600060208284031215611bcd578081fd5b813561150d81611dfb565b600060208284031215611be9578081fd5b815161150d81611dfb565b600060208284031215611c05578081fd5b5035919050565b600080600060608486031215611c20578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611c6557858101830151858201604001528201611c49565b81811115611c765783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611d105784516001600160a01b031683529383019391830191600101611ceb565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611d4457611d44611dba565b500190565b600082611d6457634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611d8357611d83611dba565b500290565b600082821015611d9a57611d9a611dba565b500390565b6000600019821415611db357611db3611dba565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105d257600080fd5b80151581146105d257600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203a93f586f6dc0fb01000a790fd9e528325977d3f73ceb9e5a50130e097ca5af764736f6c63430008040033000000000000000000000000083690fed3f982cfd37e8aa8a89523abb8297330000000000000000000000000083690fed3f982cfd37e8aa8a89523abb8297330

Deployed Bytecode

0x60806040526004361061014f5760003560e01c806395d89b41116100b6578063c9567bf91161006f578063c9567bf9146103da578063dd62ed3e146103ef578063e98391ff14610435578063ec28438a14610455578063f429389014610475578063ffecf5161461048a57600080fd5b806395d89b411461030c5780639a5904271461033a5780639b19251a1461035a578063a9059cbb1461037a578063b515566a1461039a578063bf6642e7146103ba57600080fd5b8063313ce56711610108578063313ce5671461025e57806351bc3c851461027a5780635932ead11461028f57806370a08231146102af578063715018a6146102cf5780638da5cb5b146102e457600080fd5b806306fdde031461015b578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101fc578063273123b71461021c57806327a14fc21461023e57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600b81526a20a5a2a620902a27a5a2a760a91b60208201525b6040516101989190611c39565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004611aca565b6104aa565b6040519015158152602001610198565b3480156101dd57600080fd5b506d03738632e0f343f90e0d800000005b604051908152602001610198565b34801561020857600080fd5b506101c1610217366004611a8a565b6104c1565b34801561022857600080fd5b5061023c610237366004611a1a565b61052a565b005b34801561024a57600080fd5b5061023c610259366004611bf4565b61057e565b34801561026a57600080fd5b5060405160098152602001610198565b34801561028657600080fd5b5061023c6105bc565b34801561029b57600080fd5b5061023c6102aa366004611bbc565b6105d5565b3480156102bb57600080fd5b506101ee6102ca366004611a1a565b61061d565b3480156102db57600080fd5b5061023c61063f565b3480156102f057600080fd5b506000546040516001600160a01b039091168152602001610198565b34801561031857600080fd5b50604080518082019091526005815264414b454c4160d81b602082015261018b565b34801561034657600080fd5b5061023c610355366004611a1a565b6106b3565b34801561036657600080fd5b5061023c610375366004611a1a565b6106fe565b34801561038657600080fd5b506101c1610395366004611aca565b61074c565b3480156103a657600080fd5b5061023c6103b5366004611af5565b610759565b3480156103c657600080fd5b5061023c6103d5366004611bf4565b6107fd565b3480156103e657600080fd5b5061023c61082c565b3480156103fb57600080fd5b506101ee61040a366004611a52565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561044157600080fd5b5061023c610450366004611bbc565b610c03565b34801561046157600080fd5b5061023c610470366004611bf4565b610c4b565b34801561048157600080fd5b5061023c610c89565b34801561049657600080fd5b5061023c6104a5366004611a1a565b610c93565b60006104b7338484610ce1565b5060015b92915050565b60006104ce848484610e05565b610520843361051b85604051806060016040528060288152602001611e0a602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906112b1565b610ce1565b5060019392505050565b6000546001600160a01b0316331461055d5760405162461bcd60e51b815260040161055490611c8c565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146105a85760405162461bcd60e51b815260040161055490611c8c565b6105b681633b9aca00611d69565b600d5550565b60006105c73061061d565b90506105d2816112eb565b50565b6000546001600160a01b031633146105ff5760405162461bcd60e51b815260040161055490611c8c565b60138054911515600160b81b0260ff60b81b19909216919091179055565b6001600160a01b0381166000908152600260205260408120546104bb90611490565b6000546001600160a01b031633146106695760405162461bcd60e51b815260040161055490611c8c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106dd5760405162461bcd60e51b815260040161055490611c8c565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146107285760405162461bcd60e51b815260040161055490611c8c565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b60006104b7338484610e05565b6000546001600160a01b031633146107835760405162461bcd60e51b815260040161055490611c8c565b60005b81518110156107f9576001600660008484815181106107b557634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107f181611d9f565b915050610786565b5050565b6000546001600160a01b031633146108275760405162461bcd60e51b815260040161055490611c8c565b600c55565b6000546001600160a01b031633146108565760405162461bcd60e51b815260040161055490611c8c565b601354600160a01b900460ff16156108b05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610554565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108f230826d03738632e0f343f90e0d80000000610ce1565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561092b57600080fd5b505afa15801561093f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109639190611a36565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ab57600080fd5b505afa1580156109bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e39190611a36565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611a36565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d7194730610a938161061d565b600080610aa86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b449190611c0c565b5050601380546d03738632e0f343f90e0d80000000600a819055600d5563ffff00ff60a01b198116630101000160a01b1790915543600b5560125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610bcb57600080fd5b505af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f99190611bd8565b6000546001600160a01b03163314610c2d5760405162461bcd60e51b815260040161055490611c8c565b60138054911515600160a81b0260ff60a81b19909216919091179055565b6000546001600160a01b03163314610c755760405162461bcd60e51b815260040161055490611c8c565b610c8381633b9aca00611d69565b600a5550565b476105d281611514565b6000546001600160a01b03163314610cbd5760405162461bcd60e51b815260040161055490611c8c565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6001600160a01b038316610d435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610554565b6001600160a01b038216610da45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610554565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610554565b6001600160a01b038216610ecb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610554565b60008111610f2d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610554565b6004600e556008600f556000546001600160a01b03848116911614801590610f6357506000546001600160a01b03838116911614155b8015610f7857506001600160a01b0383163014155b8015610f9d57506001600160a01b03831660009081526005602052604090205460ff16155b8015610fc257506001600160a01b03821660009081526005602052604090205460ff16155b15611296576001600160a01b03831660009081526006602052604090205460ff1615801561100957506001600160a01b03821660009081526006602052604090205460ff16155b61101257600080fd5b6013546001600160a01b03848116911614801561103d57506012546001600160a01b03838116911614155b801561106257506001600160a01b03821660009081526005602052604090205460ff16155b80156110775750601354600160b81b900460ff165b156111b457600a548111156110ce5760405162461bcd60e51b815260206004820152601c60248201527f4f766572206d6178207472616e73616374696f6e20616d6f756e742e000000006044820152606401610554565b6001600160a01b038216600090815260076020526040902054421161112a5760405162461bcd60e51b815260206004820152601260248201527121b7b7b63237bbb71032b73337b931b2b21760711b6044820152606401610554565b600d54816111378461061d565b6111419190611d31565b111561118f5760405162461bcd60e51b815260206004820152601760248201527f4f766572206d61782077616c6c657420616d6f756e742e0000000000000000006044820152606401610554565b61119a42601e611d31565b6001600160a01b0383166000908152600760205260409020555b6013546001600160a01b0383811691161480156111df57506012546001600160a01b03848116911614155b801561120457506001600160a01b03831660009081526005602052604090205460ff16155b15611214576004600e556008600f555b600061121f3061061d565b600c54909150811080159081906112405750601354600160a81b900460ff16155b801561125a57506013546001600160a01b03868116911614155b801561126f5750601354600160b01b900460ff165b1561128f5761127d826112eb565b47801561128d5761128d47611514565b505b50506112a1565b6000600e819055600f555b6112ac838383611599565b505050565b600081848411156112d55760405162461bcd60e51b81526004016105549190611c39565b5060006112e28486611d88565b95945050505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061134157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561139557600080fd5b505afa1580156113a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cd9190611a36565b816001815181106113ee57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526012546114149130911684610ce1565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061144d908590600090869030904290600401611cc1565b600060405180830381600087803b15801561146757600080fd5b505af115801561147b573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b60006008548211156114f75760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610554565b60006115016115a4565b905061150d83826115c7565b9392505050565b6010546001600160a01b03166108fc61152e8360026115c7565b6040518115909202916000818181858888f19350505050158015611556573d6000803e3d6000fd5b506011546001600160a01b03166108fc6115718360026115c7565b6040518115909202916000818181858888f193505050501580156107f9573d6000803e3d6000fd5b6112ac838383611609565b60008060006115b1611700565b90925090506115c082826115c7565b9250505090565b600061150d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061174c565b60008060008060008061161b8761177a565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061164d90876117d7565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461167c9086611819565b6001600160a01b03891660009081526002602052604090205561169e81611878565b6116a884836118c2565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516116ed91815260200190565b60405180910390a3505050505050505050565b60085460009081906d03738632e0f343f90e0d8000000061172182826115c7565b821015611743575050600854926d03738632e0f343f90e0d8000000092509050565b90939092509050565b6000818361176d5760405162461bcd60e51b81526004016105549190611c39565b5060006112e28486611d49565b60008060008060008060008060006117978a600e54600f546118e6565b92509250925060006117a76115a4565b905060008060006117ba8e87878761193b565b919e509c509a509598509396509194505050505091939550919395565b600061150d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b1565b6000806118268385611d31565b90508381101561150d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610554565b60006118826115a4565b90506000611890838361198b565b306000908152600260205260409020549091506118ad9082611819565b30600090815260026020526040902055505050565b6008546118cf90836117d7565b6008556009546118df9082611819565b6009555050565b600080808061190060646118fa898961198b565b906115c7565b9050600061191360646118fa8a8961198b565b9050600061192b826119258b866117d7565b906117d7565b9992985090965090945050505050565b600080808061194a888661198b565b90506000611958888761198b565b90506000611966888861198b565b905060006119788261192586866117d7565b939b939a50919850919650505050505050565b60008261199a575060006104bb565b60006119a68385611d69565b9050826119b38583611d49565b1461150d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610554565b8035611a1581611de6565b919050565b600060208284031215611a2b578081fd5b813561150d81611de6565b600060208284031215611a47578081fd5b815161150d81611de6565b60008060408385031215611a64578081fd5b8235611a6f81611de6565b91506020830135611a7f81611de6565b809150509250929050565b600080600060608486031215611a9e578081fd5b8335611aa981611de6565b92506020840135611ab981611de6565b929592945050506040919091013590565b60008060408385031215611adc578182fd5b8235611ae781611de6565b946020939093013593505050565b60006020808385031215611b07578182fd5b823567ffffffffffffffff80821115611b1e578384fd5b818501915085601f830112611b31578384fd5b813581811115611b4357611b43611dd0565b8060051b604051601f19603f83011681018181108582111715611b6857611b68611dd0565b604052828152858101935084860182860187018a1015611b86578788fd5b8795505b83861015611baf57611b9b81611a0a565b855260019590950194938601938601611b8a565b5098975050505050505050565b600060208284031215611bcd578081fd5b813561150d81611dfb565b600060208284031215611be9578081fd5b815161150d81611dfb565b600060208284031215611c05578081fd5b5035919050565b600080600060608486031215611c20578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611c6557858101830151858201604001528201611c49565b81811115611c765783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611d105784516001600160a01b031683529383019391830191600101611ceb565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611d4457611d44611dba565b500190565b600082611d6457634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611d8357611d83611dba565b500290565b600082821015611d9a57611d9a611dba565b500390565b6000600019821415611db357611db3611dba565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105d257600080fd5b80151581146105d257600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203a93f586f6dc0fb01000a790fd9e528325977d3f73ceb9e5a50130e097ca5af764736f6c63430008040033

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

000000000000000000000000083690fed3f982cfd37e8aa8a89523abb8297330000000000000000000000000083690fed3f982cfd37e8aa8a89523abb8297330

-----Decoded View---------------
Arg [0] : addr1 (address): 0x083690fEd3f982cfd37E8Aa8A89523abb8297330
Arg [1] : addr2 (address): 0x083690fEd3f982cfd37E8Aa8A89523abb8297330

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000083690fed3f982cfd37e8aa8a89523abb8297330
Arg [1] : 000000000000000000000000083690fed3f982cfd37e8aa8a89523abb8297330


Deployed Bytecode Sourcemap

4022:13064:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6024:83;;;;;;;;;;-1:-1:-1;6094:5:0;;;;;;;;;;;;-1:-1:-1;;;6094:5:0;;;;6024:83;;;;;;;:::i;:::-;;;;;;;;6949:193;;;;;;;;;;-1:-1:-1;6949:193:0;;;;;:::i;:::-;;:::i;:::-;;;5942:14:1;;5935:22;5917:41;;5905:2;5890:18;6949:193:0;5872:92:1;6301:95:0;;;;;;;;;;-1:-1:-1;4516:31:0;6301:95;;;11689:25:1;;;11677:2;11662:18;6301:95:0;11644:76:1;7150:446:0;;;;;;;;;;-1:-1:-1;7150:446:0;;;;;:::i;:::-;;:::i;13012:88::-;;;;;;;;;;-1:-1:-1;13012:88:0;;;;;:::i;:::-;;:::i;:::-;;11472:113;;;;;;;;;;-1:-1:-1;11472:113:0;;;;;:::i;:::-;;:::i;6210:83::-;;;;;;;;;;-1:-1:-1;6210:83:0;;5132:1;12855:36:1;;12843:2;12828:18;6210:83:0;12810:87:1;14618:146:0;;;;;;;;;;;;;:::i;7604:101::-;;;;;;;;;;-1:-1:-1;7604:101:0;;;;;:::i;:::-;;:::i;6404:138::-;;;;;;;;;;-1:-1:-1;6404:138:0;;;;;:::i;:::-;;:::i;2974:148::-;;;;;;;;;;;;;:::i;2760:79::-;;;;;;;;;;-1:-1:-1;2798:7:0;2825:6;2760:79;;-1:-1:-1;;;;;2825:6:0;;;4515:51:1;;4503:2;4488:18;2760:79:0;4470:102:1;6115:87:0;;;;;;;;;;-1:-1:-1;6187:7:0;;;;;;;;;;;;-1:-1:-1;;;6187:7:0;;;;6115:87;;11701:103;;;;;;;;;;-1:-1:-1;11701:103:0;;;;;:::i;:::-;;:::i;11593:104::-;;;;;;;;;;-1:-1:-1;11593:104:0;;;;;:::i;:::-;;:::i;6550:199::-;;;;;;;;;;-1:-1:-1;6550:199:0;;;;;:::i;:::-;;:::i;13108:164::-;;;;;;;;;;-1:-1:-1;13108:164:0;;;;;:::i;:::-;;:::i;13280:111::-;;;;;;;;;;-1:-1:-1;13280:111:0;;;;;:::i;:::-;;:::i;11812:1097::-;;;;;;;;;;;;;:::i;6757:184::-;;;;;;;;;;-1:-1:-1;6757:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6906:18:0;;;6874:7;6906:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6757:184;10603:97;;;;;;;;;;-1:-1:-1;10603:97:0;;;;;:::i;:::-;;:::i;11361:105::-;;;;;;;;;;-1:-1:-1;11361:105:0;;;;;:::i;:::-;;:::i;14772:143::-;;;;;;;;;;;;;:::i;12917:87::-;;;;;;;;;;-1:-1:-1;12917:87:0;;;;;:::i;:::-;;:::i;6949:193::-;7051:4;7073:39;343:10;7096:7;7105:6;7073:8;:39::i;:::-;-1:-1:-1;7130:4:0;6949:193;;;;;:::o;7150:446::-;7282:4;7299:36;7309:6;7317:9;7328:6;7299:9;:36::i;:::-;7346:220;7369:6;343:10;7417:138;7473:6;7417:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7417:19:0;;;;;;:11;:19;;;;;;;;343:10;7417:33;;;;;;;;;;:37;:138::i;:::-;7346:8;:220::i;:::-;-1:-1:-1;7584:4:0;7150:446;;;;;:::o;13012:88::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;13072:12:0::1;13087:5;13072:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13072:20:0::1;::::0;;13012:88::o;11472:113::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;11563:14:::1;:6:::0;11572:5:::1;11563:14;:::i;:::-;11544:16;:33:::0;-1:-1:-1;11472:113:0:o;14618:146::-;14662:23;14688:24;14706:4;14688:9;:24::i;:::-;14662:50;;14723:33;14740:15;14723:16;:33::i;:::-;14618:146;:::o;7604:101::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;7674:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;7674:23:0::1;-1:-1:-1::0;;;;7674:23:0;;::::1;::::0;;;::::1;::::0;;7604:101::o;6404:138::-;-1:-1:-1;;;;;6517:16:0;;6470:7;6517:16;;;:7;:16;;;;;;6497:37;;:19;:37::i;2974:148::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;3081:1:::1;3065:6:::0;;3044:40:::1;::::0;-1:-1:-1;;;;;3065:6:0;;::::1;::::0;3044:40:::1;::::0;3081:1;;3044:40:::1;3112:1;3095:19:::0;;-1:-1:-1;;;;;;3095:19:0::1;::::0;;2974:148::o;11701:103::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11768:24:0::1;11795:5;11768:24:::0;;;:18:::1;:24;::::0;;;;:32;;-1:-1:-1;;11768:32:0::1;::::0;;11701:103::o;11593:104::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11660:24:0::1;;::::0;;;:18:::1;:24;::::0;;;;:31;;-1:-1:-1;;11660:31:0::1;11687:4;11660:31;::::0;;11593:104::o;6550:199::-;6655:4;6677:42;343:10;6701:9;6712:6;6677:9;:42::i;13108:164::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;13182:6:::1;13177:88;13198:5;:12;13194:1;:16;13177:88;;;13249:4;13232;:14;13237:5;13243:1;13237:8;;;;;;-1:-1:-1::0;;;13237:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13232:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13232:14:0;:21;;-1:-1:-1;;13232:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13212:3;::::1;::::0;::::1;:::i;:::-;;;;13177:88;;;;13108:164:::0;:::o;13280:111::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;13351:19:::1;:32:::0;13280:111::o;11812:1097::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;11874:11:::1;::::0;-1:-1:-1;;;11874:11:0;::::1;;;11873:12;11865:48;;;::::0;-1:-1:-1;;;11865:48:0;;10689:2:1;11865:48:0::1;::::0;::::1;10671:21:1::0;10728:2;10708:18;;;10701:30;10767:25;10747:18;;;10740:53;10810:18;;11865:48:0::1;10661:173:1::0;11865:48:0::1;12059:15;:34:::0;;-1:-1:-1;;;;;;12059:34:0::1;11995:42;12059:34:::0;;::::1;::::0;;;12104:58:::1;12121:4;11995:42:::0;4516:31:::1;12104:8;:58::i;:::-;12207:16;-1:-1:-1::0;;;;;12207:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12189:70:0::1;;12268:4;12275:16;-1:-1:-1::0;;;;;12275:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12189:110;::::0;-1:-1:-1;;;;;;12189:110:0::1;::::0;;;;;;-1:-1:-1;;;;;4807:15:1;;;12189:110:0::1;::::0;::::1;4789:34:1::0;4859:15;;4839:18;;;4832:43;4724:18;;12189:110:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12173:13;:126:::0;;-1:-1:-1;;;;;;12173:126:0::1;-1:-1:-1::0;;;;;12173:126:0;;::::1;;::::0;;12310:15:::1;::::0;::::1;:31;12349:21;12394:4;12414:24;12394:4:::0;12414:9:::1;:24::i;:::-;12453:1;12469::::0;12485:7:::1;2798::::0;2825:6;-1:-1:-1;;;;;2825:6:0;;2760:79;12485:7:::1;12310:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12310:223:0;;;-1:-1:-1;;;;;5524:15:1;;;12310:223:0::1;::::0;::::1;5506:34:1::0;5556:18;;;5549:34;;;;5599:18;;;5592:34;;;;5642:18;;;5635:34;5706:15;;;5685:19;;;5678:44;12507:15:0::1;5738:19:1::0;;;5731:35;5440:19;;12310:223:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12544:11:0::1;:18:::0;;12623:31:::1;12608:12;:46:::0;;;12665:16:::1;:50:::0;-1:-1:-1;;;;12726:18:0;;-1:-1:-1;;;12726:18:0;;;;12767:12:::1;12755:9;:24:::0;12842:15:::1;::::0;12790:111:::1;::::0;-1:-1:-1;;;12790:111:0;;-1:-1:-1;;;;;12842:15:0;;::::1;12790:111;::::0;::::1;5060:51:1::0;-1:-1:-1;;5127:18:1;;;5120:34;12797:13:0;;;-1:-1:-1;12790:29:0::1;::::0;5033:18:1;;12790:111:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10603:97::-:0;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;10676:6:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;10676:16:0::1;-1:-1:-1::0;;;;10676:16:0;;::::1;::::0;;;::::1;::::0;;10603:97::o;11361:105::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;11444:14:::1;:6:::0;11453:5:::1;11444:14;:::i;:::-;11429:12;:29:::0;-1:-1:-1;11361:105:0:o;14772:143::-;14843:21;14875:32;14843:21;14875:12;:32::i;12917:87::-;2887:6;;-1:-1:-1;;;;;2887:6:0;343:10;2887:22;2879:67;;;;-1:-1:-1;;;2879:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12977:12:0::1;;::::0;;;:4:::1;:12;::::0;;;;:19;;-1:-1:-1;;12977:19:0::1;12992:4;12977:19;::::0;;12917:87::o;8044:369::-;-1:-1:-1;;;;;8171:19:0;;8163:68;;;;-1:-1:-1;;;8163:68:0;;10284:2:1;8163:68:0;;;10266:21:1;10323:2;10303:18;;;10296:30;10362:34;10342:18;;;10335:62;-1:-1:-1;;;10413:18:1;;;10406:34;10457:19;;8163:68:0;10256:226:1;8163:68:0;-1:-1:-1;;;;;8250:21:0;;8242:68;;;;-1:-1:-1;;;8242:68:0;;7594:2:1;8242:68:0;;;7576:21:1;7633:2;7613:18;;;7606:30;7672:34;7652:18;;;7645:62;-1:-1:-1;;;7723:18:1;;;7716:32;7765:19;;8242:68:0;7566:224:1;8242:68:0;-1:-1:-1;;;;;8321:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8373:32;;11689:25:1;;;8373:32:0;;11662:18:1;8373:32:0;;;;;;;8044:369;;;:::o;8421:2174::-;-1:-1:-1;;;;;8545:18:0;;8537:68;;;;-1:-1:-1;;;8537:68:0;;9878:2:1;8537:68:0;;;9860:21:1;9917:2;9897:18;;;9890:30;9956:34;9936:18;;;9929:62;-1:-1:-1;;;10007:18:1;;;10000:35;10052:19;;8537:68:0;9850:227:1;8537:68:0;-1:-1:-1;;;;;8624:16:0;;8616:64;;;;-1:-1:-1;;;8616:64:0;;6779:2:1;8616:64:0;;;6761:21:1;6818:2;6798:18;;;6791:30;6857:34;6837:18;;;6830:62;-1:-1:-1;;;6908:18:1;;;6901:33;6951:19;;8616:64:0;6751:225:1;8616:64:0;8708:1;8699:6;:10;8691:64;;;;-1:-1:-1;;;8691:64:0;;9116:2:1;8691:64:0;;;9098:21:1;9155:2;9135:18;;;9128:30;9194:34;9174:18;;;9167:62;-1:-1:-1;;;9245:18:1;;;9238:39;9294:19;;8691:64:0;9088:231:1;8691:64:0;8782:1;8770:9;:13;8806:1;8794:9;:13;-1:-1:-1;2825:6:0;-1:-1:-1;;;;;8824:15:0;;;2825:6;;8824:15;;;;:32;;-1:-1:-1;2798:7:0;2825:6;-1:-1:-1;;;;;8843:13:0;;;2825:6;;8843:13;;8824:32;:57;;;;-1:-1:-1;;;;;;8860:21:0;;8876:4;8860:21;;8824:57;:86;;;;-1:-1:-1;;;;;;8886:24:0;;;;;;:18;:24;;;;;;;;8885:25;8824:86;:113;;;;-1:-1:-1;;;;;;8915:22:0;;;;;;:18;:22;;;;;;;;8914:23;8824:113;8820:1723;;;-1:-1:-1;;;;;8967:10:0;;;;;;:4;:10;;;;;;;;8966:11;:24;;;;-1:-1:-1;;;;;;8982:8:0;;;;;;:4;:8;;;;;;;;8981:9;8966:24;8958:33;;;;;;9036:13;;-1:-1:-1;;;;;9028:21:0;;;9036:13;;9028:21;:72;;;;-1:-1:-1;9084:15:0;;-1:-1:-1;;;;;9070:30:0;;;9084:15;;9070:30;;9028:72;:116;;;;-1:-1:-1;;;;;;9122:22:0;;;;;;:18;:22;;;;;;;;9121:23;9028:116;:152;;;;-1:-1:-1;9165:15:0;;-1:-1:-1;;;9165:15:0;;;;9028:152;9006:634;;;9278:12;;9268:6;:22;;9260:63;;;;-1:-1:-1;;;9260:63:0;;11041:2:1;9260:63:0;;;11023:21:1;11080:2;11060:18;;;11053:30;11119;11099:18;;;11092:58;11167:18;;9260:63:0;11013:178:1;9260:63:0;-1:-1:-1;;;;;9379:12:0;;;;;;:8;:12;;;;;;9394:15;-1:-1:-1;9371:61:0;;;;-1:-1:-1;;;9371:61:0;;11398:2:1;9371:61:0;;;11380:21:1;11437:2;11417:18;;;11410:30;-1:-1:-1;;;11456:18:1;;;11449:48;11514:18;;9371:61:0;11370:168:1;9371:61:0;9516:16;;9506:6;9490:13;9500:2;9490:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;9482:78;;;;-1:-1:-1;;;9482:78:0;;9526:2:1;9482:78:0;;;9508:21:1;9565:2;9545:18;;;9538:30;9604:25;9584:18;;;9577:53;9647:18;;9482:78:0;9498:173:1;9482:78:0;9594:30;:15;9613:10;9594:30;:::i;:::-;-1:-1:-1;;;;;9579:12:0;;;;;;:8;:12;;;;;:45;9006:634;9684:13;;-1:-1:-1;;;;;9678:19:0;;;9684:13;;9678:19;:72;;;;-1:-1:-1;9734:15:0;;-1:-1:-1;;;;;9718:32:0;;;9734:15;;9718:32;;9678:72;:118;;;;-1:-1:-1;;;;;;9772:24:0;;;;;;:18;:24;;;;;;;;9771:25;9678:118;9656:236;;;9843:1;9831:9;:13;9875:1;9863:9;:13;9656:236;9908:28;9939:24;9957:4;9939:9;:24::i;:::-;10017:19;;9908:55;;-1:-1:-1;9993:43:0;;;;;;;10055:18;;-1:-1:-1;10067:6:0;;-1:-1:-1;;;10067:6:0;;;;10066:7;10055:18;:43;;;;-1:-1:-1;10085:13:0;;-1:-1:-1;;;;;10077:21:0;;;10085:13;;10077:21;;10055:43;:58;;;;-1:-1:-1;10102:11:0;;-1:-1:-1;;;10102:11:0;;;;10055:58;10051:331;;;10136:38;10153:20;10136:16;:38::i;:::-;10221:21;10265:22;;10261:106;;10312:35;10325:21;10312:12;:35::i;:::-;10051:331;;8820:1723;;;;;10502:1;10490:9;:13;;;10518:9;:13;8820:1723;10555:32;10570:4;10576:2;10580:6;10555:14;:32::i;:::-;8421:2174;;;:::o;1525:224::-;1645:7;1681:12;1673:6;;;;1665:29;;;;-1:-1:-1;;;1665:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1705:9:0;1717:5;1721:1;1717;:5;:::i;:::-;1705:17;1525:224;-1:-1:-1;;;;;1525:224:0:o;10708:483::-;5463:6;:13;;-1:-1:-1;;;;5463:13:0;-1:-1:-1;;;5463:13:0;;;10810:16:::1;::::0;;10824:1:::1;10810:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10810:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10810:16:0::1;10786:40;;10855:4;10837;10842:1;10837:7;;;;;;-1:-1:-1::0;;;10837:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10837:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10881:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10881:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10837:7;;10881:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10871:4;10876:1;10871:7;;;;;;-1:-1:-1::0;;;10871:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10871:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10946:15:::1;::::0;10914:62:::1;::::0;10931:4:::1;::::0;10946:15:::1;10964:11:::0;10914:8:::1;:62::i;:::-;10987:15;::::0;:196:::1;::::0;-1:-1:-1;;;10987:196:0;;-1:-1:-1;;;;;10987:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11068:11;;10987:15:::1;::::0;11110:4;;11137::::1;::::0;11157:15:::1;::::0;10987:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5499:6:0;:14;;-1:-1:-1;;;;5499:14:0;;;-1:-1:-1;;;;10708:483:0:o;7713:323::-;7808:7;7866;;7855;:18;;7833:110;;;;-1:-1:-1;;;7833:110:0;;7183:2:1;7833:110:0;;;7165:21:1;7222:2;7202:18;;;7195:30;7261:34;7241:18;;;7234:62;-1:-1:-1;;;7312:18:1;;;7305:40;7362:19;;7833:110:0;7155:232:1;7833:110:0;7954:19;7976:10;:8;:10::i;:::-;7954:32;-1:-1:-1;8004:24:0;:7;7954:32;8004:11;:24::i;:::-;7997:31;7713:323;-1:-1:-1;;;7713:323:0:o;11199:154::-;11256:15;;-1:-1:-1;;;;;11256:15:0;:39;11281:13;:6;11292:1;11281:10;:13::i;:::-;11256:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11306:15:0;;-1:-1:-1;;;;;11306:15:0;:39;11331:13;:6;11342:1;11331:10;:13::i;:::-;11306:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13401:180;13529:44;13547:6;13555:9;13566:6;13529:17;:44::i;16654:164::-;16696:7;16717:15;16734;16753:19;:17;:19::i;:::-;16716:56;;-1:-1:-1;16716:56:0;-1:-1:-1;16790:20:0;16716:56;;16790:11;:20::i;:::-;16783:27;;;;16654:164;:::o;2011:132::-;2069:7;2096:39;2100:1;2103;2096:39;;;;;;;;;;;;;;;;;:3;:39::i;13589:610::-;13736:15;13766:23;13804:12;13831:23;13869:12;13896:13;13923:19;13934:7;13923:10;:19::i;:::-;-1:-1:-1;;;;;13971:15:0;;;;;;:7;:15;;;;;;13721:221;;-1:-1:-1;13721:221:0;;-1:-1:-1;13721:221:0;;-1:-1:-1;13721:221:0;-1:-1:-1;13721:221:0;-1:-1:-1;13721:221:0;-1:-1:-1;13971:28:0;;13721:221;13971:19;:28::i;:::-;-1:-1:-1;;;;;13953:15:0;;;;;;;:7;:15;;;;;;:46;;;;14031:18;;;;;;;:39;;14054:15;14031:22;:39::i;:::-;-1:-1:-1;;;;;14010:18:0;;;;;;:7;:18;;;;;:60;14081:16;14091:5;14081:9;:16::i;:::-;14108:23;14120:4;14126;14108:11;:23::i;:::-;14164:9;-1:-1:-1;;;;;14147:44:0;14156:6;-1:-1:-1;;;;;14147:44:0;;14175:15;14147:44;;;;11689:25:1;;11677:2;11662:18;;11644:76;14147:44:0;;;;;;;;13589:610;;;;;;;;;:::o;16826:257::-;16924:7;;16877;;;;4516:31;16992:20;16924:7;4516:31;16992:11;:20::i;:::-;16982:7;:30;16978:61;;;-1:-1:-1;;17022:7:0;;;4516:31;;-1:-1:-1;16826:257:0;-1:-1:-1;16826:257:0:o;16978:61::-;17058:7;;17067;;-1:-1:-1;16826:257:0;-1:-1:-1;16826:257:0:o;2151:223::-;2271:7;2306:12;2299:5;2291:28;;;;-1:-1:-1;;;2291:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2330:9:0;2342:5;2346:1;2342;:5;:::i;14923:704::-;15023:7;15045;15067;15089;15111;15133;15169:23;15194:12;15208:13;15225:92;15251:7;15273:9;;15297;;15225:11;:92::i;:::-;15168:149;;;;;;15328:19;15350:10;:8;:10::i;:::-;15328:32;;15372:15;15389:23;15414:12;15430:109;15456:7;15478:4;15497:5;15517:11;15430;:109::i;:::-;15371:168;;-1:-1:-1;15371:168:0;-1:-1:-1;15371:168:0;-1:-1:-1;15590:15:0;;-1:-1:-1;15607:4:0;;-1:-1:-1;15613:5:0;;-1:-1:-1;;;;;14923:704:0;;;;;;;:::o;1381:136::-;1439:7;1466:43;1470:1;1473;1466:43;;;;;;;;;;;;;;;;;:3;:43::i;1194:179::-;1252:7;;1284:5;1288:1;1284;:5;:::i;:::-;1272:17;;1313:1;1308;:6;;1300:46;;;;-1:-1:-1;;;1300:46:0;;7997:2:1;1300:46:0;;;7979:21:1;8036:2;8016:18;;;8009:30;8075:29;8055:18;;;8048:57;8122:18;;1300:46:0;7969:177:1;14207:211:0;14260:19;14282:10;:8;:10::i;:::-;14260:32;-1:-1:-1;14303:13:0;14319:22;:5;14260:32;14319:9;:22::i;:::-;14393:4;14377:22;;;;:7;:22;;;;;;14303:38;;-1:-1:-1;14377:33:0;;14303:38;14377:26;:33::i;:::-;14368:4;14352:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14207:211:0:o;14426:147::-;14504:7;;:17;;14516:4;14504:11;:17::i;:::-;14494:7;:27;14545:10;;:20;;14560:4;14545:14;:20::i;:::-;14532:10;:33;-1:-1:-1;;14426:147:0:o;15635:467::-;15803:7;;;;15897:28;15921:3;15897:19;:7;15909:6;15897:11;:19::i;:::-;:23;;:28::i;:::-;15882:43;-1:-1:-1;15936:13:0;15952:29;15977:3;15952:20;:7;15964;15952:11;:20::i;:29::-;15936:45;-1:-1:-1;15992:23:0;16018:28;15936:45;16018:17;:7;16030:4;16018:11;:17::i;:::-;:21;;:28::i;:::-;15992:54;16082:4;;-1:-1:-1;16088:5:0;;-1:-1:-1;15635:467:0;;-1:-1:-1;;;;;15635:467:0:o;16110:534::-;16304:7;;;;16401:24;:7;16413:11;16401;:24::i;:::-;16383:42;-1:-1:-1;16436:12:0;16451:21;:4;16460:11;16451:8;:21::i;:::-;16436:36;-1:-1:-1;16483:13:0;16499:22;:5;16509:11;16499:9;:22::i;:::-;16483:38;-1:-1:-1;16532:23:0;16558:28;16483:38;16558:17;:7;16570:4;16558:11;:17::i;:28::-;16605:7;;;;-1:-1:-1;16631:4:0;;-1:-1:-1;16110:534:0;;-1:-1:-1;;;;;;;16110:534:0:o;1757:246::-;1815:7;1839:6;1835:47;;-1:-1:-1;1869:1:0;1862:8;;1835:47;1892:9;1904:5;1908:1;1904;:5;:::i;:::-;1892:17;-1:-1:-1;1937:1:0;1928:5;1932:1;1892:17;1928:5;:::i;:::-;:10;1920:56;;;;-1:-1:-1;;;1920:56:0;;8353:2:1;1920:56:0;;;8335:21:1;8392:2;8372:18;;;8365:30;8431:34;8411:18;;;8404:62;-1:-1:-1;;;8482:18:1;;;8475:31;8523:19;;1920:56:0;8325:223:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:257::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;286:6;278;271:22;233:2;330:9;317:23;349:31;374:5;349:31;:::i;415:261::-;485:6;538:2;526:9;517:7;513:23;509:32;506:2;;;559:6;551;544:22;506:2;596:9;590:16;615:31;640:5;615:31;:::i;951:398::-;1019:6;1027;1080:2;1068:9;1059:7;1055:23;1051:32;1048:2;;;1101:6;1093;1086:22;1048:2;1145:9;1132:23;1164:31;1189:5;1164:31;:::i;:::-;1214:5;-1:-1:-1;1271:2:1;1256:18;;1243:32;1284:33;1243:32;1284:33;:::i;:::-;1336:7;1326:17;;;1038:311;;;;;:::o;1354:466::-;1431:6;1439;1447;1500:2;1488:9;1479:7;1475:23;1471:32;1468:2;;;1521:6;1513;1506:22;1468:2;1565:9;1552:23;1584:31;1609:5;1584:31;:::i;:::-;1634:5;-1:-1:-1;1691:2:1;1676:18;;1663:32;1704:33;1663:32;1704:33;:::i;:::-;1458:362;;1756:7;;-1:-1:-1;;;1810:2:1;1795:18;;;;1782:32;;1458:362::o;1825:325::-;1893:6;1901;1954:2;1942:9;1933:7;1929:23;1925:32;1922:2;;;1975:6;1967;1960:22;1922:2;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;2140:2;2125:18;;;;2112:32;;-1:-1:-1;;;1912:238:1:o;2155:1177::-;2239:6;2270:2;2313;2301:9;2292:7;2288:23;2284:32;2281:2;;;2334:6;2326;2319:22;2281:2;2379:9;2366:23;2408:18;2449:2;2441:6;2438:14;2435:2;;;2470:6;2462;2455:22;2435:2;2513:6;2502:9;2498:22;2488:32;;2558:7;2551:4;2547:2;2543:13;2539:27;2529:2;;2585:6;2577;2570:22;2529:2;2626;2613:16;2648:2;2644;2641:10;2638:2;;;2654:18;;:::i;:::-;2700:2;2697:1;2693:10;2732:2;2726:9;2795:2;2791:7;2786:2;2782;2778:11;2774:25;2766:6;2762:38;2850:6;2838:10;2835:22;2830:2;2818:10;2815:18;2812:46;2809:2;;;2861:18;;:::i;:::-;2897:2;2890:22;2947:18;;;2981:15;;;;-1:-1:-1;3016:11:1;;;3046;;;3042:20;;3039:33;-1:-1:-1;3036:2:1;;;3090:6;3082;3075:22;3036:2;3117:6;3108:15;;3132:169;3146:2;3143:1;3140:9;3132:169;;;3203:23;3222:3;3203:23;:::i;:::-;3191:36;;3164:1;3157:9;;;;;3247:12;;;;3279;;3132:169;;;-1:-1:-1;3320:6:1;2250:1082;-1:-1:-1;;;;;;;;2250:1082:1:o;3337:251::-;3393:6;3446:2;3434:9;3425:7;3421:23;3417:32;3414:2;;;3467:6;3459;3452:22;3414:2;3511:9;3498:23;3530:28;3552:5;3530:28;:::i;3593:255::-;3660:6;3713:2;3701:9;3692:7;3688:23;3684:32;3681:2;;;3734:6;3726;3719:22;3681:2;3771:9;3765:16;3790:28;3812:5;3790:28;:::i;3853:190::-;3912:6;3965:2;3953:9;3944:7;3940:23;3936:32;3933:2;;;3986:6;3978;3971:22;3933:2;-1:-1:-1;4014:23:1;;3923:120;-1:-1:-1;3923:120:1:o;4048:316::-;4136:6;4144;4152;4205:2;4193:9;4184:7;4180:23;4176:32;4173:2;;;4226:6;4218;4211:22;4173:2;4260:9;4254:16;4244:26;;4310:2;4299:9;4295:18;4289:25;4279:35;;4354:2;4343:9;4339:18;4333:25;4323:35;;4163:201;;;;;:::o;5969:603::-;6081:4;6110:2;6139;6128:9;6121:21;6171:6;6165:13;6214:6;6209:2;6198:9;6194:18;6187:34;6239:4;6252:140;6266:6;6263:1;6260:13;6252:140;;;6361:14;;;6357:23;;6351:30;6327:17;;;6346:2;6323:26;6316:66;6281:10;;6252:140;;;6410:6;6407:1;6404:13;6401:2;;;6480:4;6475:2;6466:6;6455:9;6451:22;6447:31;6440:45;6401:2;-1:-1:-1;6556:2:1;6535:15;-1:-1:-1;;6531:29:1;6516:45;;;;6563:2;6512:54;;6090:482;-1:-1:-1;;;6090:482:1:o;8553:356::-;8755:2;8737:21;;;8774:18;;;8767:30;8833:34;8828:2;8813:18;;8806:62;8900:2;8885:18;;8727:182::o;11725:983::-;11987:4;12035:3;12024:9;12020:19;12066:6;12055:9;12048:25;12092:2;12130:6;12125:2;12114:9;12110:18;12103:34;12173:3;12168:2;12157:9;12153:18;12146:31;12197:6;12232;12226:13;12263:6;12255;12248:22;12301:3;12290:9;12286:19;12279:26;;12340:2;12332:6;12328:15;12314:29;;12361:4;12374:195;12388:6;12385:1;12382:13;12374:195;;;12453:13;;-1:-1:-1;;;;;12449:39:1;12437:52;;12544:15;;;;12509:12;;;;12485:1;12403:9;12374:195;;;-1:-1:-1;;;;;;;12625:32:1;;;;12620:2;12605:18;;12598:60;-1:-1:-1;;;12689:3:1;12674:19;12667:35;12586:3;11996:712;-1:-1:-1;;;11996:712:1:o;12902:128::-;12942:3;12973:1;12969:6;12966:1;12963:13;12960:2;;;12979:18;;:::i;:::-;-1:-1:-1;13015:9:1;;12950:80::o;13035:217::-;13075:1;13101;13091:2;;-1:-1:-1;;;13126:31:1;;13180:4;13177:1;13170:15;13208:4;13133:1;13198:15;13091:2;-1:-1:-1;13237:9:1;;13081:171::o;13257:168::-;13297:7;13363:1;13359;13355:6;13351:14;13348:1;13345:21;13340:1;13333:9;13326:17;13322:45;13319:2;;;13370:18;;:::i;:::-;-1:-1:-1;13410:9:1;;13309:116::o;13430:125::-;13470:4;13498:1;13495;13492:8;13489:2;;;13503:18;;:::i;:::-;-1:-1:-1;13540:9:1;;13479:76::o;13560:135::-;13599:3;-1:-1:-1;;13620:17:1;;13617:2;;;13640:18;;:::i;:::-;-1:-1:-1;13687:1:1;13676:13;;13607:88::o;13700:127::-;13761:10;13756:3;13752:20;13749:1;13742:31;13792:4;13789:1;13782:15;13816:4;13813:1;13806:15;13832:127;13893:10;13888:3;13884:20;13881:1;13874:31;13924:4;13921:1;13914:15;13948:4;13945:1;13938:15;13964:131;-1:-1:-1;;;;;14039:31:1;;14029:42;;14019:2;;14085:1;14082;14075:12;14100:118;14186:5;14179:13;14172:21;14165:5;14162:32;14152:2;;14208:1;14205;14198:12

Swarm Source

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