ETH Price: $2,406.64 (-12.04%)
 

Overview

ETH Balance

2 wei

Eth Value

Less Than $0.01 (@ $2,406.64/ETH)

Token Holdings

More Info

Private Name Tags

TokenTracker

Kiwi (KIWI) ($0.00)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve243298612026-01-28 0:49:593 days ago1769561399IN
Kiwi Swap: KIWI Token
0 ETH0.000002120.0453786
Approve243184132026-01-26 10:29:235 days ago1769423363IN
Kiwi Swap: KIWI Token
0 ETH0.00002590.55130585
Approve243011102026-01-24 0:36:597 days ago1769215019IN
Kiwi Swap: KIWI Token
0 ETH0.000006080.12906017
Approve242890672026-01-22 8:15:119 days ago1769069711IN
Kiwi Swap: KIWI Token
0 ETH0.000051251.0868679
Approve242848152026-01-21 17:59:4710 days ago1769018387IN
Kiwi Swap: KIWI Token
0 ETH0.00011792.51027552
Transfer242813162026-01-21 6:18:1110 days ago1768976291IN
Kiwi Swap: KIWI Token
0 ETH0.000002490.04964578
Transfer242813102026-01-21 6:16:5910 days ago1768976219IN
Kiwi Swap: KIWI Token
0 ETH0.000002480.04950751
Transfer242813002026-01-21 6:14:5910 days ago1768976099IN
Kiwi Swap: KIWI Token
0 ETH0.000002240.04461327
Transfer242812942026-01-21 6:13:4710 days ago1768976027IN
Kiwi Swap: KIWI Token
0 ETH0.000002550.05077052
Transfer242812852026-01-21 6:11:5910 days ago1768975919IN
Kiwi Swap: KIWI Token
0 ETH0.000003160.04692582
Approve242812042026-01-21 5:54:5910 days ago1768974899IN
Kiwi Swap: KIWI Token
0 ETH0.000144363.05644107
Transfer242812012026-01-21 5:54:2310 days ago1768974863IN
Kiwi Swap: KIWI Token
0 ETH0.000003490.05181777
Transfer242810972026-01-21 5:33:3510 days ago1768973615IN
Kiwi Swap: KIWI Token
0 ETH0.000013090.26047339
Transfer242810712026-01-21 5:28:2310 days ago1768973303IN
Kiwi Swap: KIWI Token
0 ETH0.000004020.08
Transfer242810482026-01-21 5:23:4710 days ago1768973027IN
Kiwi Swap: KIWI Token
0 ETH0.00000230.04595555
Transfer242810142026-01-21 5:16:5910 days ago1768972619IN
Kiwi Swap: KIWI Token
0 ETH0.000010050.2
Transfer242809852026-01-21 5:11:1110 days ago1768972271IN
Kiwi Swap: KIWI Token
0 ETH0.000005020.1
Transfer242809662026-01-21 5:07:2310 days ago1768972043IN
Kiwi Swap: KIWI Token
0 ETH0.000102772.0448112
Transfer242809572026-01-21 5:05:3510 days ago1768971935IN
Kiwi Swap: KIWI Token
0 ETH0.0001032.04948156
Transfer242809502026-01-21 5:04:1110 days ago1768971851IN
Kiwi Swap: KIWI Token
0 ETH0.000003090.04592125
Approve242809202026-01-21 4:58:1110 days ago1768971491IN
Kiwi Swap: KIWI Token
0 ETH0.000021070.44679593
Approve242808732026-01-21 4:48:4710 days ago1768970927IN
Kiwi Swap: KIWI Token
0 ETH0.00000530.11242362
Approve242657192026-01-19 2:05:5912 days ago1768788359IN
Kiwi Swap: KIWI Token
0 ETH0.000002470.0527717
Approve242343302026-01-14 17:07:1117 days ago1768410431IN
Kiwi Swap: KIWI Token
0 ETH0.000036490.77792785
Approve241782492026-01-06 21:13:3524 days ago1767734015IN
Kiwi Swap: KIWI Token
0 ETH0.000008410.17951545
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer243298622026-01-28 0:50:113 days ago1769561411
Kiwi Swap: KIWI Token
0.00019224 ETH
Transfer243298622026-01-28 0:50:113 days ago1769561411
Kiwi Swap: KIWI Token
0.00057672 ETH
Transfer243298622026-01-28 0:50:113 days ago1769561411
Kiwi Swap: KIWI Token
0.00019224 ETH
Transfer243298622026-01-28 0:50:113 days ago1769561411
Kiwi Swap: KIWI Token
0.0009612 ETH
Transfer243184142026-01-26 10:29:355 days ago1769423375
Kiwi Swap: KIWI Token
0.00037958 ETH
Transfer243184142026-01-26 10:29:355 days ago1769423375
Kiwi Swap: KIWI Token
0.00113874 ETH
Transfer243184142026-01-26 10:29:355 days ago1769423375
Kiwi Swap: KIWI Token
0.00037958 ETH
Transfer243184142026-01-26 10:29:355 days ago1769423375
Kiwi Swap: KIWI Token
0.0018979 ETH
Transfer243182062026-01-26 9:47:595 days ago1769420879
Kiwi Swap: KIWI Token
0.00038728 ETH
Transfer243182062026-01-26 9:47:595 days ago1769420879
Kiwi Swap: KIWI Token
0.00116184 ETH
Transfer243182062026-01-26 9:47:595 days ago1769420879
Kiwi Swap: KIWI Token
0.00038728 ETH
Transfer243182062026-01-26 9:47:595 days ago1769420879
Kiwi Swap: KIWI Token
0.00193641 ETH
Transfer243149372026-01-25 22:52:355 days ago1769381555
Kiwi Swap: KIWI Token
0.00029267 ETH
Transfer243149372026-01-25 22:52:355 days ago1769381555
Kiwi Swap: KIWI Token
0.00087801 ETH
Transfer243149372026-01-25 22:52:355 days ago1769381555
Kiwi Swap: KIWI Token
0.00029267 ETH
Transfer243149372026-01-25 22:52:355 days ago1769381555
Kiwi Swap: KIWI Token
0.00146335 ETH
Transfer242813742026-01-21 6:29:4710 days ago1768976987
Kiwi Swap: KIWI Token
0.0003272 ETH
Transfer242813742026-01-21 6:29:4710 days ago1768976987
Kiwi Swap: KIWI Token
0.0009816 ETH
Transfer242813742026-01-21 6:29:4710 days ago1768976987
Kiwi Swap: KIWI Token
0.0003272 ETH
Transfer242813742026-01-21 6:29:4710 days ago1768976987
Kiwi Swap: KIWI Token
0.00163601 ETH
Transfer242812052026-01-21 5:55:1110 days ago1768974911
Kiwi Swap: KIWI Token
0.00026959 ETH
Transfer242812052026-01-21 5:55:1110 days ago1768974911
Kiwi Swap: KIWI Token
0.00080878 ETH
Transfer242812052026-01-21 5:55:1110 days ago1768974911
Kiwi Swap: KIWI Token
0.00026959 ETH
Transfer242812052026-01-21 5:55:1110 days ago1768974911
Kiwi Swap: KIWI Token
0.00134796 ETH
Transfer242811412026-01-21 5:42:2310 days ago1768974143
Kiwi Swap: KIWI Token
0.00016323 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Kiwi

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-11-03
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;

