ETH Price: $3,556.62 (+7.87%)

Contract

0x313A6966151473eBc305B8286A000f0dB197e4a7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer198489282024-05-11 19:38:35199 days ago1715456315IN
0x313A6966...dB197e4a7
0 ETH0.000748284.3184171
Approve192382052024-02-16 4:51:35285 days ago1708059095IN
0x313A6966...dB197e4a7
0 ETH0.0008258117.5145876
Approve191136302024-01-29 17:19:59302 days ago1706548799IN
0x313A6966...dB197e4a7
0 ETH0.0011153923.77116915
Approve191136152024-01-29 17:16:59302 days ago1706548619IN
0x313A6966...dB197e4a7
0 ETH0.0010043721.40515672
Approve190468302024-01-20 8:18:11312 days ago1705738691IN
0x313A6966...dB197e4a7
0 ETH0.0007699616.42206708
Approve190190822024-01-16 11:14:47316 days ago1705403687IN
0x313A6966...dB197e4a7
0 ETH0.0014203530.27045258
Approve190104382024-01-15 6:16:47317 days ago1705299407IN
0x313A6966...dB197e4a7
0 ETH0.000773916.49342666
Approve190103242024-01-15 5:53:59317 days ago1705298039IN
0x313A6966...dB197e4a7
0 ETH0.00085618.24321719
Approve189835292024-01-11 11:57:35321 days ago1704974255IN
0x313A6966...dB197e4a7
0 ETH0.0011139923.7293896
Approve189834782024-01-11 11:47:11321 days ago1704973631IN
0x313A6966...dB197e4a7
0 ETH0.0007980826.76153384
Approve189781282024-01-10 17:46:35321 days ago1704908795IN
0x313A6966...dB197e4a7
0 ETH0.0011016240.76766876
Approve189781192024-01-10 17:44:47321 days ago1704908687IN
0x313A6966...dB197e4a7
0 ETH0.0017285836.83949194
Approve189665042024-01-09 2:40:35323 days ago1704768035IN
0x313A6966...dB197e4a7
0 ETH0.0006684514.24609509
Approve189639682024-01-08 18:07:23323 days ago1704737243IN
0x313A6966...dB197e4a7
0 ETH0.0010103333.89260636
Approve189627722024-01-08 14:05:59324 days ago1704722759IN
0x313A6966...dB197e4a7
0 ETH0.0007674128.3997931
Approve189627432024-01-08 14:00:11324 days ago1704722411IN
0x313A6966...dB197e4a7
0 ETH0.0009614320.4900526
Approve189618992024-01-08 11:06:59324 days ago1704712019IN
0x313A6966...dB197e4a7
0 ETH0.000419715.53191864
Approve189612792024-01-08 9:01:11324 days ago1704704471IN
0x313A6966...dB197e4a7
0 ETH0.0009891521.08088685
Approve189611742024-01-08 8:39:59324 days ago1704703199IN
0x313A6966...dB197e4a7
0 ETH0.0007511616.00874716
Transfer189345682024-01-04 14:28:47328 days ago1704378527IN
0x313A6966...dB197e4a7
0 ETH0.0037867621.76491964
Approve189345352024-01-04 14:22:11328 days ago1704378131IN
0x313A6966...dB197e4a7
0 ETH0.0011323424.13241092
Approve189345122024-01-04 14:17:35328 days ago1704377855IN
0x313A6966...dB197e4a7
0 ETH0.0011824225.19326817
Approve189342382024-01-04 13:22:23328 days ago1704374543IN
0x313A6966...dB197e4a7
0 ETH0.0010478222.30276381
Approve189322242024-01-04 6:37:11328 days ago1704350231IN
0x313A6966...dB197e4a7
0 ETH0.0005999812.79674832
Approve189275812024-01-03 15:00:11329 days ago1704294011IN
0x313A6966...dB197e4a7
0 ETH0.0013414345.03586932
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
188416432023-12-22 13:20:35341 days ago1703251235
0x313A6966...dB197e4a7
 Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Saltz

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : SaltsToken.sol
/**
    Saltz
    Explore the world’s first yield generating deflationary coin with guaranteed Minimum selling price.
    
    Website: https://saltz.io
    Twitter: https://twitter.com/Saltz_io
    Telegram: https://t.me/saltzofficial

**/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.16;
import "./interfaces/ISaltzYard2.sol";

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

pragma solidity ^0.8.9;

interface IVault {
    function setUpdater(address _updater) external;
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

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

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

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address internal _owner;
    address private _previousOwner;

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

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

// File: Vault.sol

pragma solidity ^0.8.9;

contract Vault is Ownable {
    IERC20 tokenAddress;
    address public updater;

    //address public owner;
    constructor(address _token) {
        tokenAddress = IERC20(_token);
    }

    modifier onlyUpdater() {
        require(msg.sender == updater, "you are not the updater");
        _;
    }

    function setUpdater(address _updater) public onlyOwner {
        updater = _updater;
    }

    function withdraw(uint amount, address _user) public onlyUpdater {
        tokenAddress.transfer(_user, amount);
    }
}

contract ERC20 is Context, Ownable, IERC20, IERC20Metadata {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

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

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

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

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

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

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

        _balances[account] = _balances[account].sub(
            amount,
            "ERC20: burn amount exceeds balance"
        );
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

contract Saltz is ERC20 {
    using SafeMath for uint256;

        struct ValuesOfAmount {
        uint256 amount;
        uint256 whaleFee;
        uint256 totalTax;
        uint256 transferAmount;
    }

    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) public isRegistered;
    mapping(uint8 => uint16) public commision; // for referals
    mapping(address => address) public parent;
    mapping(address => uint) public referalReward;
    mapping(address => uint) public totalCommisionEarned;

    address[] public users;

    address public devWallet;
    address public vault;

    address constant _burnAddress = 0x000000000000000000000000000000000000dEaD;

    uint16 private totalTax = 1000;

    // percentage of totalTax(after referrals distributed , if any) that goes into burning mechanism
    uint16 private taxBurn = 4000;

    // percentage of transaction redistributed to all holders
    uint16 private taxReward = 3500;

    // percentage of transaction goes to developers
    uint16 private taxDev = 2500;

    address public onlyWallet;

    uint256 public currentSupply;

    uint256 public transactionCount = 1;

    IVault Ivault;

    bool public tradingEnabled = false;

    uint256 public totalBurnt = 0 ;
    uint256 public totalVaultSupply;
    uint256 private previousVaultSupply;

    uint256 private txLimit = 1;

    ISaltzYard2 IsaltzYard;
    address saltzYard;

    event UserRegistered(
        address indexed user,
        address indexed referer,
        uint256 timestamp
    );
    event RefTx(uint8 refIndex,address child, address referer, uint256 amount);
    event Taxes(uint256 burnTax, uint256 devTax, uint256 rewardstax);
    event Burn(address account, uint256 amount, uint256 timestamp);
    event referalClaimed(address indexed user, uint256 amount);

    modifier ownerOrWallet(){
         require(msg.sender == owner() || msg.sender == onlyWallet, "not authorized");
    _;
    }

    constructor(string memory _symbol, string memory _name, address _devWallet) ERC20(_symbol, _name) {
        devWallet = _devWallet; //my 3rd wallet

        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[msg.sender] = true;


        _mint(owner(), 41000000 * 10 ** decimals());

        currentSupply = totalSupply();

        vault = address(new Vault(address(this)));

        Ivault = IVault(vault);

        commision[0] = 500;
        commision[1] = 300;
        commision[2] = 200;
        commision[3] = 100;
        commision[4] = 50;
    }

    //-------------------------------------Public Methods--------------------------------//

    function includeAndExcludeFromFee(
        address account,
        bool value
    ) public ownerOrWallet {
        _isExcludedFromFee[account] = value;
    }

    function setOnlyWallet(address _address) public onlyOwner {
        onlyWallet = _address;
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    function getTrnx() public view returns (uint256) {
        return txLimit;
    }


    //-------------------------------------External Methods--------------------------------//


    function enableTrading() external onlyOwner {
        tradingEnabled = true;
    }

    function setdevWallet(address _addr) external ownerOrWallet {
        devWallet = _addr;
    }

    function registerUser(address _user, address _referer) external {
        if (isRegistered[_user] == false) {
            _register(_user, _referer);
            emit UserRegistered(_user, _referer, block.timestamp);
        }
    }

    function transferRewardToYard() external ownerOrWallet {
        uint _amount = totalVaultSupply - previousVaultSupply; //recent changes
        IsaltzYard.notifyRewardAmount(_amount);
        previousVaultSupply = totalVaultSupply;
    }

    function addYard(address _yard) external onlyOwner {
        saltzYard = _yard;
        IsaltzYard = ISaltzYard2(_yard);
        Ivault.setUpdater(saltzYard);
        includeAndExcludeFromFee(_yard, true); //Recent changes
    }

    function updateTxLimit(uint256 _trnx) external ownerOrWallet {
        txLimit = _trnx;
    }

    function claimReferalReward() external {
        require(
            referalReward[msg.sender] > 0,
            "You don't own any referal reward yet"
        );
        uint256 toTransfer = referalReward[msg.sender];
        referalReward[msg.sender] = 0;
        super._transfer(address(this), msg.sender, toTransfer);
        emit referalClaimed(msg.sender, toTransfer);
    }

    receive() external payable {}


    //-------------------------------------Internal Methods--------------------------------//

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        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");

        if (from != owner() && !tradingEnabled) {
            require(tradingEnabled, "Trading is not enabled yet");
        }

        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            super._transfer(from, to, amount);
            takeFee = false;
        } else {
            ValuesOfAmount memory values = getValues(
                amount,
                _isExcludedFromFee[from],
                _isExcludedFromFee[to]
            );

            super._transfer(from, to, values.transferAmount); // amount transfer to recepient

            getTaxTransfer(values, from);
            transactionCount++;
        }
    }

