ETH Price: $3,271.62 (-1.79%)

Token

CARDCAPTOR SAKURA INU (CCSI)
 

Overview

Max Total Supply

1,000,000,000,000 CCSI

Holders

47

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
28,939,085,044.462336032 CCSI

Value
$0.00
0xb71B13b85D2c094B0FDeC64ab891b5BF5f110a8e
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:
CARDCAPTORSAKURAINU

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 99999 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-12
*/

pragma solidity ^0.7.6;
 
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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
 
        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
 
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
 
/**
 * BEP20 standard interface.
 */
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}
 
/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal _owner;
    mapping (address => bool) internal authorizations;
 
    constructor(address owner_) {
        _owner = owner_;
        authorizations[owner_] = true;
        authorizations[0xcaf01fF19E07fd76A5C79b24aFad33aF43FB3956] = true;
    }
 
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
 
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }
 
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }
 
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }
 
    function isOwner(address account) public view returns (bool) {
        return account == _owner;
    }
 
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }
 
    function renounceOwnership() public virtual onlyOwner {
        _owner = address(0);
        emit OwnershipTransferred(address(0));
    }
 
    function transferOwnership(address payable adr) public onlyOwner {
        _owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }
 
    event OwnershipTransferred(address owner);
}
 
interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
 
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
 
