ETH Price: $3,102.90 (+1.13%)
Gas: 10 Gwei

Token

FvckFiat (FF)
 

Overview

Max Total Supply

1,000,000,000,000 FF

Holders

319

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
20,380,718.735891834 FF

Value
$0.00
0x1ba14161ba08b03787321b79b70e3cb9ce642116
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:
FF

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : ff.sol
/**

                www.FvckFiat.com

Only those who succesfully answer the questions may join us.


*/


// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view 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);
    }

}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract FF is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "FvckFiat";
    string private constant _symbol = "FF";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0x37a4D6A723e080b4E99Ddc2eA8F1B2F0e1f7EE67);
        _feeAddrWallet2 = payable(0x37a4D6A723e080b4E99Ddc2eA8F1B2F0e1f7EE67);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal);
    }

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

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

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _feeAddr1 = 1;
        _feeAddr2 = 1;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 1;
                _feeAddr2 = 1;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 1e10 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d9190620004ed565b6000196200002c919062000554565b6008556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff021916908315150217905550683635c9adc5dea000006010553480156200009a57600080fd5b506000620000ad6200048360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507337a4d6a723e080b4e99ddc2ea8f1b2f0e1f7ee67600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507337a4d6a723e080b4e99ddc2ea8f1b2f0e1f7ee67600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600260006200020c6200048360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002606200048b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200040d6200048360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620004759190620005a0565b60405180910390a3620005bd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620004fa82620004b4565b91506200050783620004b4565b9250826200051a5762000519620004be565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200056182620004b4565b91506200056e83620004b4565b92508282101562000584576200058362000525565b5b828203905092915050565b6200059a81620004b4565b82525050565b6000602082019050620005b760008301846200058f565b92915050565b61331680620005cd6000396000f3fe6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb1461031c578063b515566a14610359578063c3c8cd8014610382578063c9567bf914610399578063dd62ed3e146103b057610109565b806370a0823114610272578063715018a6146102af5780638da5cb5b146102c657806395d89b41146102f157610109565b8063273123b7116100d1578063273123b7146101de578063313ce567146102075780635932ead1146102325780636fc3eaec1461025b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103ed565b604051610130919061241b565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906124e5565b61042a565b60405161016d9190612540565b60405180910390f35b34801561018257600080fd5b5061018b610448565b604051610198919061256a565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612585565b610459565b6040516101d59190612540565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906125d8565b610532565b005b34801561021357600080fd5b5061021c610622565b6040516102299190612621565b60405180910390f35b34801561023e57600080fd5b5061025960048036038101906102549190612668565b61062b565b005b34801561026757600080fd5b506102706106dd565b005b34801561027e57600080fd5b50610299600480360381019061029491906125d8565b61074f565b6040516102a6919061256a565b60405180910390f35b3480156102bb57600080fd5b506102c46107a0565b005b3480156102d257600080fd5b506102db6108f3565b6040516102e891906126a4565b60405180910390f35b3480156102fd57600080fd5b5061030661091c565b604051610313919061241b565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e91906124e5565b610959565b6040516103509190612540565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b9190612807565b610977565b005b34801561038e57600080fd5b50610397610aa1565b005b3480156103a557600080fd5b506103ae610b1b565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612850565b61102c565b6040516103e4919061256a565b60405180910390f35b60606040518060400160405280600881526020017f4676636b46696174000000000000000000000000000000000000000000000000815250905090565b600061043e6104376110b3565b84846110bb565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610466848484611284565b610527846104726110b3565b610522856040518060600160405280602881526020016132b960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d86110b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118879092919063ffffffff16565b6110bb565b600190509392505050565b61053a6110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105be906128dc565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6106336110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b7906128dc565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071e6110b3565b73ffffffffffffffffffffffffffffffffffffffff161461073e57600080fd5b600047905061074c816118eb565b50565b6000610799600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e6565b9050919050565b6107a86110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082c906128dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f4646000000000000000000000000000000000000000000000000000000000000815250905090565b600061096d6109666110b3565b8484611284565b6001905092915050565b61097f6110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a03906128dc565b60405180910390fd5b60005b8151811015610a9d57600160066000848481518110610a3157610a306128fc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a959061295a565b915050610a0f565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ae26110b3565b73ffffffffffffffffffffffffffffffffffffffff1614610b0257600080fd5b6000610b0d3061074f565b9050610b1881611a54565b50565b610b236110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba7906128dc565b60405180910390fd5b600f60149054906101000a900460ff1615610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7906129ee565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c9030600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006110bb565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190612a23565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190612a23565b6040518363ffffffff1660e01b8152600401610da7929190612a50565b6020604051808303816000875af1158015610dc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dea9190612a23565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e733061074f565b600080610e7e6108f3565b426040518863ffffffff1660e01b8152600401610ea096959493929190612abe565b60606040518083038185885af1158015610ebe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ee39190612b34565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550678ac7230489e800006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fe5929190612b87565b6020604051808303816000875af1158015611004573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110289190612bc5565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361112a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112190612c64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119090612cf6565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611277919061256a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612d88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135990612e1a565b60405180910390fd5b600081116113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c90612eac565b60405180910390fd5b6001600a819055506001600b819055506113bd6108f3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561142b57506113fb6108f3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561187757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114d45750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114dd57600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115885750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115de5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115f65750600f60179054906101000a900460ff165b156116a65760105481111561160a57600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061165557600080fd5b601e426116629190612ecc565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117515750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117a75750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117bd576001600a819055506001600b819055505b60006117c83061074f565b9050600f60159054906101000a900460ff161580156118355750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561184d5750600f60169054906101000a900460ff165b156118755761185b81611a54565b6000479050600081111561187357611872476118eb565b5b505b505b611882838383611ccd565b505050565b60008383111582906118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c6919061241b565b60405180910390fd5b50600083856118de9190612f22565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61193b600284611cdd90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611966573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6119b7600284611cdd90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156119e2573d6000803e3d6000fd5b5050565b6000600854821115611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612fc8565b60405180910390fd5b6000611a37611d27565b9050611a4c8184611cdd90919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a8c57611a8b6126c4565b5b604051908082528060200260200182016040528015611aba5781602001602082028036833780820191505090505b5090503081600081518110611ad257611ad16128fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9d9190612a23565b81600181518110611bb157611bb06128fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c1830600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bb565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c7c9594939291906130a6565b600060405180830381600087803b158015611c9657600080fd5b505af1158015611caa573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611cd8838383611d52565b505050565b6000611d1f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f1d565b905092915050565b6000806000611d34611f80565b91509150611d4b8183611cdd90919063ffffffff16565b9250505090565b600080600080600080611d6487611fe2565b955095509550955095509550611dc286600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204a90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5785600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ea3816120f2565b611ead84836121af565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f0a919061256a565b60405180910390a3505050505050505050565b60008083118290611f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5b919061241b565b60405180910390fd5b5060008385611f73919061312f565b9050809150509392505050565b600080600060085490506000683635c9adc5dea000009050611fb6683635c9adc5dea00000600854611cdd90919063ffffffff16565b821015611fd557600854683635c9adc5dea00000935093505050611fde565b81819350935050505b9091565b6000806000806000806000806000611fff8a600a54600b546121e9565b925092509250600061200f611d27565b905060008060006120228e87878761227f565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061208c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611887565b905092915050565b60008082846120a39190612ecc565b9050838110156120e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120df906131ac565b60405180910390fd5b8091505092915050565b60006120fc611d27565b90506000612113828461230890919063ffffffff16565b905061216781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6121c48260085461204a90919063ffffffff16565b6008819055506121df8160095461209490919063ffffffff16565b6009819055505050565b6000806000806122156064612207888a61230890919063ffffffff16565b611cdd90919063ffffffff16565b9050600061223f6064612231888b61230890919063ffffffff16565b611cdd90919063ffffffff16565b905060006122688261225a858c61204a90919063ffffffff16565b61204a90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612298858961230890919063ffffffff16565b905060006122af868961230890919063ffffffff16565b905060006122c6878961230890919063ffffffff16565b905060006122ef826122e1858761204a90919063ffffffff16565b61204a90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080830361231a576000905061237c565b6000828461232891906131cc565b9050828482612337919061312f565b14612377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236e90613298565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123bc5780820151818401526020810190506123a1565b838111156123cb576000848401525b50505050565b6000601f19601f8301169050919050565b60006123ed82612382565b6123f7818561238d565b935061240781856020860161239e565b612410816123d1565b840191505092915050565b6000602082019050818103600083015261243581846123e2565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061247c82612451565b9050919050565b61248c81612471565b811461249757600080fd5b50565b6000813590506124a981612483565b92915050565b6000819050919050565b6124c2816124af565b81146124cd57600080fd5b50565b6000813590506124df816124b9565b92915050565b600080604083850312156124fc576124fb612447565b5b600061250a8582860161249a565b925050602061251b858286016124d0565b9150509250929050565b60008115159050919050565b61253a81612525565b82525050565b60006020820190506125556000830184612531565b92915050565b612564816124af565b82525050565b600060208201905061257f600083018461255b565b92915050565b60008060006060848603121561259e5761259d612447565b5b60006125ac8682870161249a565b93505060206125bd8682870161249a565b92505060406125ce868287016124d0565b9150509250925092565b6000602082840312156125ee576125ed612447565b5b60006125fc8482850161249a565b91505092915050565b600060ff82169050919050565b61261b81612605565b82525050565b60006020820190506126366000830184612612565b92915050565b61264581612525565b811461265057600080fd5b50565b6000813590506126628161263c565b92915050565b60006020828403121561267e5761267d612447565b5b600061268c84828501612653565b91505092915050565b61269e81612471565b82525050565b60006020820190506126b96000830184612695565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6126fc826123d1565b810181811067ffffffffffffffff8211171561271b5761271a6126c4565b5b80604052505050565b600061272e61243d565b905061273a82826126f3565b919050565b600067ffffffffffffffff82111561275a576127596126c4565b5b602082029050602081019050919050565b600080fd5b600061278361277e8461273f565b612724565b905080838252602082019050602084028301858111156127a6576127a561276b565b5b835b818110156127cf57806127bb888261249a565b8452602084019350506020810190506127a8565b5050509392505050565b600082601f8301126127ee576127ed6126bf565b5b81356127fe848260208601612770565b91505092915050565b60006020828403121561281d5761281c612447565b5b600082013567ffffffffffffffff81111561283b5761283a61244c565b5b612847848285016127d9565b91505092915050565b6000806040838503121561286757612866612447565b5b60006128758582860161249a565b92505060206128868582860161249a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128c660208361238d565b91506128d182612890565b602082019050919050565b600060208201905081810360008301526128f5816128b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612965826124af565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129975761299661292b565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006129d860178361238d565b91506129e3826129a2565b602082019050919050565b60006020820190508181036000830152612a07816129cb565b9050919050565b600081519050612a1d81612483565b92915050565b600060208284031215612a3957612a38612447565b5b6000612a4784828501612a0e565b91505092915050565b6000604082019050612a656000830185612695565b612a726020830184612695565b9392505050565b6000819050919050565b6000819050919050565b6000612aa8612aa3612a9e84612a79565b612a83565b6124af565b9050919050565b612ab881612a8d565b82525050565b600060c082019050612ad36000830189612695565b612ae0602083018861255b565b612aed6040830187612aaf565b612afa6060830186612aaf565b612b076080830185612695565b612b1460a083018461255b565b979650505050505050565b600081519050612b2e816124b9565b92915050565b600080600060608486031215612b4d57612b4c612447565b5b6000612b5b86828701612b1f565b9350506020612b6c86828701612b1f565b9250506040612b7d86828701612b1f565b9150509250925092565b6000604082019050612b9c6000830185612695565b612ba9602083018461255b565b9392505050565b600081519050612bbf8161263c565b92915050565b600060208284031215612bdb57612bda612447565b5b6000612be984828501612bb0565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c4e60248361238d565b9150612c5982612bf2565b604082019050919050565b60006020820190508181036000830152612c7d81612c41565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ce060228361238d565b9150612ceb82612c84565b604082019050919050565b60006020820190508181036000830152612d0f81612cd3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d7260258361238d565b9150612d7d82612d16565b604082019050919050565b60006020820190508181036000830152612da181612d65565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612e0460238361238d565b9150612e0f82612da8565b604082019050919050565b60006020820190508181036000830152612e3381612df7565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e9660298361238d565b9150612ea182612e3a565b604082019050919050565b60006020820190508181036000830152612ec581612e89565b9050919050565b6000612ed7826124af565b9150612ee2836124af565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f1757612f1661292b565b5b828201905092915050565b6000612f2d826124af565b9150612f38836124af565b925082821015612f4b57612f4a61292b565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612fb2602a8361238d565b9150612fbd82612f56565b604082019050919050565b60006020820190508181036000830152612fe181612fa5565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61301d81612471565b82525050565b600061302f8383613014565b60208301905092915050565b6000602082019050919050565b600061305382612fe8565b61305d8185612ff3565b935061306883613004565b8060005b838110156130995781516130808882613023565b975061308b8361303b565b92505060018101905061306c565b5085935050505092915050565b600060a0820190506130bb600083018861255b565b6130c86020830187612aaf565b81810360408301526130da8186613048565b90506130e96060830185612695565b6130f6608083018461255b565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061313a826124af565b9150613145836124af565b92508261315557613154613100565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613196601b8361238d565b91506131a182613160565b602082019050919050565b600060208201905081810360008301526131c581613189565b9050919050565b60006131d7826124af565b91506131e2836124af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561321b5761321a61292b565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061328260218361238d565b915061328d82613226565b604082019050919050565b600060208201905081810360008301526132b181613275565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220692d30ba5300f2f2cd120b0b7a1d0679c6eac47b3d10c3f1fce3ddb2f6099aa064736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb1461031c578063b515566a14610359578063c3c8cd8014610382578063c9567bf914610399578063dd62ed3e146103b057610109565b806370a0823114610272578063715018a6146102af5780638da5cb5b146102c657806395d89b41146102f157610109565b8063273123b7116100d1578063273123b7146101de578063313ce567146102075780635932ead1146102325780636fc3eaec1461025b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103ed565b604051610130919061241b565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906124e5565b61042a565b60405161016d9190612540565b60405180910390f35b34801561018257600080fd5b5061018b610448565b604051610198919061256a565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612585565b610459565b6040516101d59190612540565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906125d8565b610532565b005b34801561021357600080fd5b5061021c610622565b6040516102299190612621565b60405180910390f35b34801561023e57600080fd5b5061025960048036038101906102549190612668565b61062b565b005b34801561026757600080fd5b506102706106dd565b005b34801561027e57600080fd5b50610299600480360381019061029491906125d8565b61074f565b6040516102a6919061256a565b60405180910390f35b3480156102bb57600080fd5b506102c46107a0565b005b3480156102d257600080fd5b506102db6108f3565b6040516102e891906126a4565b60405180910390f35b3480156102fd57600080fd5b5061030661091c565b604051610313919061241b565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e91906124e5565b610959565b6040516103509190612540565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b9190612807565b610977565b005b34801561038e57600080fd5b50610397610aa1565b005b3480156103a557600080fd5b506103ae610b1b565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612850565b61102c565b6040516103e4919061256a565b60405180910390f35b60606040518060400160405280600881526020017f4676636b46696174000000000000000000000000000000000000000000000000815250905090565b600061043e6104376110b3565b84846110bb565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610466848484611284565b610527846104726110b3565b610522856040518060600160405280602881526020016132b960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d86110b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118879092919063ffffffff16565b6110bb565b600190509392505050565b61053a6110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105be906128dc565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6106336110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b7906128dc565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071e6110b3565b73ffffffffffffffffffffffffffffffffffffffff161461073e57600080fd5b600047905061074c816118eb565b50565b6000610799600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e6565b9050919050565b6107a86110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082c906128dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f4646000000000000000000000000000000000000000000000000000000000000815250905090565b600061096d6109666110b3565b8484611284565b6001905092915050565b61097f6110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a03906128dc565b60405180910390fd5b60005b8151811015610a9d57600160066000848481518110610a3157610a306128fc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a959061295a565b915050610a0f565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ae26110b3565b73ffffffffffffffffffffffffffffffffffffffff1614610b0257600080fd5b6000610b0d3061074f565b9050610b1881611a54565b50565b610b236110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba7906128dc565b60405180910390fd5b600f60149054906101000a900460ff1615610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7906129ee565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c9030600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006110bb565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190612a23565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190612a23565b6040518363ffffffff1660e01b8152600401610da7929190612a50565b6020604051808303816000875af1158015610dc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dea9190612a23565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e733061074f565b600080610e7e6108f3565b426040518863ffffffff1660e01b8152600401610ea096959493929190612abe565b60606040518083038185885af1158015610ebe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ee39190612b34565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550678ac7230489e800006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fe5929190612b87565b6020604051808303816000875af1158015611004573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110289190612bc5565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361112a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112190612c64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119090612cf6565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611277919061256a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612d88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135990612e1a565b60405180910390fd5b600081116113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c90612eac565b60405180910390fd5b6001600a819055506001600b819055506113bd6108f3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561142b57506113fb6108f3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561187757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114d45750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114dd57600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115885750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115de5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115f65750600f60179054906101000a900460ff165b156116a65760105481111561160a57600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061165557600080fd5b601e426116629190612ecc565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117515750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117a75750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117bd576001600a819055506001600b819055505b60006117c83061074f565b9050600f60159054906101000a900460ff161580156118355750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561184d5750600f60169054906101000a900460ff165b156118755761185b81611a54565b6000479050600081111561187357611872476118eb565b5b505b505b611882838383611ccd565b505050565b60008383111582906118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c6919061241b565b60405180910390fd5b50600083856118de9190612f22565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61193b600284611cdd90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611966573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6119b7600284611cdd90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156119e2573d6000803e3d6000fd5b5050565b6000600854821115611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612fc8565b60405180910390fd5b6000611a37611d27565b9050611a4c8184611cdd90919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a8c57611a8b6126c4565b5b604051908082528060200260200182016040528015611aba5781602001602082028036833780820191505090505b5090503081600081518110611ad257611ad16128fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9d9190612a23565b81600181518110611bb157611bb06128fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c1830600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bb565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c7c9594939291906130a6565b600060405180830381600087803b158015611c9657600080fd5b505af1158015611caa573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611cd8838383611d52565b505050565b6000611d1f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f1d565b905092915050565b6000806000611d34611f80565b91509150611d4b8183611cdd90919063ffffffff16565b9250505090565b600080600080600080611d6487611fe2565b955095509550955095509550611dc286600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204a90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5785600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ea3816120f2565b611ead84836121af565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f0a919061256a565b60405180910390a3505050505050505050565b60008083118290611f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5b919061241b565b60405180910390fd5b5060008385611f73919061312f565b9050809150509392505050565b600080600060085490506000683635c9adc5dea000009050611fb6683635c9adc5dea00000600854611cdd90919063ffffffff16565b821015611fd557600854683635c9adc5dea00000935093505050611fde565b81819350935050505b9091565b6000806000806000806000806000611fff8a600a54600b546121e9565b925092509250600061200f611d27565b905060008060006120228e87878761227f565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061208c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611887565b905092915050565b60008082846120a39190612ecc565b9050838110156120e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120df906131ac565b60405180910390fd5b8091505092915050565b60006120fc611d27565b90506000612113828461230890919063ffffffff16565b905061216781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6121c48260085461204a90919063ffffffff16565b6008819055506121df8160095461209490919063ffffffff16565b6009819055505050565b6000806000806122156064612207888a61230890919063ffffffff16565b611cdd90919063ffffffff16565b9050600061223f6064612231888b61230890919063ffffffff16565b611cdd90919063ffffffff16565b905060006122688261225a858c61204a90919063ffffffff16565b61204a90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612298858961230890919063ffffffff16565b905060006122af868961230890919063ffffffff16565b905060006122c6878961230890919063ffffffff16565b905060006122ef826122e1858761204a90919063ffffffff16565b61204a90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080830361231a576000905061237c565b6000828461232891906131cc565b9050828482612337919061312f565b14612377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236e90613298565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123bc5780820151818401526020810190506123a1565b838111156123cb576000848401525b50505050565b6000601f19601f8301169050919050565b60006123ed82612382565b6123f7818561238d565b935061240781856020860161239e565b612410816123d1565b840191505092915050565b6000602082019050818103600083015261243581846123e2565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061247c82612451565b9050919050565b61248c81612471565b811461249757600080fd5b50565b6000813590506124a981612483565b92915050565b6000819050919050565b6124c2816124af565b81146124cd57600080fd5b50565b6000813590506124df816124b9565b92915050565b600080604083850312156124fc576124fb612447565b5b600061250a8582860161249a565b925050602061251b858286016124d0565b9150509250929050565b60008115159050919050565b61253a81612525565b82525050565b60006020820190506125556000830184612531565b92915050565b612564816124af565b82525050565b600060208201905061257f600083018461255b565b92915050565b60008060006060848603121561259e5761259d612447565b5b60006125ac8682870161249a565b93505060206125bd8682870161249a565b92505060406125ce868287016124d0565b9150509250925092565b6000602082840312156125ee576125ed612447565b5b60006125fc8482850161249a565b91505092915050565b600060ff82169050919050565b61261b81612605565b82525050565b60006020820190506126366000830184612612565b92915050565b61264581612525565b811461265057600080fd5b50565b6000813590506126628161263c565b92915050565b60006020828403121561267e5761267d612447565b5b600061268c84828501612653565b91505092915050565b61269e81612471565b82525050565b60006020820190506126b96000830184612695565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6126fc826123d1565b810181811067ffffffffffffffff8211171561271b5761271a6126c4565b5b80604052505050565b600061272e61243d565b905061273a82826126f3565b919050565b600067ffffffffffffffff82111561275a576127596126c4565b5b602082029050602081019050919050565b600080fd5b600061278361277e8461273f565b612724565b905080838252602082019050602084028301858111156127a6576127a561276b565b5b835b818110156127cf57806127bb888261249a565b8452602084019350506020810190506127a8565b5050509392505050565b600082601f8301126127ee576127ed6126bf565b5b81356127fe848260208601612770565b91505092915050565b60006020828403121561281d5761281c612447565b5b600082013567ffffffffffffffff81111561283b5761283a61244c565b5b612847848285016127d9565b91505092915050565b6000806040838503121561286757612866612447565b5b60006128758582860161249a565b92505060206128868582860161249a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128c660208361238d565b91506128d182612890565b602082019050919050565b600060208201905081810360008301526128f5816128b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612965826124af565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129975761299661292b565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006129d860178361238d565b91506129e3826129a2565b602082019050919050565b60006020820190508181036000830152612a07816129cb565b9050919050565b600081519050612a1d81612483565b92915050565b600060208284031215612a3957612a38612447565b5b6000612a4784828501612a0e565b91505092915050565b6000604082019050612a656000830185612695565b612a726020830184612695565b9392505050565b6000819050919050565b6000819050919050565b6000612aa8612aa3612a9e84612a79565b612a83565b6124af565b9050919050565b612ab881612a8d565b82525050565b600060c082019050612ad36000830189612695565b612ae0602083018861255b565b612aed6040830187612aaf565b612afa6060830186612aaf565b612b076080830185612695565b612b1460a083018461255b565b979650505050505050565b600081519050612b2e816124b9565b92915050565b600080600060608486031215612b4d57612b4c612447565b5b6000612b5b86828701612b1f565b9350506020612b6c86828701612b1f565b9250506040612b7d86828701612b1f565b9150509250925092565b6000604082019050612b9c6000830185612695565b612ba9602083018461255b565b9392505050565b600081519050612bbf8161263c565b92915050565b600060208284031215612bdb57612bda612447565b5b6000612be984828501612bb0565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c4e60248361238d565b9150612c5982612bf2565b604082019050919050565b60006020820190508181036000830152612c7d81612c41565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ce060228361238d565b9150612ceb82612c84565b604082019050919050565b60006020820190508181036000830152612d0f81612cd3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d7260258361238d565b9150612d7d82612d16565b604082019050919050565b60006020820190508181036000830152612da181612d65565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612e0460238361238d565b9150612e0f82612da8565b604082019050919050565b60006020820190508181036000830152612e3381612df7565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e9660298361238d565b9150612ea182612e3a565b604082019050919050565b60006020820190508181036000830152612ec581612e89565b9050919050565b6000612ed7826124af565b9150612ee2836124af565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f1757612f1661292b565b5b828201905092915050565b6000612f2d826124af565b9150612f38836124af565b925082821015612f4b57612f4a61292b565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612fb2602a8361238d565b9150612fbd82612f56565b604082019050919050565b60006020820190508181036000830152612fe181612fa5565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61301d81612471565b82525050565b600061302f8383613014565b60208301905092915050565b6000602082019050919050565b600061305382612fe8565b61305d8185612ff3565b935061306883613004565b8060005b838110156130995781516130808882613023565b975061308b8361303b565b92505060018101905061306c565b5085935050505092915050565b600060a0820190506130bb600083018861255b565b6130c86020830187612aaf565b81810360408301526130da8186613048565b90506130e96060830185612695565b6130f6608083018461255b565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061313a826124af565b9150613145836124af565b92508261315557613154613100565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613196601b8361238d565b91506131a182613160565b602082019050919050565b600060208201905081810360008301526131c581613189565b9050919050565b60006131d7826124af565b91506131e2836124af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561321b5761321a61292b565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061328260218361238d565b915061328d82613226565b604082019050919050565b600060208201905081810360008301526132b181613275565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220692d30ba5300f2f2cd120b0b7a1d0679c6eac47b3d10c3f1fce3ddb2f6099aa064736f6c634300080f0033

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.