Token 0x32b85d4432dc49764c8fb4f227dce4e5ea53a6ca

 

Overview ERC-20

Price
$0.00 @ 0.000000 MATIC
Fully Diluted Market Cap
Total Supply:
1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 N/A

Holders:
2,931 addresses
Contract:
0x32b85d4432dc49764c8fb4f227dce4e5ea53a6ca0x32b85D4432DC49764C8fB4F227dcE4E5EA53A6ca

Decimals:
18

Social Profiles:
Not Available, Update ?

 
Balance
10,000,000,000,000 N/A

Value
$0.00
0xe7e2cb8c81c10ff191a73fe266788c9ce62ec754
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

Click here to update the token ICO / general information
# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20PresetFixedSupply

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-06-23
*/

// SPDX-License-Identifier: MIT

// ░██████╗██████╗░░█████╗░███╗░░░███╗
// ██╔════╝██╔══██╗██╔══██╗████╗░████║
// ╚█████╗░██████╔╝███████║██╔████╔██║
// ░╚═══██╗██╔═══╝░██╔══██║██║╚██╔╝██║
// ██████╔╝██║░░░░░██║░░██║██║░╚═╝░██║
// ╚═════╝░╚═╝░░░░░╚═╝░░╚═╝╚═╝░░░░░╚═╝

pragma solidity ^0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}















/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}







/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}



/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}



/**
 * @dev Extension of {ERC20} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract ERC20Burnable is Context, ERC20 {
    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, deducting from the caller's
     * allowance.
     *
     * See {ERC20-_burn} and {ERC20-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        uint256 currentAllowance = allowance(account, _msgSender());
        require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance");
        unchecked {
            _approve(account, _msgSender(), currentAllowance - amount);
        }
        _burn(account, amount);
    }
}


/**
 * @dev {ERC20} token, including:
 *
 *  - Preminted initial supply
 *  - Ability for holders to burn (destroy) their tokens
 *  - No access control mechanism (for minting/pausing) and hence no governance
 *
 * This contract uses {ERC20Burnable} to include burn capabilities - head to
 * its documentation for details.
 *
 * _Available since v3.4._
 */