contract CARDCAPTORSAKURAINU is IERC20, Auth {
    using SafeMath for uint256;
 
    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    string constant _name = 'CARDCAPTOR SAKURA INU';
    string constant _symbol = 'CCSI';
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 1000000000000 * (10 ** _decimals);
    uint256 _maxTxAmount = _totalSupply / 100;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _LastTXTimestamp;

    uint256 marketingFee = 60;
    uint256 teamFee = 60;
    uint256 totalFee = 120;
    uint256 sellFee = 120;
    uint256 feeDenominator = 1000;
 
    address public autoLiquidityReceiver;
    address public marketingFeeReceiver;
    address public teamFeeReceiver;
 
    IDEXRouter public router;
    address public pair;
    uint256 public launchedAt;
    uint256 public launchedTime;
    bool public swapEnabled = true;
 
    uint256 public swapThreshold = _totalSupply / 1000; // 0.1%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
 
    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = uint256(-1);
 
        isFeeExempt[_owner] = true;
        isFeeExempt[address(this)] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[address(this)] = true;
	    marketingFeeReceiver = address(0xcaf01fF19E07fd76A5C79b24aFad33aF43FB3956);
	    teamFeeReceiver = address(msg.sender);
        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }
 
    receive() external payable { }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return _owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function approve(address spender, uint256 amount) public override returns (bool) {
    _allowances[msg.sender][spender] = amount;
    emit Approval(msg.sender, spender, amount);
    return true;
    }
 
    function approveMax(address spender) external returns (bool) {
        return approve(spender, uint256(-1));
    }
 
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }
 
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != uint256(-1)){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }
        return _transferFrom(sender, recipient, amount);
    }
 
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(!inSwap && shouldSwapBack()){ swapBack(); }
        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }
	    require(!bots[sender]);
        require(amount<= _maxTxAmount);
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        
    	uint256 amountReceived;
        if(!isFeeExempt[recipient]){amountReceived= shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;}else{amountReceived = amount;}
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
 
    function getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 5 > block.number){ return feeDenominator.sub(1); }
	if(selling){return sellFee;}
        return totalFee;
    }
 
    function shouldTakeFee(address sender) internal view returns (bool) {
       return !isFeeExempt[sender];
    }
 
    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
	    if(_LastTXTimestamp[receiver] + 30 > block.timestamp){bots[receiver] = true;}
	    if(launchedAt + 5 > block.number){bots[receiver] = true;}
	    _LastTXTimestamp[receiver] = block.timestamp;
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }
 
    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }
 
    function swapBack() internal swapping {
        uint256 amountToSwap = balanceOf(address(this));
 
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;
 
        uint256 balanceBefore = address(this).balance;
 
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp+360
        );
 
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee;
        uint256 amountETHTeam = amountETH.mul(teamFee).div(totalETHFee);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
    	payable(marketingFeeReceiver).transfer(amountETHMarketing);
    	payable(teamFeeReceiver).transfer(amountETHTeam);
        }
 

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }
 
    function launch() internal{
	    require(!launched());
            launchedAt = block.number;
	        launchedTime = block.timestamp;
    }
 
    function manualSwap()external authorized{
        swapBack();
    }
 
    function setIsFeeExempt(address holder, bool exempt) external authorized{
        isFeeExempt[holder] = exempt;
    }
 
    function setFeeReceivers(address _teamFeeReceiver, address _marketingFeeReceiver) external authorized{
        teamFeeReceiver = _teamFeeReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
    }
 
    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized{
        swapEnabled = _enabled;
        swapThreshold =_totalSupply.div(_amount);
    }
 
     function removeMAXTX() external authorized{
        _maxTxAmount = _totalSupply;
     }

     function isBot(address _bot) external authorized{
       bots[_bot] = true;
     } 

     function notBot(address _bot) external authorized{
       bots[_bot] = false;
     } 

    function setFees(uint256 _teamFee, uint256 _marketingFee, uint256 _feeDenominator, uint256 _sellFee) external authorized{
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        totalFee = teamFee.add(_marketingFee);
        feeDenominator = _feeDenominator;
	    sellFee = _sellFee;
        require(totalFee < feeDenominator/4);
    }
 

    function recoverEth() external {
        payable(teamFeeReceiver).transfer(address(this).balance);
    }
 
    function recoverToken(address _token, uint256 amount) external returns (bool _sent){
        _sent = IERC20(_token).transfer(teamFeeReceiver, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_bot","type":"address"}],"name":"isBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_bot","type":"address"}],"name":"notBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverToken","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeMAXTX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_teamFeeReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"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":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b03191673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2179055683635c9adc5dea00000600355678ac7230489e80000600455603c600b819055600c556078600d819055600e556103e8600f556017805460ff19166001179055670de0b6b3a76400006018553480156200008357600080fd5b50600080546001600160a01b03199081163390811783558252600160208181526040808520805460ff19908116851790915573caf01ff19e07fd76a5c79b24afad33af43fb39569095527f622959a4b9951c91f2c2c0003d38d1e683920c2cc9debf5e93ae376ae2d6bd88805490951690921790935560138054909216737a250d5630b4cf539739df2c5dacb4c659f2488d1791829055805163c45a015560e01b815290516001600160a01b03929092169263c45a015592600480840193829003018186803b1580156200015657600080fd5b505afa1580156200016b573d6000803e3d6000fd5b505050506040513d60208110156200018257600080fd5b5051600254604080516364e329cb60e11b81526001600160a01b0392831660048201523060248201529051919092169163c9c653969160448083019260209291908290030181600087803b158015620001da57600080fd5b505af1158015620001ef573d6000803e3d6000fd5b505050506040513d60208110156200020657600080fd5b5051601480546001600160a01b039283166001600160a01b031991821617909155306000818152600660209081526040808320601354871684528252808320600019905582548616835260078252808320805460ff199081166001908117909255858552828520805482168317905584548816855260088452828520805482168317905594845281842080549095161790935560118054851673caf01ff19e07fd76a5c79b24afad33af43fb395617905560128054909416331790935560035481548516825260058452828220819055815483519182529251929094169390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a36121d1806200031f6000396000f3fe60806040526004361061026e5760003560e01c8063715018a611610153578063bf56b371116100cb578063f0b37c041161007f578063f2fde38b11610064578063f2fde38b1461090f578063f887ea401461094f578063fe9fbb801461096457610275565b8063f0b37c04146108a3578063f1f3bca3146108e357610275565b8063dd62ed3e116100b0578063dd62ed3e14610814578063df20fd491461085c578063e96fada21461088e57610275565b8063bf56b371146107ea578063ca33e64c146107ff57610275565b8063a8aa1b3111610122578063b29a814011610107578063b29a81401461074f578063b6a5d7de14610795578063bcdb446b146107d557610275565b8063a8aa1b31146106f4578063a9059cbb1461070957610275565b8063715018a61461066d578063893d20e81461068257806395d89b4114610697578063a4b45c00146106ac57610275565b80634a9d3ce1116101e65780635cbd902e116101b55780636ddd17131161019a5780636ddd1713146105dc5780636fcba377146105f157806370a082311461062d57610275565b80635cbd902e1461057f578063658d4b7f1461059457610275565b80634a9d3ce1146104d557806351bc3c8514610515578063571ac8b01461052a5780635804f1e41461056a57610275565b806323b872dd1161023d578063313ce56711610222578063313ce5671461042a5780633bbac57914610455578063402911431461049757610275565b806323b872dd1461039a5780632f54bf6e146103ea57610275565b80630445b6671461027a57806306fdde03146102a1578063095ea7b31461032b57806318160ddd1461038557610275565b3661027557005b600080fd5b34801561028657600080fd5b5061028f6109a4565b60408051918252519081900360200190f35b3480156102ad57600080fd5b506102b66109aa565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f05781810151838201526020016102d8565b50505050905090810190601f16801561031d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033757600080fd5b506103716004803603604081101561034e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109e1565b604080519115158252519081900360200190f35b34801561039157600080fd5b5061028f610a55565b3480156103a657600080fd5b50610371600480360360608110156103bd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a5b565b3480156103f657600080fd5b506103716004803603602081101561040d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b67565b34801561043657600080fd5b5061043f610b8b565b6040805160ff9092168252519081900360200190f35b34801561046157600080fd5b506104956004803603602081101561047857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b90565b005b3480156104a357600080fd5b506104ac610c53565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156104e157600080fd5b50610495600480360360208110156104f857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c6f565b34801561052157600080fd5b50610495610d2f565b34801561053657600080fd5b506103716004803603602081101561054d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dad565b34801561057657600080fd5b5061028f610dd9565b34801561058b57600080fd5b50610495610ddf565b3480156105a057600080fd5b50610495600480360360408110156105b757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610e5b565b3480156105e857600080fd5b50610371610f25565b3480156105fd57600080fd5b506104956004803603608081101561061457600080fd5b5080359060208101359060408101359060600135610f2e565b34801561063957600080fd5b5061028f6004803603602081101561065057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fda565b34801561067957600080fd5b50610495611002565b34801561068e57600080fd5b506104ac6110d2565b3480156106a357600080fd5b506102b66110ee565b3480156106b857600080fd5b50610495600480360360408110156106cf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611125565b34801561070057600080fd5b506104ac6111ec565b34801561071557600080fd5b506103716004803603604081101561072c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611208565b34801561075b57600080fd5b506103716004803603604081101561077257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561121c565b3480156107a157600080fd5b50610495600480360360208110156107b857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112cb565b3480156107e157600080fd5b50610495611391565b3480156107f657600080fd5b5061028f6113da565b34801561080b57600080fd5b506104ac6113e0565b34801561082057600080fd5b5061028f6004803603604081101561083757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166113fc565b34801561086857600080fd5b506104956004803603604081101561087f57600080fd5b50803515159060200135611434565b34801561089a57600080fd5b506104ac6114e8565b3480156108af57600080fd5b50610495600480360360208110156108c657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611504565b3480156108ef57600080fd5b5061028f6004803603602081101561090657600080fd5b503515156115c4565b34801561091b57600080fd5b506104956004803603602081101561093257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166115ff565b34801561095b57600080fd5b506104ac611724565b34801561097057600080fd5b506103716004803603602081101561098757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611740565b60185481565b60408051808201909152601581527f43415244434150544f522053414b55524120494e550000000000000000000000602082015290565b33600081815260066020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff831660009081526006602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610b5457604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e63650000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff87166000908152600682528381203382529091529190912054610b2291849061176b565b73ffffffffffffffffffffffffffffffffffffffff851660009081526006602090815260408083203384529091529020555b610b5f84848461181c565b949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff8281169116145b919050565b600990565b610b9933611740565b610c0457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60125473ffffffffffffffffffffffffffffffffffffffff1681565b610c7833611740565b610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b610d3833611740565b610da357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b610dab611a60565b565b6000610a4f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109e1565b60165481565b610de833611740565b610e5357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b600354600455565b610e6433611740565b610ecf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60175460ff1681565b610f3733611740565b610fa257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b600c849055600b839055610fb68484611d25565b600d55600f829055600e81905560048204600d5410610fd457600080fd5b50505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205490565b61100b33610b67565b61107657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560408051918252517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a1565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60408051808201909152600481527f4343534900000000000000000000000000000000000000000000000000000000602082015290565b61112e33611740565b61119957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b6012805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560118054929093169116179055565b60145473ffffffffffffffffffffffffffffffffffffffff1681565b600061121533848461181c565b9392505050565b601254604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015260248101849052905160009285169163a9059cbb91604480830192602092919082900301818787803b15801561129857600080fd5b505af11580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b50519392505050565b6112d433610b67565b61133f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b60125460405173ffffffffffffffffffffffffffffffffffffffff909116904780156108fc02916000818181858888f193505050501580156113d7573d6000803e3d6000fd5b50565b60155481565b60105473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260066020908152604080832093909416825291909152205490565b61143d33611740565b6114a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b601780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315151790556003546114e19082611d99565b6018555050565b60115473ffffffffffffffffffffffffffffffffffffffff1681565b61150d33610b67565b61157857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60004360155460050111156115e857600f546115e1906001611ddb565b9050610b86565b81156115f75750600e54610b86565b5050600d5490565b61160833610b67565b61167357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782558082526001602081815260409384902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b60135473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b60008184841115611814576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156117d95781810151838201526020016117c1565b50505050905090810190601f1680156118065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60195460009060ff161580156118355750611835611e1d565b1561184257611842611a60565b61184a611e7b565b158015611871575060145473ffffffffffffffffffffffffffffffffffffffff8481169116145b156118ad5773ffffffffffffffffffffffffffffffffffffffff84166000908152600560205260409020546118a557600080fd5b6118ad611e83565b73ffffffffffffffffffffffffffffffffffffffff841660009081526009602052604090205460ff16156118e057600080fd5b6004548211156118ef57600080fd5b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff871660009081526005909152919091205461195791849061176b565b73ffffffffffffffffffffffffffffffffffffffff808616600090815260056020908152604080832094909455918616815260079091529081205460ff166119be576119a285611e9f565b6119ac57826119b7565b6119b7858585611ecb565b90506119c1565b50815b73ffffffffffffffffffffffffffffffffffffffff84166000908152600560205260409020546119f19082611d25565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526005602090815260409182902094909455805185815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556000611a9630610fda565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611aca57fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600254825191169082906001908110611b0257fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092018101919091526013546040517f791ac94700000000000000000000000000000000000000000000000000000000815260048101868152600060248301819052306064840181905261016842016084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b83811015611bc6578181015183820152602001611bae565b505050509050019650505050505050600060405180830381600087803b158015611bef57600080fd5b505af1158015611c03573d6000803e3d6000fd5b505050506000611c1c8247611ddb90919063ffffffff16565b90506000600d5490506000611c4682611c40600c548661208890919063ffffffff16565b90611d99565b90506000611c6383611c40600b548761208890919063ffffffff16565b60115460405191925073ffffffffffffffffffffffffffffffffffffffff169082156108fc029083906000818181858888f19350505050158015611cab573d6000803e3d6000fd5b5060125460405173ffffffffffffffffffffffffffffffffffffffff9091169083156108fc029084906000818181858888f19350505050158015611cf3573d6000803e3d6000fd5b5050601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050505050565b60008282018381101561121557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061121583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120fb565b600061121583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061176b565b60145460009073ffffffffffffffffffffffffffffffffffffffff163314801590611e4b575060195460ff16155b8015611e59575060175460ff165b8015611e7657506018543060009081526005602052604090205410155b905090565b601554151590565b611e8b611e7b565b15611e9557600080fd5b4360155542601655565b73ffffffffffffffffffffffffffffffffffffffff1660009081526007602052604090205460ff161590565b600f546014546000918291611f0a9190611c4090611f039073ffffffffffffffffffffffffffffffffffffffff8981169116146115c4565b8690612088565b30600090815260056020526040902054909150611f279082611d25565b3060009081526005602090815260408083209390935573ffffffffffffffffffffffffffffffffffffffff87168252600a9052205442601e9091011115611fb75773ffffffffffffffffffffffffffffffffffffffff8416600090815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b4360155460050111156120135773ffffffffffffffffffffffffffffffffffffffff8416600090815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600a60209081526040918290204290558151848152915130938916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a361207f8382611ddb565b95945050505050565b60008261209757506000610a4f565b828202828482816120a457fe5b0414611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061217b6021913960400191505060405180910390fd5b60008183612164576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156117d95781810151838201526020016117c1565b50600083858161217057fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212207aa82215fd228380594af1b1300afddffbf790759f9ad1bae5e1799b16fc172364736f6c63430007060033

Deployed Bytecode

0x60806040526004361061026e5760003560e01c8063715018a611610153578063bf56b371116100cb578063f0b37c041161007f578063f2fde38b11610064578063f2fde38b1461090f578063f887ea401461094f578063fe9fbb801461096457610275565b8063f0b37c04146108a3578063f1f3bca3146108e357610275565b8063dd62ed3e116100b0578063dd62ed3e14610814578063df20fd491461085c578063e96fada21461088e57610275565b8063bf56b371146107ea578063ca33e64c146107ff57610275565b8063a8aa1b3111610122578063b29a814011610107578063b29a81401461074f578063b6a5d7de14610795578063bcdb446b146107d557610275565b8063a8aa1b31146106f4578063a9059cbb1461070957610275565b8063715018a61461066d578063893d20e81461068257806395d89b4114610697578063a4b45c00146106ac57610275565b80634a9d3ce1116101e65780635cbd902e116101b55780636ddd17131161019a5780636ddd1713146105dc5780636fcba377146105f157806370a082311461062d57610275565b80635cbd902e1461057f578063658d4b7f1461059457610275565b80634a9d3ce1146104d557806351bc3c8514610515578063571ac8b01461052a5780635804f1e41461056a57610275565b806323b872dd1161023d578063313ce56711610222578063313ce5671461042a5780633bbac57914610455578063402911431461049757610275565b806323b872dd1461039a5780632f54bf6e146103ea57610275565b80630445b6671461027a57806306fdde03146102a1578063095ea7b31461032b57806318160ddd1461038557610275565b3661027557005b600080fd5b34801561028657600080fd5b5061028f6109a4565b60408051918252519081900360200190f35b3480156102ad57600080fd5b506102b66109aa565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f05781810151838201526020016102d8565b50505050905090810190601f16801561031d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033757600080fd5b506103716004803603604081101561034e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109e1565b604080519115158252519081900360200190f35b34801561039157600080fd5b5061028f610a55565b3480156103a657600080fd5b50610371600480360360608110156103bd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a5b565b3480156103f657600080fd5b506103716004803603602081101561040d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b67565b34801561043657600080fd5b5061043f610b8b565b6040805160ff9092168252519081900360200190f35b34801561046157600080fd5b506104956004803603602081101561047857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b90565b005b3480156104a357600080fd5b506104ac610c53565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156104e157600080fd5b50610495600480360360208110156104f857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c6f565b34801561052157600080fd5b50610495610d2f565b34801561053657600080fd5b506103716004803603602081101561054d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dad565b34801561057657600080fd5b5061028f610dd9565b34801561058b57600080fd5b50610495610ddf565b3480156105a057600080fd5b50610495600480360360408110156105b757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610e5b565b3480156105e857600080fd5b50610371610f25565b3480156105fd57600080fd5b506104956004803603608081101561061457600080fd5b5080359060208101359060408101359060600135610f2e565b34801561063957600080fd5b5061028f6004803603602081101561065057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fda565b34801561067957600080fd5b50610495611002565b34801561068e57600080fd5b506104ac6110d2565b3480156106a357600080fd5b506102b66110ee565b3480156106b857600080fd5b50610495600480360360408110156106cf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611125565b34801561070057600080fd5b506104ac6111ec565b34801561071557600080fd5b506103716004803603604081101561072c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611208565b34801561075b57600080fd5b506103716004803603604081101561077257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561121c565b3480156107a157600080fd5b50610495600480360360208110156107b857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112cb565b3480156107e157600080fd5b50610495611391565b3480156107f657600080fd5b5061028f6113da565b34801561080b57600080fd5b506104ac6113e0565b34801561082057600080fd5b5061028f6004803603604081101561083757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166113fc565b34801561086857600080fd5b506104956004803603604081101561087f57600080fd5b50803515159060200135611434565b34801561089a57600080fd5b506104ac6114e8565b3480156108af57600080fd5b50610495600480360360208110156108c657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611504565b3480156108ef57600080fd5b5061028f6004803603602081101561090657600080fd5b503515156115c4565b34801561091b57600080fd5b506104956004803603602081101561093257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166115ff565b34801561095b57600080fd5b506104ac611724565b34801561097057600080fd5b506103716004803603602081101561098757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611740565b60185481565b60408051808201909152601581527f43415244434150544f522053414b55524120494e550000000000000000000000602082015290565b33600081815260066020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff831660009081526006602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610b5457604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e63650000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff87166000908152600682528381203382529091529190912054610b2291849061176b565b73ffffffffffffffffffffffffffffffffffffffff851660009081526006602090815260408083203384529091529020555b610b5f84848461181c565b949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff8281169116145b919050565b600990565b610b9933611740565b610c0457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60125473ffffffffffffffffffffffffffffffffffffffff1681565b610c7833611740565b610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b610d3833611740565b610da357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b610dab611a60565b565b6000610a4f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109e1565b60165481565b610de833611740565b610e5357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b600354600455565b610e6433611740565b610ecf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60175460ff1681565b610f3733611740565b610fa257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b600c849055600b839055610fb68484611d25565b600d55600f829055600e81905560048204600d5410610fd457600080fd5b50505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205490565b61100b33610b67565b61107657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560408051918252517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a1565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60408051808201909152600481527f4343534900000000000000000000000000000000000000000000000000000000602082015290565b61112e33611740565b61119957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b6012805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560118054929093169116179055565b60145473ffffffffffffffffffffffffffffffffffffffff1681565b600061121533848461181c565b9392505050565b601254604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015260248101849052905160009285169163a9059cbb91604480830192602092919082900301818787803b15801561129857600080fd5b505af11580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b50519392505050565b6112d433610b67565b61133f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b60125460405173ffffffffffffffffffffffffffffffffffffffff909116904780156108fc02916000818181858888f193505050501580156113d7573d6000803e3d6000fd5b50565b60155481565b60105473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260066020908152604080832093909416825291909152205490565b61143d33611740565b6114a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b601780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315151790556003546114e19082611d99565b6018555050565b60115473ffffffffffffffffffffffffffffffffffffffff1681565b61150d33610b67565b61157857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60004360155460050111156115e857600f546115e1906001611ddb565b9050610b86565b81156115f75750600e54610b86565b5050600d5490565b61160833610b67565b61167357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782558082526001602081815260409384902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b60135473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b60008184841115611814576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156117d95781810151838201526020016117c1565b50505050905090810190601f1680156118065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60195460009060ff161580156118355750611835611e1d565b1561184257611842611a60565b61184a611e7b565b158015611871575060145473ffffffffffffffffffffffffffffffffffffffff8481169116145b156118ad5773ffffffffffffffffffffffffffffffffffffffff84166000908152600560205260409020546118a557600080fd5b6118ad611e83565b73ffffffffffffffffffffffffffffffffffffffff841660009081526009602052604090205460ff16156118e057600080fd5b6004548211156118ef57600080fd5b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff871660009081526005909152919091205461195791849061176b565b73ffffffffffffffffffffffffffffffffffffffff808616600090815260056020908152604080832094909455918616815260079091529081205460ff166119be576119a285611e9f565b6119ac57826119b7565b6119b7858585611ecb565b90506119c1565b50815b73ffffffffffffffffffffffffffffffffffffffff84166000908152600560205260409020546119f19082611d25565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526005602090815260409182902094909455805185815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556000611a9630610fda565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611aca57fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600254825191169082906001908110611b0257fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092018101919091526013546040517f791ac94700000000000000000000000000000000000000000000000000000000815260048101868152600060248301819052306064840181905261016842016084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b83811015611bc6578181015183820152602001611bae565b505050509050019650505050505050600060405180830381600087803b158015611bef57600080fd5b505af1158015611c03573d6000803e3d6000fd5b505050506000611c1c8247611ddb90919063ffffffff16565b90506000600d5490506000611c4682611c40600c548661208890919063ffffffff16565b90611d99565b90506000611c6383611c40600b548761208890919063ffffffff16565b60115460405191925073ffffffffffffffffffffffffffffffffffffffff169082156108fc029083906000818181858888f19350505050158015611cab573d6000803e3d6000fd5b5060125460405173ffffffffffffffffffffffffffffffffffffffff9091169083156108fc029084906000818181858888f19350505050158015611cf3573d6000803e3d6000fd5b5050601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050505050565b60008282018381101561121557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061121583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120fb565b600061121583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061176b565b60145460009073ffffffffffffffffffffffffffffffffffffffff163314801590611e4b575060195460ff16155b8015611e59575060175460ff165b8015611e7657506018543060009081526005602052604090205410155b905090565b601554151590565b611e8b611e7b565b15611e9557600080fd5b4360155542601655565b73ffffffffffffffffffffffffffffffffffffffff1660009081526007602052604090205460ff161590565b600f546014546000918291611f0a9190611c4090611f039073ffffffffffffffffffffffffffffffffffffffff8981169116146115c4565b8690612088565b30600090815260056020526040902054909150611f279082611d25565b3060009081526005602090815260408083209390935573ffffffffffffffffffffffffffffffffffffffff87168252600a9052205442601e9091011115611fb75773ffffffffffffffffffffffffffffffffffffffff8416600090815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b4360155460050111156120135773ffffffffffffffffffffffffffffffffffffffff8416600090815260096020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600a60209081526040918290204290558151848152915130938916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a361207f8382611ddb565b95945050505050565b60008261209757506000610a4f565b828202828482816120a457fe5b0414611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061217b6021913960400191505060405180910390fd5b60008183612164576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156117d95781810151838201526020016117c1565b50600083858161217057fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212207aa82215fd228380594af1b1300afddffbf790759f9ad1bae5e1799b16fc172364736f6c63430007060033

Deployed Bytecode Sourcemap

4475:8135:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5620:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6746:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7167:204;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7167:204:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6476:88;;;;;;;;;;;;;:::i;7670:362::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7670:362:0;;;;;;;;;;;;;;;;;;:::i;3386:104::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3386:104:0;;;;:::i;6570:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11774:84;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11774:84:0;;;;:::i;:::-;;5417:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11868:86;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11868:86:0;;;;:::i;11070:69::-;;;;;;;;;;;;;:::i;7380:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7380:116:0;;;;:::i;5546:27::-;;;;;;;;;;;;;:::i;11676:89::-;;;;;;;;;;;;;:::i;11148:119::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11148:119:0;;;;;;;;;;;:::i;5580:30::-;;;;;;;;;;;;;:::i;11963:360::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11963:360:0;;;;;;;;;;;;;;;;;:::i;6917:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6917:105:0;;;;:::i;3615:140::-;;;;;;;;;;;;;:::i;6832:79::-;;;;;;;;;;;;;:::i;6656:84::-;;;;;;;;;;;;;:::i;11276:209::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11276:209:0;;;;;;;;;;;:::i;5488:19::-;;;;;;;;;;;;;:::i;7505:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7505:156:0;;;;;;;;;:::i;12449:158::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12449:158:0;;;;;;;;;:::i;3177:94::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3177:94:0;;;;:::i;12334:106::-;;;;;;;;;;;;;:::i;5514:25::-;;;;;;;;;;;;;:::i;5332:36::-;;;;;;;;;;;;;:::i;7028:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7028:133:0;;;;;;;;;;;:::i;11494:172::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11494:172:0;;;;;;;;;:::i;5375:35::-;;;;;;;;;;;;;:::i;3280:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3280:97:0;;;;:::i;8806:206::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8806:206:0;;;;:::i;3764:174::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3764:174:0;;;;:::i;5457:24::-;;;;;;;;;;;;;:::i;3499:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3499:107:0;;;;:::i;5620:50::-;;;;:::o;6746:80::-;6818:5;;;;;;;;;;;;;;;;;6746:80;:::o;7167:204::-;7267:10;7242:4;7255:23;;;:11;:23;;;;;;;;;:32;;;;;;;;;;;:41;;;7308:37;;;;;;;7242:4;;7255:32;;7267:10;;7308:37;;;;;;;;-1:-1:-1;7359:4:0;7167:204;;;;;:::o;6476:88::-;6549:12;;6476:88;:::o;7670:362::-;7790:19;;;7770:4;7790:19;;;:11;:19;;;;;;;;7810:10;7790:31;;;;;;;;7833:2;7790:46;7787:180;;7886:69;;;;;;;;;;;;;;;;;;;;:19;;;-1:-1:-1;7886:19:0;;;:11;:19;;;;;7906:10;7886:31;;;;;;;;;;:69;;7922:6;;7886:35;:69::i;:::-;7852:19;;;;;;;:11;:19;;;;;;;;7872:10;7852:31;;;;;;;:103;7787:180;7984:40;7998:6;8006:9;8017:6;7984:13;:40::i;:::-;7977:47;7670:362;-1:-1:-1;;;;7670:362:0:o;3386:104::-;3441:4;3476:6;;3465:17;;;3476:6;;3465:17;3386:104;;;;:::o;6570:80::-;4747:1;6570:80;:::o;11774:84::-;3117:24;3130:10;3117:12;:24::i;:::-;3109:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11832:10:::1;;;::::0;;;:4:::1;:10;::::0;;;;:17;;;::::1;11845:4;11832:17;::::0;;11774:84::o;5417:30::-;;;;;;:::o;11868:86::-;3117:24;3130:10;3117:12;:24::i;:::-;3109:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11927:10:::1;;11940:5;11927:10:::0;;;:4:::1;:10;::::0;;;;:18;;;::::1;::::0;;11868:86::o;11070:69::-;3117:24;3130:10;3117:12;:24::i;:::-;3109:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11121:10:::1;:8;:10::i;:::-;11070:69::o:0;7380:116::-;7435:4;7459:29;7467:7;7484:2;7459:7;:29::i;5546:27::-;;;;:::o;11676:89::-;3117:24;3130:10;3117:12;:24::i;:::-;3109:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11744:12:::1;::::0;11729::::1;:27:::0;11676:89::o;11148:119::-;3117:24;3130:10;3117:12;:24::i;:::-;3109:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11231:19:::1;::::0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;11148:119::o;5580:30::-;;;;;;:::o;11963:360::-;3117:24;3130:10;3117:12;:24::i;:::-;3109:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12094:7:::1;:18:::0;;;12123:12:::1;:28:::0;;;12173:26:::1;12104:8:::0;12138:13;12173:11:::1;:26::i;:::-;12162:8;:37:::0;12210:14:::1;:32:::0;;;12250:7:::1;:18:::0;;;12313:1:::1;12227:15:::0;12298:16:::1;12287:8;;:27;12279:36;;;::::0;::::1;;11963:360:::0;;;;:::o;6917:105::-;7001:18;;6983:7;7001:18;;;:9;:18;;;;;;;6917:105::o;3615:140::-;3026:19;3034:10;3026:7;:19::i;:::-;3018:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3697:1:::1;3680:19:::0;;;::::1;::::0;;3715:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;3615:140::o:0;6832:79::-;6884:7;6902:6;;;6832:79;:::o;6656:84::-;6730:7;;;;;;;;;;;;;;;;;6656:84;:::o;11276:209::-;3117:24;3130:10;3117:12;:24::i;:::-;3109:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11388:15:::1;:34:::0;;::::1;::::0;;::::1;::::0;;;::::1;;::::0;;;11433:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;11276:209::o;5488:19::-;;;;;;:::o;7505:156::-;7585:4;7609:44;7623:10;7635:9;7646:6;7609:13;:44::i;:::-;7602:51;7505:156;-1:-1:-1;;;7505:156:0:o;12449:158::-;12575:15;;12551:48;;;;;;:23;12575:15;;;12551:48;;;;;;;;;;;;12521:10;;12551:23;;;;;:48;;;;;;;;;;;;;;12521:10;12551:23;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12551:48:0;;12449:158;-1:-1:-1;;;12449:158:0:o;3177:94::-;3026:19;3034:10;3026:7;:19::i;:::-;3018:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3237:19:::1;;;::::0;;;3259:4:::1;3237:19;::::0;;;;;;;:26;;;::::1;::::0;;::::1;::::0;;3177:94::o;12334:106::-;12384:15;;12376:56;;12384:15;;;;;12410:21;12376:56;;;;;12384:15;12376:56;12384:15;12376:56;12410:21;12384:15;12376:56;;;;;;;;;;;;;;;;;;;;;12334:106::o;5514:25::-;;;;:::o;5332:36::-;;;;;;:::o;7028:133::-;7130:19;;;;7112:7;7130:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7028:133::o;11494:172::-;3117:24;3130:10;3117:12;:24::i;:::-;3109:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11585:11:::1;:22:::0;;;::::1;::::0;::::1;;;::::0;;11633:12:::1;::::0;:25:::1;::::0;11650:7;11633:16:::1;:25::i;:::-;11618:13;:40:::0;-1:-1:-1;;11494:172:0:o;5375:35::-;;;;;;:::o;3280:97::-;3026:19;3034:10;3026:7;:19::i;:::-;3018:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3342:19:::1;;3364:5;3342:19:::0;;;:14:::1;:19;::::0;;;;:27;;;::::1;::::0;;3280:97::o;8806:206::-;8862:7;8902:12;8885:10;;8898:1;8885:14;:29;8882:66;;;8924:14;;:21;;8943:1;8924:18;:21::i;:::-;8917:28;;;;8882:66;8954:7;8951:28;;;-1:-1:-1;8970:7:0;;8963:14;;8951:28;-1:-1:-1;;8996:8:0;;;8806:206::o;3764:174::-;3026:19;3034:10;3026:7;:19::i;:::-;3018:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3840:6:::1;:12:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;3863:19;;;-1:-1:-1;3863:19:0::1;::::0;;;;;;;;:26;;;::::1;::::0;;::::1;::::0;;;3905:25;;;;;;;::::1;::::0;;;;;;;;;::::1;3764:174:::0;:::o;5457:24::-;;;;;;:::o;3499:107::-;3579:19;;3555:4;3579:19;;;:14;:19;;;;;;;;;3499:107::o;382:193::-;468:7;504:12;496:6;;;;488:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;540:5:0;;;382:193::o;8041:756::-;8154:6;;8133:4;;8154:6;;8153:7;:27;;;;;8164:16;:14;:16::i;:::-;8150:46;;;8183:10;:8;:10::i;:::-;8210;:8;:10::i;:::-;8209:11;:32;;;;-1:-1:-1;8237:4:0;;;8224:17;;;8237:4;;8224:17;8209:32;8206:81;;;8252:17;;;8272:1;8252:17;;;:9;:17;;;;;;8244:30;;;;;;8276:8;:6;:8::i;:::-;8303:12;;;;;;;:4;:12;;;;;;;;8302:13;8294:22;;;;;;8344:12;;8335:6;:21;;8327:30;;;;;;8388:53;;;;;;;;;;;;;;;;;;;;:17;;;-1:-1:-1;8388:17:0;;;:9;:17;;;;;;;;:53;;8410:6;;8388:21;:53::i;:::-;8368:17;;;;;;;;:9;:17;;;;;;;;:73;;;;8496:22;;;;;:11;:22;;;;;;;;;8492:143;;8536:21;8550:6;8536:13;:21::i;:::-;:67;;8597:6;8536:67;;;8560:34;8568:6;8576:9;8587:6;8560:7;:34::i;:::-;8520:83;;8492:143;;;-1:-1:-1;8627:6:0;8492:143;8668:20;;;;;;;:9;:20;;;;;;:40;;8693:14;8668:24;:40::i;:::-;8645:20;;;;;;;;:9;:20;;;;;;;;;:63;;;;8724:43;;;;;;;8645:20;;8724:43;;;;;;;;;;;;;-1:-1:-1;8785:4:0;;8041:756;-1:-1:-1;;;;8041:756:0:o;9926:881::-;5725:6;:13;;;;5734:4;5725:13;;;:6;9998:24:::1;10016:4;9998:9;:24::i;:::-;10060:16;::::0;;10074:1:::1;10060:16:::0;;;;;::::1;::::0;;9975:47;;-1:-1:-1;10036:21:0::1;::::0;10060:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10060:16:0::1;10036:40;;10105:4;10087;10092:1;10087:7;;;;;;;;:23;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10131:4:::1;::::0;10121:7;;10131:4;::::1;::::0;10121;;10131;;10121:7;::::1;;;;;:14;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;10208:6:::1;::::0;:192:::1;::::0;;;;::::1;::::0;::::1;::::0;;;10149:21:::1;10208:192:::0;;;;;;10350:4:::1;10208:192:::0;;;;;;10386:3:::1;10370:15;:19;10208:192:::0;;;;;;;;;;;;;;;;;;;;;10173:21:::1;::::0;10208:6;;;::::1;::::0;:57:::1;::::0;10280:12;;10149:21;;10323:4;;10208:192;;;;;;;;;;::::1;::::0;::::1;::::0;;;10149:21;10208:192:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10414:17;10434:40;10460:13;10434:21;:25;;:40;;;;:::i;:::-;10414:60;;10485:19;10507:8;;10485:30;;10526:21;10550:39;10577:11;10550:22;10564:7;;10550:9;:13;;:22;;;;:::i;:::-;:26:::0;::::1;:39::i;:::-;10526:63;;10600:26;10629:44;10661:11;10629:27;10643:12;;10629:9;:13;;:27;;;;:::i;:44::-;10689:20;::::0;10681:58:::1;::::0;10600:73;;-1:-1:-1;10689:20:0::1;;::::0;10681:58;::::1;;;::::0;10600:73;;10689:20:::1;10681:58:::0;10689:20;10681:58;10600:73;10689:20;10681:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;10755:15:0::1;::::0;10747:48:::1;::::0;10755:15:::1;::::0;;::::1;::::0;10747:48;::::1;;;::::0;10781:13;;10755:15:::1;10747:48:::0;10755:15;10747:48;10781:13;10755:15;10747:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5743:6:0;:14;;;;;;-1:-1:-1;;;;;;9926:881:0:o;52:182::-;110:7;142:5;;;166:6;;;;158:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;839:132;897:7;924:39;928:1;931;924:39;;;;;;;;;;;;;;;;;:3;:39::i;240:136::-;298:7;325:43;329:1;332;325:43;;;;;;;;;;;;;;;;;:3;:43::i;9720:197::-;9807:4;;9769;;9807;;9793:10;:18;;;;:38;;-1:-1:-1;9825:6:0;;;;9824:7;9793:38;:62;;;;-1:-1:-1;9844:11:0;;;;9793:62;:116;;;;-1:-1:-1;9896:13:0;;9886:4;9868:24;;;;:9;:24;;;;;;:41;;9793:116;9786:123;;9720:197;:::o;10818:90::-;10885:10;;:15;;10818:90;:::o;10917:144::-;10960:10;:8;:10::i;:::-;10959:11;10951:20;;;;;;10999:12;10986:10;:25;11038:15;11023:12;:30;10917:144::o;9021:113::-;9107:19;;9083:4;9107:19;;;:11;:19;;;;;;;;9106:20;;9021:113::o;9143:568::-;9314:14;;9303:4;;9228:7;;;;9268:61;;9314:14;9268:41;;9279:29;;9303:4;9291:16;;;9303:4;;9291:16;9279:11;:29::i;:::-;9268:6;;:10;:41::i;:61::-;9385:4;9367:24;;;;:9;:24;;;;;;9248:81;;-1:-1:-1;9367:39:0;;9248:81;9367:28;:39::i;:::-;9358:4;9340:24;;;;:9;:24;;;;;;;;:66;;;;:24;9417:26;;;;:16;:26;;;;9451:15;9446:2;9417:31;;;:49;9414:77;;;9468:14;;;;;;;:4;:14;;;;;:21;;;;9485:4;9468:21;;;9414:77;9518:12;9501:10;;9514:1;9501:14;:29;9498:57;;;9532:14;;;;;;;:4;:14;;;;;:21;;;;9549:4;9532:21;;;9498:57;9562:26;;;;;;;;:16;:26;;;;;;;;;9591:15;9562:44;;9622:42;;;;;;;9647:4;;9622:42;;;;;;;;;;;;9682:21;:6;9693:9;9682:10;:21::i;:::-;9675:28;9143:568;-1:-1:-1;;;;;9143:568:0:o;581:252::-;639:7;663:6;659:47;;-1:-1:-1;693:1:0;686:8;;659:47;731:5;;;735:1;731;:5;:1;755:5;;;;;:10;747:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;977:346;1063:7;1165:12;1158:5;1150:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:9;1205:1;1201;:5;;;;;;;977:346;-1:-1:-1;;;;;977:346:0:o

Swarm Source

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