/*

Twitter: https://x.com/KiwiSwapX
Telegram: http://t.me/KiwiSwaps
Website: http://kiwiswaps.com


██╗  ██╗██╗██╗    ██╗██╗
██║ ██╔╝██║██║    ██║██║
█████╔╝ ██║██║ █╗ ██║██║
██╔═██╗ ██║██║███╗██║██║
██║  ██╗██║╚███╔███╔╝██║
╚═╝  ╚═╝╚═╝ ╚══╝╚══╝ ╚═╝
                        

*/

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

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

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

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

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

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

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

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

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public _isExcludedFromFee;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Kiwi";
    string private constant _symbol = unicode"KIWI";
    uint256 public _taxSwapThreshold = 100000 * 10 ** _decimals;
    mapping(address => bool) public blacklisted;

    address payable public _devWallet =
        payable(0x618C8E172b62B900392981AFc8A67FCef448d73C);

    address payable public _charityWallet =
        payable(0x618C8E172b62B900392981AFc8A67FCef448d73C);

    address payable public _marketingWallet =
        payable(0x618C8E172b62B900392981AFc8A67FCef448d73C);

    uint256 public _kiwiMarketingBuyFee = 0;
    uint256 public _kiwiDeveloperBuyFee = 0;
    uint256 public _kiwiCharityBuyFee = 0;
    uint256 public _kiwiTotalBuyFee = 0;

    uint256 public _kiwiMarketingSellFee = 0;
    uint256 public _kiwiCharitySellFee = 0;
    uint256 public _kiwiDeveloperSellFee = 0;
    uint256 public _kiwiTotalSellFee = 0;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool public KiwiEnabled = false;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    event TaxWalletPaymentRevert(address indexed taxWallet, uint256 amount);

    constructor() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        // IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // test router address

        // Create a uniswap pair for this new token
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        // set the rest of the contract variables
        uniswapV2Router = _uniswapV2Router;

        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_charityWallet] = true;
        _isExcludedFromFee[_devWallet] = true;
        _isExcludedFromFee[_marketingWallet] = true;

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

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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 _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(
            !blacklisted[from] && !blacklisted[to],
            "Address is blacklisted"
        );
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(KiwiEnabled, "Kiwi to be enabled");

            if (_kiwiTotalBuyFee > 0) {
                if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                    taxAmount = amount.mul(_kiwiTotalBuyFee).div(100);
                }
            }

            if (_kiwiTotalSellFee > 0) {
                if (to == uniswapV2Pair) {
                    taxAmount = amount.mul(_kiwiTotalSellFee).div(100);
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _kiwiTotalSellFee > 0
            ) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) {
            return;
        }
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        if (amount == 0) return;

        uint256 marketingShare = amount.mul(_kiwiMarketingSellFee).div(
            _kiwiTotalSellFee
        );
        uint256 developerShare = amount.mul(_kiwiDeveloperSellFee).div(
            _kiwiTotalSellFee
        );
        uint256 charityShare = amount.mul(_kiwiCharitySellFee).div(
            _kiwiTotalSellFee
        );

        if (marketingShare > 0) {
            (bool success, ) = _marketingWallet.call{value: marketingShare}("");
            if (!success)
                emit TaxWalletPaymentRevert(_marketingWallet, marketingShare);
        }

        if (developerShare > 0) {
            (bool success, ) = _devWallet.call{value: developerShare}("");
            if (!success)
                emit TaxWalletPaymentRevert(_devWallet, developerShare);
        }

        if (charityShare > 0) {
            (bool success, ) = _charityWallet.call{value: charityShare}("");
            if (!success)
                emit TaxWalletPaymentRevert(_charityWallet, charityShare);
        }
    }

    receive() external payable {}

    function enableKiwi() public onlyOwner {
        require(KiwiEnabled != true, "Kiwi enabled already");
        KiwiEnabled = true;
    }

    function updateTaxSwapThreshold(uint256 _taxLimit) public onlyOwner {
        require(_taxLimit > 0, "Threshold cannot be 0");
        _taxSwapThreshold = _taxLimit;
    }

    function excludeFromTaxes(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInTaxes(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function blacklistAddress(address account) external onlyOwner {
        blacklisted[account] = true;
    }

    function whitelistAddress(address account) external onlyOwner {
        blacklisted[account] = false;
    }

    function updateBuyFee(
        uint256 marketingBuyFee,
        uint256 charityBuyFee,
        uint256 developerBuyFee
    ) public onlyOwner {
        uint256 totalBuyFee = marketingBuyFee + charityBuyFee + developerBuyFee;
        require(totalBuyFee <= 5, "Buy fee cannot be higher than 5%");

        _kiwiMarketingBuyFee = marketingBuyFee;
        _kiwiCharityBuyFee = charityBuyFee;
        _kiwiDeveloperBuyFee = developerBuyFee;
        _kiwiTotalBuyFee = totalBuyFee;
    }

    function updateSellFee(
        uint256 marketingSellFee,
        uint256 charitySellFee,
        uint256 developerSellFee
    ) public onlyOwner {
        uint256 totalSellFee = marketingSellFee +
            charitySellFee +
            developerSellFee;
        require(totalSellFee <= 5, "Sell fee cannot be higher than 5%");

        _kiwiMarketingSellFee = marketingSellFee;
        _kiwiCharitySellFee = charitySellFee;
        _kiwiDeveloperSellFee = developerSellFee;
        _kiwiTotalSellFee = totalSellFee;
    }

    function manualSwap() external onlyOwner {
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"taxWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TaxWalletPaymentRevert","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"KiwiEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_charityWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiCharityBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiCharitySellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiDeveloperBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiDeveloperSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiMarketingBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiMarketingSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiTotalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kiwiTotalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableKiwi","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingBuyFee","type":"uint256"},{"internalType":"uint256","name":"charityBuyFee","type":"uint256"},{"internalType":"uint256","name":"developerBuyFee","type":"uint256"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingSellFee","type":"uint256"},{"internalType":"uint256","name":"charitySellFee","type":"uint256"},{"internalType":"uint256","name":"developerSellFee","type":"uint256"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxLimit","type":"uint256"}],"name":"updateTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"whitelistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a6100129190610918565b620186a06100209190610962565b60045573618c8e172b62b900392981afc8a67fcef448d73c60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073618c8e172b62b900392981afc8a67fcef448d73c60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073618c8e172b62b900392981afc8a67fcef448d73c60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6009555f600a555f600b555f600c555f600d555f600e555f600f555f6010555f601260146101000a81548160ff0219169083151502179055506001601260156101000a81548160ff0219169083151502179055505f601260166101000a81548160ff021916908315150217905550348015610199575f80fd5b506101b66101ab6106b860201b60201c565b6106bf60201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023b9190610a01565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c49190610a01565b6040518363ffffffff1660e01b81526004016102e1929190610a3b565b6020604051808303815f875af11580156102fd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103219190610a01565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6103ae9190610918565b633b9aca006103bd9190610962565b60015f6103ce6106b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61041e61078060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506106326106b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a61068e9190610918565b633b9aca0061069d9190610962565b6040516106aa9190610a71565b60405180910390a350610a8a565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561082957808604811115610805576108046107a7565b5b60018516156108145780820291505b8081029050610822856107d4565b94506107e9565b94509492505050565b5f8261084157600190506108fc565b8161084e575f90506108fc565b8160018114610864576002811461086e5761089d565b60019150506108fc565b60ff8411156108805761087f6107a7565b5b8360020a915084821115610897576108966107a7565b5b506108fc565b5060208310610133831016604e8410600b84101617156108d25782820a9050838111156108cd576108cc6107a7565b5b6108fc565b6108df84848460016107e0565b925090508184048111156108f6576108f56107a7565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61092282610903565b915061092d8361090c565b925061095a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610832565b905092915050565b5f61096c82610903565b915061097783610903565b925082820261098581610903565b9150828204841483151761099c5761099b6107a7565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6109d0826109a7565b9050919050565b6109e0816109c6565b81146109ea575f80fd5b50565b5f815190506109fb816109d7565b92915050565b5f60208284031215610a1657610a156109a3565b5b5f610a23848285016109ed565b91505092915050565b610a35816109c6565b82525050565b5f604082019050610a4e5f830185610a2c565b610a5b6020830184610a2c565b9392505050565b610a6b81610903565b82525050565b5f602082019050610a845f830184610a62565b92915050565b61332780610a975f395ff3fe608060405260043610610212575f3560e01c8063768dc71011610117578063a6d4ec321161009f578063dbac26e91161006e578063dbac26e914610745578063dd62ed3e14610781578063ec1c31de146107bd578063f2fde38b146107e7578063f3290d751461080f57610219565b8063a6d4ec321461068d578063a9059cbb146106b5578063bf474bed146106f1578063d89c74f31461071b57610219565b806395d89b41116100e657806395d89b41146105bd578063962dfc75146105e75780639630ab9214610611578063983e91581461063b5780639c92c0451461066357610219565b8063768dc710146105175780637937f57c146105535780638da5cb5b1461057d57806393271761146105a757610219565b80632e0e863a1161019a5780634fdaabed116101695780634fdaabed1461045b57806351bc3c851461048557806370a082311461049b578063715018a6146104d7578063757a5c32146104ed57610219565b80632e0e863a146103b5578063313ce567146103df578063415665851461040957806343a189091461043157610219565b806312bf7156116101e157806312bf7156146102d5578063131e00b7146102fd57806318160ddd1461032557806323b872dd1461034f578063243df9b01461038b57610219565b8063034832bd1461021d57806306fdde0314610245578063095ea7b31461026f57806311a63e17146102ab57610219565b3661021957005b5f80fd5b348015610228575f80fd5b50610243600480360381019061023e9190612360565b610837565b005b348015610250575f80fd5b5061025961088b565b60405161026691906123fb565b60405180910390f35b34801561027a575f80fd5b5061029560048036038101906102909190612475565b6108c8565b6040516102a291906124cd565b60405180910390f35b3480156102b6575f80fd5b506102bf6108e5565b6040516102cc9190612506565b60405180910390f35b3480156102e0575f80fd5b506102fb60048036038101906102f6919061251f565b61090a565b005b348015610308575f80fd5b50610323600480360381019061031e919061256f565b610992565b005b348015610330575f80fd5b506103396109f2565b60405161034691906125a9565b60405180910390f35b34801561035a575f80fd5b50610375600480360381019061037091906125c2565b610a15565b60405161038291906124cd565b60405180910390f35b348015610396575f80fd5b5061039f610ae9565b6040516103ac91906125a9565b60405180910390f35b3480156103c0575f80fd5b506103c9610aef565b6040516103d691906125a9565b60405180910390f35b3480156103ea575f80fd5b506103f3610af5565b604051610400919061262d565b60405180910390f35b348015610414575f80fd5b5061042f600480360381019061042a919061256f565b610afd565b005b34801561043c575f80fd5b50610445610b5c565b6040516104529190612506565b60405180910390f35b348015610466575f80fd5b5061046f610b81565b60405161047c91906124cd565b60405180910390f35b348015610490575f80fd5b50610499610b94565b005b3480156104a6575f80fd5b506104c160048036038101906104bc919061256f565b610bd4565b6040516104ce91906125a9565b60405180910390f35b3480156104e2575f80fd5b506104eb610c1a565b005b3480156104f8575f80fd5b50610501610c2d565b60405161050e91906125a9565b60405180910390f35b348015610522575f80fd5b5061053d6004803603810190610538919061256f565b610c33565b60405161054a91906124cd565b60405180910390f35b34801561055e575f80fd5b50610567610c50565b60405161057491906125a9565b60405180910390f35b348015610588575f80fd5b50610591610c56565b60405161059e9190612655565b60405180910390f35b3480156105b2575f80fd5b506105bb610c7d565b005b3480156105c8575f80fd5b506105d1610cf8565b6040516105de91906123fb565b60405180910390f35b3480156105f2575f80fd5b506105fb610d35565b6040516106089190612506565b60405180910390f35b34801561061c575f80fd5b50610625610d5a565b60405161063291906125a9565b60405180910390f35b348015610646575f80fd5b50610661600480360381019061065c919061256f565b610d60565b005b34801561066e575f80fd5b50610677610dbf565b60405161068491906125a9565b60405180910390f35b348015610698575f80fd5b506106b360048036038101906106ae919061251f565b610dc5565b005b3480156106c0575f80fd5b506106db60048036038101906106d69190612475565b610e4d565b6040516106e891906124cd565b60405180910390f35b3480156106fc575f80fd5b50610705610e6a565b60405161071291906125a9565b60405180910390f35b348015610726575f80fd5b5061072f610e70565b60405161073c91906125a9565b60405180910390f35b348015610750575f80fd5b5061076b6004803603810190610766919061256f565b610e76565b60405161077891906124cd565b60405180910390f35b34801561078c575f80fd5b506107a760048036038101906107a2919061266e565b610e93565b6040516107b491906125a9565b60405180910390f35b3480156107c8575f80fd5b506107d1610f15565b6040516107de91906125a9565b60405180910390f35b3480156107f2575f80fd5b5061080d6004803603810190610808919061256f565b610f1b565b005b34801561081a575f80fd5b506108356004803603810190610830919061256f565b610f9d565b005b61083f610ffd565b5f8111610881576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610878906126f6565b60405180910390fd5b8060048190555050565b60606040518060400160405280600481526020017f4b69776900000000000000000000000000000000000000000000000000000000815250905090565b5f6108db6108d461107b565b8484611082565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610912610ffd565b5f8183856109209190612741565b61092a9190612741565b90506005811115610970576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610967906127be565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b61099a610ffd565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f6012600a610a01919061290b565b633b9aca00610a109190612955565b905090565b5f610a21848484611245565b610ade84610a2d61107b565b610ad9856040518060600160405280602881526020016132ca6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a9061107b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a209092919063ffffffff16565b611082565b600190509392505050565b600f5481565b600b5481565b5f6012905090565b610b05610ffd565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260169054906101000a900460ff1681565b610b9c610ffd565b5f610ba630610bd4565b90505f811115610bba57610bb981611a82565b5b5f4790505f811115610bd057610bcf81611cf6565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c22610ffd565b610c2b5f6120a1565b565b60105481565b6003602052805f5260405f205f915054906101000a900460ff1681565b600a5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c85610ffd565b60011515601260169054906101000a900460ff16151503610cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd2906129e0565b60405180910390fd5b6001601260166101000a81548160ff021916908315150217905550565b60606040518060400160405280600481526020017f4b49574900000000000000000000000000000000000000000000000000000000815250905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b610d68610ffd565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600c5481565b610dcd610ffd565b5f818385610ddb9190612741565b610de59190612741565b90506005811115610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2290612a6e565b60405180910390fd5b83600d8190555082600e8190555081600f819055508060108190555050505050565b5f610e60610e5961107b565b8484611245565b6001905092915050565b60045481565b600d5481565b6005602052805f5260405f205f915054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b610f23610ffd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8890612afc565b60405180910390fd5b610f9a816120a1565b50565b610fa5610ffd565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b61100561107b565b73ffffffffffffffffffffffffffffffffffffffff16611023610c56565b73ffffffffffffffffffffffffffffffffffffffff1614611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090612b64565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790612bf2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612c80565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161123891906125a9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612d0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612d9c565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156113bf575060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f590612e04565b60405180910390fd5b5f8111611440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143790612e92565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114df575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561177057601260169054906101000a900460ff16611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a90612efa565b60405180910390fd5b5f600c5411156116175760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115e6575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611616576116136064611605600c548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505b5b5f60105411156116a15760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116a05761169d606461168f6010548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505b5b5f6116ab30610bd4565b9050601260149054906101000a900460ff16158015611716575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561172e5750601260159054906101000a900460ff165b801561173b575060045481115b801561174857505f601054115b1561176e5761175681611a82565b5f4790505f81111561176c5761176b47611cf6565b5b505b505b5f81111561186f576117c88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161186691906125a9565b60405180910390a35b6118bf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461227f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611962611916828461227f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a05848661227f90919063ffffffff16565b604051611a1291906125a9565b60405180910390a350505050565b5f838311158290611a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5e91906123fb565b60405180910390fd5b505f8385611a759190612f18565b9050809150509392505050565b6001601260146101000a81548160ff0219169083151502179055505f810315611cd9575f600267ffffffffffffffff811115611ac157611ac0612f4b565b5b604051908082528060200260200182016040528015611aef5781602001602082028036833780820191505090505b50905030815f81518110611b0657611b05612f78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611baa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bce9190612fb9565b81600181518110611be257611be1612f78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c483060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611082565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611caa9594939291906130dd565b5f604051808303815f87803b158015611cc1575f80fd5b505af1158015611cd3573d5f803e3d5ffd5b50505050505b5f601260146101000a81548160ff02191690831515021790555050565b5f81031561209e575f611d28601054611d1a600d548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505f611d54601054611d46600f548661216290919063ffffffff16565b6121d990919063ffffffff16565b90505f611d80601054611d72600e548761216290919063ffffffff16565b6121d990919063ffffffff16565b90505f831115611e8a575f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051611dd090613162565b5f6040518083038185875af1925050503d805f8114611e0a576040519150601f19603f3d011682016040523d82523d5f602084013e611e0f565b606091505b5050905080611e885760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db5785604051611e7f91906125a9565b60405180910390a25b505b5f821115611f92575f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611ed890613162565b5f6040518083038185875af1925050503d805f8114611f12576040519150601f19603f3d011682016040523d82523d5f602084013e611f17565b606091505b5050905080611f905760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db5784604051611f8791906125a9565b60405180910390a25b505b5f81111561209a575f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611fe090613162565b5f6040518083038185875af1925050503d805f811461201a576040519150601f19603f3d011682016040523d82523d5f602084013e61201f565b606091505b50509050806120985760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db578360405161208f91906125a9565b60405180910390a25b505b5050505b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612172575f90506121d3565b5f828461217f9190612955565b905082848261218e91906131a3565b146121ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c590613243565b60405180910390fd5b809150505b92915050565b5f61221a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122c8565b905092915050565b5f8082846122309190612741565b905083811015612275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226c906132ab565b60405180910390fd5b8091505092915050565b5f6122c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a20565b905092915050565b5f808311829061230e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230591906123fb565b60405180910390fd5b505f838561231c91906131a3565b9050809150509392505050565b5f80fd5b5f819050919050565b61233f8161232d565b8114612349575f80fd5b50565b5f8135905061235a81612336565b92915050565b5f6020828403121561237557612374612329565b5b5f6123828482850161234c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123cd8261238b565b6123d78185612395565b93506123e78185602086016123a5565b6123f0816123b3565b840191505092915050565b5f6020820190508181035f83015261241381846123c3565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124448261241b565b9050919050565b6124548161243a565b811461245e575f80fd5b50565b5f8135905061246f8161244b565b92915050565b5f806040838503121561248b5761248a612329565b5b5f61249885828601612461565b92505060206124a98582860161234c565b9150509250929050565b5f8115159050919050565b6124c7816124b3565b82525050565b5f6020820190506124e05f8301846124be565b92915050565b5f6124f08261241b565b9050919050565b612500816124e6565b82525050565b5f6020820190506125195f8301846124f7565b92915050565b5f805f6060848603121561253657612535612329565b5b5f6125438682870161234c565b93505060206125548682870161234c565b92505060406125658682870161234c565b9150509250925092565b5f6020828403121561258457612583612329565b5b5f61259184828501612461565b91505092915050565b6125a38161232d565b82525050565b5f6020820190506125bc5f83018461259a565b92915050565b5f805f606084860312156125d9576125d8612329565b5b5f6125e686828701612461565b93505060206125f786828701612461565b92505060406126088682870161234c565b9150509250925092565b5f60ff82169050919050565b61262781612612565b82525050565b5f6020820190506126405f83018461261e565b92915050565b61264f8161243a565b82525050565b5f6020820190506126685f830184612646565b92915050565b5f806040838503121561268457612683612329565b5b5f61269185828601612461565b92505060206126a285828601612461565b9150509250929050565b7f5468726573686f6c642063616e6e6f74206265203000000000000000000000005f82015250565b5f6126e0601583612395565b91506126eb826126ac565b602082019050919050565b5f6020820190508181035f83015261270d816126d4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274b8261232d565b91506127568361232d565b925082820190508082111561276e5761276d612714565b5b92915050565b7f427579206665652063616e6e6f7420626520686967686572207468616e2035255f82015250565b5f6127a8602083612395565b91506127b382612774565b602082019050919050565b5f6020820190508181035f8301526127d58161279c565b9050919050565b5f8160011c9050919050565b5f808291508390505b60018511156128315780860481111561280d5761280c612714565b5b600185161561281c5780820291505b808102905061282a856127dc565b94506127f1565b94509492505050565b5f826128495760019050612904565b81612856575f9050612904565b816001811461286c5760028114612876576128a5565b6001915050612904565b60ff84111561288857612887612714565b5b8360020a91508482111561289f5761289e612714565b5b50612904565b5060208310610133831016604e8410600b84101617156128da5782820a9050838111156128d5576128d4612714565b5b612904565b6128e784848460016127e8565b925090508184048111156128fe576128fd612714565b5b81810290505b9392505050565b5f6129158261232d565b915061292083612612565b925061294d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461283a565b905092915050565b5f61295f8261232d565b915061296a8361232d565b92508282026129788161232d565b9150828204841483151761298f5761298e612714565b5b5092915050565b7f4b69776920656e61626c656420616c72656164790000000000000000000000005f82015250565b5f6129ca601483612395565b91506129d582612996565b602082019050919050565b5f6020820190508181035f8301526129f7816129be565b9050919050565b7f53656c6c206665652063616e6e6f7420626520686967686572207468616e20355f8201527f2500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a58602183612395565b9150612a63826129fe565b604082019050919050565b5f6020820190508181035f830152612a8581612a4c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612ae6602683612395565b9150612af182612a8c565b604082019050919050565b5f6020820190508181035f830152612b1381612ada565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b4e602083612395565b9150612b5982612b1a565b602082019050919050565b5f6020820190508181035f830152612b7b81612b42565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bdc602483612395565b9150612be782612b82565b604082019050919050565b5f6020820190508181035f830152612c0981612bd0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c6a602283612395565b9150612c7582612c10565b604082019050919050565b5f6020820190508181035f830152612c9781612c5e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cf8602583612395565b9150612d0382612c9e565b604082019050919050565b5f6020820190508181035f830152612d2581612cec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d86602383612395565b9150612d9182612d2c565b604082019050919050565b5f6020820190508181035f830152612db381612d7a565b9050919050565b7f4164647265737320697320626c61636b6c6973746564000000000000000000005f82015250565b5f612dee601683612395565b9150612df982612dba565b602082019050919050565b5f6020820190508181035f830152612e1b81612de2565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e7c602983612395565b9150612e8782612e22565b604082019050919050565b5f6020820190508181035f830152612ea981612e70565b9050919050565b7f4b69776920746f20626520656e61626c656400000000000000000000000000005f82015250565b5f612ee4601283612395565b9150612eef82612eb0565b602082019050919050565b5f6020820190508181035f830152612f1181612ed8565b9050919050565b5f612f228261232d565b9150612f2d8361232d565b9250828203905081811115612f4557612f44612714565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612fb38161244b565b92915050565b5f60208284031215612fce57612fcd612329565b5b5f612fdb84828501612fa5565b91505092915050565b5f819050919050565b5f819050919050565b5f61301061300b61300684612fe4565b612fed565b61232d565b9050919050565b61302081612ff6565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130588161243a565b82525050565b5f613069838361304f565b60208301905092915050565b5f602082019050919050565b5f61308b82613026565b6130958185613030565b93506130a083613040565b805f5b838110156130d05781516130b7888261305e565b97506130c283613075565b9250506001810190506130a3565b5085935050505092915050565b5f60a0820190506130f05f83018861259a565b6130fd6020830187613017565b818103604083015261310f8186613081565b905061311e6060830185612646565b61312b608083018461259a565b9695505050505050565b5f81905092915050565b50565b5f61314d5f83613135565b91506131588261313f565b5f82019050919050565b5f61316c82613142565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131ad8261232d565b91506131b88361232d565b9250826131c8576131c7613176565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61322d602183612395565b9150613238826131d3565b604082019050919050565b5f6020820190508181035f83015261325a81613221565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613295601b83612395565b91506132a082613261565b602082019050919050565b5f6020820190508181035f8301526132c281613289565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fcf8133da25bef3c7a2297d447cef0935fc39c5aadca6bd851e0d8d87e017d4364736f6c634300081a0033

Deployed Bytecode

0x608060405260043610610212575f3560e01c8063768dc71011610117578063a6d4ec321161009f578063dbac26e91161006e578063dbac26e914610745578063dd62ed3e14610781578063ec1c31de146107bd578063f2fde38b146107e7578063f3290d751461080f57610219565b8063a6d4ec321461068d578063a9059cbb146106b5578063bf474bed146106f1578063d89c74f31461071b57610219565b806395d89b41116100e657806395d89b41146105bd578063962dfc75146105e75780639630ab9214610611578063983e91581461063b5780639c92c0451461066357610219565b8063768dc710146105175780637937f57c146105535780638da5cb5b1461057d57806393271761146105a757610219565b80632e0e863a1161019a5780634fdaabed116101695780634fdaabed1461045b57806351bc3c851461048557806370a082311461049b578063715018a6146104d7578063757a5c32146104ed57610219565b80632e0e863a146103b5578063313ce567146103df578063415665851461040957806343a189091461043157610219565b806312bf7156116101e157806312bf7156146102d5578063131e00b7146102fd57806318160ddd1461032557806323b872dd1461034f578063243df9b01461038b57610219565b8063034832bd1461021d57806306fdde0314610245578063095ea7b31461026f57806311a63e17146102ab57610219565b3661021957005b5f80fd5b348015610228575f80fd5b50610243600480360381019061023e9190612360565b610837565b005b348015610250575f80fd5b5061025961088b565b60405161026691906123fb565b60405180910390f35b34801561027a575f80fd5b5061029560048036038101906102909190612475565b6108c8565b6040516102a291906124cd565b60405180910390f35b3480156102b6575f80fd5b506102bf6108e5565b6040516102cc9190612506565b60405180910390f35b3480156102e0575f80fd5b506102fb60048036038101906102f6919061251f565b61090a565b005b348015610308575f80fd5b50610323600480360381019061031e919061256f565b610992565b005b348015610330575f80fd5b506103396109f2565b60405161034691906125a9565b60405180910390f35b34801561035a575f80fd5b50610375600480360381019061037091906125c2565b610a15565b60405161038291906124cd565b60405180910390f35b348015610396575f80fd5b5061039f610ae9565b6040516103ac91906125a9565b60405180910390f35b3480156103c0575f80fd5b506103c9610aef565b6040516103d691906125a9565b60405180910390f35b3480156103ea575f80fd5b506103f3610af5565b604051610400919061262d565b60405180910390f35b348015610414575f80fd5b5061042f600480360381019061042a919061256f565b610afd565b005b34801561043c575f80fd5b50610445610b5c565b6040516104529190612506565b60405180910390f35b348015610466575f80fd5b5061046f610b81565b60405161047c91906124cd565b60405180910390f35b348015610490575f80fd5b50610499610b94565b005b3480156104a6575f80fd5b506104c160048036038101906104bc919061256f565b610bd4565b6040516104ce91906125a9565b60405180910390f35b3480156104e2575f80fd5b506104eb610c1a565b005b3480156104f8575f80fd5b50610501610c2d565b60405161050e91906125a9565b60405180910390f35b348015610522575f80fd5b5061053d6004803603810190610538919061256f565b610c33565b60405161054a91906124cd565b60405180910390f35b34801561055e575f80fd5b50610567610c50565b60405161057491906125a9565b60405180910390f35b348015610588575f80fd5b50610591610c56565b60405161059e9190612655565b60405180910390f35b3480156105b2575f80fd5b506105bb610c7d565b005b3480156105c8575f80fd5b506105d1610cf8565b6040516105de91906123fb565b60405180910390f35b3480156105f2575f80fd5b506105fb610d35565b6040516106089190612506565b60405180910390f35b34801561061c575f80fd5b50610625610d5a565b60405161063291906125a9565b60405180910390f35b348015610646575f80fd5b50610661600480360381019061065c919061256f565b610d60565b005b34801561066e575f80fd5b50610677610dbf565b60405161068491906125a9565b60405180910390f35b348015610698575f80fd5b506106b360048036038101906106ae919061251f565b610dc5565b005b3480156106c0575f80fd5b506106db60048036038101906106d69190612475565b610e4d565b6040516106e891906124cd565b60405180910390f35b3480156106fc575f80fd5b50610705610e6a565b60405161071291906125a9565b60405180910390f35b348015610726575f80fd5b5061072f610e70565b60405161073c91906125a9565b60405180910390f35b348015610750575f80fd5b5061076b6004803603810190610766919061256f565b610e76565b60405161077891906124cd565b60405180910390f35b34801561078c575f80fd5b506107a760048036038101906107a2919061266e565b610e93565b6040516107b491906125a9565b60405180910390f35b3480156107c8575f80fd5b506107d1610f15565b6040516107de91906125a9565b60405180910390f35b3480156107f2575f80fd5b5061080d6004803603810190610808919061256f565b610f1b565b005b34801561081a575f80fd5b506108356004803603810190610830919061256f565b610f9d565b005b61083f610ffd565b5f8111610881576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610878906126f6565b60405180910390fd5b8060048190555050565b60606040518060400160405280600481526020017f4b69776900000000000000000000000000000000000000000000000000000000815250905090565b5f6108db6108d461107b565b8484611082565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610912610ffd565b5f8183856109209190612741565b61092a9190612741565b90506005811115610970576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610967906127be565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b61099a610ffd565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f6012600a610a01919061290b565b633b9aca00610a109190612955565b905090565b5f610a21848484611245565b610ade84610a2d61107b565b610ad9856040518060600160405280602881526020016132ca6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a9061107b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a209092919063ffffffff16565b611082565b600190509392505050565b600f5481565b600b5481565b5f6012905090565b610b05610ffd565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260169054906101000a900460ff1681565b610b9c610ffd565b5f610ba630610bd4565b90505f811115610bba57610bb981611a82565b5b5f4790505f811115610bd057610bcf81611cf6565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c22610ffd565b610c2b5f6120a1565b565b60105481565b6003602052805f5260405f205f915054906101000a900460ff1681565b600a5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c85610ffd565b60011515601260169054906101000a900460ff16151503610cdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd2906129e0565b60405180910390fd5b6001601260166101000a81548160ff021916908315150217905550565b60606040518060400160405280600481526020017f4b49574900000000000000000000000000000000000000000000000000000000815250905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b610d68610ffd565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600c5481565b610dcd610ffd565b5f818385610ddb9190612741565b610de59190612741565b90506005811115610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2290612a6e565b60405180910390fd5b83600d8190555082600e8190555081600f819055508060108190555050505050565b5f610e60610e5961107b565b8484611245565b6001905092915050565b60045481565b600d5481565b6005602052805f5260405f205f915054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b610f23610ffd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8890612afc565b60405180910390fd5b610f9a816120a1565b50565b610fa5610ffd565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b61100561107b565b73ffffffffffffffffffffffffffffffffffffffff16611023610c56565b73ffffffffffffffffffffffffffffffffffffffff1614611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090612b64565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790612bf2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590612c80565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161123891906125a9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612d0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612d9c565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156113bf575060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f590612e04565b60405180910390fd5b5f8111611440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143790612e92565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114df575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561177057601260169054906101000a900460ff16611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a90612efa565b60405180910390fd5b5f600c5411156116175760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115e6575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611616576116136064611605600c548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505b5b5f60105411156116a15760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116a05761169d606461168f6010548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505b5b5f6116ab30610bd4565b9050601260149054906101000a900460ff16158015611716575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561172e5750601260159054906101000a900460ff165b801561173b575060045481115b801561174857505f601054115b1561176e5761175681611a82565b5f4790505f81111561176c5761176b47611cf6565b5b505b505b5f81111561186f576117c88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161186691906125a9565b60405180910390a35b6118bf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461227f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611962611916828461227f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461222290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a05848661227f90919063ffffffff16565b604051611a1291906125a9565b60405180910390a350505050565b5f838311158290611a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5e91906123fb565b60405180910390fd5b505f8385611a759190612f18565b9050809150509392505050565b6001601260146101000a81548160ff0219169083151502179055505f810315611cd9575f600267ffffffffffffffff811115611ac157611ac0612f4b565b5b604051908082528060200260200182016040528015611aef5781602001602082028036833780820191505090505b50905030815f81518110611b0657611b05612f78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611baa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bce9190612fb9565b81600181518110611be257611be1612f78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c483060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611082565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611caa9594939291906130dd565b5f604051808303815f87803b158015611cc1575f80fd5b505af1158015611cd3573d5f803e3d5ffd5b50505050505b5f601260146101000a81548160ff02191690831515021790555050565b5f81031561209e575f611d28601054611d1a600d548561216290919063ffffffff16565b6121d990919063ffffffff16565b90505f611d54601054611d46600f548661216290919063ffffffff16565b6121d990919063ffffffff16565b90505f611d80601054611d72600e548761216290919063ffffffff16565b6121d990919063ffffffff16565b90505f831115611e8a575f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051611dd090613162565b5f6040518083038185875af1925050503d805f8114611e0a576040519150601f19603f3d011682016040523d82523d5f602084013e611e0f565b606091505b5050905080611e885760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db5785604051611e7f91906125a9565b60405180910390a25b505b5f821115611f92575f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611ed890613162565b5f6040518083038185875af1925050503d805f8114611f12576040519150601f19603f3d011682016040523d82523d5f602084013e611f17565b606091505b5050905080611f905760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db5784604051611f8791906125a9565b60405180910390a25b505b5f81111561209a575f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611fe090613162565b5f6040518083038185875af1925050503d805f811461201a576040519150601f19603f3d011682016040523d82523d5f602084013e61201f565b606091505b50509050806120985760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db578360405161208f91906125a9565b60405180910390a25b505b5050505b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612172575f90506121d3565b5f828461217f9190612955565b905082848261218e91906131a3565b146121ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c590613243565b60405180910390fd5b809150505b92915050565b5f61221a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122c8565b905092915050565b5f8082846122309190612741565b905083811015612275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226c906132ab565b60405180910390fd5b8091505092915050565b5f6122c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a20565b905092915050565b5f808311829061230e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230591906123fb565b60405180910390fd5b505f838561231c91906131a3565b9050809150509392505050565b5f80fd5b5f819050919050565b61233f8161232d565b8114612349575f80fd5b50565b5f8135905061235a81612336565b92915050565b5f6020828403121561237557612374612329565b5b5f6123828482850161234c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6123cd8261238b565b6123d78185612395565b93506123e78185602086016123a5565b6123f0816123b3565b840191505092915050565b5f6020820190508181035f83015261241381846123c3565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124448261241b565b9050919050565b6124548161243a565b811461245e575f80fd5b50565b5f8135905061246f8161244b565b92915050565b5f806040838503121561248b5761248a612329565b5b5f61249885828601612461565b92505060206124a98582860161234c565b9150509250929050565b5f8115159050919050565b6124c7816124b3565b82525050565b5f6020820190506124e05f8301846124be565b92915050565b5f6124f08261241b565b9050919050565b612500816124e6565b82525050565b5f6020820190506125195f8301846124f7565b92915050565b5f805f6060848603121561253657612535612329565b5b5f6125438682870161234c565b93505060206125548682870161234c565b92505060406125658682870161234c565b9150509250925092565b5f6020828403121561258457612583612329565b5b5f61259184828501612461565b91505092915050565b6125a38161232d565b82525050565b5f6020820190506125bc5f83018461259a565b92915050565b5f805f606084860312156125d9576125d8612329565b5b5f6125e686828701612461565b93505060206125f786828701612461565b92505060406126088682870161234c565b9150509250925092565b5f60ff82169050919050565b61262781612612565b82525050565b5f6020820190506126405f83018461261e565b92915050565b61264f8161243a565b82525050565b5f6020820190506126685f830184612646565b92915050565b5f806040838503121561268457612683612329565b5b5f61269185828601612461565b92505060206126a285828601612461565b9150509250929050565b7f5468726573686f6c642063616e6e6f74206265203000000000000000000000005f82015250565b5f6126e0601583612395565b91506126eb826126ac565b602082019050919050565b5f6020820190508181035f83015261270d816126d4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274b8261232d565b91506127568361232d565b925082820190508082111561276e5761276d612714565b5b92915050565b7f427579206665652063616e6e6f7420626520686967686572207468616e2035255f82015250565b5f6127a8602083612395565b91506127b382612774565b602082019050919050565b5f6020820190508181035f8301526127d58161279c565b9050919050565b5f8160011c9050919050565b5f808291508390505b60018511156128315780860481111561280d5761280c612714565b5b600185161561281c5780820291505b808102905061282a856127dc565b94506127f1565b94509492505050565b5f826128495760019050612904565b81612856575f9050612904565b816001811461286c5760028114612876576128a5565b6001915050612904565b60ff84111561288857612887612714565b5b8360020a91508482111561289f5761289e612714565b5b50612904565b5060208310610133831016604e8410600b84101617156128da5782820a9050838111156128d5576128d4612714565b5b612904565b6128e784848460016127e8565b925090508184048111156128fe576128fd612714565b5b81810290505b9392505050565b5f6129158261232d565b915061292083612612565b925061294d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461283a565b905092915050565b5f61295f8261232d565b915061296a8361232d565b92508282026129788161232d565b9150828204841483151761298f5761298e612714565b5b5092915050565b7f4b69776920656e61626c656420616c72656164790000000000000000000000005f82015250565b5f6129ca601483612395565b91506129d582612996565b602082019050919050565b5f6020820190508181035f8301526129f7816129be565b9050919050565b7f53656c6c206665652063616e6e6f7420626520686967686572207468616e20355f8201527f2500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a58602183612395565b9150612a63826129fe565b604082019050919050565b5f6020820190508181035f830152612a8581612a4c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612ae6602683612395565b9150612af182612a8c565b604082019050919050565b5f6020820190508181035f830152612b1381612ada565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b4e602083612395565b9150612b5982612b1a565b602082019050919050565b5f6020820190508181035f830152612b7b81612b42565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bdc602483612395565b9150612be782612b82565b604082019050919050565b5f6020820190508181035f830152612c0981612bd0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c6a602283612395565b9150612c7582612c10565b604082019050919050565b5f6020820190508181035f830152612c9781612c5e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cf8602583612395565b9150612d0382612c9e565b604082019050919050565b5f6020820190508181035f830152612d2581612cec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d86602383612395565b9150612d9182612d2c565b604082019050919050565b5f6020820190508181035f830152612db381612d7a565b9050919050565b7f4164647265737320697320626c61636b6c6973746564000000000000000000005f82015250565b5f612dee601683612395565b9150612df982612dba565b602082019050919050565b5f6020820190508181035f830152612e1b81612de2565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e7c602983612395565b9150612e8782612e22565b604082019050919050565b5f6020820190508181035f830152612ea981612e70565b9050919050565b7f4b69776920746f20626520656e61626c656400000000000000000000000000005f82015250565b5f612ee4601283612395565b9150612eef82612eb0565b602082019050919050565b5f6020820190508181035f830152612f1181612ed8565b9050919050565b5f612f228261232d565b9150612f2d8361232d565b9250828203905081811115612f4557612f44612714565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612fb38161244b565b92915050565b5f60208284031215612fce57612fcd612329565b5b5f612fdb84828501612fa5565b91505092915050565b5f819050919050565b5f819050919050565b5f61301061300b61300684612fe4565b612fed565b61232d565b9050919050565b61302081612ff6565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130588161243a565b82525050565b5f613069838361304f565b60208301905092915050565b5f602082019050919050565b5f61308b82613026565b6130958185613030565b93506130a083613040565b805f5b838110156130d05781516130b7888261305e565b97506130c283613075565b9250506001810190506130a3565b5085935050505092915050565b5f60a0820190506130f05f83018861259a565b6130fd6020830187613017565b818103604083015261310f8186613081565b905061311e6060830185612646565b61312b608083018461259a565b9695505050505050565b5f81905092915050565b50565b5f61314d5f83613135565b91506131588261313f565b5f82019050919050565b5f61316c82613142565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131ad8261232d565b91506131b88361232d565b9250826131c8576131c7613176565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61322d602183612395565b9150613238826131d3565b604082019050919050565b5f6020820190508181035f83015261325a81613221565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613295601b83612395565b91506132a082613261565b602082019050919050565b5f6020820190508181035f8301526132c281613289565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fcf8133da25bef3c7a2297d447cef0935fc39c5aadca6bd851e0d8d87e017d4364736f6c634300081a0033

Deployed Bytecode Sourcemap

5652:10483:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14098:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8274:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9157:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6259:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14754:494;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14280:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8551:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9351:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6856:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6676:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8460:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14637:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6364:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7105:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15802:330;;;;;;;;;;;;;:::i;:::-;;8654:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3984:103;;;;;;;;;;;;;:::i;:::-;;6903:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5862:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6630:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3343:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13951:139;;;;;;;;;;;;;:::i;:::-;;8365:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6473:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6584:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14401:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6720:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15256:538;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8781:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6141:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6764:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6207:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8981:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6811:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4242:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14521:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14098:174;3229:13;:11;:13::i;:::-;14197:1:::1;14185:9;:13;14177:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;14255:9;14235:17;:29;;;;14098:174:::0;:::o;8274:83::-;8311:13;8344:5;;;;;;;;;;;;;;;;;8337:12;;8274:83;:::o;9157:186::-;9257:4;9274:39;9283:12;:10;:12::i;:::-;9297:7;9306:6;9274:8;:39::i;:::-;9331:4;9324:11;;9157:186;;;;:::o;6259:96::-;;;;;;;;;;;;;:::o;14754:494::-;3229:13;:11;:13::i;:::-;14911:19:::1;14967:15;14951:13;14933:15;:31;;;;:::i;:::-;:49;;;;:::i;:::-;14911:71;;15016:1;15001:11;:16;;14993:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;15090:15;15067:20;:38;;;;15137:13;15116:18;:34;;;;15184:15;15161:20;:38;;;;15229:11;15210:16;:30;;;;14900:348;14754:494:::0;;;:::o;14280:113::-;3229:13;:11;:13::i;:::-;14381:4:::1;14351:18;:27;14370:7;14351:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;14280:113:::0;:::o;8551:95::-;8604:7;5956:2;6013;:15;;;;:::i;:::-;6000:10;:28;;;;:::i;:::-;8624:14;;8551:95;:::o;9351:446::-;9483:4;9500:36;9510:6;9518:9;9529:6;9500:9;:36::i;:::-;9547:220;9570:6;9591:12;:10;:12::i;:::-;9618:138;9674:6;9618:138;;;;;;;;;;;;;;;;;:11;:19;9630:6;9618:19;;;;;;;;;;;;;;;:33;9638:12;:10;:12::i;:::-;9618:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;9547:8;:220::i;:::-;9785:4;9778:11;;9351:446;;;;;:::o;6856:40::-;;;;:::o;6676:37::-;;;;:::o;8460:83::-;8501:5;5956:2;8519:16;;8460:83;:::o;14637:109::-;3229:13;:11;:13::i;:::-;14733:5:::1;14710:11;:20;14722:7;14710:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14637:109:::0;:::o;6364:100::-;;;;;;;;;;;;;:::o;7105:31::-;;;;;;;;;;;;;:::o;15802:330::-;3229:13;:11;:13::i;:::-;15854:20:::1;15877:24;15895:4;15877:9;:24::i;:::-;15854:47;;15931:1;15916:12;:16;15912:79;;;15949:30;15966:12;15949:16;:30::i;:::-;15912:79;16001:18;16022:21;16001:42;;16071:1;16058:10;:14;16054:71;;;16089:24;16102:10;16089:12;:24::i;:::-;16054:71;15843:289;;15802:330::o:0;8654:119::-;8720:7;8747:9;:18;8757:7;8747:18;;;;;;;;;;;;;;;;8740:25;;8654:119;;;:::o;3984:103::-;3229:13;:11;:13::i;:::-;4049:30:::1;4076:1;4049:18;:30::i;:::-;3984:103::o:0;6903:36::-;;;;:::o;5862:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6630:39::-;;;;:::o;3343:87::-;3389:7;3416:6;;;;;;;;;;;3409:13;;3343:87;:::o;13951:139::-;3229:13;:11;:13::i;:::-;14024:4:::1;14009:19;;:11;;;;;;;;;;;:19;;::::0;14001:52:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14078:4;14064:11;;:18;;;;;;;;;;;;;;;;;;13951:139::o:0;8365:87::-;8404:13;8437:7;;;;;;;;;;;;;;;;;8430:14;;8365:87;:::o;6473:102::-;;;;;;;;;;;;;:::o;6584:39::-;;;;:::o;14401:112::-;3229:13;:11;:13::i;:::-;14500:5:::1;14470:18;:27;14489:7;14470:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;14401:112:::0;:::o;6720:35::-;;;;:::o;15256:538::-;3229:13;:11;:13::i;:::-;15417:20:::1;15502:16;15472:14;15440:16;:46;;;;:::i;:::-;:78;;;;:::i;:::-;15417:101;;15553:1;15537:12;:17;;15529:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;15629:16;15605:21;:40;;;;15678:14;15656:19;:36;;;;15727:16;15703:21;:40;;;;15774:12;15754:17;:32;;;;15406:388;15256:538:::0;;;:::o;8781:192::-;8884:4;8901:42;8911:12;:10;:12::i;:::-;8925:9;8936:6;8901:9;:42::i;:::-;8961:4;8954:11;;8781:192;;;;:::o;6141:59::-;;;;:::o;6764:40::-;;;;:::o;6207:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;8981:168::-;9087:7;9114:11;:18;9126:5;9114:18;;;;;;;;;;;;;;;:27;9133:7;9114:27;;;;;;;;;;;;;;;;9107:34;;8981:168;;;;:::o;6811:38::-;;;;:::o;4242:238::-;3229:13;:11;:13::i;:::-;4365:1:::1;4345:22;;:8;:22;;::::0;4323:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4444:28;4463:8;4444:18;:28::i;:::-;4242:238:::0;:::o;14521:108::-;3229:13;:11;:13::i;:::-;14617:4:::1;14594:11;:20;14606:7;14594:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;14521:108:::0;:::o;3508:132::-;3583:12;:10;:12::i;:::-;3572:23;;:7;:5;:7::i;:::-;:23;;;3564:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3508:132::o;637:98::-;690:7;717:10;710:17;;637:98;:::o;9805:335::-;9915:1;9898:19;;:5;:19;;;9890:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9996:1;9977:21;;:7;:21;;;9969:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10078:6;10048:11;:18;10060:5;10048:18;;;;;;;;;;;;;;;:27;10067:7;10048:27;;;;;;;;;;;;;;;:36;;;;10116:7;10100:32;;10109:5;10100:32;;;10125:6;10100:32;;;;;;:::i;:::-;;;;;;;;9805:335;;;:::o;10148:1956::-;10252:1;10236:18;;:4;:18;;;10228:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10329:1;10315:16;;:2;:16;;;10307:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10405:11;:17;10417:4;10405:17;;;;;;;;;;;;;;;;;;;;;;;;;10404:18;:38;;;;;10427:11;:15;10439:2;10427:15;;;;;;;;;;;;;;;;;;;;;;;;;10426:16;10404:38;10382:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10520:1;10511:6;:10;10503:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10578:17;10615:18;:24;10634:4;10615:24;;;;;;;;;;;;;;;;;;;;;;;;;10614:25;:52;;;;;10644:18;:22;10663:2;10644:22;;;;;;;;;;;;;;;;;;;;;;;;;10643:23;10614:52;10610:1123;;;10691:11;;;;;;;;;;;10683:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;10765:1;10746:16;;:20;10742:213;;;10799:13;;;;;;;;;;;10791:21;;:4;:21;;;:55;;;;;10830:15;;;;;;;;;;;10816:30;;:2;:30;;;;10791:55;10787:153;;;10883:37;10916:3;10883:28;10894:16;;10883:6;:10;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;10871:49;;10787:153;10742:213;10995:1;10975:17;;:21;10971:179;;;11027:13;;;;;;;;;;;11021:19;;:2;:19;;;11017:118;;11077:38;11111:3;11077:29;11088:17;;11077:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;11065:50;;11017:118;10971:179;11166:28;11197:24;11215:4;11197:9;:24::i;:::-;11166:55;;11259:6;;;;;;;;;;;11258:7;:47;;;;;11292:13;;;;;;;;;;;11286:19;;:2;:19;;;11258:47;:79;;;;;11326:11;;;;;;;;;;;11258:79;:140;;;;;11381:17;;11358:20;:40;11258:140;:182;;;;;11439:1;11419:17;;:21;11258:182;11236:486;;;11475:38;11492:20;11475:16;:38::i;:::-;11532:26;11561:21;11532:50;;11626:1;11605:18;:22;11601:106;;;11652:35;11665:21;11652:12;:35::i;:::-;11601:106;11456:266;11236:486;10668:1065;10610:1123;11761:1;11749:9;:13;11745:172;;;11806:39;11835:9;11806;:24;11824:4;11806:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11779:9;:24;11797:4;11779:24;;;;;;;;;;;;;;;:66;;;;11888:4;11865:40;;11874:4;11865:40;;;11895:9;11865:40;;;;;;:::i;:::-;;;;;;;;11745:172;11945:27;11965:6;11945:9;:15;11955:4;11945:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11927:9;:15;11937:4;11927:15;;;;;;;;;;;;;;;:45;;;;11999:40;12017:21;12028:9;12017:6;:10;;:21;;;;:::i;:::-;11999:9;:13;12009:2;11999:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11983:9;:13;11993:2;11983:13;;;;;;;;;;;;;;;:56;;;;12070:2;12055:41;;12064:4;12055:41;;;12074:21;12085:9;12074:6;:10;;:21;;;;:::i;:::-;12055:41;;;;;;:::i;:::-;;;;;;;;10217:1887;10148:1956;;;:::o;1892:224::-;2012:7;2045:1;2040;:6;;2048:12;2032:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2072:9;2088:1;2084;:5;;;;:::i;:::-;2072:17;;2107:1;2100:8;;;1892:224;;;;;:::o;12227:548::-;7188:4;7179:6;;:13;;;;;;;;;;;;;;;;;;12324:1:::1;12309:11;:16:::0;12305:55;12342:7:::1;12305:55;12370:21;12408:1;12394:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12370:40;;12439:4;12421;12426:1;12421:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12465:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12455:4;12460:1;12455:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12498:62;12515:4;12530:15;;;;;;;;;;;12548:11;12498:8;:62::i;:::-;12571:15;;;;;;;;;;;:66;;;12652:11;12678:1;12694:4;12721;12741:15;12571:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12294:481;7203:1;7224:5:::0;7215:6;;:14;;;;;;;;;;;;;;;;;;12227:548;:::o;12783:1123::-;12854:1;12844:6;:11;12840:24;12857:7;12840:24;12876:22;12901:80;12953:17;;12901:33;12912:21;;12901:6;:10;;:33;;;;:::i;:::-;:37;;:80;;;;:::i;:::-;12876:105;;12992:22;13017:80;13069:17;;13017:33;13028:21;;13017:6;:10;;:33;;;;:::i;:::-;:37;;:80;;;;:::i;:::-;12992:105;;13108:20;13131:78;13181:17;;13131:31;13142:19;;13131:6;:10;;:31;;;;:::i;:::-;:35;;:78;;;;:::i;:::-;13108:101;;13243:1;13226:14;:18;13222:225;;;13262:12;13280:16;;;;;;;;;;;:21;;13309:14;13280:48;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13261:67;;;13348:7;13343:92;;13402:16;;;;;;;;;;;13379:56;;;13420:14;13379:56;;;;;;:::i;:::-;;;;;;;;13343:92;13246:201;13222:225;13480:1;13463:14;:18;13459:213;;;13499:12;13517:10;;;;;;;;;;;:15;;13540:14;13517:42;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13498:61;;;13579:7;13574:86;;13633:10;;;;;;;;;;;13610:50;;;13645:14;13610:50;;;;;;:::i;:::-;;;;;;;;13574:86;13483:189;13459:213;13703:1;13688:12;:16;13684:215;;;13722:12;13740:14;;;;;;;;;;;:19;;13767:12;13740:44;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13721:63;;;13804:7;13799:88;;13858:14;;;;;;;;;;;13835:52;;;13874:12;13835:52;;;;;;:::i;:::-;;;;;;;;13799:88;13706:193;13684:215;12829:1077;;;12783:1123;;:::o;4640:191::-;4714:16;4733:6;;;;;;;;;;;4714:25;;4759:8;4750:6;;:17;;;;;;;;;;;;;;;;;;4814:8;4783:40;;4804:8;4783:40;;;;;;;;;;;;4703:128;4640:191;:::o;2124:246::-;2182:7;2211:1;2206;:6;2202:47;;2236:1;2229:8;;;;2202:47;2259:9;2275:1;2271;:5;;;;:::i;:::-;2259:17;;2304:1;2299;2295;:5;;;;:::i;:::-;:10;2287:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2361:1;2354:8;;;2124:246;;;;;:::o;2378:132::-;2436:7;2463:39;2467:1;2470;2463:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2456:46;;2378:132;;;;:::o;1561:179::-;1619:7;1639:9;1655:1;1651;:5;;;;:::i;:::-;1639:17;;1680:1;1675;:6;;1667:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1731:1;1724:8;;;1561:179;;;;:::o;1748:136::-;1806:7;1833:43;1837:1;1840;1833:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1826:50;;1748:136;;;;:::o;2518:223::-;2638:7;2670:1;2666;:5;2673:12;2658:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2697:9;2713:1;2709;:5;;;;:::i;:::-;2697:17;;2732:1;2725:8;;;2518:223;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:139::-;1394:6;1389:3;1384;1378:23;1435:1;1426:6;1421:3;1417:16;1410:27;1305:139;;;:::o;1450:102::-;1491:6;1542:2;1538:7;1533:2;1526:5;1522:14;1518:28;1508:38;;1450:102;;;:::o;1558:377::-;1646:3;1674:39;1707:5;1674:39;:::i;:::-;1729:71;1793:6;1788:3;1729:71;:::i;:::-;1722:78;;1809:65;1867:6;1862:3;1855:4;1848:5;1844:16;1809:65;:::i;:::-;1899:29;1921:6;1899:29;:::i;:::-;1894:3;1890:39;1883:46;;1650:285;1558:377;;;;:::o;1941:313::-;2054:4;2092:2;2081:9;2077:18;2069:26;;2141:9;2135:4;2131:20;2127:1;2116:9;2112:17;2105:47;2169:78;2242:4;2233:6;2169:78;:::i;:::-;2161:86;;1941:313;;;;:::o;2260:126::-;2297:7;2337:42;2330:5;2326:54;2315:65;;2260:126;;;:::o;2392:96::-;2429:7;2458:24;2476:5;2458:24;:::i;:::-;2447:35;;2392:96;;;:::o;2494:122::-;2567:24;2585:5;2567:24;:::i;:::-;2560:5;2557:35;2547:63;;2606:1;2603;2596:12;2547:63;2494:122;:::o;2622:139::-;2668:5;2706:6;2693:20;2684:29;;2722:33;2749:5;2722:33;:::i;:::-;2622:139;;;;:::o;2767:474::-;2835:6;2843;2892:2;2880:9;2871:7;2867:23;2863:32;2860:119;;;2898:79;;:::i;:::-;2860:119;3018:1;3043:53;3088:7;3079:6;3068:9;3064:22;3043:53;:::i;:::-;3033:63;;2989:117;3145:2;3171:53;3216:7;3207:6;3196:9;3192:22;3171:53;:::i;:::-;3161:63;;3116:118;2767:474;;;;;:::o;3247:90::-;3281:7;3324:5;3317:13;3310:21;3299:32;;3247:90;;;:::o;3343:109::-;3424:21;3439:5;3424:21;:::i;:::-;3419:3;3412:34;3343:109;;:::o;3458:210::-;3545:4;3583:2;3572:9;3568:18;3560:26;;3596:65;3658:1;3647:9;3643:17;3634:6;3596:65;:::i;:::-;3458:210;;;;:::o;3674:104::-;3719:7;3748:24;3766:5;3748:24;:::i;:::-;3737:35;;3674:104;;;:::o;3784:142::-;3887:32;3913:5;3887:32;:::i;:::-;3882:3;3875:45;3784:142;;:::o;3932:254::-;4041:4;4079:2;4068:9;4064:18;4056:26;;4092:87;4176:1;4165:9;4161:17;4152:6;4092:87;:::i;:::-;3932:254;;;;:::o;4192:619::-;4269:6;4277;4285;4334:2;4322:9;4313:7;4309:23;4305:32;4302:119;;;4340:79;;:::i;:::-;4302:119;4460:1;4485:53;4530:7;4521:6;4510:9;4506:22;4485:53;:::i;:::-;4475:63;;4431:117;4587:2;4613:53;4658:7;4649:6;4638:9;4634:22;4613:53;:::i;:::-;4603:63;;4558:118;4715:2;4741:53;4786:7;4777:6;4766:9;4762:22;4741:53;:::i;:::-;4731:63;;4686:118;4192:619;;;;;:::o;4817:329::-;4876:6;4925:2;4913:9;4904:7;4900:23;4896:32;4893:119;;;4931:79;;:::i;:::-;4893:119;5051:1;5076:53;5121:7;5112:6;5101:9;5097:22;5076:53;:::i;:::-;5066:63;;5022:117;4817:329;;;;:::o;5152:118::-;5239:24;5257:5;5239:24;:::i;:::-;5234:3;5227:37;5152:118;;:::o;5276:222::-;5369:4;5407:2;5396:9;5392:18;5384:26;;5420:71;5488:1;5477:9;5473:17;5464:6;5420:71;:::i;:::-;5276:222;;;;:::o;5504:619::-;5581:6;5589;5597;5646:2;5634:9;5625:7;5621:23;5617:32;5614:119;;;5652:79;;:::i;:::-;5614:119;5772:1;5797:53;5842:7;5833:6;5822:9;5818:22;5797:53;:::i;:::-;5787:63;;5743:117;5899:2;5925:53;5970:7;5961:6;5950:9;5946:22;5925:53;:::i;:::-;5915:63;;5870:118;6027:2;6053:53;6098:7;6089:6;6078:9;6074:22;6053:53;:::i;:::-;6043:63;;5998:118;5504:619;;;;;:::o;6129:86::-;6164:7;6204:4;6197:5;6193:16;6182:27;;6129:86;;;:::o;6221:112::-;6304:22;6320:5;6304:22;:::i;:::-;6299:3;6292:35;6221:112;;:::o;6339:214::-;6428:4;6466:2;6455:9;6451:18;6443:26;;6479:67;6543:1;6532:9;6528:17;6519:6;6479:67;:::i;:::-;6339:214;;;;:::o;6559:118::-;6646:24;6664:5;6646:24;:::i;:::-;6641:3;6634:37;6559:118;;:::o;6683:222::-;6776:4;6814:2;6803:9;6799:18;6791:26;;6827:71;6895:1;6884:9;6880:17;6871:6;6827:71;:::i;:::-;6683:222;;;;:::o;6911:474::-;6979:6;6987;7036:2;7024:9;7015:7;7011:23;7007:32;7004:119;;;7042:79;;:::i;:::-;7004:119;7162:1;7187:53;7232:7;7223:6;7212:9;7208:22;7187:53;:::i;:::-;7177:63;;7133:117;7289:2;7315:53;7360:7;7351:6;7340:9;7336:22;7315:53;:::i;:::-;7305:63;;7260:118;6911:474;;;;;:::o;7391:171::-;7531:23;7527:1;7519:6;7515:14;7508:47;7391:171;:::o;7568:366::-;7710:3;7731:67;7795:2;7790:3;7731:67;:::i;:::-;7724:74;;7807:93;7896:3;7807:93;:::i;:::-;7925:2;7920:3;7916:12;7909:19;;7568:366;;;:::o;7940:419::-;8106:4;8144:2;8133:9;8129:18;8121:26;;8193:9;8187:4;8183:20;8179:1;8168:9;8164:17;8157:47;8221:131;8347:4;8221:131;:::i;:::-;8213:139;;7940:419;;;:::o;8365:180::-;8413:77;8410:1;8403:88;8510:4;8507:1;8500:15;8534:4;8531:1;8524:15;8551:191;8591:3;8610:20;8628:1;8610:20;:::i;:::-;8605:25;;8644:20;8662:1;8644:20;:::i;:::-;8639:25;;8687:1;8684;8680:9;8673:16;;8708:3;8705:1;8702:10;8699:36;;;8715:18;;:::i;:::-;8699:36;8551:191;;;;:::o;8748:182::-;8888:34;8884:1;8876:6;8872:14;8865:58;8748:182;:::o;8936:366::-;9078:3;9099:67;9163:2;9158:3;9099:67;:::i;:::-;9092:74;;9175:93;9264:3;9175:93;:::i;:::-;9293:2;9288:3;9284:12;9277:19;;8936:366;;;:::o;9308:419::-;9474:4;9512:2;9501:9;9497:18;9489:26;;9561:9;9555:4;9551:20;9547:1;9536:9;9532:17;9525:47;9589:131;9715:4;9589:131;:::i;:::-;9581:139;;9308:419;;;:::o;9733:102::-;9775:8;9822:5;9819:1;9815:13;9794:34;;9733:102;;;:::o;9841:848::-;9902:5;9909:4;9933:6;9924:15;;9957:5;9948:14;;9971:712;9992:1;9982:8;9979:15;9971:712;;;10087:4;10082:3;10078:14;10072:4;10069:24;10066:50;;;10096:18;;:::i;:::-;10066:50;10146:1;10136:8;10132:16;10129:451;;;10561:4;10554:5;10550:16;10541:25;;10129:451;10611:4;10605;10601:15;10593:23;;10641:32;10664:8;10641:32;:::i;:::-;10629:44;;9971:712;;;9841:848;;;;;;;:::o;10695:1073::-;10749:5;10940:8;10930:40;;10961:1;10952:10;;10963:5;;10930:40;10989:4;10979:36;;11006:1;10997:10;;11008:5;;10979:36;11075:4;11123:1;11118:27;;;;11159:1;11154:191;;;;11068:277;;11118:27;11136:1;11127:10;;11138:5;;;11154:191;11199:3;11189:8;11186:17;11183:43;;;11206:18;;:::i;:::-;11183:43;11255:8;11252:1;11248:16;11239:25;;11290:3;11283:5;11280:14;11277:40;;;11297:18;;:::i;:::-;11277:40;11330:5;;;11068:277;;11454:2;11444:8;11441:16;11435:3;11429:4;11426:13;11422:36;11404:2;11394:8;11391:16;11386:2;11380:4;11377:12;11373:35;11357:111;11354:246;;;11510:8;11504:4;11500:19;11491:28;;11545:3;11538:5;11535:14;11532:40;;;11552:18;;:::i;:::-;11532:40;11585:5;;11354:246;11625:42;11663:3;11653:8;11647:4;11644:1;11625:42;:::i;:::-;11610:57;;;;11699:4;11694:3;11690:14;11683:5;11680:25;11677:51;;;11708:18;;:::i;:::-;11677:51;11757:4;11750:5;11746:16;11737:25;;10695:1073;;;;;;:::o;11774:281::-;11832:5;11856:23;11874:4;11856:23;:::i;:::-;11848:31;;11900:25;11916:8;11900:25;:::i;:::-;11888:37;;11944:104;11981:66;11971:8;11965:4;11944:104;:::i;:::-;11935:113;;11774:281;;;;:::o;12061:410::-;12101:7;12124:20;12142:1;12124:20;:::i;:::-;12119:25;;12158:20;12176:1;12158:20;:::i;:::-;12153:25;;12213:1;12210;12206:9;12235:30;12253:11;12235:30;:::i;:::-;12224:41;;12414:1;12405:7;12401:15;12398:1;12395:22;12375:1;12368:9;12348:83;12325:139;;12444:18;;:::i;:::-;12325:139;12109:362;12061:410;;;;:::o;12477:170::-;12617:22;12613:1;12605:6;12601:14;12594:46;12477:170;:::o;12653:366::-;12795:3;12816:67;12880:2;12875:3;12816:67;:::i;:::-;12809:74;;12892:93;12981:3;12892:93;:::i;:::-;13010:2;13005:3;13001:12;12994:19;;12653:366;;;:::o;13025:419::-;13191:4;13229:2;13218:9;13214:18;13206:26;;13278:9;13272:4;13268:20;13264:1;13253:9;13249:17;13242:47;13306:131;13432:4;13306:131;:::i;:::-;13298:139;;13025:419;;;:::o;13450:220::-;13590:34;13586:1;13578:6;13574:14;13567:58;13659:3;13654:2;13646:6;13642:15;13635:28;13450:220;:::o;13676:366::-;13818:3;13839:67;13903:2;13898:3;13839:67;:::i;:::-;13832:74;;13915:93;14004:3;13915:93;:::i;:::-;14033:2;14028:3;14024:12;14017:19;;13676:366;;;:::o;14048:419::-;14214:4;14252:2;14241:9;14237:18;14229:26;;14301:9;14295:4;14291:20;14287:1;14276:9;14272:17;14265:47;14329:131;14455:4;14329:131;:::i;:::-;14321:139;;14048:419;;;:::o;14473:225::-;14613:34;14609:1;14601:6;14597:14;14590:58;14682:8;14677:2;14669:6;14665:15;14658:33;14473:225;:::o;14704:366::-;14846:3;14867:67;14931:2;14926:3;14867:67;:::i;:::-;14860:74;;14943:93;15032:3;14943:93;:::i;:::-;15061:2;15056:3;15052:12;15045:19;;14704:366;;;:::o;15076:419::-;15242:4;15280:2;15269:9;15265:18;15257:26;;15329:9;15323:4;15319:20;15315:1;15304:9;15300:17;15293:47;15357:131;15483:4;15357:131;:::i;:::-;15349:139;;15076:419;;;:::o;15501:182::-;15641:34;15637:1;15629:6;15625:14;15618:58;15501:182;:::o;15689:366::-;15831:3;15852:67;15916:2;15911:3;15852:67;:::i;:::-;15845:74;;15928:93;16017:3;15928:93;:::i;:::-;16046:2;16041:3;16037:12;16030:19;;15689:366;;;:::o;16061:419::-;16227:4;16265:2;16254:9;16250:18;16242:26;;16314:9;16308:4;16304:20;16300:1;16289:9;16285:17;16278:47;16342:131;16468:4;16342:131;:::i;:::-;16334:139;;16061:419;;;:::o;16486:223::-;16626:34;16622:1;16614:6;16610:14;16603:58;16695:6;16690:2;16682:6;16678:15;16671:31;16486:223;:::o;16715:366::-;16857:3;16878:67;16942:2;16937:3;16878:67;:::i;:::-;16871:74;;16954:93;17043:3;16954:93;:::i;:::-;17072:2;17067:3;17063:12;17056:19;;16715:366;;;:::o;17087:419::-;17253:4;17291:2;17280:9;17276:18;17268:26;;17340:9;17334:4;17330:20;17326:1;17315:9;17311:17;17304:47;17368:131;17494:4;17368:131;:::i;:::-;17360:139;;17087:419;;;:::o;17512:221::-;17652:34;17648:1;17640:6;17636:14;17629:58;17721:4;17716:2;17708:6;17704:15;17697:29;17512:221;:::o;17739:366::-;17881:3;17902:67;17966:2;17961:3;17902:67;:::i;:::-;17895:74;;17978:93;18067:3;17978:93;:::i;:::-;18096:2;18091:3;18087:12;18080:19;;17739:366;;;:::o;18111:419::-;18277:4;18315:2;18304:9;18300:18;18292:26;;18364:9;18358:4;18354:20;18350:1;18339:9;18335:17;18328:47;18392:131;18518:4;18392:131;:::i;:::-;18384:139;;18111:419;;;:::o;18536:224::-;18676:34;18672:1;18664:6;18660:14;18653:58;18745:7;18740:2;18732:6;18728:15;18721:32;18536:224;:::o;18766:366::-;18908:3;18929:67;18993:2;18988:3;18929:67;:::i;:::-;18922:74;;19005:93;19094:3;19005:93;:::i;:::-;19123:2;19118:3;19114:12;19107:19;;18766:366;;;:::o;19138:419::-;19304:4;19342:2;19331:9;19327:18;19319:26;;19391:9;19385:4;19381:20;19377:1;19366:9;19362:17;19355:47;19419:131;19545:4;19419:131;:::i;:::-;19411:139;;19138:419;;;:::o;19563:222::-;19703:34;19699:1;19691:6;19687:14;19680:58;19772:5;19767:2;19759:6;19755:15;19748:30;19563:222;:::o;19791:366::-;19933:3;19954:67;20018:2;20013:3;19954:67;:::i;:::-;19947:74;;20030:93;20119:3;20030:93;:::i;:::-;20148:2;20143:3;20139:12;20132:19;;19791:366;;;:::o;20163:419::-;20329:4;20367:2;20356:9;20352:18;20344:26;;20416:9;20410:4;20406:20;20402:1;20391:9;20387:17;20380:47;20444:131;20570:4;20444:131;:::i;:::-;20436:139;;20163:419;;;:::o;20588:172::-;20728:24;20724:1;20716:6;20712:14;20705:48;20588:172;:::o;20766:366::-;20908:3;20929:67;20993:2;20988:3;20929:67;:::i;:::-;20922:74;;21005:93;21094:3;21005:93;:::i;:::-;21123:2;21118:3;21114:12;21107:19;;20766:366;;;:::o;21138:419::-;21304:4;21342:2;21331:9;21327:18;21319:26;;21391:9;21385:4;21381:20;21377:1;21366:9;21362:17;21355:47;21419:131;21545:4;21419:131;:::i;:::-;21411:139;;21138:419;;;:::o;21563:228::-;21703:34;21699:1;21691:6;21687:14;21680:58;21772:11;21767:2;21759:6;21755:15;21748:36;21563:228;:::o;21797:366::-;21939:3;21960:67;22024:2;22019:3;21960:67;:::i;:::-;21953:74;;22036:93;22125:3;22036:93;:::i;:::-;22154:2;22149:3;22145:12;22138:19;;21797:366;;;:::o;22169:419::-;22335:4;22373:2;22362:9;22358:18;22350:26;;22422:9;22416:4;22412:20;22408:1;22397:9;22393:17;22386:47;22450:131;22576:4;22450:131;:::i;:::-;22442:139;;22169:419;;;:::o;22594:168::-;22734:20;22730:1;22722:6;22718:14;22711:44;22594:168;:::o;22768:366::-;22910:3;22931:67;22995:2;22990:3;22931:67;:::i;:::-;22924:74;;23007:93;23096:3;23007:93;:::i;:::-;23125:2;23120:3;23116:12;23109:19;;22768:366;;;:::o;23140:419::-;23306:4;23344:2;23333:9;23329:18;23321:26;;23393:9;23387:4;23383:20;23379:1;23368:9;23364:17;23357:47;23421:131;23547:4;23421:131;:::i;:::-;23413:139;;23140:419;;;:::o;23565:194::-;23605:4;23625:20;23643:1;23625:20;:::i;:::-;23620:25;;23659:20;23677:1;23659:20;:::i;:::-;23654:25;;23703:1;23700;23696:9;23688:17;;23727:1;23721:4;23718:11;23715:37;;;23732:18;;:::i;:::-;23715:37;23565:194;;;;:::o;23765:180::-;23813:77;23810:1;23803:88;23910:4;23907:1;23900:15;23934:4;23931:1;23924:15;23951:180;23999:77;23996:1;23989:88;24096:4;24093:1;24086:15;24120:4;24117:1;24110:15;24137:143;24194:5;24225:6;24219:13;24210:22;;24241:33;24268:5;24241:33;:::i;:::-;24137:143;;;;:::o;24286:351::-;24356:6;24405:2;24393:9;24384:7;24380:23;24376:32;24373:119;;;24411:79;;:::i;:::-;24373:119;24531:1;24556:64;24612:7;24603:6;24592:9;24588:22;24556:64;:::i;:::-;24546:74;;24502:128;24286:351;;;;:::o;24643:85::-;24688:7;24717:5;24706:16;;24643:85;;;:::o;24734:60::-;24762:3;24783:5;24776:12;;24734:60;;;:::o;24800:158::-;24858:9;24891:61;24909:42;24918:32;24944:5;24918:32;:::i;:::-;24909:42;:::i;:::-;24891:61;:::i;:::-;24878:74;;24800:158;;;:::o;24964:147::-;25059:45;25098:5;25059:45;:::i;:::-;25054:3;25047:58;24964:147;;:::o;25117:114::-;25184:6;25218:5;25212:12;25202:22;;25117:114;;;:::o;25237:184::-;25336:11;25370:6;25365:3;25358:19;25410:4;25405:3;25401:14;25386:29;;25237:184;;;;:::o;25427:132::-;25494:4;25517:3;25509:11;;25547:4;25542:3;25538:14;25530:22;;25427:132;;;:::o;25565:108::-;25642:24;25660:5;25642:24;:::i;:::-;25637:3;25630:37;25565:108;;:::o;25679:179::-;25748:10;25769:46;25811:3;25803:6;25769:46;:::i;:::-;25847:4;25842:3;25838:14;25824:28;;25679:179;;;;:::o;25864:113::-;25934:4;25966;25961:3;25957:14;25949:22;;25864:113;;;:::o;26013:732::-;26132:3;26161:54;26209:5;26161:54;:::i;:::-;26231:86;26310:6;26305:3;26231:86;:::i;:::-;26224:93;;26341:56;26391:5;26341:56;:::i;:::-;26420:7;26451:1;26436:284;26461:6;26458:1;26455:13;26436:284;;;26537:6;26531:13;26564:63;26623:3;26608:13;26564:63;:::i;:::-;26557:70;;26650:60;26703:6;26650:60;:::i;:::-;26640:70;;26496:224;26483:1;26480;26476:9;26471:14;;26436:284;;;26440:14;26736:3;26729:10;;26137:608;;;26013:732;;;;:::o;26751:831::-;27014:4;27052:3;27041:9;27037:19;27029:27;;27066:71;27134:1;27123:9;27119:17;27110:6;27066:71;:::i;:::-;27147:80;27223:2;27212:9;27208:18;27199:6;27147:80;:::i;:::-;27274:9;27268:4;27264:20;27259:2;27248:9;27244:18;27237:48;27302:108;27405:4;27396:6;27302:108;:::i;:::-;27294:116;;27420:72;27488:2;27477:9;27473:18;27464:6;27420:72;:::i;:::-;27502:73;27570:3;27559:9;27555:19;27546:6;27502:73;:::i;:::-;26751:831;;;;;;;;:::o;27588:147::-;27689:11;27726:3;27711:18;;27588:147;;;;:::o;27741:114::-;;:::o;27861:398::-;28020:3;28041:83;28122:1;28117:3;28041:83;:::i;:::-;28034:90;;28133:93;28222:3;28133:93;:::i;:::-;28251:1;28246:3;28242:11;28235:18;;27861:398;;;:::o;28265:379::-;28449:3;28471:147;28614:3;28471:147;:::i;:::-;28464:154;;28635:3;28628:10;;28265:379;;;:::o;28650:180::-;28698:77;28695:1;28688:88;28795:4;28792:1;28785:15;28819:4;28816:1;28809:15;28836:185;28876:1;28893:20;28911:1;28893:20;:::i;:::-;28888:25;;28927:20;28945:1;28927:20;:::i;:::-;28922:25;;28966:1;28956:35;;28971:18;;:::i;:::-;28956:35;29013:1;29010;29006:9;29001:14;;28836:185;;;;:::o;29027:220::-;29167:34;29163:1;29155:6;29151:14;29144:58;29236:3;29231:2;29223:6;29219:15;29212:28;29027:220;:::o;29253:366::-;29395:3;29416:67;29480:2;29475:3;29416:67;:::i;:::-;29409:74;;29492:93;29581:3;29492:93;:::i;:::-;29610:2;29605:3;29601:12;29594:19;;29253:366;;;:::o;29625:419::-;29791:4;29829:2;29818:9;29814:18;29806:26;;29878:9;29872:4;29868:20;29864:1;29853:9;29849:17;29842:47;29906:131;30032:4;29906:131;:::i;:::-;29898:139;;29625:419;;;:::o;30050:177::-;30190:29;30186:1;30178:6;30174:14;30167:53;30050:177;:::o;30233:366::-;30375:3;30396:67;30460:2;30455:3;30396:67;:::i;:::-;30389:74;;30472:93;30561:3;30472:93;:::i;:::-;30590:2;30585:3;30581:12;30574:19;;30233:366;;;:::o;30605:419::-;30771:4;30809:2;30798:9;30794:18;30786:26;;30858:9;30852:4;30848:20;30844:1;30833:9;30829:17;30822:47;30886:131;31012:4;30886:131;:::i;:::-;30878:139;;30605:419;;;:::o

Swarm Source

ipfs://fcf8133da25bef3c7a2297d447cef0935fc39c5aadca6bd851e0d8d87e017d43

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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