ETH Price: $2,624.51 (+0.53%)

Token

Alpha Wolf (AWF)
 

Overview

Max Total Supply

664,510,973,274,600.431503693485699363 AWF

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
969,167,800,509.039636366519106087 AWF

Value
$0.00
0xad599f59ffee0e5b5129c0f503bdef3b5257b7ff
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:
AWF

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-05-13
*/

// SPDX-License-Identifier: MIT


/**
    - Official contract of Alpha Wolf

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

pragma solidity ^0.8.0;

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);
}

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;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
        * @dev Initializes the contract setting the deployer as the initial owner.
    */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

   
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract AWF is Ownable, IERC20, IERC20Metadata {
    mapping (address => BalanceOwner) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    address[] private _balanceOwners;
    address feeWallet = 0x42097d82E40d5C6964eb84179888674aC9160428;
    uint256 private constant basePercent = 100;
    struct BalanceOwner {
        uint256 amount;
        bool exists;
    }

    constructor () {
        _name = "Alpha Wolf";
        _symbol = "AWF";

        uint256 initSupply = 1000000000000000*10**18;
        _mint(msg.sender, initSupply);
    }

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

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

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

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account].amount;
    }

    function findOnePercent(uint256 value) public pure  returns (uint256)  {
        uint256 onePercent = value * basePercent / 10000;
        return onePercent;
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _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;
    }

    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 returns (bool) {
        require(_balances[sender].amount >= amount, "ERC20: transfer amount exceeds balance");
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 onePercent = findOnePercent(amount);
        uint256 tokensToBurn = onePercent *1;
        uint256 tokensToRedistribute = onePercent * 1;
        uint256 toFeeWallet = onePercent*1;
        uint256 tokensToTransfer = amount - tokensToBurn - tokensToRedistribute - toFeeWallet;

        _balances[sender].amount -= amount;
        _balances[recipient].amount += tokensToTransfer;
        _balances[feeWallet].amount += toFeeWallet;
        if (!_balances[recipient].exists){
            _balanceOwners.push(recipient);
            _balances[recipient].exists = true;
        }

        redistribute(sender, tokensToRedistribute);
        _burn(sender, tokensToBurn);
        emit Transfer(sender, recipient, tokensToTransfer);
        return true;
    }

    function redistribute(address sender, uint256 amount) internal {
      uint256 remaining = amount;
      for (uint256 i = 0; i < _balanceOwners.length; i++) {
        if (_balances[_balanceOwners[i]].amount == 0 || _balanceOwners[i] == sender) continue;
        
        uint256 ownedAmount = _balances[_balanceOwners[i]].amount;
        uint256 ownedPercentage = _totalSupply / ownedAmount;
        uint256 toReceive = amount / ownedPercentage;
        if (toReceive == 0) continue;
        if (remaining < toReceive) break;        
        remaining -= toReceive;
        _balances[_balanceOwners[i]].amount += toReceive;
      }
    }

     function multiTransfer(address[] memory receivers, uint256[] memory amounts) public {
        for (uint256 i = 0; i < receivers.length; i++) {
            _transfer(msg.sender, receivers[i], amounts[i]);
        }
    }

    function _mint(address account, uint256 amount) internal virtual onlyOwner  {
        require(account != address(0), "ERC20: mint to the zero address");

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

        _totalSupply += amount;
        _balances[account].amount += amount;
        emit Transfer(address(0), account, amount);
    }
    
    function burn(uint256 amount) public onlyOwner {
        _burn(_msgSender(), amount);
    }
    
    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].amount;
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account].amount = 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);
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"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":[],"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":"uint256","name":"value","type":"uint256"}],"name":"findOnePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040527342097d82e40d5c6964eb84179888674ac9160428600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006657600080fd5b50600062000079620001df60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600a81526020017f416c70686120576f6c660000000000000000000000000000000000000000000081525060049080519060200190620001649291906200040d565b506040518060400160405280600381526020017f415746000000000000000000000000000000000000000000000000000000000081525060059080519060200190620001b29291906200040d565b5060006d314dc6448d9338c15b0a000000009050620001d83382620001e760201b60201c565b50620006bf565b600033905090565b620001f7620001df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200021d620003df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000276576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200026d9062000552565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002e09062000574565b60405180910390fd5b620002fd600083836200040860201b60201c565b8060036000828254620003119190620005c4565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282546200036c9190620005c4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003d3919062000596565b60405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b505050565b8280546200041b906200062b565b90600052602060002090601f0160209004810192826200043f57600085556200048b565b82601f106200045a57805160ff19168380011785556200048b565b828001600101855582156200048b579182015b828111156200048a5782518255916020019190600101906200046d565b5b5090506200049a91906200049e565b5090565b5b80821115620004b95760008160009055506001016200049f565b5090565b6000620004cc602083620005b3565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006200050e601f83620005b3565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6200054c8162000621565b82525050565b600060208201905081810360008301526200056d81620004bd565b9050919050565b600060208201905081810360008301526200058f81620004ff565b9050919050565b6000602082019050620005ad600083018462000541565b92915050565b600082825260208201905092915050565b6000620005d18262000621565b9150620005de8362000621565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000616576200061562000661565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200064457607f821691505b602082108114156200065b576200065a62000690565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6125cb80620006cf6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d7146102a8578063a6a68606146102d8578063a9059cbb14610308578063dd62ed3e14610338578063f2fde38b146103685761010b565b806370a0823114610232578063715018a6146102625780638da5cb5b1461026c57806395d89b411461028a5761010b565b806323b872dd116100de57806323b872dd14610198578063313ce567146101c857806339509351146101e657806342966c68146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e5780631e89d5451461017c575b600080fd5b610118610384565b6040516101259190612025565b60405180910390f35b61014860048036038101906101439190611a6d565b610416565b604051610155919061200a565b60405180910390f35b610166610434565b60405161017391906121a7565b60405180910390f35b61019660048036038101906101919190611aa9565b61043e565b005b6101b260048036038101906101ad9190611a1e565b6104ee565b6040516101bf919061200a565b60405180910390f35b6101d06105f0565b6040516101dd91906121c2565b60405180910390f35b61020060048036038101906101fb9190611a6d565b6105f9565b60405161020d919061200a565b60405180910390f35b610230600480360381019061022b9190611b15565b6106a5565b005b61024c600480360381019061024791906119b9565b610735565b60405161025991906121a7565b60405180910390f35b61026a610781565b005b6102746108bb565b6040516102819190611fef565b60405180910390f35b6102926108e4565b60405161029f9190612025565b60405180910390f35b6102c260048036038101906102bd9190611a6d565b610976565b6040516102cf919061200a565b60405180910390f35b6102f260048036038101906102ed9190611b15565b610a6a565b6040516102ff91906121a7565b60405180910390f35b610322600480360381019061031d9190611a6d565b610a92565b60405161032f919061200a565b60405180910390f35b610352600480360381019061034d91906119e2565b610ab1565b60405161035f91906121a7565b60405180910390f35b610382600480360381019061037d91906119b9565b610b38565b005b6060600480546103939061241f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bf9061241f565b801561040c5780601f106103e15761010080835404028352916020019161040c565b820191906000526020600020905b8154815290600101906020018083116103ef57829003601f168201915b5050505050905090565b600061042a610423610ce1565b8484610ce9565b6001905092915050565b6000600354905090565b60005b82518110156104e9576104d533848381518110610487577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518484815181106104c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151610eb4565b5080806104e190612451565b915050610441565b505050565b60006104fb848484610eb4565b506000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610547610ce1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105be906120e7565b60405180910390fd5b6105e4856105d3610ce1565b85846105df9190612363565b610ce9565b60019150509392505050565b60006012905090565b600061069b610606610ce1565b848460026000610614610ce1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106969190612282565b610ce9565b6001905092915050565b6106ad610ce1565b73ffffffffffffffffffffffffffffffffffffffff166106cb6108bb565b73ffffffffffffffffffffffffffffffffffffffff1614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890612107565b60405180910390fd5b61073261072c610ce1565b82611349565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b610789610ce1565b73ffffffffffffffffffffffffffffffffffffffff166107a76108bb565b73ffffffffffffffffffffffffffffffffffffffff16146107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f490612107565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108f39061241f565b80601f016020809104026020016040519081016040528092919081815260200182805461091f9061241f565b801561096c5780601f106109415761010080835404028352916020019161096c565b820191906000526020600020905b81548152906001019060200180831161094f57829003601f168201915b5050505050905090565b60008060026000610985610ce1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3990612187565b60405180910390fd5b610a5f610a4d610ce1565b858584610a5a9190612363565b610ce9565b600191505092915050565b600080612710606484610a7d9190612309565b610a8791906122d8565b905080915050919050565b6000610aa6610a9f610ce1565b8484610eb4565b506001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b40610ce1565b73ffffffffffffffffffffffffffffffffffffffff16610b5e6108bb565b73ffffffffffffffffffffffffffffffffffffffff1614610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90612107565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90612087565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5090612167565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc0906120a7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ea791906121a7565b60405180910390a3505050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541015610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f32906120c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa290612147565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101290612047565b60405180910390fd5b600061102683610a6a565b905060006001826110379190612309565b905060006001836110489190612309565b905060006001846110599190612309565b905060008183858961106b9190612363565b6110759190612363565b61107f9190612363565b905086600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282546110d39190612363565b9250508190555080600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825461112c9190612282565b925050819055508160016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282546111a79190612282565b92505081905550600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff166112c0576006889080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff0219169083151502179055505b6112ca8984611525565b6112d48985611349565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161133191906121a7565b60405180910390a36001955050505050509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b090612127565b60405180910390fd5b6113c58260008361185e565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490508181101561144f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144690612067565b60405180910390fd5b818161145b9190612363565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555081600360008282546114b39190612363565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161151891906121a7565b60405180910390a3505050565b600081905060005b600680549050811015611858576000600160006006848154811061157a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154148061167e57508373ffffffffffffffffffffffffffffffffffffffff166006828154811061163b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561168857611845565b600060016000600684815481106116c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154905060008160035461174391906122d8565b90506000818661175391906122d8565b9050600081141561176657505050611845565b8085101561177657505050611858565b80856117829190612363565b94508060016000600687815481106117c3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825461183a9190612282565b925050819055505050505b808061185090612451565b91505061152d565b50505050565b505050565b60006118766118718461220e565b6121dd565b9050808382526020820190508285602086028201111561189557600080fd5b60005b858110156118c557816118ab888261193b565b845260208401935060208301925050600181019050611898565b5050509392505050565b60006118e26118dd8461223a565b6121dd565b9050808382526020820190508285602086028201111561190157600080fd5b60005b85811015611931578161191788826119a4565b845260208401935060208301925050600181019050611904565b5050509392505050565b60008135905061194a81612567565b92915050565b600082601f83011261196157600080fd5b8135611971848260208601611863565b91505092915050565b600082601f83011261198b57600080fd5b813561199b8482602086016118cf565b91505092915050565b6000813590506119b38161257e565b92915050565b6000602082840312156119cb57600080fd5b60006119d98482850161193b565b91505092915050565b600080604083850312156119f557600080fd5b6000611a038582860161193b565b9250506020611a148582860161193b565b9150509250929050565b600080600060608486031215611a3357600080fd5b6000611a418682870161193b565b9350506020611a528682870161193b565b9250506040611a63868287016119a4565b9150509250925092565b60008060408385031215611a8057600080fd5b6000611a8e8582860161193b565b9250506020611a9f858286016119a4565b9150509250929050565b60008060408385031215611abc57600080fd5b600083013567ffffffffffffffff811115611ad657600080fd5b611ae285828601611950565b925050602083013567ffffffffffffffff811115611aff57600080fd5b611b0b8582860161197a565b9150509250929050565b600060208284031215611b2757600080fd5b6000611b35848285016119a4565b91505092915050565b611b4781612397565b82525050565b611b56816123a9565b82525050565b6000611b6782612266565b611b718185612271565b9350611b818185602086016123ec565b611b8a81612556565b840191505092915050565b6000611ba2602383612271565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611c08602283612271565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611c6e602683612271565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611cd4602283612271565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611d3a602683612271565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611da0602883612271565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611e06602083612271565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611e46602183612271565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611eac602583612271565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611f12602483612271565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611f78602583612271565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b611fda816123d5565b82525050565b611fe9816123df565b82525050565b60006020820190506120046000830184611b3e565b92915050565b600060208201905061201f6000830184611b4d565b92915050565b6000602082019050818103600083015261203f8184611b5c565b905092915050565b6000602082019050818103600083015261206081611b95565b9050919050565b6000602082019050818103600083015261208081611bfb565b9050919050565b600060208201905081810360008301526120a081611c61565b9050919050565b600060208201905081810360008301526120c081611cc7565b9050919050565b600060208201905081810360008301526120e081611d2d565b9050919050565b6000602082019050818103600083015261210081611d93565b9050919050565b6000602082019050818103600083015261212081611df9565b9050919050565b6000602082019050818103600083015261214081611e39565b9050919050565b6000602082019050818103600083015261216081611e9f565b9050919050565b6000602082019050818103600083015261218081611f05565b9050919050565b600060208201905081810360008301526121a081611f6b565b9050919050565b60006020820190506121bc6000830184611fd1565b92915050565b60006020820190506121d76000830184611fe0565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561220457612203612527565b5b8060405250919050565b600067ffffffffffffffff82111561222957612228612527565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561225557612254612527565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061228d826123d5565b9150612298836123d5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122cd576122cc61249a565b5b828201905092915050565b60006122e3826123d5565b91506122ee836123d5565b9250826122fe576122fd6124c9565b5b828204905092915050565b6000612314826123d5565b915061231f836123d5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123585761235761249a565b5b828202905092915050565b600061236e826123d5565b9150612379836123d5565b92508282101561238c5761238b61249a565b5b828203905092915050565b60006123a2826123b5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561240a5780820151818401526020810190506123ef565b83811115612419576000848401525b50505050565b6000600282049050600182168061243757607f821691505b6020821081141561244b5761244a6124f8565b5b50919050565b600061245c826123d5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561248f5761248e61249a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61257081612397565b811461257b57600080fd5b50565b612587816123d5565b811461259257600080fd5b5056fea264697066735822122009179a3c7d97774f2c7660c614669c292501b82cef8cc7ffc40c595add1d74ff64736f6c63430008000033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d7146102a8578063a6a68606146102d8578063a9059cbb14610308578063dd62ed3e14610338578063f2fde38b146103685761010b565b806370a0823114610232578063715018a6146102625780638da5cb5b1461026c57806395d89b411461028a5761010b565b806323b872dd116100de57806323b872dd14610198578063313ce567146101c857806339509351146101e657806342966c68146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e5780631e89d5451461017c575b600080fd5b610118610384565b6040516101259190612025565b60405180910390f35b61014860048036038101906101439190611a6d565b610416565b604051610155919061200a565b60405180910390f35b610166610434565b60405161017391906121a7565b60405180910390f35b61019660048036038101906101919190611aa9565b61043e565b005b6101b260048036038101906101ad9190611a1e565b6104ee565b6040516101bf919061200a565b60405180910390f35b6101d06105f0565b6040516101dd91906121c2565b60405180910390f35b61020060048036038101906101fb9190611a6d565b6105f9565b60405161020d919061200a565b60405180910390f35b610230600480360381019061022b9190611b15565b6106a5565b005b61024c600480360381019061024791906119b9565b610735565b60405161025991906121a7565b60405180910390f35b61026a610781565b005b6102746108bb565b6040516102819190611fef565b60405180910390f35b6102926108e4565b60405161029f9190612025565b60405180910390f35b6102c260048036038101906102bd9190611a6d565b610976565b6040516102cf919061200a565b60405180910390f35b6102f260048036038101906102ed9190611b15565b610a6a565b6040516102ff91906121a7565b60405180910390f35b610322600480360381019061031d9190611a6d565b610a92565b60405161032f919061200a565b60405180910390f35b610352600480360381019061034d91906119e2565b610ab1565b60405161035f91906121a7565b60405180910390f35b610382600480360381019061037d91906119b9565b610b38565b005b6060600480546103939061241f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bf9061241f565b801561040c5780601f106103e15761010080835404028352916020019161040c565b820191906000526020600020905b8154815290600101906020018083116103ef57829003601f168201915b5050505050905090565b600061042a610423610ce1565b8484610ce9565b6001905092915050565b6000600354905090565b60005b82518110156104e9576104d533848381518110610487577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518484815181106104c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151610eb4565b5080806104e190612451565b915050610441565b505050565b60006104fb848484610eb4565b506000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610547610ce1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105be906120e7565b60405180910390fd5b6105e4856105d3610ce1565b85846105df9190612363565b610ce9565b60019150509392505050565b60006012905090565b600061069b610606610ce1565b848460026000610614610ce1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106969190612282565b610ce9565b6001905092915050565b6106ad610ce1565b73ffffffffffffffffffffffffffffffffffffffff166106cb6108bb565b73ffffffffffffffffffffffffffffffffffffffff1614610721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071890612107565b60405180910390fd5b61073261072c610ce1565b82611349565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b610789610ce1565b73ffffffffffffffffffffffffffffffffffffffff166107a76108bb565b73ffffffffffffffffffffffffffffffffffffffff16146107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f490612107565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108f39061241f565b80601f016020809104026020016040519081016040528092919081815260200182805461091f9061241f565b801561096c5780601f106109415761010080835404028352916020019161096c565b820191906000526020600020905b81548152906001019060200180831161094f57829003601f168201915b5050505050905090565b60008060026000610985610ce1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3990612187565b60405180910390fd5b610a5f610a4d610ce1565b858584610a5a9190612363565b610ce9565b600191505092915050565b600080612710606484610a7d9190612309565b610a8791906122d8565b905080915050919050565b6000610aa6610a9f610ce1565b8484610eb4565b506001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b40610ce1565b73ffffffffffffffffffffffffffffffffffffffff16610b5e6108bb565b73ffffffffffffffffffffffffffffffffffffffff1614610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90612107565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90612087565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5090612167565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc0906120a7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ea791906121a7565b60405180910390a3505050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541015610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f32906120c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa290612147565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101290612047565b60405180910390fd5b600061102683610a6a565b905060006001826110379190612309565b905060006001836110489190612309565b905060006001846110599190612309565b905060008183858961106b9190612363565b6110759190612363565b61107f9190612363565b905086600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282546110d39190612363565b9250508190555080600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825461112c9190612282565b925050819055508160016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282546111a79190612282565b92505081905550600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff166112c0576006889080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff0219169083151502179055505b6112ca8984611525565b6112d48985611349565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161133191906121a7565b60405180910390a36001955050505050509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b090612127565b60405180910390fd5b6113c58260008361185e565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490508181101561144f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144690612067565b60405180910390fd5b818161145b9190612363565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555081600360008282546114b39190612363565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161151891906121a7565b60405180910390a3505050565b600081905060005b600680549050811015611858576000600160006006848154811061157a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154148061167e57508373ffffffffffffffffffffffffffffffffffffffff166006828154811061163b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561168857611845565b600060016000600684815481106116c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154905060008160035461174391906122d8565b90506000818661175391906122d8565b9050600081141561176657505050611845565b8085101561177657505050611858565b80856117829190612363565b94508060016000600687815481106117c3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825461183a9190612282565b925050819055505050505b808061185090612451565b91505061152d565b50505050565b505050565b60006118766118718461220e565b6121dd565b9050808382526020820190508285602086028201111561189557600080fd5b60005b858110156118c557816118ab888261193b565b845260208401935060208301925050600181019050611898565b5050509392505050565b60006118e26118dd8461223a565b6121dd565b9050808382526020820190508285602086028201111561190157600080fd5b60005b85811015611931578161191788826119a4565b845260208401935060208301925050600181019050611904565b5050509392505050565b60008135905061194a81612567565b92915050565b600082601f83011261196157600080fd5b8135611971848260208601611863565b91505092915050565b600082601f83011261198b57600080fd5b813561199b8482602086016118cf565b91505092915050565b6000813590506119b38161257e565b92915050565b6000602082840312156119cb57600080fd5b60006119d98482850161193b565b91505092915050565b600080604083850312156119f557600080fd5b6000611a038582860161193b565b9250506020611a148582860161193b565b9150509250929050565b600080600060608486031215611a3357600080fd5b6000611a418682870161193b565b9350506020611a528682870161193b565b9250506040611a63868287016119a4565b9150509250925092565b60008060408385031215611a8057600080fd5b6000611a8e8582860161193b565b9250506020611a9f858286016119a4565b9150509250929050565b60008060408385031215611abc57600080fd5b600083013567ffffffffffffffff811115611ad657600080fd5b611ae285828601611950565b925050602083013567ffffffffffffffff811115611aff57600080fd5b611b0b8582860161197a565b9150509250929050565b600060208284031215611b2757600080fd5b6000611b35848285016119a4565b91505092915050565b611b4781612397565b82525050565b611b56816123a9565b82525050565b6000611b6782612266565b611b718185612271565b9350611b818185602086016123ec565b611b8a81612556565b840191505092915050565b6000611ba2602383612271565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611c08602283612271565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611c6e602683612271565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611cd4602283612271565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611d3a602683612271565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611da0602883612271565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611e06602083612271565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000611e46602183612271565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611eac602583612271565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611f12602483612271565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611f78602583612271565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b611fda816123d5565b82525050565b611fe9816123df565b82525050565b60006020820190506120046000830184611b3e565b92915050565b600060208201905061201f6000830184611b4d565b92915050565b6000602082019050818103600083015261203f8184611b5c565b905092915050565b6000602082019050818103600083015261206081611b95565b9050919050565b6000602082019050818103600083015261208081611bfb565b9050919050565b600060208201905081810360008301526120a081611c61565b9050919050565b600060208201905081810360008301526120c081611cc7565b9050919050565b600060208201905081810360008301526120e081611d2d565b9050919050565b6000602082019050818103600083015261210081611d93565b9050919050565b6000602082019050818103600083015261212081611df9565b9050919050565b6000602082019050818103600083015261214081611e39565b9050919050565b6000602082019050818103600083015261216081611e9f565b9050919050565b6000602082019050818103600083015261218081611f05565b9050919050565b600060208201905081810360008301526121a081611f6b565b9050919050565b60006020820190506121bc6000830184611fd1565b92915050565b60006020820190506121d76000830184611fe0565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561220457612203612527565b5b8060405250919050565b600067ffffffffffffffff82111561222957612228612527565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561225557612254612527565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061228d826123d5565b9150612298836123d5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122cd576122cc61249a565b5b828201905092915050565b60006122e3826123d5565b91506122ee836123d5565b9250826122fe576122fd6124c9565b5b828204905092915050565b6000612314826123d5565b915061231f836123d5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123585761235761249a565b5b828202905092915050565b600061236e826123d5565b9150612379836123d5565b92508282101561238c5761238b61249a565b5b828203905092915050565b60006123a2826123b5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561240a5780820151818401526020810190506123ef565b83811115612419576000848401525b50505050565b6000600282049050600182168061243757607f821691505b6020821081141561244b5761244a6124f8565b5b50919050565b600061245c826123d5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561248f5761248e61249a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61257081612397565b811461257b57600080fd5b50565b612587816123d5565b811461259257600080fd5b5056fea264697066735822122009179a3c7d97774f2c7660c614669c292501b82cef8cc7ffc40c595add1d74ff64736f6c63430008000033

