Contract Address Details

0xCa28321C64fBB1a5729f3F683623Ef1ae07aE0e8

Token
PokemonDoge ($PKD)
Creator
0xb2b993–47c750 at 0x94668f–25e801
Balance
3.340445877057368991 Doge
Tokens
Fetching tokens...
Transactions
92 Transactions
Transfers
83 Transfers
Gas Used
4,998,658
Last Balance Update
26504450
Contract name:
PokemonDoge




Optimization enabled
false
Compiler version
v0.8.15+commit.e14f2714




EVM Version
default




Verified at
2022-08-21T22:11:58.755204Z

Contract source code

// SPDX-License-Identifier: Unlicensed
//contract created by dammydev TG:@DAMMYdev //

pragma solidity ^0.8.15;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface Token {
    function transferFrom(address, address, uint) external returns (bool);
    function transfer(address, uint) external returns (bool);
}

interface IYodedexFactory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IYodedexRouter01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    )
        external
        returns (
            uint amountA,
            uint amountB,
            uint liquidity
        );

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (
            uint amountToken,
            uint amountETH,
            uint liquidity
        );

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint amountToken, uint amountETH);

    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapExactETHForTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable returns (uint[] memory amounts);

    function swapTokensForExactETH(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapExactTokensForETH(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);

    function swapETHForExactTokens(
        uint amountOut,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable returns (uint[] memory amounts);

    function quote(
        uint amountA,
        uint reserveA,
        uint reserveB
    ) external pure returns (uint amountB);

    function getAmountOut(
        uint amountIn,
        uint reserveIn,
        uint reserveOut
    ) external pure returns (uint amountOut);

    function getAmountIn(
        uint amountOut,
        uint reserveIn,
        uint reserveOut
    ) external pure returns (uint amountIn);

    function getAmountsOut(uint amountIn, address[] calldata path)
        external
        view
        returns (uint[] memory amounts);

    function getAmountsIn(uint amountOut, address[] calldata path)
        external
        view
        returns (uint[] memory amounts);
}

interface IYodedexRouter02 is IYodedexRouter01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

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



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

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

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

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

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

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

}

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

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

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    function transferOwnership(address newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

contract PokemonDoge is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _botList;
    
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 5;
    
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 5;
    
    uint256 private _redisFee;
    uint256 private _taxFee;
    
    string private constant _name = "PokemonDoge";
    string private constant _symbol = "$PKD";
    uint8 private constant _decimals = 9;

    address routerAddress = 0x72d85Ab47fBfc5E7E04a8bcfCa1601D8f8cE1a50;
    
    address payable private _developmentAddress = payable(0xB2b99322Fac3B93a399CBa93baD6B96bb747c750);
    address payable private _marketingAddress = payable(0xB2b99322Fac3B93a399CBa93baD6B96bb747c750);

    IYodedexRouter02 public router;
    address public pair;
    
    bool private inSwap = false;
    bool private swapEnabled = true;
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _rOwned[_msgSender()] = _rTotal;
        
        IYodedexRouter02 _router = IYodedexRouter02(routerAddress);
        router = _router;
        pair = IYodedexFactory(_router.factory())
            .createPair(address(this), _router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal);
    }

    modifier onlyDev() {	
        require(owner() == _msgSender() || _developmentAddress == _msgSender(), "Caller is not the dev");	
        _;	
    }

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

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

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

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

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

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


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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(!_botList[from], "blackList for bot");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        _redisFee = 0;
        _taxFee = 0;
        
        if (from != owner() && to != owner()) {
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != pair && swapEnabled && contractTokenBalance > 0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
            
            if(from == pair && to != address(router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
    
            if (to == pair && from != address(router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
            
            if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != pair && to != pair)) {
                _redisFee = 0;
                _taxFee = 0;
            }
            
        }

        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _developmentAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    event tokensRescued(address indexed token, address indexed to, uint amount);
    function rescueForeignTokens(address _tokenAddr, address _to, uint _amount) public onlyDev() {
        require(_tokenAddr != address(this), "You're not able to rescue native tokens");
        emit tokensRescued(_tokenAddr, _to, _amount);	
        Token(_tokenAddr).transfer(_to, _amount);
    }
    
    event devAddressUpdated(address indexed previous, address indexed adr);
    function setNewDevAddress(address payable dev) public onlyDev() {
        emit devAddressUpdated(_developmentAddress, dev);	
        _developmentAddress = dev;
        _isExcludedFromFee[_developmentAddress] = true;
    }
    
    event marketingAddressUpdated(address indexed previous, address indexed adr);
    function setNewMarketingAddress(address payable markt) public onlyDev() {
        emit marketingAddressUpdated(_marketingAddress, markt);	
        _marketingAddress = markt;
        _isExcludedFromFee[_marketingAddress] = true;
    }

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

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

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

    receive() external payable {}
    
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

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

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

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

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

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress || _msgSender() == owner());
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress || _msgSender() == owner());
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyDev {
	    require(redisFeeOnBuy < 2 , "Redis cannot be more than 2.");
	    require(redisFeeOnSell < 2, "Redis cannot be more than 2.");
	    require(taxFeeOnBuy < 12, "Tax cannot be more than 12.");
	    require(taxFeeOnSell < 12, "Tax cannot be more than 12.");
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }
    
    function setBotList(address addr, bool enable) external onlyDev {
        _botList[addr] = enable;
    }

    function toggleSwap(bool _swapEnabled) public onlyDev {
        swapEnabled = _swapEnabled;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyDev {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function tranferMultilWallet(address[] calldata accounts, uint256 amount) public onlyDev{
        for(uint256 i = 0; i < accounts.length; i++) {
           transfer(accounts[i], amount);
        }
    }

    function isBot(address account)  public view onlyDev returns (bool){
       return _botList[account];
    }
}
        

Contract ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"spender","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"type":"address","name":"previousOwner","internalType":"address","indexed":true},{"type":"address","name":"newOwner","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"devAddressUpdated","inputs":[{"type":"address","name":"previous","internalType":"address","indexed":true},{"type":"address","name":"adr","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"marketingAddressUpdated","inputs":[{"type":"address","name":"previous","internalType":"address","indexed":true},{"type":"address","name":"adr","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"tokensRescued","inputs":[{"type":"address","name":"token","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"amount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"address","name":"spender","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"pure","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"excludeMultipleAccountsFromFees","inputs":[{"type":"address[]","name":"accounts","internalType":"address[]"},{"type":"bool","name":"excluded","internalType":"bool"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"isBot","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"manualsend","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"manualswap","inputs":[]},{"type":"function","stateMutability":"pure","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"owner","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"pair","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"renounceOwnership","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"rescueForeignTokens","inputs":[{"type":"address","name":"_tokenAddr","internalType":"address"},{"type":"address","name":"_to","internalType":"address"},{"type":"uint256","name":"_amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"contract IYodedexRouter02"}],"name":"router","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setBotList","inputs":[{"type":"address","name":"addr","internalType":"address"},{"type":"bool","name":"enable","internalType":"bool"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setFee","inputs":[{"type":"uint256","name":"redisFeeOnBuy","internalType":"uint256"},{"type":"uint256","name":"redisFeeOnSell","internalType":"uint256"},{"type":"uint256","name":"taxFeeOnBuy","internalType":"uint256"},{"type":"uint256","name":"taxFeeOnSell","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setNewDevAddress","inputs":[{"type":"address","name":"dev","internalType":"address payable"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setNewMarketingAddress","inputs":[{"type":"address","name":"markt","internalType":"address payable"}]},{"type":"function","stateMutability":"pure","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"toggleSwap","inputs":[{"type":"bool","name":"_swapEnabled","internalType":"bool"}]},{"type":"function","stateMutability":"pure","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"tranferMultilWallet","inputs":[{"type":"address[]","name":"accounts","internalType":"address[]"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transfer","inputs":[{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"sender","internalType":"address"},{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]},{"type":"receive","stateMutability":"payable"}]
            

Contract Creation Code

0x60806040526509184e72a0006000196200001a919062000736565b6000196200002991906200079d565b60075560006009556005600a556000600b556005600c557372d85ab47fbfc5e7e04a8bcfca1601d8f8ce1a50600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b2b99322fac3b93a399cba93bad6b96bb747c750601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b2b99322fac3b93a399cba93bad6b96bb747c750601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601360146101000a81548160ff0219169083151502179055506001601360156101000a81548160ff0219169083151502179055503480156200018257600080fd5b50600062000195620006cc60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600754600260006200024a620006cc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200033c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000362919062000842565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f0919062000842565b6040518363ffffffff1660e01b81526004016200040f92919062000885565b6020604051808303816000875af11580156200042f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000455919062000842565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004ab620006d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000658620006cc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6509184e72a000604051620006bd9190620008c3565b60405180910390a350620008e0565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200074382620006fd565b91506200075083620006fd565b92508262000763576200076262000707565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007aa82620006fd565b9150620007b783620006fd565b925082821015620007cd57620007cc6200076e565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200080a82620007dd565b9050919050565b6200081c81620007fd565b81146200082857600080fd5b50565b6000815190506200083c8162000811565b92915050565b6000602082840312156200085b576200085a620007d8565b5b60006200086b848285016200082b565b91505092915050565b6200087f81620007fd565b82525050565b60006040820190506200089c600083018562000874565b620008ab602083018462000874565b9392505050565b620008bd81620006fd565b82525050565b6000602082019050620008da6000830184620008b2565b92915050565b61407e80620008f06000396000f3fe60806040526004361061016a5760003560e01c806395d89b41116100d1578063c3c8cd801161008a578063dd62ed3e11610064578063dd62ed3e1461050d578063e293d3161461054a578063f2fde38b14610573578063f887ea401461059c57610171565b8063c3c8cd80146104a4578063c492f046146104bb578063d90a8d0b146104e457610171565b806395d89b4114610396578063a2a957bb146103c1578063a8aa1b31146103ea578063a9059cbb14610415578063aad5c02314610452578063bbe8b09c1461047b57610171565b80636d8aa8f8116101235780636d8aa8f8146102ae5780636fc3eaec146102d757806370a08231146102ee578063715018a61461032b578063758dbe03146103425780638da5cb5b1461036b57610171565b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101de57806323b872dd14610209578063313ce567146102465780633bbac5791461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105c7565b6040516101989190612f64565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190613024565b610604565b6040516101d5919061307f565b60405180910390f35b3480156101ea57600080fd5b506101f3610622565b60405161020091906130a9565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906130c4565b610630565b60405161023d919061307f565b60405180910390f35b34801561025257600080fd5b5061025b610709565b6040516102689190613133565b60405180910390f35b34801561027d57600080fd5b506102986004803603810190610293919061314e565b610712565b6040516102a5919061307f565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d091906131a7565b610843565b005b3480156102e357600080fd5b506102ec61093b565b005b3480156102fa57600080fd5b506103156004803603810190610310919061314e565b610a50565b60405161032291906130a9565b60405180910390f35b34801561033757600080fd5b50610340610aa1565b005b34801561034e57600080fd5b5061036960048036038101906103649190613212565b610bf4565b005b34801561037757600080fd5b50610380610e09565b60405161038d919061324e565b60405180910390f35b3480156103a257600080fd5b506103ab610e32565b6040516103b89190612f64565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e39190613269565b610e6f565b005b3480156103f657600080fd5b506103ff611078565b60405161040c919061324e565b60405180910390f35b34801561042157600080fd5b5061043c60048036038101906104379190613024565b61109e565b604051610449919061307f565b60405180910390f35b34801561045e57600080fd5b5061047960048036038101906104749190613212565b6110bc565b005b34801561048757600080fd5b506104a2600480360381019061049d9190613335565b6112d1565b005b3480156104b057600080fd5b506104b9611405565b005b3480156104c757600080fd5b506104e260048036038101906104dd9190613395565b611522565b005b3480156104f057600080fd5b5061050b600480360381019061050691906133f5565b6116a2565b005b34801561051957600080fd5b50610534600480360381019061052f9190613435565b6117d8565b60405161054191906130a9565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c91906130c4565b61185f565b005b34801561057f57600080fd5b5061059a6004803603810190610595919061314e565b611a91565b005b3480156105a857600080fd5b506105b1611be3565b6040516105be91906134d4565b60405180910390f35b60606040518060400160405280600b81526020017f506f6b656d6f6e446f6765000000000000000000000000000000000000000000815250905090565b6000610618610611611c09565b8484611c11565b6001905092915050565b60006509184e72a000905090565b600061063d848484611dda565b6106fe84610649611c09565b6106f98560405180606001604052806028815260200161402160289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106af611c09565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123d99092919063ffffffff16565b611c11565b600190509392505050565b60006009905090565b600061071c611c09565b73ffffffffffffffffffffffffffffffffffffffff1661073a610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806107b0575061075f611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6107ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e69061353b565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61084b611c09565b73ffffffffffffffffffffffffffffffffffffffff16610869610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806108df575061088e611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61091e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109159061353b565b60405180910390fd5b80601360156101000a81548160ff02191690831515021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661097c611c09565b73ffffffffffffffffffffffffffffffffffffffff1614806109f25750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109da611c09565b73ffffffffffffffffffffffffffffffffffffffff16145b80610a365750610a00610e09565b73ffffffffffffffffffffffffffffffffffffffff16610a1e611c09565b73ffffffffffffffffffffffffffffffffffffffff16145b610a3f57600080fd5b6000479050610a4d8161243d565b50565b6000610a9a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612538565b9050919050565b610aa9611c09565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d906135a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bfc611c09565b73ffffffffffffffffffffffffffffffffffffffff16610c1a610e09565b73ffffffffffffffffffffffffffffffffffffffff161480610c905750610c3f611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc69061353b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa64373a629bc0c09eacf8a9cc2c7b070fa0a8b7e2e9b8aaee408a3c02eb1676b60405160405180910390a380601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f24504b4400000000000000000000000000000000000000000000000000000000815250905090565b610e77611c09565b73ffffffffffffffffffffffffffffffffffffffff16610e95610e09565b73ffffffffffffffffffffffffffffffffffffffff161480610f0b5750610eba611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610f4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f419061353b565b60405180910390fd5b60028410610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8490613613565b60405180910390fd5b60028310610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc790613613565b60405180910390fd5b600c8210611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a9061367f565b60405180910390fd5b600c8110611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104d9061367f565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110b26110ab611c09565b8484611dda565b6001905092915050565b6110c4611c09565b73ffffffffffffffffffffffffffffffffffffffff166110e2610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806111585750611107611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e9061353b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ffbbc329437e8c79f847e170730ad6dd04106b7511cad70d06d635886d92de83c60405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112d9611c09565b73ffffffffffffffffffffffffffffffffffffffff166112f7610e09565b73ffffffffffffffffffffffffffffffffffffffff16148061136d575061131c611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6113ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a39061353b565b60405180910390fd5b60005b838390508110156113ff576113eb8484838181106113d0576113cf61369f565b5b90506020020160208101906113e5919061314e565b8361109e565b5080806113f7906136fd565b9150506113af565b50505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611446611c09565b73ffffffffffffffffffffffffffffffffffffffff1614806114bc5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114a4611c09565b73ffffffffffffffffffffffffffffffffffffffff16145b8061150057506114ca610e09565b73ffffffffffffffffffffffffffffffffffffffff166114e8611c09565b73ffffffffffffffffffffffffffffffffffffffff16145b61150957600080fd5b600061151430610a50565b905061151f816125a6565b50565b61152a611c09565b73ffffffffffffffffffffffffffffffffffffffff16611548610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806115be575061156d611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f49061353b565b60405180910390fd5b60005b8383905081101561169c5781600560008686858181106116235761162261369f565b5b9050602002016020810190611638919061314e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611694906136fd565b915050611600565b50505050565b6116aa611c09565b73ffffffffffffffffffffffffffffffffffffffff166116c8610e09565b73ffffffffffffffffffffffffffffffffffffffff16148061173e57506116ed611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61177d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117749061353b565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611867611c09565b73ffffffffffffffffffffffffffffffffffffffff16611885610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806118fb57506118aa611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61193a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119319061353b565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199f906137b7565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f47c33aa230eb5fd181505aa7befeaddd9b8a6f983989cea73a7868448c3a9ed983604051611a0591906130a9565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611a489291906137d7565b6020604051808303816000875af1158015611a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8b9190613815565b50505050565b611a99611c09565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1d906135a7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c77906138b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce690613946565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611dcd91906130a9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e40906139d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eaf90613a6a565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3c90613ad6565b60405180910390fd5b60008111611f88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7f90613b68565b60405180910390fd5b6000600d819055506000600e81905550611fa0610e09565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561200e5750611fde610e09565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156123c957600061201e30610a50565b9050601360149054906101000a900460ff1615801561208b5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156120a35750601360159054906101000a900460ff165b80156120af5750600081115b156120d7576120bd816125a6565b600047905060008111156120d5576120d44761243d565b5b505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156121825750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561219a57600954600d81905550600a54600e819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122455750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561225d57600b54600d81905550600c54600e819055505b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122fe5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123b15750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123b05750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156123c7576000600d819055506000600e819055505b505b6123d483838361281f565b505050565b6000838311158290612421576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124189190612f64565b60405180910390fd5b50600083856124309190613b88565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61248d60028461282f90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156124b8573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61250960028461282f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612534573d6000803e3d6000fd5b5050565b600060075482111561257f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257690613c2e565b60405180910390fd5b6000612589612879565b905061259e818461282f90919063ffffffff16565b915050919050565b6001601360146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156125de576125dd613c4e565b5b60405190808252806020026020018201604052801561260c5781602001602082028036833780820191505090505b50905030816000815181106126245761262361369f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ef9190613c92565b816001815181106127035761270261369f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061276a30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611c11565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016127ce959493929190613db8565b600060405180830381600087803b1580156127e857600080fd5b505af11580156127fc573d6000803e3d6000fd5b50505050506000601360146101000a81548160ff02191690831515021790555050565b61282a8383836128a4565b505050565b600061287183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a6f565b905092915050565b6000806000612886612ad2565b9150915061289d818361282f90919063ffffffff16565b9250505090565b6000806000806000806128b687612b2b565b95509550955095509550955061291486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b9390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129f581612c3b565b6129ff8483612cf8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a5c91906130a9565b60405180910390a3505050505050505050565b60008083118290612ab6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aad9190612f64565b60405180910390fd5b5060008385612ac59190613e41565b9050809150509392505050565b6000806000600754905060006509184e72a0009050612b026509184e72a00060075461282f90919063ffffffff16565b821015612b1e576007546509184e72a000935093505050612b27565b81819350935050505b9091565b6000806000806000806000806000612b488a600d54600e54612d32565b9250925092506000612b58612879565b90506000806000612b6b8e878787612dc8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612bd583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123d9565b905092915050565b6000808284612bec9190613e72565b905083811015612c31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c2890613f14565b60405180910390fd5b8091505092915050565b6000612c45612879565b90506000612c5c8284612e5190919063ffffffff16565b9050612cb081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612d0d82600754612b9390919063ffffffff16565b600781905550612d2881600854612bdd90919063ffffffff16565b6008819055505050565b600080600080612d5e6064612d50888a612e5190919063ffffffff16565b61282f90919063ffffffff16565b90506000612d886064612d7a888b612e5190919063ffffffff16565b61282f90919063ffffffff16565b90506000612db182612da3858c612b9390919063ffffffff16565b612b9390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612de18589612e5190919063ffffffff16565b90506000612df88689612e5190919063ffffffff16565b90506000612e0f8789612e5190919063ffffffff16565b90506000612e3882612e2a8587612b9390919063ffffffff16565b612b9390919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612e635760009050612ec5565b60008284612e719190613f34565b9050828482612e809190613e41565b14612ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb790614000565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f05578082015181840152602081019050612eea565b83811115612f14576000848401525b50505050565b6000601f19601f8301169050919050565b6000612f3682612ecb565b612f408185612ed6565b9350612f50818560208601612ee7565b612f5981612f1a565b840191505092915050565b60006020820190508181036000830152612f7e8184612f2b565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fbb82612f90565b9050919050565b612fcb81612fb0565b8114612fd657600080fd5b50565b600081359050612fe881612fc2565b92915050565b6000819050919050565b61300181612fee565b811461300c57600080fd5b50565b60008135905061301e81612ff8565b92915050565b6000806040838503121561303b5761303a612f86565b5b600061304985828601612fd9565b925050602061305a8582860161300f565b9150509250929050565b60008115159050919050565b61307981613064565b82525050565b60006020820190506130946000830184613070565b92915050565b6130a381612fee565b82525050565b60006020820190506130be600083018461309a565b92915050565b6000806000606084860312156130dd576130dc612f86565b5b60006130eb86828701612fd9565b93505060206130fc86828701612fd9565b925050604061310d8682870161300f565b9150509250925092565b600060ff82169050919050565b61312d81613117565b82525050565b60006020820190506131486000830184613124565b92915050565b60006020828403121561316457613163612f86565b5b600061317284828501612fd9565b91505092915050565b61318481613064565b811461318f57600080fd5b50565b6000813590506131a18161317b565b92915050565b6000602082840312156131bd576131bc612f86565b5b60006131cb84828501613192565b91505092915050565b60006131df82612f90565b9050919050565b6131ef816131d4565b81146131fa57600080fd5b50565b60008135905061320c816131e6565b92915050565b60006020828403121561322857613227612f86565b5b6000613236848285016131fd565b91505092915050565b61324881612fb0565b82525050565b6000602082019050613263600083018461323f565b92915050565b6000806000806080858703121561328357613282612f86565b5b60006132918782880161300f565b94505060206132a28782880161300f565b93505060406132b38782880161300f565b92505060606132c48782880161300f565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f8401126132f5576132f46132d0565b5b8235905067ffffffffffffffff811115613312576133116132d5565b5b60208301915083602082028301111561332e5761332d6132da565b5b9250929050565b60008060006040848603121561334e5761334d612f86565b5b600084013567ffffffffffffffff81111561336c5761336b612f8b565b5b613378868287016132df565b9350935050602061338b8682870161300f565b9150509250925092565b6000806000604084860312156133ae576133ad612f86565b5b600084013567ffffffffffffffff8111156133cc576133cb612f8b565b5b6133d8868287016132df565b935093505060206133eb86828701613192565b9150509250925092565b6000806040838503121561340c5761340b612f86565b5b600061341a85828601612fd9565b925050602061342b85828601613192565b9150509250929050565b6000806040838503121561344c5761344b612f86565b5b600061345a85828601612fd9565b925050602061346b85828601612fd9565b9150509250929050565b6000819050919050565b600061349a61349561349084612f90565b613475565b612f90565b9050919050565b60006134ac8261347f565b9050919050565b60006134be826134a1565b9050919050565b6134ce816134b3565b82525050565b60006020820190506134e960008301846134c5565b92915050565b7f43616c6c6572206973206e6f7420746865206465760000000000000000000000600082015250565b6000613525601583612ed6565b9150613530826134ef565b602082019050919050565b6000602082019050818103600083015261355481613518565b9050919050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b6000613591601783612ed6565b915061359c8261355b565b602082019050919050565b600060208201905081810360008301526135c081613584565b9050919050565b7f52656469732063616e6e6f74206265206d6f7265207468616e20322e00000000600082015250565b60006135fd601c83612ed6565b9150613608826135c7565b602082019050919050565b6000602082019050818103600083015261362c816135f0565b9050919050565b7f5461782063616e6e6f74206265206d6f7265207468616e2031322e0000000000600082015250565b6000613669601b83612ed6565b915061367482613633565b602082019050919050565b600060208201905081810360008301526136988161365c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061370882612fee565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361373a576137396136ce565b5b600182019050919050565b7f596f75277265206e6f742061626c6520746f20726573637565206e617469766560008201527f20746f6b656e7300000000000000000000000000000000000000000000000000602082015250565b60006137a1602783612ed6565b91506137ac82613745565b604082019050919050565b600060208201905081810360008301526137d081613794565b9050919050565b60006040820190506137ec600083018561323f565b6137f9602083018461309a565b9392505050565b60008151905061380f8161317b565b92915050565b60006020828403121561382b5761382a612f86565b5b600061383984828501613800565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061389e602483612ed6565b91506138a982613842565b604082019050919050565b600060208201905081810360008301526138cd81613891565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613930602283612ed6565b915061393b826138d4565b604082019050919050565b6000602082019050818103600083015261395f81613923565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139c2602583612ed6565b91506139cd82613966565b604082019050919050565b600060208201905081810360008301526139f1816139b5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a54602383612ed6565b9150613a5f826139f8565b604082019050919050565b60006020820190508181036000830152613a8381613a47565b9050919050565b7f626c61636b4c69737420666f7220626f74000000000000000000000000000000600082015250565b6000613ac0601183612ed6565b9150613acb82613a8a565b602082019050919050565b60006020820190508181036000830152613aef81613ab3565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613b52602983612ed6565b9150613b5d82613af6565b604082019050919050565b60006020820190508181036000830152613b8181613b45565b9050919050565b6000613b9382612fee565b9150613b9e83612fee565b925082821015613bb157613bb06136ce565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613c18602a83612ed6565b9150613c2382613bbc565b604082019050919050565b60006020820190508181036000830152613c4781613c0b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050613c8c81612fc2565b92915050565b600060208284031215613ca857613ca7612f86565b5b6000613cb684828501613c7d565b91505092915050565b6000819050919050565b6000613ce4613cdf613cda84613cbf565b613475565b612fee565b9050919050565b613cf481613cc9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613d2f81612fb0565b82525050565b6000613d418383613d26565b60208301905092915050565b6000602082019050919050565b6000613d6582613cfa565b613d6f8185613d05565b9350613d7a83613d16565b8060005b83811015613dab578151613d928882613d35565b9750613d9d83613d4d565b925050600181019050613d7e565b5085935050505092915050565b600060a082019050613dcd600083018861309a565b613dda6020830187613ceb565b8181036040830152613dec8186613d5a565b9050613dfb606083018561323f565b613e08608083018461309a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613e4c82612fee565b9150613e5783612fee565b925082613e6757613e66613e12565b5b828204905092915050565b6000613e7d82612fee565b9150613e8883612fee565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ebd57613ebc6136ce565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613efe601b83612ed6565b9150613f0982613ec8565b602082019050919050565b60006020820190508181036000830152613f2d81613ef1565b9050919050565b6000613f3f82612fee565b9150613f4a83612fee565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f8357613f826136ce565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613fea602183612ed6565b9150613ff582613f8e565b604082019050919050565b6000602082019050818103600083015261401981613fdd565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e88a41eba8a90409aa5c6884d26cd1a529c54a8afdd02550bb6043e69c17a3f664736f6c634300080f0033

Deployed ByteCode

0x60806040526004361061016a5760003560e01c806395d89b41116100d1578063c3c8cd801161008a578063dd62ed3e11610064578063dd62ed3e1461050d578063e293d3161461054a578063f2fde38b14610573578063f887ea401461059c57610171565b8063c3c8cd80146104a4578063c492f046146104bb578063d90a8d0b146104e457610171565b806395d89b4114610396578063a2a957bb146103c1578063a8aa1b31146103ea578063a9059cbb14610415578063aad5c02314610452578063bbe8b09c1461047b57610171565b80636d8aa8f8116101235780636d8aa8f8146102ae5780636fc3eaec146102d757806370a08231146102ee578063715018a61461032b578063758dbe03146103425780638da5cb5b1461036b57610171565b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101de57806323b872dd14610209578063313ce567146102465780633bbac5791461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105c7565b6040516101989190612f64565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190613024565b610604565b6040516101d5919061307f565b60405180910390f35b3480156101ea57600080fd5b506101f3610622565b60405161020091906130a9565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906130c4565b610630565b60405161023d919061307f565b60405180910390f35b34801561025257600080fd5b5061025b610709565b6040516102689190613133565b60405180910390f35b34801561027d57600080fd5b506102986004803603810190610293919061314e565b610712565b6040516102a5919061307f565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d091906131a7565b610843565b005b3480156102e357600080fd5b506102ec61093b565b005b3480156102fa57600080fd5b506103156004803603810190610310919061314e565b610a50565b60405161032291906130a9565b60405180910390f35b34801561033757600080fd5b50610340610aa1565b005b34801561034e57600080fd5b5061036960048036038101906103649190613212565b610bf4565b005b34801561037757600080fd5b50610380610e09565b60405161038d919061324e565b60405180910390f35b3480156103a257600080fd5b506103ab610e32565b6040516103b89190612f64565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e39190613269565b610e6f565b005b3480156103f657600080fd5b506103ff611078565b60405161040c919061324e565b60405180910390f35b34801561042157600080fd5b5061043c60048036038101906104379190613024565b61109e565b604051610449919061307f565b60405180910390f35b34801561045e57600080fd5b5061047960048036038101906104749190613212565b6110bc565b005b34801561048757600080fd5b506104a2600480360381019061049d9190613335565b6112d1565b005b3480156104b057600080fd5b506104b9611405565b005b3480156104c757600080fd5b506104e260048036038101906104dd9190613395565b611522565b005b3480156104f057600080fd5b5061050b600480360381019061050691906133f5565b6116a2565b005b34801561051957600080fd5b50610534600480360381019061052f9190613435565b6117d8565b60405161054191906130a9565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c91906130c4565b61185f565b005b34801561057f57600080fd5b5061059a6004803603810190610595919061314e565b611a91565b005b3480156105a857600080fd5b506105b1611be3565b6040516105be91906134d4565b60405180910390f35b60606040518060400160405280600b81526020017f506f6b656d6f6e446f6765000000000000000000000000000000000000000000815250905090565b6000610618610611611c09565b8484611c11565b6001905092915050565b60006509184e72a000905090565b600061063d848484611dda565b6106fe84610649611c09565b6106f98560405180606001604052806028815260200161402160289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106af611c09565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123d99092919063ffffffff16565b611c11565b600190509392505050565b60006009905090565b600061071c611c09565b73ffffffffffffffffffffffffffffffffffffffff1661073a610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806107b0575061075f611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6107ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e69061353b565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61084b611c09565b73ffffffffffffffffffffffffffffffffffffffff16610869610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806108df575061088e611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61091e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109159061353b565b60405180910390fd5b80601360156101000a81548160ff02191690831515021790555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661097c611c09565b73ffffffffffffffffffffffffffffffffffffffff1614806109f25750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109da611c09565b73ffffffffffffffffffffffffffffffffffffffff16145b80610a365750610a00610e09565b73ffffffffffffffffffffffffffffffffffffffff16610a1e611c09565b73ffffffffffffffffffffffffffffffffffffffff16145b610a3f57600080fd5b6000479050610a4d8161243d565b50565b6000610a9a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612538565b9050919050565b610aa9611c09565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d906135a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bfc611c09565b73ffffffffffffffffffffffffffffffffffffffff16610c1a610e09565b73ffffffffffffffffffffffffffffffffffffffff161480610c905750610c3f611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc69061353b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa64373a629bc0c09eacf8a9cc2c7b070fa0a8b7e2e9b8aaee408a3c02eb1676b60405160405180910390a380601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f24504b4400000000000000000000000000000000000000000000000000000000815250905090565b610e77611c09565b73ffffffffffffffffffffffffffffffffffffffff16610e95610e09565b73ffffffffffffffffffffffffffffffffffffffff161480610f0b5750610eba611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610f4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f419061353b565b60405180910390fd5b60028410610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8490613613565b60405180910390fd5b60028310610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc790613613565b60405180910390fd5b600c8210611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a9061367f565b60405180910390fd5b600c8110611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104d9061367f565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110b26110ab611c09565b8484611dda565b6001905092915050565b6110c4611c09565b73ffffffffffffffffffffffffffffffffffffffff166110e2610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806111585750611107611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e9061353b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ffbbc329437e8c79f847e170730ad6dd04106b7511cad70d06d635886d92de83c60405160405180910390a380601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112d9611c09565b73ffffffffffffffffffffffffffffffffffffffff166112f7610e09565b73ffffffffffffffffffffffffffffffffffffffff16148061136d575061131c611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6113ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a39061353b565b60405180910390fd5b60005b838390508110156113ff576113eb8484838181106113d0576113cf61369f565b5b90506020020160208101906113e5919061314e565b8361109e565b5080806113f7906136fd565b9150506113af565b50505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611446611c09565b73ffffffffffffffffffffffffffffffffffffffff1614806114bc5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114a4611c09565b73ffffffffffffffffffffffffffffffffffffffff16145b8061150057506114ca610e09565b73ffffffffffffffffffffffffffffffffffffffff166114e8611c09565b73ffffffffffffffffffffffffffffffffffffffff16145b61150957600080fd5b600061151430610a50565b905061151f816125a6565b50565b61152a611c09565b73ffffffffffffffffffffffffffffffffffffffff16611548610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806115be575061156d611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f49061353b565b60405180910390fd5b60005b8383905081101561169c5781600560008686858181106116235761162261369f565b5b9050602002016020810190611638919061314e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611694906136fd565b915050611600565b50505050565b6116aa611c09565b73ffffffffffffffffffffffffffffffffffffffff166116c8610e09565b73ffffffffffffffffffffffffffffffffffffffff16148061173e57506116ed611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61177d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117749061353b565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611867611c09565b73ffffffffffffffffffffffffffffffffffffffff16611885610e09565b73ffffffffffffffffffffffffffffffffffffffff1614806118fb57506118aa611c09565b73ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61193a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119319061353b565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199f906137b7565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f47c33aa230eb5fd181505aa7befeaddd9b8a6f983989cea73a7868448c3a9ed983604051611a0591906130a9565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611a489291906137d7565b6020604051808303816000875af1158015611a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8b9190613815565b50505050565b611a99611c09565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1d906135a7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c77906138b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce690613946565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611dcd91906130a9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e40906139d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eaf90613a6a565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3c90613ad6565b60405180910390fd5b60008111611f88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7f90613b68565b60405180910390fd5b6000600d819055506000600e81905550611fa0610e09565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561200e5750611fde610e09565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156123c957600061201e30610a50565b9050601360149054906101000a900460ff1615801561208b5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156120a35750601360159054906101000a900460ff165b80156120af5750600081115b156120d7576120bd816125a6565b600047905060008111156120d5576120d44761243d565b5b505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156121825750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561219a57600954600d81905550600a54600e819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122455750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561225d57600b54600d81905550600c54600e819055505b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122fe5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123b15750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123b05750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156123c7576000600d819055506000600e819055505b505b6123d483838361281f565b505050565b6000838311158290612421576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124189190612f64565b60405180910390fd5b50600083856124309190613b88565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61248d60028461282f90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156124b8573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61250960028461282f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612534573d6000803e3d6000fd5b5050565b600060075482111561257f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257690613c2e565b60405180910390fd5b6000612589612879565b905061259e818461282f90919063ffffffff16565b915050919050565b6001601360146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156125de576125dd613c4e565b5b60405190808252806020026020018201604052801561260c5781602001602082028036833780820191505090505b50905030816000815181106126245761262361369f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ef9190613c92565b816001815181106127035761270261369f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061276a30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611c11565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016127ce959493929190613db8565b600060405180830381600087803b1580156127e857600080fd5b505af11580156127fc573d6000803e3d6000fd5b50505050506000601360146101000a81548160ff02191690831515021790555050565b61282a8383836128a4565b505050565b600061287183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a6f565b905092915050565b6000806000612886612ad2565b9150915061289d818361282f90919063ffffffff16565b9250505090565b6000806000806000806128b687612b2b565b95509550955095509550955061291486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b9390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129a985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129f581612c3b565b6129ff8483612cf8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a5c91906130a9565b60405180910390a3505050505050505050565b60008083118290612ab6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aad9190612f64565b60405180910390fd5b5060008385612ac59190613e41565b9050809150509392505050565b6000806000600754905060006509184e72a0009050612b026509184e72a00060075461282f90919063ffffffff16565b821015612b1e576007546509184e72a000935093505050612b27565b81819350935050505b9091565b6000806000806000806000806000612b488a600d54600e54612d32565b9250925092506000612b58612879565b90506000806000612b6b8e878787612dc8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612bd583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123d9565b905092915050565b6000808284612bec9190613e72565b905083811015612c31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c2890613f14565b60405180910390fd5b8091505092915050565b6000612c45612879565b90506000612c5c8284612e5190919063ffffffff16565b9050612cb081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdd90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612d0d82600754612b9390919063ffffffff16565b600781905550612d2881600854612bdd90919063ffffffff16565b6008819055505050565b600080600080612d5e6064612d50888a612e5190919063ffffffff16565b61282f90919063ffffffff16565b90506000612d886064612d7a888b612e5190919063ffffffff16565b61282f90919063ffffffff16565b90506000612db182612da3858c612b9390919063ffffffff16565b612b9390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612de18589612e5190919063ffffffff16565b90506000612df88689612e5190919063ffffffff16565b90506000612e0f8789612e5190919063ffffffff16565b90506000612e3882612e2a8587612b9390919063ffffffff16565b612b9390919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612e635760009050612ec5565b60008284612e719190613f34565b9050828482612e809190613e41565b14612ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb790614000565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f05578082015181840152602081019050612eea565b83811115612f14576000848401525b50505050565b6000601f19601f8301169050919050565b6000612f3682612ecb565b612f408185612ed6565b9350612f50818560208601612ee7565b612f5981612f1a565b840191505092915050565b60006020820190508181036000830152612f7e8184612f2b565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fbb82612f90565b9050919050565b612fcb81612fb0565b8114612fd657600080fd5b50565b600081359050612fe881612fc2565b92915050565b6000819050919050565b61300181612fee565b811461300c57600080fd5b50565b60008135905061301e81612ff8565b92915050565b6000806040838503121561303b5761303a612f86565b5b600061304985828601612fd9565b925050602061305a8582860161300f565b9150509250929050565b60008115159050919050565b61307981613064565b82525050565b60006020820190506130946000830184613070565b92915050565b6130a381612fee565b82525050565b60006020820190506130be600083018461309a565b92915050565b6000806000606084860312156130dd576130dc612f86565b5b60006130eb86828701612fd9565b93505060206130fc86828701612fd9565b925050604061310d8682870161300f565b9150509250925092565b600060ff82169050919050565b61312d81613117565b82525050565b60006020820190506131486000830184613124565b92915050565b60006020828403121561316457613163612f86565b5b600061317284828501612fd9565b91505092915050565b61318481613064565b811461318f57600080fd5b50565b6000813590506131a18161317b565b92915050565b6000602082840312156131bd576131bc612f86565b5b60006131cb84828501613192565b91505092915050565b60006131df82612f90565b9050919050565b6131ef816131d4565b81146131fa57600080fd5b50565b60008135905061320c816131e6565b92915050565b60006020828403121561322857613227612f86565b5b6000613236848285016131fd565b91505092915050565b61324881612fb0565b82525050565b6000602082019050613263600083018461323f565b92915050565b6000806000806080858703121561328357613282612f86565b5b60006132918782880161300f565b94505060206132a28782880161300f565b93505060406132b38782880161300f565b92505060606132c48782880161300f565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f8401126132f5576132f46132d0565b5b8235905067ffffffffffffffff811115613312576133116132d5565b5b60208301915083602082028301111561332e5761332d6132da565b5b9250929050565b60008060006040848603121561334e5761334d612f86565b5b600084013567ffffffffffffffff81111561336c5761336b612f8b565b5b613378868287016132df565b9350935050602061338b8682870161300f565b9150509250925092565b6000806000604084860312156133ae576133ad612f86565b5b600084013567ffffffffffffffff8111156133cc576133cb612f8b565b5b6133d8868287016132df565b935093505060206133eb86828701613192565b9150509250925092565b6000806040838503121561340c5761340b612f86565b5b600061341a85828601612fd9565b925050602061342b85828601613192565b9150509250929050565b6000806040838503121561344c5761344b612f86565b5b600061345a85828601612fd9565b925050602061346b85828601612fd9565b9150509250929050565b6000819050919050565b600061349a61349561349084612f90565b613475565b612f90565b9050919050565b60006134ac8261347f565b9050919050565b60006134be826134a1565b9050919050565b6134ce816134b3565b82525050565b60006020820190506134e960008301846134c5565b92915050565b7f43616c6c6572206973206e6f7420746865206465760000000000000000000000600082015250565b6000613525601583612ed6565b9150613530826134ef565b602082019050919050565b6000602082019050818103600083015261355481613518565b9050919050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b6000613591601783612ed6565b915061359c8261355b565b602082019050919050565b600060208201905081810360008301526135c081613584565b9050919050565b7f52656469732063616e6e6f74206265206d6f7265207468616e20322e00000000600082015250565b60006135fd601c83612ed6565b9150613608826135c7565b602082019050919050565b6000602082019050818103600083015261362c816135f0565b9050919050565b7f5461782063616e6e6f74206265206d6f7265207468616e2031322e0000000000600082015250565b6000613669601b83612ed6565b915061367482613633565b602082019050919050565b600060208201905081810360008301526136988161365c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061370882612fee565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361373a576137396136ce565b5b600182019050919050565b7f596f75277265206e6f742061626c6520746f20726573637565206e617469766560008201527f20746f6b656e7300000000000000000000000000000000000000000000000000602082015250565b60006137a1602783612ed6565b91506137ac82613745565b604082019050919050565b600060208201905081810360008301526137d081613794565b9050919050565b60006040820190506137ec600083018561323f565b6137f9602083018461309a565b9392505050565b60008151905061380f8161317b565b92915050565b60006020828403121561382b5761382a612f86565b5b600061383984828501613800565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061389e602483612ed6565b91506138a982613842565b604082019050919050565b600060208201905081810360008301526138cd81613891565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613930602283612ed6565b915061393b826138d4565b604082019050919050565b6000602082019050818103600083015261395f81613923565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139c2602583612ed6565b91506139cd82613966565b604082019050919050565b600060208201905081810360008301526139f1816139b5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a54602383612ed6565b9150613a5f826139f8565b604082019050919050565b60006020820190508181036000830152613a8381613a47565b9050919050565b7f626c61636b4c69737420666f7220626f74000000000000000000000000000000600082015250565b6000613ac0601183612ed6565b9150613acb82613a8a565b602082019050919050565b60006020820190508181036000830152613aef81613ab3565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613b52602983612ed6565b9150613b5d82613af6565b604082019050919050565b60006020820190508181036000830152613b8181613b45565b9050919050565b6000613b9382612fee565b9150613b9e83612fee565b925082821015613bb157613bb06136ce565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613c18602a83612ed6565b9150613c2382613bbc565b604082019050919050565b60006020820190508181036000830152613c4781613c0b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050613c8c81612fc2565b92915050565b600060208284031215613ca857613ca7612f86565b5b6000613cb684828501613c7d565b91505092915050565b6000819050919050565b6000613ce4613cdf613cda84613cbf565b613475565b612fee565b9050919050565b613cf481613cc9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613d2f81612fb0565b82525050565b6000613d418383613d26565b60208301905092915050565b6000602082019050919050565b6000613d6582613cfa565b613d6f8185613d05565b9350613d7a83613d16565b8060005b83811015613dab578151613d928882613d35565b9750613d9d83613d4d565b925050600181019050613d7e565b5085935050505092915050565b600060a082019050613dcd600083018861309a565b613dda6020830187613ceb565b8181036040830152613dec8186613d5a565b9050613dfb606083018561323f565b613e08608083018461309a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613e4c82612fee565b9150613e5783612fee565b925082613e6757613e66613e12565b5b828204905092915050565b6000613e7d82612fee565b9150613e8883612fee565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ebd57613ebc6136ce565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613efe601b83612ed6565b9150613f0982613ec8565b602082019050919050565b60006020820190508181036000830152613f2d81613ef1565b9050919050565b6000613f3f82612fee565b9150613f4a83612fee565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f8357613f826136ce565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613fea602183612ed6565b9150613ff582613f8e565b604082019050919050565b6000602082019050818103600083015261401981613fdd565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e88a41eba8a90409aa5c6884d26cd1a529c54a8afdd02550bb6043e69c17a3f664736f6c634300080f0033