contract ERC20PresetFixedSupply is ERC20Burnable {
    /**
     * @dev Mints `initialSupply` amount of token and transfers them to `owner`.
     *
     * See {ERC20-constructor}.
     */
    constructor(
        string memory name,
        string memory symbol,
        uint256 initialSupply,
        address owner
    ) ERC20(name, symbol) {
        _mint(owner, initialSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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"}]

60806040523480156200001157600080fd5b5060405162001fab38038062001fab83398181016040528101906200003791906200034f565b8383816003908051906020019062000051929190620001f3565b5080600490805190602001906200006a929190620001f3565b5050506200007f81836200008960201b60201c565b5050505062000732565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620000fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000f39062000437565b60405180910390fd5b6200011060008383620001ee60201b60201c565b8060026000828254620001249190620004e6565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200017b9190620004e6565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620001e2919062000459565b60405180910390a35050565b505050565b8280546200020190620005b7565b90600052602060002090601f01602090048101928262000225576000855562000271565b82601f106200024057805160ff191683800117855562000271565b8280016001018555821562000271579182015b828111156200027057825182559160200191906001019062000253565b5b50905062000280919062000284565b5090565b5b808211156200029f57600081600090555060010162000285565b5090565b6000620002ba620002b4846200049f565b62000476565b905082815260208101848484011115620002d957620002d8620006b5565b5b620002e684828562000581565b509392505050565b600081519050620002ff81620006fe565b92915050565b600082601f8301126200031d576200031c620006b0565b5b81516200032f848260208601620002a3565b91505092915050565b600081519050620003498162000718565b92915050565b600080600080608085870312156200036c576200036b620006bf565b5b600085015167ffffffffffffffff8111156200038d576200038c620006ba565b5b6200039b8782880162000305565b945050602085015167ffffffffffffffff811115620003bf57620003be620006ba565b5b620003cd8782880162000305565b9350506040620003e08782880162000338565b9250506060620003f387828801620002ee565b91505092959194509250565b60006200040e601f83620004d5565b91506200041b82620006d5565b602082019050919050565b620004318162000577565b82525050565b600060208201905081810360008301526200045281620003ff565b9050919050565b600060208201905062000470600083018462000426565b92915050565b60006200048262000495565b9050620004908282620005ed565b919050565b6000604051905090565b600067ffffffffffffffff821115620004bd57620004bc62000681565b5b620004c882620006c4565b9050602081019050919050565b600082825260208201905092915050565b6000620004f38262000577565b9150620005008362000577565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000538576200053762000623565b5b828201905092915050565b6000620005508262000557565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015620005a157808201518184015260208101905062000584565b83811115620005b1576000848401525b50505050565b60006002820490506001821680620005d057607f821691505b60208210811415620005e757620005e662000652565b5b50919050565b620005f882620006c4565b810181811067ffffffffffffffff821117156200061a576200061962000681565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b620007098162000543565b81146200071557600080fd5b50565b620007238162000577565b81146200072f57600080fd5b50565b61186980620007426000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b4114610226578063a457c2d714610244578063a9059cbb14610274578063dd62ed3e146102a4576100cf565b806342966c68146101be57806370a08231146101da57806379cc67901461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d4565b6040516100e99190611183565b60405180910390f35b61010c60048036038101906101079190610f37565b610366565b6040516101199190611168565b60405180910390f35b61012a610384565b60405161013791906112e5565b60405180910390f35b61015a60048036038101906101559190610ee4565b61038e565b6040516101679190611168565b60405180910390f35b610178610486565b6040516101859190611300565b60405180910390f35b6101a860048036038101906101a39190610f37565b61048f565b6040516101b59190611168565b60405180910390f35b6101d860048036038101906101d39190610f77565b61053b565b005b6101f460048036038101906101ef9190610e77565b61054f565b60405161020191906112e5565b60405180910390f35b610224600480360381019061021f9190610f37565b610597565b005b61022e610612565b60405161023b9190611183565b60405180910390f35b61025e60048036038101906102599190610f37565b6106a4565b60405161026b9190611168565b60405180910390f35b61028e60048036038101906102899190610f37565b61078f565b60405161029b9190611168565b60405180910390f35b6102be60048036038101906102b99190610ea4565b6107ad565b6040516102cb91906112e5565b60405180910390f35b6060600380546102e390611449565b80601f016020809104026020016040519081016040528092919081815260200182805461030f90611449565b801561035c5780601f106103315761010080835404028352916020019161035c565b820191906000526020600020905b81548152906001019060200180831161033f57829003601f168201915b5050505050905090565b600061037a610373610834565b848461083c565b6001905092915050565b6000600254905090565b600061039b848484610a07565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e6610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611225565b60405180910390fd5b61047a85610472610834565b85840361083c565b60019150509392505050565b60006012905090565b600061053161049c610834565b8484600160006104aa610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461052c9190611337565b61083c565b6001905092915050565b61054c610546610834565b82610c7d565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006105aa836105a5610834565b6107ad565b9050818110156105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e690611245565b60405180910390fd5b610603836105fb610834565b84840361083c565b61060d8383610c7d565b505050565b60606004805461062190611449565b80601f016020809104026020016040519081016040528092919081815260200182805461064d90611449565b801561069a5780601f1061066f5761010080835404028352916020019161069a565b820191906000526020600020905b81548152906001019060200180831161067d57829003601f168201915b5050505050905090565b600080600160006106b3610834565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610770576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610767906112c5565b60405180910390fd5b61078461077b610834565b8585840361083c565b600191505092915050565b60006107a361079c610834565b8484610a07565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a3906112a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561091c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610913906111e5565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109fa91906112e5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6e90611285565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ade906111a5565b60405180910390fd5b610af2838383610e48565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90611205565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c0b9190611337565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6f91906112e5565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ced576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce490611265565b60405180910390fd5b610cf982600083610e48565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d76906111c5565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610dd6919061138d565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e3b91906112e5565b60405180910390a3505050565b505050565b600081359050610e5c81611805565b92915050565b600081359050610e718161181c565b92915050565b600060208284031215610e8d57610e8c6114d9565b5b6000610e9b84828501610e4d565b91505092915050565b60008060408385031215610ebb57610eba6114d9565b5b6000610ec985828601610e4d565b9250506020610eda85828601610e4d565b9150509250929050565b600080600060608486031215610efd57610efc6114d9565b5b6000610f0b86828701610e4d565b9350506020610f1c86828701610e4d565b9250506040610f2d86828701610e62565b9150509250925092565b60008060408385031215610f4e57610f4d6114d9565b5b6000610f5c85828601610e4d565b9250506020610f6d85828601610e62565b9150509250929050565b600060208284031215610f8d57610f8c6114d9565b5b6000610f9b84828501610e62565b91505092915050565b610fad816113d3565b82525050565b6000610fbe8261131b565b610fc88185611326565b9350610fd8818560208601611416565b610fe1816114de565b840191505092915050565b6000610ff9602383611326565b9150611004826114ef565b604082019050919050565b600061101c602283611326565b91506110278261153e565b604082019050919050565b600061103f602283611326565b915061104a8261158d565b604082019050919050565b6000611062602683611326565b915061106d826115dc565b604082019050919050565b6000611085602883611326565b91506110908261162b565b604082019050919050565b60006110a8602483611326565b91506110b38261167a565b604082019050919050565b60006110cb602183611326565b91506110d6826116c9565b604082019050919050565b60006110ee602583611326565b91506110f982611718565b604082019050919050565b6000611111602483611326565b915061111c82611767565b604082019050919050565b6000611134602583611326565b915061113f826117b6565b604082019050919050565b611153816113ff565b82525050565b61116281611409565b82525050565b600060208201905061117d6000830184610fa4565b92915050565b6000602082019050818103600083015261119d8184610fb3565b905092915050565b600060208201905081810360008301526111be81610fec565b9050919050565b600060208201905081810360008301526111de8161100f565b9050919050565b600060208201905081810360008301526111fe81611032565b9050919050565b6000602082019050818103600083015261121e81611055565b9050919050565b6000602082019050818103600083015261123e81611078565b9050919050565b6000602082019050818103600083015261125e8161109b565b9050919050565b6000602082019050818103600083015261127e816110be565b9050919050565b6000602082019050818103600083015261129e816110e1565b9050919050565b600060208201905081810360008301526112be81611104565b9050919050565b600060208201905081810360008301526112de81611127565b9050919050565b60006020820190506112fa600083018461114a565b92915050565b60006020820190506113156000830184611159565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611342826113ff565b915061134d836113ff565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156113825761138161147b565b5b828201905092915050565b6000611398826113ff565b91506113a3836113ff565b9250828210156113b6576113b561147b565b5b828203905092915050565b60006113cc826113df565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611434578082015181840152602081019050611419565b83811115611443576000848401525b50505050565b6000600282049050600182168061146157607f821691505b60208210811415611475576114746114aa565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61180e816113c1565b811461181957600080fd5b50565b611825816113ff565b811461183057600080fd5b5056fea2646970667358221220b2da4bcfb5446cdd241d26763592f56419d969654d663d62092adf2649884d5c64736f6c63430008060033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000090e40fbeea1d3a4abc8955e946fe31cdcf66f634e1000000000000000000000000000000000000000000b38d3508bf3ddabc6b42bdad43b74d8638296dfa00000000000000000000000000000000000000000000000000000000000000045350414d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045350414d00000000000000000000000000000000000000000000000000000000

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000090e40fbeea1d3a4abc8955e946fe31cdcf66f634e1000000000000000000000000000000000000000000b38d3508bf3ddabc6b42bdad43b74d8638296dfa00000000000000000000000000000000000000000000000000000000000000045350414d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045350414d00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): SPAM
Arg [1] : symbol (string): SPAM
Arg [2] : initialSupply (uint256): 1000000000000000000000000000000000000000000000000000000000000000000000000
Arg [3] : owner (address): 0xb38d3508bf3ddabc6b42bdad43b74d8638296dfa

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 000090e40fbeea1d3a4abc8955e946fe31cdcf66f634e1000000000000000000
Arg [3] : 000000000000000000000000b38d3508bf3ddabc6b42bdad43b74d8638296dfa
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 5350414d00000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 5350414d00000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

17344:401:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6885:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9052:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8005:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9703:458;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7847:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10570:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16188:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8176:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16598:368;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7104:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11288:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8516:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8754:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6885:100;6939:13;6972:5;6965:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6885:100;:::o;9052:169::-;9135:4;9152:39;9161:12;:10;:12::i;:::-;9175:7;9184:6;9152:8;:39::i;:::-;9209:4;9202:11;;9052:169;;;;:::o;8005:108::-;8066:7;8093:12;;8086:19;;8005:108;:::o;9703:458::-;9809:4;9826:36;9836:6;9844:9;9855:6;9826:9;:36::i;:::-;9875:24;9902:11;:19;9914:6;9902:19;;;;;;;;;;;;;;;:33;9922:12;:10;:12::i;:::-;9902:33;;;;;;;;;;;;;;;;9875:60;;9974:6;9954:16;:26;;9946:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10061:57;10070:6;10078:12;:10;:12::i;:::-;10111:6;10092:16;:25;10061:8;:57::i;:::-;10149:4;10142:11;;;9703:458;;;;;:::o;7847:93::-;7905:5;7930:2;7923:9;;7847:93;:::o;10570:215::-;10658:4;10675:80;10684:12;:10;:12::i;:::-;10698:7;10744:10;10707:11;:25;10719:12;:10;:12::i;:::-;10707:25;;;;;;;;;;;;;;;:34;10733:7;10707:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10675:8;:80::i;:::-;10773:4;10766:11;;10570:215;;;;:::o;16188:91::-;16244:27;16250:12;:10;:12::i;:::-;16264:6;16244:5;:27::i;:::-;16188:91;:::o;8176:127::-;8250:7;8277:9;:18;8287:7;8277:18;;;;;;;;;;;;;;;;8270:25;;8176:127;;;:::o;16598:368::-;16675:24;16702:32;16712:7;16721:12;:10;:12::i;:::-;16702:9;:32::i;:::-;16675:59;;16773:6;16753:16;:26;;16745:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;16856:58;16865:7;16874:12;:10;:12::i;:::-;16907:6;16888:16;:25;16856:8;:58::i;:::-;16936:22;16942:7;16951:6;16936:5;:22::i;:::-;16664:302;16598:368;;:::o;7104:104::-;7160:13;7193:7;7186:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7104:104;:::o;11288:413::-;11381:4;11398:24;11425:11;:25;11437:12;:10;:12::i;:::-;11425:25;;;;;;;;;;;;;;;:34;11451:7;11425:34;;;;;;;;;;;;;;;;11398:61;;11498:15;11478:16;:35;;11470:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11591:67;11600:12;:10;:12::i;:::-;11614:7;11642:15;11623:16;:34;11591:8;:67::i;:::-;11689:4;11682:11;;;11288:413;;;;:::o;8516:175::-;8602:4;8619:42;8629:12;:10;:12::i;:::-;8643:9;8654:6;8619:9;:42::i;:::-;8679:4;8672:11;;8516:175;;;;:::o;8754:151::-;8843:7;8870:11;:18;8882:5;8870:18;;;;;;;;;;;;;;;:27;8889:7;8870:27;;;;;;;;;;;;;;;;8863:34;;8754:151;;;;:::o;1263:98::-;1316:7;1343:10;1336:17;;1263:98;:::o;14757:346::-;14876:1;14859:19;;:5;:19;;;;14851:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14957:1;14938:21;;:7;:21;;;;14930:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15041:6;15011:11;:18;15023:5;15011:18;;;;;;;;;;;;;;;:27;15030:7;15011:27;;;;;;;;;;;;;;;:36;;;;15079:7;15063:32;;15072:5;15063:32;;;15088:6;15063:32;;;;;;:::i;:::-;;;;;;;;14757:346;;;:::o;12191:640::-;12315:1;12297:20;;:6;:20;;;;12289:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12399:1;12378:23;;:9;:23;;;;12370:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12454:47;12475:6;12483:9;12494:6;12454:20;:47::i;:::-;12514:21;12538:9;:17;12548:6;12538:17;;;;;;;;;;;;;;;;12514:41;;12591:6;12574:13;:23;;12566:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12712:6;12696:13;:22;12676:9;:17;12686:6;12676:17;;;;;;;;;;;;;;;:42;;;;12764:6;12740:9;:20;12750:9;12740:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12805:9;12788:35;;12797:6;12788:35;;;12816:6;12788:35;;;;;;:::i;:::-;;;;;;;;12278:553;12191:640;;;:::o;13789:530::-;13892:1;13873:21;;:7;:21;;;;13865:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13945:49;13966:7;13983:1;13987:6;13945:20;:49::i;:::-;14007:22;14032:9;:18;14042:7;14032:18;;;;;;;;;;;;;;;;14007:43;;14087:6;14069:14;:24;;14061:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14206:6;14189:14;:23;14168:9;:18;14178:7;14168:18;;;;;;;;;;;;;;;:44;;;;14250:6;14234:12;;:22;;;;;;;:::i;:::-;;;;;;;;14300:1;14274:37;;14283:7;14274:37;;;14304:6;14274:37;;;;;;:::i;:::-;;;;;;;;13854:465;13789:530;;:::o;15706:92::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;411:79;;:::i;:::-;373:2;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;363:263;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:2;;;763:79;;:::i;:::-;725:2;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;715:391;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:2;;;1260:79;;:::i;:::-;1222:2;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1212:519;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:2;;;1868:79;;:::i;:::-;1830:2;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1820:391;;;;;:::o;2217:329::-;2276:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:2;;;2331:79;;:::i;:::-;2293:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2283:263;;;;:::o;2552:109::-;2633:21;2648:5;2633:21;:::i;:::-;2628:3;2621:34;2611:50;;:::o;2667:364::-;2755:3;2783:39;2816:5;2783:39;:::i;:::-;2838:71;2902:6;2897:3;2838:71;:::i;:::-;2831:78;;2918:52;2963:6;2958:3;2951:4;2944:5;2940:16;2918:52;:::i;:::-;2995:29;3017:6;2995:29;:::i;:::-;2990:3;2986:39;2979:46;;2759:272;;;;;:::o;3037:366::-;3179:3;3200:67;3264:2;3259:3;3200:67;:::i;:::-;3193:74;;3276:93;3365:3;3276:93;:::i;:::-;3394:2;3389:3;3385:12;3378:19;;3183:220;;;:::o;3409:366::-;3551:3;3572:67;3636:2;3631:3;3572:67;:::i;:::-;3565:74;;3648:93;3737:3;3648:93;:::i;:::-;3766:2;3761:3;3757:12;3750:19;;3555:220;;;:::o;3781:366::-;3923:3;3944:67;4008:2;4003:3;3944:67;:::i;:::-;3937:74;;4020:93;4109:3;4020:93;:::i;:::-;4138:2;4133:3;4129:12;4122:19;;3927:220;;;:::o;4153:366::-;4295:3;4316:67;4380:2;4375:3;4316:67;:::i;:::-;4309:74;;4392:93;4481:3;4392:93;:::i;:::-;4510:2;4505:3;4501:12;4494:19;;4299:220;;;:::o;4525:366::-;4667:3;4688:67;4752:2;4747:3;4688:67;:::i;:::-;4681:74;;4764:93;4853:3;4764:93;:::i;:::-;4882:2;4877:3;4873:12;4866:19;;4671:220;;;:::o;4897:366::-;5039:3;5060:67;5124:2;5119:3;5060:67;:::i;:::-;5053:74;;5136:93;5225:3;5136:93;:::i;:::-;5254:2;5249:3;5245:12;5238:19;;5043:220;;;:::o;5269:366::-;5411:3;5432:67;5496:2;5491:3;5432:67;:::i;:::-;5425:74;;5508:93;5597:3;5508:93;:::i;:::-;5626:2;5621:3;5617:12;5610:19;;5415:220;;;:::o;5641:366::-;5783:3;5804:67;5868:2;5863:3;5804:67;:::i;:::-;5797:74;;5880:93;5969:3;5880:93;:::i;:::-;5998:2;5993:3;5989:12;5982:19;;5787:220;;;:::o;6013:366::-;6155:3;6176:67;6240:2;6235:3;6176:67;:::i;:::-;6169:74;;6252:93;6341:3;6252:93;:::i;:::-;6370:2;6365:3;6361:12;6354:19;;6159:220;;;:::o;6385:366::-;6527:3;6548:67;6612:2;6607:3;6548:67;:::i;:::-;6541:74;;6624:93;6713:3;6624:93;:::i;:::-;6742:2;6737:3;6733:12;6726:19;;6531:220;;;:::o;6757:118::-;6844:24;6862:5;6844:24;:::i;:::-;6839:3;6832:37;6822:53;;:::o;6881:112::-;6964:22;6980:5;6964:22;:::i;:::-;6959:3;6952:35;6942:51;;:::o;6999:210::-;7086:4;7124:2;7113:9;7109:18;7101:26;;7137:65;7199:1;7188:9;7184:17;7175:6;7137:65;:::i;:::-;7091:118;;;;:::o;7215:313::-;7328:4;7366:2;7355:9;7351:18;7343:26;;7415:9;7409:4;7405:20;7401:1;7390:9;7386:17;7379:47;7443:78;7516:4;7507:6;7443:78;:::i;:::-;7435:86;;7333:195;;;;:::o;7534:419::-;7700:4;7738:2;7727:9;7723:18;7715:26;;7787:9;7781:4;7777:20;7773:1;7762:9;7758:17;7751:47;7815:131;7941:4;7815:131;:::i;:::-;7807:139;;7705:248;;;:::o;7959:419::-;8125:4;8163:2;8152:9;8148:18;8140:26;;8212:9;8206:4;8202:20;8198:1;8187:9;8183:17;8176:47;8240:131;8366:4;8240:131;:::i;:::-;8232:139;;8130:248;;;:::o;8384:419::-;8550:4;8588:2;8577:9;8573:18;8565:26;;8637:9;8631:4;8627:20;8623:1;8612:9;8608:17;8601:47;8665:131;8791:4;8665:131;:::i;:::-;8657:139;;8555:248;;;:::o;8809:419::-;8975:4;9013:2;9002:9;8998:18;8990:26;;9062:9;9056:4;9052:20;9048:1;9037:9;9033:17;9026:47;9090:131;9216:4;9090:131;:::i;:::-;9082:139;;8980:248;;;:::o;9234:419::-;9400:4;9438:2;9427:9;9423:18;9415:26;;9487:9;9481:4;9477:20;9473:1;9462:9;9458:17;9451:47;9515:131;9641:4;9515:131;:::i;:::-;9507:139;;9405:248;;;:::o;9659:419::-;9825:4;9863:2;9852:9;9848:18;9840:26;;9912:9;9906:4;9902:20;9898:1;9887:9;9883:17;9876:47;9940:131;10066:4;9940:131;:::i;:::-;9932:139;;9830:248;;;:::o;10084:419::-;10250:4;10288:2;10277:9;10273:18;10265:26;;10337:9;10331:4;10327:20;10323:1;10312:9;10308:17;10301:47;10365:131;10491:4;10365:131;:::i;:::-;10357:139;;10255:248;;;:::o;10509:419::-;10675:4;10713:2;10702:9;10698:18;10690:26;;10762:9;10756:4;10752:20;10748:1;10737:9;10733:17;10726:47;10790:131;10916:4;10790:131;:::i;:::-;10782:139;;10680:248;;;:::o;10934:419::-;11100:4;11138:2;11127:9;11123:18;11115:26;;11187:9;11181:4;11177:20;11173:1;11162:9;11158:17;11151:47;11215:131;11341:4;11215:131;:::i;:::-;11207:139;;11105:248;;;:::o;11359:419::-;11525:4;11563:2;11552:9;11548:18;11540:26;;11612:9;11606:4;11602:20;11598:1;11587:9;11583:17;11576:47;11640:131;11766:4;11640:131;:::i;:::-;11632:139;;11530:248;;;:::o;11784:222::-;11877:4;11915:2;11904:9;11900:18;11892:26;;11928:71;11996:1;11985:9;11981:17;11972:6;11928:71;:::i;:::-;11882:124;;;;:::o;12012:214::-;12101:4;12139:2;12128:9;12124:18;12116:26;;12152:67;12216:1;12205:9;12201:17;12192:6;12152:67;:::i;:::-;12106:120;;;;:::o;12313:99::-;12365:6;12399:5;12393:12;12383:22;;12372:40;;;:::o;12418:169::-;12502:11;12536:6;12531:3;12524:19;12576:4;12571:3;12567:14;12552:29;;12514:73;;;;:::o;12593:305::-;12633:3;12652:20;12670:1;12652:20;:::i;:::-;12647:25;;12686:20;12704:1;12686:20;:::i;:::-;12681:25;;12840:1;12772:66;12768:74;12765:1;12762:81;12759:2;;;12846:18;;:::i;:::-;12759:2;12890:1;12887;12883:9;12876:16;;12637:261;;;;:::o;12904:191::-;12944:4;12964:20;12982:1;12964:20;:::i;:::-;12959:25;;12998:20;13016:1;12998:20;:::i;:::-;12993:25;;13037:1;13034;13031:8;13028:2;;;13042:18;;:::i;:::-;13028:2;13087:1;13084;13080:9;13072:17;;12949:146;;;;:::o;13101:96::-;13138:7;13167:24;13185:5;13167:24;:::i;:::-;13156:35;;13146:51;;;:::o;13203:90::-;13237:7;13280:5;13273:13;13266:21;13255:32;;13245:48;;;:::o;13299:126::-;13336:7;13376:42;13369:5;13365:54;13354:65;;13344:81;;;:::o;13431:77::-;13468:7;13497:5;13486:16;;13476:32;;;:::o;13514:86::-;13549:7;13589:4;13582:5;13578:16;13567:27;;13557:43;;;:::o;13606:307::-;13674:1;13684:113;13698:6;13695:1;13692:13;13684:113;;;13783:1;13778:3;13774:11;13768:18;13764:1;13759:3;13755:11;13748:39;13720:2;13717:1;13713:10;13708:15;;13684:113;;;13815:6;13812:1;13809:13;13806:2;;;13895:1;13886:6;13881:3;13877:16;13870:27;13806:2;13655:258;;;;:::o;13919:320::-;13963:6;14000:1;13994:4;13990:12;13980:22;;14047:1;14041:4;14037:12;14068:18;14058:2;;14124:4;14116:6;14112:17;14102:27;;14058:2;14186;14178:6;14175:14;14155:18;14152:38;14149:2;;;14205:18;;:::i;:::-;14149:2;13970:269;;;;:::o;14245:180::-;14293:77;14290:1;14283:88;14390:4;14387:1;14380:15;14414:4;14411:1;14404:15;14431:180;14479:77;14476:1;14469:88;14576:4;14573:1;14566:15;14600:4;14597:1;14590:15;14740:117;14849:1;14846;14839:12;14863:102;14904:6;14955:2;14951:7;14946:2;14939:5;14935:14;14931:28;14921:38;;14911:54;;;:::o;14971:222::-;15111:34;15107:1;15099:6;15095:14;15088:58;15180:5;15175:2;15167:6;15163:15;15156:30;15077:116;:::o;15199:221::-;15339:34;15335:1;15327:6;15323:14;15316:58;15408:4;15403:2;15395:6;15391:15;15384:29;15305:115;:::o;15426:221::-;15566:34;15562:1;15554:6;15550:14;15543:58;15635:4;15630:2;15622:6;15618:15;15611:29;15532:115;:::o;15653:225::-;15793:34;15789:1;15781:6;15777:14;15770:58;15862:8;15857:2;15849:6;15845:15;15838:33;15759:119;:::o;15884:227::-;16024:34;16020:1;16012:6;16008:14;16001:58;16093:10;16088:2;16080:6;16076:15;16069:35;15990:121;:::o;16117:223::-;16257:34;16253:1;16245:6;16241:14;16234:58;16326:6;16321:2;16313:6;16309:15;16302:31;16223:117;:::o;16346:220::-;16486:34;16482:1;16474:6;16470:14;16463:58;16555:3;16550:2;16542:6;16538:15;16531:28;16452:114;:::o;16572:224::-;16712:34;16708:1;16700:6;16696:14;16689:58;16781:7;16776:2;16768:6;16764:15;16757:32;16678:118;:::o;16802:223::-;16942:34;16938:1;16930:6;16926:14;16919:58;17011:6;17006:2;16998:6;16994:15;16987:31;16908:117;:::o;17031:224::-;17171:34;17167:1;17159:6;17155:14;17148:58;17240:7;17235:2;17227:6;17223:15;17216:32;17137:118;:::o;17261:122::-;17334:24;17352:5;17334:24;:::i;:::-;17327:5;17324:35;17314:2;;17373:1;17370;17363:12;17314:2;17304:79;:::o;17389:122::-;17462:24;17480:5;17462:24;:::i;:::-;17455:5;17452:35;17442:2;;17501:1;17498;17491:12;17442:2;17432:79;:::o

Swarm Source

ipfs://b2da4bcfb5446cdd241d26763592f56419d969654d663d62092adf2649884d5c
Loading