Deployed Bytecode Sourcemap

3829:6515:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4536:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5638:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4857:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8675:223;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5815:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4756:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6245:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9274:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4977:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3417:148;;;:::i;:::-;;3194:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4644:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6471:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5119:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5293:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5476:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3578:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4536:100;4590:13;4623:5;4616:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4536:100;:::o;5638:169::-;5721:4;5738:39;5747:12;:10;:12::i;:::-;5761:7;5770:6;5738:8;:39::i;:::-;5795:4;5788:11;;5638:169;;;;:::o;4857:108::-;4918:7;4945:12;;4938:19;;4857:108;:::o;8675:223::-;8775:9;8770:121;8794:9;:16;8790:1;:20;8770:121;;;8832:47;8842:10;8854:9;8864:1;8854:12;;;;;;;;;;;;;;;;;;;;;;8868:7;8876:1;8868:10;;;;;;;;;;;;;;;;;;;;;;8832:9;:47::i;:::-;;8812:3;;;;;:::i;:::-;;;;8770:121;;;;8675:223;;:::o;5815:422::-;5921:4;5938:36;5948:6;5956:9;5967:6;5938:9;:36::i;:::-;;5987:24;6014:11;:19;6026:6;6014:19;;;;;;;;;;;;;;;:33;6034:12;:10;:12::i;:::-;6014:33;;;;;;;;;;;;;;;;5987:60;;6086:6;6066:16;:26;;6058:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;6148:57;6157:6;6165:12;:10;:12::i;:::-;6198:6;6179:16;:25;;;;:::i;:::-;6148:8;:57::i;:::-;6225:4;6218:11;;;5815:422;;;;;:::o;4756:93::-;4814:5;4839:2;4832:9;;4756:93;:::o;6245:215::-;6333:4;6350:80;6359:12;:10;:12::i;:::-;6373:7;6419:10;6382:11;:25;6394:12;:10;:12::i;:::-;6382:25;;;;;;;;;;;;;;;:34;6408:7;6382:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;6350:8;:80::i;:::-;6448:4;6441:11;;6245:215;;;;:::o;9274:93::-;3340:12;:10;:12::i;:::-;3329:23;;:7;:5;:7::i;:::-;:23;;;3321:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9332:27:::1;9338:12;:10;:12::i;:::-;9352:6;9332:5;:27::i;:::-;9274:93:::0;:::o;4977:134::-;5051:7;5078:9;:18;5088:7;5078:18;;;;;;;;;;;;;;;:25;;;5071:32;;4977:134;;;:::o;3417:148::-;3340:12;:10;:12::i;:::-;3329:23;;:7;:5;:7::i;:::-;:23;;;3321:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3524:1:::1;3487:40;;3508:6;::::0;::::1;;;;;;;;3487:40;;;;;;;;;;;;3555:1;3538:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3417:148::o:0;3194:87::-;3240:7;3267:6;;;;;;;;;;;3260:13;;3194:87;:::o;4644:104::-;4700:13;4733:7;4726:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4644:104;:::o;6471:377::-;6564:4;6581:24;6608:11;:25;6620:12;:10;:12::i;:::-;6608:25;;;;;;;;;;;;;;;:34;6634:7;6608:34;;;;;;;;;;;;;;;;6581:61;;6681:15;6661:16;:35;;6653:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6749:67;6758:12;:10;:12::i;:::-;6772:7;6800:15;6781:16;:34;;;;:::i;:::-;6749:8;:67::i;:::-;6836:4;6829:11;;;6471:377;;;;:::o;5119:166::-;5180:7;5201:18;5244:5;4258:3;5222:5;:19;;;;:::i;:::-;:27;;;;:::i;:::-;5201:48;;5267:10;5260:17;;;5119:166;;;:::o;5293:175::-;5379:4;5396:42;5406:12;:10;:12::i;:::-;5420:9;5431:6;5396:9;:42::i;:::-;;5456:4;5449:11;;5293:175;;;;:::o;5476:151::-;5565:7;5592:11;:18;5604:5;5592:18;;;;;;;;;;;;;;;:27;5611:7;5592:27;;;;;;;;;;;;;;;;5585:34;;5476:151;;;;:::o;3578:244::-;3340:12;:10;:12::i;:::-;3329:23;;:7;:5;:7::i;:::-;:23;;;3321:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3687:1:::1;3667:22;;:8;:22;;;;3659:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3777:8;3748:38;;3769:6;::::0;::::1;;;;;;;;3748:38;;;;;;;;;;;;3806:8;3797:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3578:244:::0;:::o;2529:98::-;2582:7;2609:10;2602:17;;2529:98;:::o;9895:346::-;10014:1;9997:19;;:5;:19;;;;9989:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10095:1;10076:21;;:7;:21;;;;10068:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10179:6;10149:11;:18;10161:5;10149:18;;;;;;;;;;;;;;;:27;10168:7;10149:27;;;;;;;;;;;;;;;:36;;;;10217:7;10201:32;;10210:5;10201:32;;;10226:6;10201:32;;;;;;:::i;:::-;;;;;;;;9895:346;;;:::o;6856:1152::-;6952:4;7005:6;6977:9;:17;6987:6;6977:17;;;;;;;;;;;;;;;:24;;;:34;;6969:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7091:1;7073:20;;:6;:20;;;;7065:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7175:1;7154:23;;:9;:23;;;;7146:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7230:18;7251:22;7266:6;7251:14;:22::i;:::-;7230:43;;7284:20;7319:1;7307:10;:13;;;;:::i;:::-;7284:36;;7331:28;7375:1;7362:10;:14;;;;:::i;:::-;7331:45;;7387:19;7420:1;7409:10;:12;;;;:::i;:::-;7387:34;;7432:24;7506:11;7483:20;7468:12;7459:6;:21;;;;:::i;:::-;:44;;;;:::i;:::-;:58;;;;:::i;:::-;7432:85;;7558:6;7530:9;:17;7540:6;7530:17;;;;;;;;;;;;;;;:24;;;:34;;;;;;;:::i;:::-;;;;;;;;7606:16;7575:9;:20;7585:9;7575:20;;;;;;;;;;;;;;;:27;;;:47;;;;;;;:::i;:::-;;;;;;;;7664:11;7633:9;:20;7643:9;;;;;;;;;;;7633:20;;;;;;;;;;;;;;;:27;;;:42;;;;;;;:::i;:::-;;;;;;;;7691:9;:20;7701:9;7691:20;;;;;;;;;;;;;;;:27;;;;;;;;;;;;7686:139;;7734:14;7754:9;7734:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7809:4;7779:9;:20;7789:9;7779:20;;;;;;;;;;;;;;;:27;;;:34;;;;;;;;;;;;;;;;;;7686:139;7837:42;7850:6;7858:20;7837:12;:42::i;:::-;7890:27;7896:6;7904:12;7890:5;:27::i;:::-;7950:9;7933:45;;7942:6;7933:45;;;7961:16;7933:45;;;;;;:::i;:::-;;;;;;;;7996:4;7989:11;;;;;;;6856:1152;;;;;:::o;9379:508::-;9482:1;9463:21;;:7;:21;;;;9455:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9535:49;9556:7;9573:1;9577:6;9535:20;:49::i;:::-;9597:22;9622:9;:18;9632:7;9622:18;;;;;;;;;;;;;;;:25;;;9597:50;;9684:6;9666:14;:24;;9658:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9785:6;9768:14;:23;;;;:::i;:::-;9740:9;:18;9750:7;9740:18;;;;;;;;;;;;;;;:25;;:51;;;;9818:6;9802:12;;:22;;;;;;;:::i;:::-;;;;;;;;9868:1;9842:37;;9851:7;9842:37;;;9872:6;9842:37;;;;;;:::i;:::-;;;;;;;;9379:508;;;:::o;8016:650::-;8088:17;8108:6;8088:26;;8128:9;8123:536;8147:14;:21;;;;8143:1;:25;8123:536;;;8229:1;8190:9;:28;8200:14;8215:1;8200:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8190:28;;;;;;;;;;;;;;;:35;;;:40;:71;;;;8255:6;8234:27;;:14;8249:1;8234:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;8190:71;8186:85;;;8263:8;;8186:85;8292:19;8314:9;:28;8324:14;8339:1;8324:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8314:28;;;;;;;;;;;;;;;:35;;;8292:57;;8360:23;8401:11;8386:12;;:26;;;;:::i;:::-;8360:52;;8423:17;8452:15;8443:6;:24;;;;:::i;:::-;8423:44;;8495:1;8482:9;:14;8478:28;;;8498:8;;;;;8478:28;8533:9;8521;:21;8517:32;;;8544:5;;;;;8517:32;8581:9;8568:22;;;;;:::i;:::-;;;8640:9;8601;:28;8611:14;8626:1;8611:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8601:28;;;;;;;;;;;;;;;:35;;;:48;;;;;;;:::i;:::-;;;;;;;;8123:536;;;;8170:3;;;;;:::i;:::-;;;;8123:536;;;;8016:650;;;:::o;10249:92::-;;;;:::o;24:622:1:-;;145:80;160:64;217:6;160:64;:::i;:::-;145:80;:::i;:::-;136:89;;245:5;273:6;266:5;259:21;299:4;292:5;288:16;281:23;;324:6;374:3;366:4;358:6;354:17;349:3;345:27;342:36;339:2;;;391:1;388;381:12;339:2;419:1;404:236;429:6;426:1;423:13;404:236;;;496:3;524:37;557:3;545:10;524:37;:::i;:::-;519:3;512:50;591:4;586:3;582:14;575:21;;625:4;620:3;616:14;609:21;;464:176;451:1;448;444:9;439:14;;404:236;;;408:14;126:520;;;;;;;:::o;669:622::-;;790:80;805:64;862:6;805:64;:::i;:::-;790:80;:::i;:::-;781:89;;890:5;918:6;911:5;904:21;944:4;937:5;933:16;926:23;;969:6;1019:3;1011:4;1003:6;999:17;994:3;990:27;987:36;984:2;;;1036:1;1033;1026:12;984:2;1064:1;1049:236;1074:6;1071:1;1068:13;1049:236;;;1141:3;1169:37;1202:3;1190:10;1169:37;:::i;:::-;1164:3;1157:50;1236:4;1231:3;1227:14;1220:21;;1270:4;1265:3;1261:14;1254:21;;1109:176;1096:1;1093;1089:9;1084:14;;1049:236;;;1053:14;771:520;;;;;;;:::o;1297:139::-;;1381:6;1368:20;1359:29;;1397:33;1424:5;1397:33;:::i;:::-;1349:87;;;;:::o;1459:303::-;;1579:3;1572:4;1564:6;1560:17;1556:27;1546:2;;1597:1;1594;1587:12;1546:2;1637:6;1624:20;1662:94;1752:3;1744:6;1737:4;1729:6;1725:17;1662:94;:::i;:::-;1653:103;;1536:226;;;;;:::o;1785:303::-;;1905:3;1898:4;1890:6;1886:17;1882:27;1872:2;;1923:1;1920;1913:12;1872:2;1963:6;1950:20;1988:94;2078:3;2070:6;2063:4;2055:6;2051:17;1988:94;:::i;:::-;1979:103;;1862:226;;;;;:::o;2094:139::-;;2178:6;2165:20;2156:29;;2194:33;2221:5;2194:33;:::i;:::-;2146:87;;;;:::o;2239:262::-;;2347:2;2335:9;2326:7;2322:23;2318:32;2315:2;;;2363:1;2360;2353:12;2315:2;2406:1;2431:53;2476:7;2467:6;2456:9;2452:22;2431:53;:::i;:::-;2421:63;;2377:117;2305:196;;;;:::o;2507:407::-;;;2632:2;2620:9;2611:7;2607:23;2603:32;2600:2;;;2648:1;2645;2638:12;2600:2;2691:1;2716:53;2761:7;2752:6;2741:9;2737:22;2716:53;:::i;:::-;2706:63;;2662:117;2818:2;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2789:118;2590:324;;;;;:::o;2920:552::-;;;;3062:2;3050:9;3041:7;3037:23;3033:32;3030:2;;;3078:1;3075;3068:12;3030:2;3121:1;3146:53;3191:7;3182:6;3171:9;3167:22;3146:53;:::i;:::-;3136:63;;3092:117;3248:2;3274:53;3319:7;3310:6;3299:9;3295:22;3274:53;:::i;:::-;3264:63;;3219:118;3376:2;3402:53;3447:7;3438:6;3427:9;3423:22;3402:53;:::i;:::-;3392:63;;3347:118;3020:452;;;;;:::o;3478:407::-;;;3603:2;3591:9;3582:7;3578:23;3574:32;3571:2;;;3619:1;3616;3609:12;3571:2;3662:1;3687:53;3732:7;3723:6;3712:9;3708:22;3687:53;:::i;:::-;3677:63;;3633:117;3789:2;3815:53;3860:7;3851:6;3840:9;3836:22;3815:53;:::i;:::-;3805:63;;3760:118;3561:324;;;;;:::o;3891:693::-;;;4066:2;4054:9;4045:7;4041:23;4037:32;4034:2;;;4082:1;4079;4072:12;4034:2;4153:1;4142:9;4138:17;4125:31;4183:18;4175:6;4172:30;4169:2;;;4215:1;4212;4205:12;4169:2;4243:78;4313:7;4304:6;4293:9;4289:22;4243:78;:::i;:::-;4233:88;;4096:235;4398:2;4387:9;4383:18;4370:32;4429:18;4421:6;4418:30;4415:2;;;4461:1;4458;4451:12;4415:2;4489:78;4559:7;4550:6;4539:9;4535:22;4489:78;:::i;:::-;4479:88;;4341:236;4024:560;;;;;:::o;4590:262::-;;4698:2;4686:9;4677:7;4673:23;4669:32;4666:2;;;4714:1;4711;4704:12;4666:2;4757:1;4782:53;4827:7;4818:6;4807:9;4803:22;4782:53;:::i;:::-;4772:63;;4728:117;4656:196;;;;:::o;4858:118::-;4945:24;4963:5;4945:24;:::i;:::-;4940:3;4933:37;4923:53;;:::o;4982:109::-;5063:21;5078:5;5063:21;:::i;:::-;5058:3;5051:34;5041:50;;:::o;5097:364::-;;5213:39;5246:5;5213:39;:::i;:::-;5268:71;5332:6;5327:3;5268:71;:::i;:::-;5261:78;;5348:52;5393:6;5388:3;5381:4;5374:5;5370:16;5348:52;:::i;:::-;5425:29;5447:6;5425:29;:::i;:::-;5420:3;5416:39;5409:46;;5189:272;;;;;:::o;5467:367::-;;5630:67;5694:2;5689:3;5630:67;:::i;:::-;5623:74;;5727:34;5723:1;5718:3;5714:11;5707:55;5793:5;5788:2;5783:3;5779:12;5772:27;5825:2;5820:3;5816:12;5809:19;;5613:221;;;:::o;5840:366::-;;6003:67;6067:2;6062:3;6003:67;:::i;:::-;5996:74;;6100:34;6096:1;6091:3;6087:11;6080:55;6166:4;6161:2;6156:3;6152:12;6145:26;6197:2;6192:3;6188:12;6181:19;;5986:220;;;:::o;6212:370::-;;6375:67;6439:2;6434:3;6375:67;:::i;:::-;6368:74;;6472:34;6468:1;6463:3;6459:11;6452:55;6538:8;6533:2;6528:3;6524:12;6517:30;6573:2;6568:3;6564:12;6557:19;;6358:224;;;:::o;6588:366::-;;6751:67;6815:2;6810:3;6751:67;:::i;:::-;6744:74;;6848:34;6844:1;6839:3;6835:11;6828:55;6914:4;6909:2;6904:3;6900:12;6893:26;6945:2;6940:3;6936:12;6929:19;;6734:220;;;:::o;6960:370::-;;7123:67;7187:2;7182:3;7123:67;:::i;:::-;7116:74;;7220:34;7216:1;7211:3;7207:11;7200:55;7286:8;7281:2;7276:3;7272:12;7265:30;7321:2;7316:3;7312:12;7305:19;;7106:224;;;:::o;7336:372::-;;7499:67;7563:2;7558:3;7499:67;:::i;:::-;7492:74;;7596:34;7592:1;7587:3;7583:11;7576:55;7662:10;7657:2;7652:3;7648:12;7641:32;7699:2;7694:3;7690:12;7683:19;;7482:226;;;:::o;7714:330::-;;7877:67;7941:2;7936:3;7877:67;:::i;:::-;7870:74;;7974:34;7970:1;7965:3;7961:11;7954:55;8035:2;8030:3;8026:12;8019:19;;7860:184;;;:::o;8050:365::-;;8213:67;8277:2;8272:3;8213:67;:::i;:::-;8206:74;;8310:34;8306:1;8301:3;8297:11;8290:55;8376:3;8371:2;8366:3;8362:12;8355:25;8406:2;8401:3;8397:12;8390:19;;8196:219;;;:::o;8421:369::-;;8584:67;8648:2;8643:3;8584:67;:::i;:::-;8577:74;;8681:34;8677:1;8672:3;8668:11;8661:55;8747:7;8742:2;8737:3;8733:12;8726:29;8781:2;8776:3;8772:12;8765:19;;8567:223;;;:::o;8796:368::-;;8959:67;9023:2;9018:3;8959:67;:::i;:::-;8952:74;;9056:34;9052:1;9047:3;9043:11;9036:55;9122:6;9117:2;9112:3;9108:12;9101:28;9155:2;9150:3;9146:12;9139:19;;8942:222;;;:::o;9170:369::-;;9333:67;9397:2;9392:3;9333:67;:::i;:::-;9326:74;;9430:34;9426:1;9421:3;9417:11;9410:55;9496:7;9491:2;9486:3;9482:12;9475:29;9530:2;9525:3;9521:12;9514:19;;9316:223;;;:::o;9545:118::-;9632:24;9650:5;9632:24;:::i;:::-;9627:3;9620:37;9610:53;;:::o;9669:112::-;9752:22;9768:5;9752:22;:::i;:::-;9747:3;9740:35;9730:51;;:::o;9787:222::-;;9918:2;9907:9;9903:18;9895:26;;9931:71;9999:1;9988:9;9984:17;9975:6;9931:71;:::i;:::-;9885:124;;;;:::o;10015:210::-;;10140:2;10129:9;10125:18;10117:26;;10153:65;10215:1;10204:9;10200:17;10191:6;10153:65;:::i;:::-;10107:118;;;;:::o;10231:313::-;;10382:2;10371:9;10367:18;10359:26;;10431:9;10425:4;10421:20;10417:1;10406:9;10402:17;10395:47;10459:78;10532:4;10523:6;10459:78;:::i;:::-;10451:86;;10349:195;;;;:::o;10550:419::-;;10754:2;10743:9;10739:18;10731:26;;10803:9;10797:4;10793:20;10789:1;10778:9;10774:17;10767:47;10831:131;10957:4;10831:131;:::i;:::-;10823:139;;10721:248;;;:::o;10975:419::-;;11179:2;11168:9;11164:18;11156:26;;11228:9;11222:4;11218:20;11214:1;11203:9;11199:17;11192:47;11256:131;11382:4;11256:131;:::i;:::-;11248:139;;11146:248;;;:::o;11400:419::-;;11604:2;11593:9;11589:18;11581:26;;11653:9;11647:4;11643:20;11639:1;11628:9;11624:17;11617:47;11681:131;11807:4;11681:131;:::i;:::-;11673:139;;11571:248;;;:::o;11825:419::-;;12029:2;12018:9;12014:18;12006:26;;12078:9;12072:4;12068:20;12064:1;12053:9;12049:17;12042:47;12106:131;12232:4;12106:131;:::i;:::-;12098:139;;11996:248;;;:::o;12250:419::-;;12454:2;12443:9;12439:18;12431:26;;12503:9;12497:4;12493:20;12489:1;12478:9;12474:17;12467:47;12531:131;12657:4;12531:131;:::i;:::-;12523:139;;12421:248;;;:::o;12675:419::-;;12879:2;12868:9;12864:18;12856:26;;12928:9;12922:4;12918:20;12914:1;12903:9;12899:17;12892:47;12956:131;13082:4;12956:131;:::i;:::-;12948:139;;12846:248;;;:::o;13100:419::-;;13304:2;13293:9;13289:18;13281:26;;13353:9;13347:4;13343:20;13339:1;13328:9;13324:17;13317:47;13381:131;13507:4;13381:131;:::i;:::-;13373:139;;13271:248;;;:::o;13525:419::-;;13729:2;13718:9;13714:18;13706:26;;13778:9;13772:4;13768:20;13764:1;13753:9;13749:17;13742:47;13806:131;13932:4;13806:131;:::i;:::-;13798:139;;13696:248;;;:::o;13950:419::-;;14154:2;14143:9;14139:18;14131:26;;14203:9;14197:4;14193:20;14189:1;14178:9;14174:17;14167:47;14231:131;14357:4;14231:131;:::i;:::-;14223:139;;14121:248;;;:::o;14375:419::-;;14579:2;14568:9;14564:18;14556:26;;14628:9;14622:4;14618:20;14614:1;14603:9;14599:17;14592:47;14656:131;14782:4;14656:131;:::i;:::-;14648:139;;14546:248;;;:::o;14800:419::-;;15004:2;14993:9;14989:18;14981:26;;15053:9;15047:4;15043:20;15039:1;15028:9;15024:17;15017:47;15081:131;15207:4;15081:131;:::i;:::-;15073:139;;14971:248;;;:::o;15225:222::-;;15356:2;15345:9;15341:18;15333:26;;15369:71;15437:1;15426:9;15422:17;15413:6;15369:71;:::i;:::-;15323:124;;;;:::o;15453:214::-;;15580:2;15569:9;15565:18;15557:26;;15593:67;15657:1;15646:9;15642:17;15633:6;15593:67;:::i;:::-;15547:120;;;;:::o;15673:283::-;;15739:2;15733:9;15723:19;;15781:4;15773:6;15769:17;15888:6;15876:10;15873:22;15852:18;15840:10;15837:34;15834:62;15831:2;;;15899:18;;:::i;:::-;15831:2;15939:10;15935:2;15928:22;15713:243;;;;:::o;15962:311::-;;16129:18;16121:6;16118:30;16115:2;;;16151:18;;:::i;:::-;16115:2;16201:4;16193:6;16189:17;16181:25;;16261:4;16255;16251:15;16243:23;;16044:229;;;:::o;16279:311::-;;16446:18;16438:6;16435:30;16432:2;;;16468:18;;:::i;:::-;16432:2;16518:4;16510:6;16506:17;16498:25;;16578:4;16572;16568:15;16560:23;;16361:229;;;:::o;16596:99::-;;16682:5;16676:12;16666:22;;16655:40;;;:::o;16701:169::-;;16819:6;16814:3;16807:19;16859:4;16854:3;16850:14;16835:29;;16797:73;;;;:::o;16876:305::-;;16935:20;16953:1;16935:20;:::i;:::-;16930:25;;16969:20;16987:1;16969:20;:::i;:::-;16964:25;;17123:1;17055:66;17051:74;17048:1;17045:81;17042:2;;;17129:18;;:::i;:::-;17042:2;17173:1;17170;17166:9;17159:16;;16920:261;;;;:::o;17187:185::-;;17244:20;17262:1;17244:20;:::i;:::-;17239:25;;17278:20;17296:1;17278:20;:::i;:::-;17273:25;;17317:1;17307:2;;17322:18;;:::i;:::-;17307:2;17364:1;17361;17357:9;17352:14;;17229:143;;;;:::o;17378:348::-;;17441:20;17459:1;17441:20;:::i;:::-;17436:25;;17475:20;17493:1;17475:20;:::i;:::-;17470:25;;17663:1;17595:66;17591:74;17588:1;17585:81;17580:1;17573:9;17566:17;17562:105;17559:2;;;17670:18;;:::i;:::-;17559:2;17718:1;17715;17711:9;17700:20;;17426:300;;;;:::o;17732:191::-;;17792:20;17810:1;17792:20;:::i;:::-;17787:25;;17826:20;17844:1;17826:20;:::i;:::-;17821:25;;17865:1;17862;17859:8;17856:2;;;17870:18;;:::i;:::-;17856:2;17915:1;17912;17908:9;17900:17;;17777:146;;;;:::o;17929:96::-;;17995:24;18013:5;17995:24;:::i;:::-;17984:35;;17974:51;;;:::o;18031:90::-;;18108:5;18101:13;18094:21;18083:32;;18073:48;;;:::o;18127:126::-;;18204:42;18197:5;18193:54;18182:65;;18172:81;;;:::o;18259:77::-;;18325:5;18314:16;;18304:32;;;:::o;18342:86::-;;18417:4;18410:5;18406:16;18395:27;;18385:43;;;:::o;18434:307::-;18502:1;18512:113;18526:6;18523:1;18520:13;18512:113;;;18611:1;18606:3;18602:11;18596:18;18592:1;18587:3;18583:11;18576:39;18548:2;18545:1;18541:10;18536:15;;18512:113;;;18643:6;18640:1;18637:13;18634:2;;;18723:1;18714:6;18709:3;18705:16;18698:27;18634:2;18483:258;;;;:::o;18747:320::-;;18828:1;18822:4;18818:12;18808:22;;18875:1;18869:4;18865:12;18896:18;18886:2;;18952:4;18944:6;18940:17;18930:27;;18886:2;19014;19006:6;19003:14;18983:18;18980:38;18977:2;;;19033:18;;:::i;:::-;18977:2;18798:269;;;;:::o;19073:233::-;;19135:24;19153:5;19135:24;:::i;:::-;19126:33;;19181:66;19174:5;19171:77;19168:2;;;19251:18;;:::i;:::-;19168:2;19298:1;19291:5;19287:13;19280:20;;19116:190;;;:::o;19312:180::-;19360:77;19357:1;19350:88;19457:4;19454:1;19447:15;19481:4;19478:1;19471:15;19498:180;19546:77;19543:1;19536:88;19643:4;19640:1;19633:15;19667:4;19664:1;19657:15;19684:180;19732:77;19729:1;19722:88;19829:4;19826:1;19819:15;19853:4;19850:1;19843:15;19870:180;19918:77;19915:1;19908:88;20015:4;20012:1;20005:15;20039:4;20036:1;20029:15;20056:102;;20148:2;20144:7;20139:2;20132:5;20128:14;20124:28;20114:38;;20104:54;;;:::o;20164:122::-;20237:24;20255:5;20237:24;:::i;:::-;20230:5;20227:35;20217:2;;20276:1;20273;20266:12;20217:2;20207:79;:::o;20292:122::-;20365:24;20383:5;20365:24;:::i;:::-;20358:5;20355:35;20345:2;;20404:1;20401;20394:12;20345:2;20335:79;:::o

Swarm Source

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