    function taxWhale(uint256 _amount) internal view returns (uint16) {
        uint256 i = (_amount * 100) / currentSupply;
        uint16 whaleTax;
        if (i < 1) {
            whaleTax = 0;
        } else if (i >= 1 && i < 2) {
            whaleTax = 500;
        } else if (i >= 2 && i < 3) {
            whaleTax = 1000;
        } else if (i >= 3 && i < 4) {
            whaleTax = 1500;
        } else if (i >= 4 && i < 5) {
            whaleTax = 2000;
        } else if (i >= 5 && i < 6) {
            whaleTax = 2500;
        } else if (i >= 6 && i < 7) {
            whaleTax = 3000;
        } else if (i >= 7 && i < 8) {
            whaleTax = 3500;
        } else if (i >= 8 && i < 9) {
            whaleTax = 4000;
        } else if (i >= 9 && i < 10) {
            whaleTax = 4500;
        } else if (i >= 10) {
            whaleTax = 5000;
        }
        return whaleTax;
    }

    function _register(address _user, address _referer) internal {
        require(_user!=_referer,"You cannot refer yourself");
        parent[_user] = _referer;
        isRegistered[_user] = true;
        users.push(_user);
    }


    //-------------------------------------Private Methods--------------------------------//

    function getParent(address user) private view returns (address referer) {
        return parent[user];
    }

    function getTaxTransfer(
        ValuesOfAmount memory values,
        address sender
    ) private {
        uint8 i = 0;
        uint totalToTransfer = 0;
        address parentAddress = getParent(sender);
        while (parentAddress != address(0) && i <= 4) {
            uint256 tAmount = calculateTax(values.totalTax, commision[i]);
            referalReward[parentAddress] += tAmount;
            totalCommisionEarned[parentAddress] += tAmount;
            totalToTransfer += tAmount;
            values.totalTax -= tAmount;
            emit RefTx(i,sender, parentAddress, tAmount);
            parentAddress = getParent(parentAddress);
            i++;
        }

        super._transfer(sender, address(this), totalToTransfer); // sending commision to parents    += tAmount;
        totalToTransfer = 0;

        uint256 _totalTax = values.totalTax;
        uint256 BurnFee = calculateTax(_totalTax, taxBurn);
        uint256 RewardFee = calculateTax(_totalTax, taxReward);
        _totalTax = values.totalTax - (BurnFee + RewardFee);
        uint256 DevFee = _totalTax; //edit changes for devfee (done)

        super._transfer(sender, devWallet, DevFee); //dev Wallet

        super._transfer(sender, vault, RewardFee); //to reward wallet
        totalVaultSupply += RewardFee;

        super._transfer(sender, _burnAddress, BurnFee); //burning tokens
        currentSupply -= BurnFee;
        totalBurnt +=BurnFee;
        emit Burn(sender, BurnFee, block.timestamp);

        if (transactionCount % getTrnx() == 0) {
            uint _amount = totalVaultSupply - previousVaultSupply; //recent changes
            IsaltzYard.notifyRewardAmount(_amount);
            previousVaultSupply = totalVaultSupply;
        }

        emit Taxes(BurnFee, DevFee, RewardFee);
    }

    function getValues(
        uint256 amount,
        bool deductTransferFee,
        bool sender
    ) private view returns (ValuesOfAmount memory) {
        ValuesOfAmount memory values;
        values.amount = amount;
        if (!deductTransferFee && !sender) {
            // calculate fee
            uint16 taxWhale_ = taxWhale(values.amount);
            values.whaleFee = calculateTax(values.amount, taxWhale_);
            uint256 tempTotalTax = calculateTax(
                (values.amount - values.whaleFee),
                totalTax
            );
            values.totalTax = tempTotalTax + values.whaleFee;
            values.transferAmount = values.amount - values.totalTax;
        } else {
            values.whaleFee = 0;
            values.totalTax = 0;
            values.transferAmount = values.amount;
        }
        return values;
    }

    function calculateTax(
        uint256 amount,
        uint16 tax
    ) private pure returns (uint256) {
        return (amount * tax) / (10 ** 4);
    }
}

File 2 of 2 : ISaltzYard2.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
interface ISaltzYard2 {
    
    function lastTimeRewardApplicable() external view returns (uint);

    function rewardPerToken() external view returns (uint);

    function stake(uint _amount) external;

    function stakeWithLock(uint _amount, uint256 lockinPeriod) external;

    function extendLockin(uint256 extendedTime) external;
    
    function withdraw(uint _amount) external;

    function withdrawForLockedStackers() external;

    function earned(address _account) external view returns (uint);

    function getReward() external;
    
    function setRewardsDuration(uint _duration) external;

    function notifyRewardAmount( uint _amount ) external;

}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_devWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Burn","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":false,"internalType":"uint8","name":"refIndex","type":"uint8"},{"indexed":false,"internalType":"address","name":"child","type":"address"},{"indexed":false,"internalType":"address","name":"referer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RefTx","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"burnTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"devTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardstax","type":"uint256"}],"name":"Taxes","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referer","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UserRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"referalClaimed","type":"event"},{"inputs":[{"internalType":"address","name":"_yard","type":"address"}],"name":"addYard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimReferalReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"commision","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTrnx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeAndExcludeFromFee","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isRegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"onlyWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"parent","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referalReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_referer","type":"address"}],"name":"registerUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setOnlyWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setdevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurnt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalCommisionEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalVaultSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transactionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferRewardToYard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_trnx","type":"uint256"}],"name":"updateTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"users","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526103e8600f60146101000a81548161ffff021916908361ffff160217905550610fa0600f60166101000a81548161ffff021916908361ffff160217905550610dac600f60186101000a81548161ffff021916908361ffff1602179055506109c4600f601a6101000a81548161ffff021916908361ffff16021790555060016012556000601360146101000a81548160ff02191690831515021790555060006014556001601755348015620000b757600080fd5b5060405162005779380380620057798339818101604052810190620000dd919062000921565b8282620000ef6200050a60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38160059081620001ba919062000c06565b508060069081620001cc919062000c06565b50505080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200030f620002d46200051260201b60201c565b620002e46200053b60201b60201c565b600a620002f2919062000e7d565b6302719c4062000303919062000ece565b6200054460201b60201c565b6200031f620006f460201b60201c565b6011819055503060405162000334906200071b565b62000340919062000f40565b604051809103906000f0801580156200035d573d6000803e3d6000fd5b50600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101f4600960008060ff16815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555061012c60096000600160ff16815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555060c860096000600260ff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550606460096000600360ff16815260200190815260200160002060006101000a81548161ffff021916908361ffff160217905550603260096000600460ff16815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555050505062001049565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005ad9062000fbe565b60405180910390fd5b620005ca60008383620006fe60201b60201c565b620005e6816004546200070360201b62001cc21790919060201c565b6004819055506200064581600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200070360201b62001cc21790919060201c565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620006e8919062000ff1565b60405180910390a35050565b6000600454905090565b505050565b600081836200071391906200100e565b905092915050565b610b948062004be583390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620007928262000747565b810181811067ffffffffffffffff82111715620007b457620007b362000758565b5b80604052505050565b6000620007c962000729565b9050620007d7828262000787565b919050565b600067ffffffffffffffff821115620007fa57620007f962000758565b5b620008058262000747565b9050602081019050919050565b60005b838110156200083257808201518184015260208101905062000815565b60008484015250505050565b6000620008556200084f84620007dc565b620007bd565b90508281526020810184848401111562000874576200087362000742565b5b6200088184828562000812565b509392505050565b600082601f830112620008a157620008a06200073d565b5b8151620008b38482602086016200083e565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008e982620008bc565b9050919050565b620008fb81620008dc565b81146200090757600080fd5b50565b6000815190506200091b81620008f0565b92915050565b6000806000606084860312156200093d576200093c62000733565b5b600084015167ffffffffffffffff8111156200095e576200095d62000738565b5b6200096c8682870162000889565b935050602084015167ffffffffffffffff81111562000990576200098f62000738565b5b6200099e8682870162000889565b9250506040620009b1868287016200090a565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a0e57607f821691505b60208210810362000a245762000a23620009c6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a8e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a4f565b62000a9a868362000a4f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000ae762000ae162000adb8462000ab2565b62000abc565b62000ab2565b9050919050565b6000819050919050565b62000b038362000ac6565b62000b1b62000b128262000aee565b84845462000a5c565b825550505050565b600090565b62000b3262000b23565b62000b3f81848462000af8565b505050565b5b8181101562000b675762000b5b60008262000b28565b60018101905062000b45565b5050565b601f82111562000bb65762000b808162000a2a565b62000b8b8462000a3f565b8101602085101562000b9b578190505b62000bb362000baa8562000a3f565b83018262000b44565b50505b505050565b600082821c905092915050565b600062000bdb6000198460080262000bbb565b1980831691505092915050565b600062000bf6838362000bc8565b9150826002028217905092915050565b62000c1182620009bb565b67ffffffffffffffff81111562000c2d5762000c2c62000758565b5b62000c398254620009f5565b62000c4682828562000b6b565b600060209050601f83116001811462000c7e576000841562000c69578287015190505b62000c75858262000be8565b86555062000ce5565b601f19841662000c8e8662000a2a565b60005b8281101562000cb85784890151825560018201915060208501945060208101905062000c91565b8683101562000cd8578489015162000cd4601f89168262000bc8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000d7b5780860481111562000d535762000d5262000ced565b5b600185161562000d635780820291505b808102905062000d738562000d1c565b945062000d33565b94509492505050565b60008262000d96576001905062000e69565b8162000da6576000905062000e69565b816001811462000dbf576002811462000dca5762000e00565b600191505062000e69565b60ff84111562000ddf5762000dde62000ced565b5b8360020a91508482111562000df95762000df862000ced565b5b5062000e69565b5060208310610133831016604e8410600b841016171562000e3a5782820a90508381111562000e345762000e3362000ced565b5b62000e69565b62000e49848484600162000d29565b9250905081840481111562000e635762000e6262000ced565b5b81810290505b9392505050565b600060ff82169050919050565b600062000e8a8262000ab2565b915062000e978362000e70565b925062000ec67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d84565b905092915050565b600062000edb8262000ab2565b915062000ee88362000ab2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000f245762000f2362000ced565b5b828202905092915050565b62000f3a81620008dc565b82525050565b600060208201905062000f57600083018462000f2f565b92915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000fa6601f8362000f5d565b915062000fb38262000f6e565b602082019050919050565b6000602082019050818103600083015262000fd98162000f97565b9050919050565b62000feb8162000ab2565b82525050565b600060208201905062001008600083018462000fe0565b92915050565b60006200101b8262000ab2565b9150620010288362000ab2565b925082820190508082111562001043576200104262000ced565b5b92915050565b613b8c80620010596000396000f3fe6080604052600436106102335760003560e01c8063715018a61161012e578063b77bf600116100ab578063da7e2c7f1161006f578063da7e2c7f14610873578063dd62ed3e1461089c578063f1f9d8c9146108d9578063f2fde38b14610916578063fbfa77cf1461093f5761023a565b8063b77bf600146107b4578063c3c5a547146107df578063d2fb3ddc1461081c578063d62f5dc014610845578063d95899821461085c5761023a565b806395d89b41116100f257806395d89b41146106bb57806395f4d088146106e6578063966ff6501461070f578063a457c2d71461073a578063a9059cbb146107775761023a565b8063715018a61461060c578063771282f6146106235780638a8c523c1461064e5780638da5cb5b146106655780638ea5220f146106905761023a565b8063313ce567116101bc57806350e821831161018057806350e82183146104ff5780635342acb41461052a578063612cdfd11461056757806361d45ab8146105a457806370a08231146105cf5761023a565b8063313ce56714610404578063365b98b21461042f578063395093511461046c5780633d3dbdc7146104a95780634ada218b146104d45761023a565b8063095ea7b311610203578063095ea7b3146102f957806310b778e41461033657806318160ddd1461035f57806323b872dd1461038a5780632aa6e0a9146103c75761023a565b8062b5f1231461023f5780630354adb21461027c5780630504fa52146102a557806306fdde03146102ce5761023a565b3661023a57005b600080fd5b34801561024b57600080fd5b5061026660048036038101906102619190612e37565b61096a565b6040516102739190612e81565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e9190612efa565b61098b565b005b3480156102b157600080fd5b506102cc60048036038101906102c79190612f70565b610a57565b005b3480156102da57600080fd5b506102e3610b2e565b6040516102f0919061302d565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b919061304f565b610bc0565b60405161032d91906130aa565b60405180910390f35b34801561034257600080fd5b5061035d600480360381019061035891906130c5565b610bde565b005b34801561036b57600080fd5b50610374610c9e565b6040516103819190613101565b60405180910390f35b34801561039657600080fd5b506103b160048036038101906103ac919061311c565b610ca8565b6040516103be91906130aa565b60405180910390f35b3480156103d357600080fd5b506103ee60048036038101906103e991906130c5565b610d81565b6040516103fb9190613101565b60405180910390f35b34801561041057600080fd5b50610419610d99565b604051610426919061317e565b60405180910390f35b34801561043b57600080fd5b5061045660048036038101906104519190612f70565b610da2565b60405161046391906131a8565b60405180910390f35b34801561047857600080fd5b50610493600480360381019061048e919061304f565b610de1565b6040516104a091906130aa565b60405180910390f35b3480156104b557600080fd5b506104be610e94565b6040516104cb9190613101565b60405180910390f35b3480156104e057600080fd5b506104e9610e9e565b6040516104f691906130aa565b60405180910390f35b34801561050b57600080fd5b50610514610eb1565b6040516105219190613101565b60405180910390f35b34801561053657600080fd5b50610551600480360381019061054c91906130c5565b610eb7565b60405161055e91906130aa565b60405180910390f35b34801561057357600080fd5b5061058e600480360381019061058991906130c5565b610f0d565b60405161059b9190613101565b60405180910390f35b3480156105b057600080fd5b506105b9610f25565b6040516105c691906131a8565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f191906130c5565b610f4b565b6040516106039190613101565b60405180910390f35b34801561061857600080fd5b50610621610f94565b005b34801561062f57600080fd5b506106386110ce565b6040516106459190613101565b60405180910390f35b34801561065a57600080fd5b506106636110d4565b005b34801561067157600080fd5b5061067a61116d565b60405161068791906131a8565b60405180910390f35b34801561069c57600080fd5b506106a5611196565b6040516106b291906131a8565b60405180910390f35b3480156106c757600080fd5b506106d06111bc565b6040516106dd919061302d565b60405180910390f35b3480156106f257600080fd5b5061070d600480360381019061070891906130c5565b61124e565b005b34801561071b57600080fd5b5061072461135f565b6040516107319190613101565b60405180910390f35b34801561074657600080fd5b50610761600480360381019061075c919061304f565b611365565b60405161076e91906130aa565b60405180910390f35b34801561078357600080fd5b5061079e6004803603810190610799919061304f565b611432565b6040516107ab91906130aa565b60405180910390f35b3480156107c057600080fd5b506107c9611450565b6040516107d69190613101565b60405180910390f35b3480156107eb57600080fd5b50610806600480360381019061080191906130c5565b611456565b60405161081391906130aa565b60405180910390f35b34801561082857600080fd5b50610843600480360381019061083e91906130c5565b611476565b005b34801561085157600080fd5b5061085a611631565b005b34801561086857600080fd5b506108716117ab565b005b34801561087f57600080fd5b5061089a600480360381019061089591906131ef565b611912565b005b3480156108a857600080fd5b506108c360048036038101906108be9190612efa565b611a3a565b6040516108d09190613101565b60405180910390f35b3480156108e557600080fd5b5061090060048036038101906108fb91906130c5565b611ac1565b60405161090d91906131a8565b60405180910390f35b34801561092257600080fd5b5061093d600480360381019061093891906130c5565b611af4565b005b34801561094b57600080fd5b50610954611c9c565b60405161096191906131a8565b60405180910390f35b60096020528060005260406000206000915054906101000a900461ffff1681565b60001515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610a53576109ed8282611cd8565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f05345a91f639184e946e5aac384b1e9f74ae9ab08d775a7deddb3180cebecb2342604051610a4a9190613101565b60405180910390a35b5050565b610a5f61116d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ae55750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b9061327b565b60405180910390fd5b8060178190555050565b606060058054610b3d906132ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610b69906132ca565b8015610bb65780601f10610b8b57610100808354040283529160200191610bb6565b820191906000526020600020905b815481529060010190602001808311610b9957829003601f168201915b5050505050905090565b6000610bd4610bcd611e83565b8484611e8b565b6001905092915050565b610be6611e83565b73ffffffffffffffffffffffffffffffffffffffff16610c0461116d565b73ffffffffffffffffffffffffffffffffffffffff1614610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5190613347565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600454905090565b6000610cb5848484612054565b610d7684610cc1611e83565b610d7185604051806060016040528060288152602001613b0a60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d27611e83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123ba9092919063ffffffff16565b611e8b565b600190509392505050565b600c6020528060005260406000206000915090505481565b60006012905090565b600d8181548110610db257600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e8a610dee611e83565b84610e858560036000610dff611e83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc290919063ffffffff16565b611e8b565b6001905092915050565b6000601754905090565b601360149054906101000a900460ff1681565b60155481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915090505481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f9c611e83565b73ffffffffffffffffffffffffffffffffffffffff16610fba61116d565b73ffffffffffffffffffffffffffffffffffffffff1614611010576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100790613347565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b6110dc611e83565b73ffffffffffffffffffffffffffffffffffffffff166110fa61116d565b73ffffffffffffffffffffffffffffffffffffffff1614611150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114790613347565b60405180910390fd5b6001601360146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600680546111cb906132ca565b80601f01602080910402602001604051908101604052809291908181526020018280546111f7906132ca565b80156112445780601f1061121957610100808354040283529160200191611244565b820191906000526020600020905b81548152906001019060200180831161122757829003601f168201915b5050505050905090565b61125661116d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112dc5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61131b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113129061327b565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60145481565b6000611428611372611e83565b8461142385604051806060016040528060258152602001613b32602591396003600061139c611e83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123ba9092919063ffffffff16565b611e8b565b6001905092915050565b600061144661143f611e83565b8484612054565b6001905092915050565b60125481565b60086020528060005260406000206000915054906101000a900460ff1681565b61147e611e83565b73ffffffffffffffffffffffffffffffffffffffff1661149c61116d565b73ffffffffffffffffffffffffffffffffffffffff16146114f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e990613347565b60405180910390fd5b80601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639d54f419601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016115f191906131a8565b600060405180830381600087803b15801561160b57600080fd5b505af115801561161f573d6000803e3d6000fd5b5050505061162e816001611912565b50565b61163961116d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116bf5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6116fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f59061327b565b60405180910390fd5b60006016546015546117109190613396565b9050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c6b16ab826040518263ffffffff1660e01b815260040161176d9190613101565b600060405180830381600087803b15801561178757600080fd5b505af115801561179b573d6000803e3d6000fd5b5050505060155460168190555050565b6000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161182d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118249061343c565b60405180910390fd5b6000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118c130338361240f565b3373ffffffffffffffffffffffffffffffffffffffff167f12c168d8f3b7576aae1f28cb6a0c123371d23c4e5eb95ed075c89ca60745a6f3826040516119079190613101565b60405180910390a250565b61191a61116d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119a05750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6119df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d69061327b565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611afc611e83565b73ffffffffffffffffffffffffffffffffffffffff16611b1a61116d565b73ffffffffffffffffffffffffffffffffffffffff1614611b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6790613347565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd6906134ce565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008183611cd091906134ee565b905092915050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3d9061356e565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef190613600565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6090613692565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120479190613101565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ba90613724565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612132576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612129906137b6565b60405180910390fd5b60008111612175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216c90613848565b60405180910390fd5b61217d61116d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121c55750601360149054906101000a900460ff16155b1561221a57601360149054906101000a900460ff16612219576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612210906138b4565b60405180910390fd5b5b600060019050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122c15750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122da576122d184848461240f565b600090506123b4565b600061237f83600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166126a6565b90506123908585836060015161240f565b61239a8186612797565b601260008154809291906123ad906138d4565b9190505550505b50505050565b6000838311158290612402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f9919061302d565b60405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361247e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247590613724565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e4906137b6565b60405180910390fd5b6124f8838383612bc7565b61256481604051806060016040528060268152602001613ae460269139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123ba9092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125f981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc290919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126999190613101565b60405180910390a3505050565b6126ae612dd1565b6126b6612dd1565b84816000018181525050831580156126cc575082155b156127675760006126e08260000151612bcc565b90506126f0826000015182612d41565b8260200181815250506000612728836020015184600001516127129190613396565b600f60149054906101000a900461ffff16612d41565b905082602001518161273a91906134ee565b836040018181525050826040015183600001516127579190613396565b836060018181525050505061278c565b6000816020018181525050600081604001818152505080600001518160600181815250505b809150509392505050565b60008060006127a584612d68565b90505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156127e9575060048360ff1611155b156129565760006128258660400151600960008760ff1660ff16815260200190815260200160002060009054906101000a900461ffff16612d41565b905080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461287691906134ee565b9250508190555080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546128cc91906134ee565b9250508190555080836128df91906134ee565b925080866040018181516128f39190613396565b915081815250507fbdeafb44a20fd43b3824944710749bdf346e41656a455e6d096243f6ecb594518486848460405161292f949392919061391c565b60405180910390a161294082612d68565b9150838061294d90613961565b945050506127a8565b61296184308461240f565b60009150600085604001519050600061298a82600f60169054906101000a900461ffff16612d41565b905060006129a883600f60189054906101000a900461ffff16612d41565b905080826129b691906134ee565b88604001516129c59190613396565b925060008390506129f988600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361240f565b612a2688600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461240f565b8160156000828254612a3891906134ee565b92505081905550612a4c8861dead8561240f565b8260116000828254612a5e9190613396565b925050819055508260146000828254612a7791906134ee565b925050819055507f49995e5dd6158cf69ad3e9777c46755a1a826a446c6416992167462dad033b2a888442604051612ab19392919061398a565b60405180910390a16000612ac3610e94565b601254612ad091906139f0565b03612b81576000601654601554612ae79190613396565b9050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c6b16ab826040518263ffffffff1660e01b8152600401612b449190613101565b600060405180830381600087803b158015612b5e57600080fd5b505af1158015612b72573d6000803e3d6000fd5b50505050601554601681905550505b7f01db31d63c03dd2a4c9e29e54bf1375e47f0aabc07da1d4d013ed16535de5432838284604051612bb493929190613a21565b60405180910390a1505050505050505050565b505050565b600080601154606484612bdf9190613a58565b612be99190613ab2565b905060006001821015612bff5760009050612d37565b60018210158015612c105750600282105b15612c1f576101f49050612d36565b60028210158015612c305750600382105b15612c3f576103e89050612d35565b60038210158015612c505750600482105b15612c5f576105dc9050612d34565b60048210158015612c705750600582105b15612c7f576107d09050612d33565b60058210158015612c905750600682105b15612c9f576109c49050612d32565b60068210158015612cb05750600782105b15612cbf57610bb89050612d31565b60078210158015612cd05750600882105b15612cdf57610dac9050612d30565b60088210158015612cf05750600982105b15612cff57610fa09050612d2f565b60098210158015612d105750600a82105b15612d1f576111949050612d2e565b600a8210612d2d5761138890505b5b5b5b5b5b5b5b5b5b5b8092505050919050565b60006127108261ffff1684612d569190613a58565b612d609190613ab2565b905092915050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b600080fd5b600060ff82169050919050565b612e1481612dfe565b8114612e1f57600080fd5b50565b600081359050612e3181612e0b565b92915050565b600060208284031215612e4d57612e4c612df9565b5b6000612e5b84828501612e22565b91505092915050565b600061ffff82169050919050565b612e7b81612e64565b82525050565b6000602082019050612e966000830184612e72565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ec782612e9c565b9050919050565b612ed781612ebc565b8114612ee257600080fd5b50565b600081359050612ef481612ece565b92915050565b60008060408385031215612f1157612f10612df9565b5b6000612f1f85828601612ee5565b9250506020612f3085828601612ee5565b9150509250929050565b6000819050919050565b612f4d81612f3a565b8114612f5857600080fd5b50565b600081359050612f6a81612f44565b92915050565b600060208284031215612f8657612f85612df9565b5b6000612f9484828501612f5b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612fd7578082015181840152602081019050612fbc565b60008484015250505050565b6000601f19601f8301169050919050565b6000612fff82612f9d565b6130098185612fa8565b9350613019818560208601612fb9565b61302281612fe3565b840191505092915050565b600060208201905081810360008301526130478184612ff4565b905092915050565b6000806040838503121561306657613065612df9565b5b600061307485828601612ee5565b925050602061308585828601612f5b565b9150509250929050565b60008115159050919050565b6130a48161308f565b82525050565b60006020820190506130bf600083018461309b565b92915050565b6000602082840312156130db576130da612df9565b5b60006130e984828501612ee5565b91505092915050565b6130fb81612f3a565b82525050565b600060208201905061311660008301846130f2565b92915050565b60008060006060848603121561313557613134612df9565b5b600061314386828701612ee5565b935050602061315486828701612ee5565b925050604061316586828701612f5b565b9150509250925092565b61317881612dfe565b82525050565b6000602082019050613193600083018461316f565b92915050565b6131a281612ebc565b82525050565b60006020820190506131bd6000830184613199565b92915050565b6131cc8161308f565b81146131d757600080fd5b50565b6000813590506131e9816131c3565b92915050565b6000806040838503121561320657613205612df9565b5b600061321485828601612ee5565b9250506020613225858286016131da565b9150509250929050565b7f6e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b6000613265600e83612fa8565b91506132708261322f565b602082019050919050565b6000602082019050818103600083015261329481613258565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132e257607f821691505b6020821081036132f5576132f461329b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613331602083612fa8565b915061333c826132fb565b602082019050919050565b6000602082019050818103600083015261336081613324565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006133a182612f3a565b91506133ac83612f3a565b92508282039050818111156133c4576133c3613367565b5b92915050565b7f596f7520646f6e2774206f776e20616e79207265666572616c2072657761726460008201527f2079657400000000000000000000000000000000000000000000000000000000602082015250565b6000613426602483612fa8565b9150613431826133ca565b604082019050919050565b6000602082019050818103600083015261345581613419565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006134b8602683612fa8565b91506134c38261345c565b604082019050919050565b600060208201905081810360008301526134e7816134ab565b9050919050565b60006134f982612f3a565b915061350483612f3a565b925082820190508082111561351c5761351b613367565b5b92915050565b7f596f752063616e6e6f7420726566657220796f757273656c6600000000000000600082015250565b6000613558601983612fa8565b915061356382613522565b602082019050919050565b600060208201905081810360008301526135878161354b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006135ea602483612fa8565b91506135f58261358e565b604082019050919050565b60006020820190508181036000830152613619816135dd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061367c602283612fa8565b915061368782613620565b604082019050919050565b600060208201905081810360008301526136ab8161366f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061370e602583612fa8565b9150613719826136b2565b604082019050919050565b6000602082019050818103600083015261373d81613701565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006137a0602383612fa8565b91506137ab82613744565b604082019050919050565b600060208201905081810360008301526137cf81613793565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613832602983612fa8565b915061383d826137d6565b604082019050919050565b6000602082019050818103600083015261386181613825565b9050919050565b7f54726164696e67206973206e6f7420656e61626c656420796574000000000000600082015250565b600061389e601a83612fa8565b91506138a982613868565b602082019050919050565b600060208201905081810360008301526138cd81613891565b9050919050565b60006138df82612f3a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361391157613910613367565b5b600182019050919050565b6000608082019050613931600083018761316f565b61393e6020830186613199565b61394b6040830185613199565b61395860608301846130f2565b95945050505050565b600061396c82612dfe565b915060ff820361397f5761397e613367565b5b600182019050919050565b600060608201905061399f6000830186613199565b6139ac60208301856130f2565b6139b960408301846130f2565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139fb82612f3a565b9150613a0683612f3a565b925082613a1657613a156139c1565b5b828206905092915050565b6000606082019050613a3660008301866130f2565b613a4360208301856130f2565b613a5060408301846130f2565b949350505050565b6000613a6382612f3a565b9150613a6e83612f3a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613aa757613aa6613367565b5b828202905092915050565b6000613abd82612f3a565b9150613ac883612f3a565b925082613ad857613ad76139c1565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200c0f7beedd14b4076928dd224317ba8b8968ac9464031c700ccf4aabf6858d0064736f6c63430008100033608060405234801561001057600080fd5b50604051610b94380380610b94833981810160405281019061003291906101ac565b61004061014160201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506101d9565b600033905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101798261014e565b9050919050565b6101898161016e565b811461019457600080fd5b50565b6000815190506101a681610180565b92915050565b6000602082840312156101c2576101c1610149565b5b60006101d084828501610197565b91505092915050565b6109ac806101e86000396000f3fe608060405234801561001057600080fd5b50600436106100615760003560e01c8062f714ce14610066578063715018a6146100825780638da5cb5b1461008c5780639d54f419146100aa578063df034cd0146100c6578063f2fde38b146100e4575b600080fd5b610080600480360381019061007b91906106c7565b610100565b005b61008a610235565b005b61009461036f565b6040516100a19190610716565b60405180910390f35b6100c460048036038101906100bf9190610731565b610398565b005b6100ce610458565b6040516100db9190610716565b60405180910390f35b6100fe60048036038101906100f99190610731565b61047e565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610190576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610187906107bb565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82846040518363ffffffff1660e01b81526004016101ed9291906107ea565b6020604051808303816000875af115801561020c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610230919061084b565b505050565b61023d610626565b73ffffffffffffffffffffffffffffffffffffffff1661025b61036f565b73ffffffffffffffffffffffffffffffffffffffff16146102b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a8906108c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6103a0610626565b73ffffffffffffffffffffffffffffffffffffffff166103be61036f565b73ffffffffffffffffffffffffffffffffffffffff1614610414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040b906108c4565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610486610626565b73ffffffffffffffffffffffffffffffffffffffff166104a461036f565b73ffffffffffffffffffffffffffffffffffffffff16146104fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f1906108c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056090610956565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600080fd5b6000819050919050565b61064681610633565b811461065157600080fd5b50565b6000813590506106638161063d565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061069482610669565b9050919050565b6106a481610689565b81146106af57600080fd5b50565b6000813590506106c18161069b565b92915050565b600080604083850312156106de576106dd61062e565b5b60006106ec85828601610654565b92505060206106fd858286016106b2565b9150509250929050565b61071081610689565b82525050565b600060208201905061072b6000830184610707565b92915050565b6000602082840312156107475761074661062e565b5b6000610755848285016106b2565b91505092915050565b600082825260208201905092915050565b7f796f7520617265206e6f74207468652075706461746572000000000000000000600082015250565b60006107a560178361075e565b91506107b08261076f565b602082019050919050565b600060208201905081810360008301526107d481610798565b9050919050565b6107e481610633565b82525050565b60006040820190506107ff6000830185610707565b61080c60208301846107db565b9392505050565b60008115159050919050565b61082881610813565b811461083357600080fd5b50565b6000815190506108458161081f565b92915050565b6000602082840312156108615761086061062e565b5b600061086f84828501610836565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006108ae60208361075e565b91506108b982610878565b602082019050919050565b600060208201905081810360008301526108dd816108a1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061094060268361075e565b915061094b826108e4565b604082019050919050565b6000602082019050818103600083015261096f81610933565b905091905056fea2646970667358221220029193bf09d09efee8efd474f8a4c8e012a52e05669b45a84bbcd44293d7123a64736f6c63430008100033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ae685c04d159cabb0df5ddf4442bb32245b830fb000000000000000000000000000000000000000000000000000000000000000573616c747a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000573616c747a000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102335760003560e01c8063715018a61161012e578063b77bf600116100ab578063da7e2c7f1161006f578063da7e2c7f14610873578063dd62ed3e1461089c578063f1f9d8c9146108d9578063f2fde38b14610916578063fbfa77cf1461093f5761023a565b8063b77bf600146107b4578063c3c5a547146107df578063d2fb3ddc1461081c578063d62f5dc014610845578063d95899821461085c5761023a565b806395d89b41116100f257806395d89b41146106bb57806395f4d088146106e6578063966ff6501461070f578063a457c2d71461073a578063a9059cbb146107775761023a565b8063715018a61461060c578063771282f6146106235780638a8c523c1461064e5780638da5cb5b146106655780638ea5220f146106905761023a565b8063313ce567116101bc57806350e821831161018057806350e82183146104ff5780635342acb41461052a578063612cdfd11461056757806361d45ab8146105a457806370a08231146105cf5761023a565b8063313ce56714610404578063365b98b21461042f578063395093511461046c5780633d3dbdc7146104a95780634ada218b146104d45761023a565b8063095ea7b311610203578063095ea7b3146102f957806310b778e41461033657806318160ddd1461035f57806323b872dd1461038a5780632aa6e0a9146103c75761023a565b8062b5f1231461023f5780630354adb21461027c5780630504fa52146102a557806306fdde03146102ce5761023a565b3661023a57005b600080fd5b34801561024b57600080fd5b5061026660048036038101906102619190612e37565b61096a565b6040516102739190612e81565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e9190612efa565b61098b565b005b3480156102b157600080fd5b506102cc60048036038101906102c79190612f70565b610a57565b005b3480156102da57600080fd5b506102e3610b2e565b6040516102f0919061302d565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b919061304f565b610bc0565b60405161032d91906130aa565b60405180910390f35b34801561034257600080fd5b5061035d600480360381019061035891906130c5565b610bde565b005b34801561036b57600080fd5b50610374610c9e565b6040516103819190613101565b60405180910390f35b34801561039657600080fd5b506103b160048036038101906103ac919061311c565b610ca8565b6040516103be91906130aa565b60405180910390f35b3480156103d357600080fd5b506103ee60048036038101906103e991906130c5565b610d81565b6040516103fb9190613101565b60405180910390f35b34801561041057600080fd5b50610419610d99565b604051610426919061317e565b60405180910390f35b34801561043b57600080fd5b5061045660048036038101906104519190612f70565b610da2565b60405161046391906131a8565b60405180910390f35b34801561047857600080fd5b50610493600480360381019061048e919061304f565b610de1565b6040516104a091906130aa565b60405180910390f35b3480156104b557600080fd5b506104be610e94565b6040516104cb9190613101565b60405180910390f35b3480156104e057600080fd5b506104e9610e9e565b6040516104f691906130aa565b60405180910390f35b34801561050b57600080fd5b50610514610eb1565b6040516105219190613101565b60405180910390f35b34801561053657600080fd5b50610551600480360381019061054c91906130c5565b610eb7565b60405161055e91906130aa565b60405180910390f35b34801561057357600080fd5b5061058e600480360381019061058991906130c5565b610f0d565b60405161059b9190613101565b60405180910390f35b3480156105b057600080fd5b506105b9610f25565b6040516105c691906131a8565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f191906130c5565b610f4b565b6040516106039190613101565b60405180910390f35b34801561061857600080fd5b50610621610f94565b005b34801561062f57600080fd5b506106386110ce565b6040516106459190613101565b60405180910390f35b34801561065a57600080fd5b506106636110d4565b005b34801561067157600080fd5b5061067a61116d565b60405161068791906131a8565b60405180910390f35b34801561069c57600080fd5b506106a5611196565b6040516106b291906131a8565b60405180910390f35b3480156106c757600080fd5b506106d06111bc565b6040516106dd919061302d565b60405180910390f35b3480156106f257600080fd5b5061070d600480360381019061070891906130c5565b61124e565b005b34801561071b57600080fd5b5061072461135f565b6040516107319190613101565b60405180910390f35b34801561074657600080fd5b50610761600480360381019061075c919061304f565b611365565b60405161076e91906130aa565b60405180910390f35b34801561078357600080fd5b5061079e6004803603810190610799919061304f565b611432565b6040516107ab91906130aa565b60405180910390f35b3480156107c057600080fd5b506107c9611450565b6040516107d69190613101565b60405180910390f35b3480156107eb57600080fd5b50610806600480360381019061080191906130c5565b611456565b60405161081391906130aa565b60405180910390f35b34801561082857600080fd5b50610843600480360381019061083e91906130c5565b611476565b005b34801561085157600080fd5b5061085a611631565b005b34801561086857600080fd5b506108716117ab565b005b34801561087f57600080fd5b5061089a600480360381019061089591906131ef565b611912565b005b3480156108a857600080fd5b506108c360048036038101906108be9190612efa565b611a3a565b6040516108d09190613101565b60405180910390f35b3480156108e557600080fd5b5061090060048036038101906108fb91906130c5565b611ac1565b60405161090d91906131a8565b60405180910390f35b34801561092257600080fd5b5061093d600480360381019061093891906130c5565b611af4565b005b34801561094b57600080fd5b50610954611c9c565b60405161096191906131a8565b60405180910390f35b60096020528060005260406000206000915054906101000a900461ffff1681565b60001515600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610a53576109ed8282611cd8565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f05345a91f639184e946e5aac384b1e9f74ae9ab08d775a7deddb3180cebecb2342604051610a4a9190613101565b60405180910390a35b5050565b610a5f61116d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ae55750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1b9061327b565b60405180910390fd5b8060178190555050565b606060058054610b3d906132ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610b69906132ca565b8015610bb65780601f10610b8b57610100808354040283529160200191610bb6565b820191906000526020600020905b815481529060010190602001808311610b9957829003601f168201915b5050505050905090565b6000610bd4610bcd611e83565b8484611e8b565b6001905092915050565b610be6611e83565b73ffffffffffffffffffffffffffffffffffffffff16610c0461116d565b73ffffffffffffffffffffffffffffffffffffffff1614610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5190613347565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600454905090565b6000610cb5848484612054565b610d7684610cc1611e83565b610d7185604051806060016040528060288152602001613b0a60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d27611e83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123ba9092919063ffffffff16565b611e8b565b600190509392505050565b600c6020528060005260406000206000915090505481565b60006012905090565b600d8181548110610db257600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e8a610dee611e83565b84610e858560036000610dff611e83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc290919063ffffffff16565b611e8b565b6001905092915050565b6000601754905090565b601360149054906101000a900460ff1681565b60155481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b6020528060005260406000206000915090505481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f9c611e83565b73ffffffffffffffffffffffffffffffffffffffff16610fba61116d565b73ffffffffffffffffffffffffffffffffffffffff1614611010576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100790613347565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b6110dc611e83565b73ffffffffffffffffffffffffffffffffffffffff166110fa61116d565b73ffffffffffffffffffffffffffffffffffffffff1614611150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114790613347565b60405180910390fd5b6001601360146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600680546111cb906132ca565b80601f01602080910402602001604051908101604052809291908181526020018280546111f7906132ca565b80156112445780601f1061121957610100808354040283529160200191611244565b820191906000526020600020905b81548152906001019060200180831161122757829003601f168201915b5050505050905090565b61125661116d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112dc5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61131b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113129061327b565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60145481565b6000611428611372611e83565b8461142385604051806060016040528060258152602001613b32602591396003600061139c611e83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123ba9092919063ffffffff16565b611e8b565b6001905092915050565b600061144661143f611e83565b8484612054565b6001905092915050565b60125481565b60086020528060005260406000206000915054906101000a900460ff1681565b61147e611e83565b73ffffffffffffffffffffffffffffffffffffffff1661149c61116d565b73ffffffffffffffffffffffffffffffffffffffff16146114f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e990613347565b60405180910390fd5b80601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639d54f419601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016115f191906131a8565b600060405180830381600087803b15801561160b57600080fd5b505af115801561161f573d6000803e3d6000fd5b5050505061162e816001611912565b50565b61163961116d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116bf5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6116fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f59061327b565b60405180910390fd5b60006016546015546117109190613396565b9050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c6b16ab826040518263ffffffff1660e01b815260040161176d9190613101565b600060405180830381600087803b15801561178757600080fd5b505af115801561179b573d6000803e3d6000fd5b5050505060155460168190555050565b6000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161182d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118249061343c565b60405180910390fd5b6000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118c130338361240f565b3373ffffffffffffffffffffffffffffffffffffffff167f12c168d8f3b7576aae1f28cb6a0c123371d23c4e5eb95ed075c89ca60745a6f3826040516119079190613101565b60405180910390a250565b61191a61116d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119a05750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6119df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d69061327b565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611afc611e83565b73ffffffffffffffffffffffffffffffffffffffff16611b1a61116d565b73ffffffffffffffffffffffffffffffffffffffff1614611b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6790613347565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd6906134ce565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008183611cd091906134ee565b905092915050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3d9061356e565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef190613600565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6090613692565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120479190613101565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ba90613724565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612132576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612129906137b6565b60405180910390fd5b60008111612175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216c90613848565b60405180910390fd5b61217d61116d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156121c55750601360149054906101000a900460ff16155b1561221a57601360149054906101000a900460ff16612219576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612210906138b4565b60405180910390fd5b5b600060019050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122c15750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122da576122d184848461240f565b600090506123b4565b600061237f83600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166126a6565b90506123908585836060015161240f565b61239a8186612797565b601260008154809291906123ad906138d4565b9190505550505b50505050565b6000838311158290612402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f9919061302d565b60405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361247e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247590613724565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e4906137b6565b60405180910390fd5b6124f8838383612bc7565b61256481604051806060016040528060268152602001613ae460269139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123ba9092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125f981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc290919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126999190613101565b60405180910390a3505050565b6126ae612dd1565b6126b6612dd1565b84816000018181525050831580156126cc575082155b156127675760006126e08260000151612bcc565b90506126f0826000015182612d41565b8260200181815250506000612728836020015184600001516127129190613396565b600f60149054906101000a900461ffff16612d41565b905082602001518161273a91906134ee565b836040018181525050826040015183600001516127579190613396565b836060018181525050505061278c565b6000816020018181525050600081604001818152505080600001518160600181815250505b809150509392505050565b60008060006127a584612d68565b90505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156127e9575060048360ff1611155b156129565760006128258660400151600960008760ff1660ff16815260200190815260200160002060009054906101000a900461ffff16612d41565b905080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461287691906134ee565b9250508190555080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546128cc91906134ee565b9250508190555080836128df91906134ee565b925080866040018181516128f39190613396565b915081815250507fbdeafb44a20fd43b3824944710749bdf346e41656a455e6d096243f6ecb594518486848460405161292f949392919061391c565b60405180910390a161294082612d68565b9150838061294d90613961565b945050506127a8565b61296184308461240f565b60009150600085604001519050600061298a82600f60169054906101000a900461ffff16612d41565b905060006129a883600f60189054906101000a900461ffff16612d41565b905080826129b691906134ee565b88604001516129c59190613396565b925060008390506129f988600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361240f565b612a2688600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461240f565b8160156000828254612a3891906134ee565b92505081905550612a4c8861dead8561240f565b8260116000828254612a5e9190613396565b925050819055508260146000828254612a7791906134ee565b925050819055507f49995e5dd6158cf69ad3e9777c46755a1a826a446c6416992167462dad033b2a888442604051612ab19392919061398a565b60405180910390a16000612ac3610e94565b601254612ad091906139f0565b03612b81576000601654601554612ae79190613396565b9050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c6b16ab826040518263ffffffff1660e01b8152600401612b449190613101565b600060405180830381600087803b158015612b5e57600080fd5b505af1158015612b72573d6000803e3d6000fd5b50505050601554601681905550505b7f01db31d63c03dd2a4c9e29e54bf1375e47f0aabc07da1d4d013ed16535de5432838284604051612bb493929190613a21565b60405180910390a1505050505050505050565b505050565b600080601154606484612bdf9190613a58565b612be99190613ab2565b905060006001821015612bff5760009050612d37565b60018210158015612c105750600282105b15612c1f576101f49050612d36565b60028210158015612c305750600382105b15612c3f576103e89050612d35565b60038210158015612c505750600482105b15612c5f576105dc9050612d34565b60048210158015612c705750600582105b15612c7f576107d09050612d33565b60058210158015612c905750600682105b15612c9f576109c49050612d32565b60068210158015612cb05750600782105b15612cbf57610bb89050612d31565b60078210158015612cd05750600882105b15612cdf57610dac9050612d30565b60088210158015612cf05750600982105b15612cff57610fa09050612d2f565b60098210158015612d105750600a82105b15612d1f576111949050612d2e565b600a8210612d2d5761138890505b5b5b5b5b5b5b5b5b5b5b8092505050919050565b60006127108261ffff1684612d569190613a58565b612d609190613ab2565b905092915050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b600080fd5b600060ff82169050919050565b612e1481612dfe565b8114612e1f57600080fd5b50565b600081359050612e3181612e0b565b92915050565b600060208284031215612e4d57612e4c612df9565b5b6000612e5b84828501612e22565b91505092915050565b600061ffff82169050919050565b612e7b81612e64565b82525050565b6000602082019050612e966000830184612e72565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ec782612e9c565b9050919050565b612ed781612ebc565b8114612ee257600080fd5b50565b600081359050612ef481612ece565b92915050565b60008060408385031215612f1157612f10612df9565b5b6000612f1f85828601612ee5565b9250506020612f3085828601612ee5565b9150509250929050565b6000819050919050565b612f4d81612f3a565b8114612f5857600080fd5b50565b600081359050612f6a81612f44565b92915050565b600060208284031215612f8657612f85612df9565b5b6000612f9484828501612f5b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612fd7578082015181840152602081019050612fbc565b60008484015250505050565b6000601f19601f8301169050919050565b6000612fff82612f9d565b6130098185612fa8565b9350613019818560208601612fb9565b61302281612fe3565b840191505092915050565b600060208201905081810360008301526130478184612ff4565b905092915050565b6000806040838503121561306657613065612df9565b5b600061307485828601612ee5565b925050602061308585828601612f5b565b9150509250929050565b60008115159050919050565b6130a48161308f565b82525050565b60006020820190506130bf600083018461309b565b92915050565b6000602082840312156130db576130da612df9565b5b60006130e984828501612ee5565b91505092915050565b6130fb81612f3a565b82525050565b600060208201905061311660008301846130f2565b92915050565b60008060006060848603121561313557613134612df9565b5b600061314386828701612ee5565b935050602061315486828701612ee5565b925050604061316586828701612f5b565b9150509250925092565b61317881612dfe565b82525050565b6000602082019050613193600083018461316f565b92915050565b6131a281612ebc565b82525050565b60006020820190506131bd6000830184613199565b92915050565b6131cc8161308f565b81146131d757600080fd5b50565b6000813590506131e9816131c3565b92915050565b6000806040838503121561320657613205612df9565b5b600061321485828601612ee5565b9250506020613225858286016131da565b9150509250929050565b7f6e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b6000613265600e83612fa8565b91506132708261322f565b602082019050919050565b6000602082019050818103600083015261329481613258565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132e257607f821691505b6020821081036132f5576132f461329b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613331602083612fa8565b915061333c826132fb565b602082019050919050565b6000602082019050818103600083015261336081613324565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006133a182612f3a565b91506133ac83612f3a565b92508282039050818111156133c4576133c3613367565b5b92915050565b7f596f7520646f6e2774206f776e20616e79207265666572616c2072657761726460008201527f2079657400000000000000000000000000000000000000000000000000000000602082015250565b6000613426602483612fa8565b9150613431826133ca565b604082019050919050565b6000602082019050818103600083015261345581613419565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006134b8602683612fa8565b91506134c38261345c565b604082019050919050565b600060208201905081810360008301526134e7816134ab565b9050919050565b60006134f982612f3a565b915061350483612f3a565b925082820190508082111561351c5761351b613367565b5b92915050565b7f596f752063616e6e6f7420726566657220796f757273656c6600000000000000600082015250565b6000613558601983612fa8565b915061356382613522565b602082019050919050565b600060208201905081810360008301526135878161354b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006135ea602483612fa8565b91506135f58261358e565b604082019050919050565b60006020820190508181036000830152613619816135dd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061367c602283612fa8565b915061368782613620565b604082019050919050565b600060208201905081810360008301526136ab8161366f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061370e602583612fa8565b9150613719826136b2565b604082019050919050565b6000602082019050818103600083015261373d81613701565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006137a0602383612fa8565b91506137ab82613744565b604082019050919050565b600060208201905081810360008301526137cf81613793565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613832602983612fa8565b915061383d826137d6565b604082019050919050565b6000602082019050818103600083015261386181613825565b9050919050565b7f54726164696e67206973206e6f7420656e61626c656420796574000000000000600082015250565b600061389e601a83612fa8565b91506138a982613868565b602082019050919050565b600060208201905081810360008301526138cd81613891565b9050919050565b60006138df82612f3a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361391157613910613367565b5b600182019050919050565b6000608082019050613931600083018761316f565b61393e6020830186613199565b61394b6040830185613199565b61395860608301846130f2565b95945050505050565b600061396c82612dfe565b915060ff820361397f5761397e613367565b5b600182019050919050565b600060608201905061399f6000830186613199565b6139ac60208301856130f2565b6139b960408301846130f2565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006139fb82612f3a565b9150613a0683612f3a565b925082613a1657613a156139c1565b5b828206905092915050565b6000606082019050613a3660008301866130f2565b613a4360208301856130f2565b613a5060408301846130f2565b949350505050565b6000613a6382612f3a565b9150613a6e83612f3a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613aa757613aa6613367565b5b828202905092915050565b6000613abd82612f3a565b9150613ac883612f3a565b925082613ad857613ad76139c1565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200c0f7beedd14b4076928dd224317ba8b8968ac9464031c700ccf4aabf6858d0064736f6c63430008100033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ae685c04d159cabb0df5ddf4442bb32245b830fb000000000000000000000000000000000000000000000000000000000000000573616c747a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000573616c747a000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _symbol (string): saltz
Arg [1] : _name (string): saltz
Arg [2] : _devWallet (address): 0xAE685c04d159Cabb0DF5Ddf4442bb32245b830Fb

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000ae685c04d159cabb0df5ddf4442bb32245b830fb
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [4] : 73616c747a000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 73616c747a000000000000000000000000000000000000000000000000000000


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.