ETH Price: $1,991.46 (+0.01%)

Contract

0xC6482129fCb6D31cCA0F6b9D47dcA2cCb74FD5eA
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve181362842023-09-14 18:28:11926 days ago1694716091IN
0xC6482129...Cb74FD5eA
0 ETH0.001334328.27633553
Approve181362642023-09-14 18:23:59926 days ago1694715839IN
0xC6482129...Cb74FD5eA
0 ETH0.0014316530.51010361
Approve181362632023-09-14 18:23:47926 days ago1694715827IN
0xC6482129...Cb74FD5eA
0 ETH0.0015801833.48697066
Approve181362522023-09-14 18:21:35926 days ago1694715695IN
0xC6482129...Cb74FD5eA
0 ETH0.0017228836.51097897
Reduce Sell Tax181362412023-09-14 18:19:23926 days ago1694715563IN
0xC6482129...Cb74FD5eA
0 ETH0.0008422629.08767401
Reduce Buy Tax181362382023-09-14 18:18:47926 days ago1694715527IN
0xC6482129...Cb74FD5eA
0 ETH0.0008482429.29535489
Remove Limits181362322023-09-14 18:17:35926 days ago1694715455IN
0xC6482129...Cb74FD5eA
0 ETH0.001133827.05773578
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
Approve181362282023-09-14 18:16:47926 days ago1694715407IN
0xC6482129...Cb74FD5eA
0 ETH0.0017479137.04148944
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Add Liquidity ET...181362022023-09-14 18:11:23926 days ago1694715083
0xC6482129...Cb74FD5eA
1 ETH
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:
RoseCoin

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-09-14
*/

// SPDX-License-Identifier: MIT
/*
                                                                     :-.                  
                                :=+#%######*-    .-=++=-:           -:.::                 
                             .+############*##==##########+:       -:.. .:                
                            -%###%######%%%%###%#**##%%%%%###:   .-....  .-               
                           -%#####*****%%%%%%#*%#####%%%%%%##@- ::.....    -.             
                          .##***#%#####%%%%%%##%%###%%%%%##*#@%-:....:.     ::            
                        =#%##############%%%##%%%%##########%@%::::::::::..  .-           
                      =##%%%#%####%################%%%#####%%@#::::::::::::::.:-          
                    .#%#%#%##=+#############*++===++*#***#%%@@*=--:::::::::--==-          
                    #%##%###=:.-#%######+-::::::::::::::::+%@#---=+=-:::-=+=---           
                   +#%######+=::=#####=::::::::::::::::::::=%= -:.:-=+==--::-:            
                   %#+.=+*=#*===+##**-:.::::::::::::::::::::=%. .-:...:::::-              
                  .%##:=++*#########:::::--===-::::::::::::::*#   -:..:::-:               
                  .##%*-+*#########=::::::::::=+**+::::::-===*@:   .-:::-                 
                   %##%####%#######::::::------::::::::::::::#@-     --:                  
                   +***##*###%#*##+::-=*#%%%%%#*==::::::--++*@%                           
                   .####%###*-=+=+-::-*#+=*%@#*=**-::::-*#%**@*                           
                    #####%##+-++=::::::-+*#%#+.  :-::::=#%*-+@#-                          
                   =####%###%==*+:::::::---==-:::::::.:-:----%*                           
                 -######%####%%#+---:::----------:::-=-*=----%%                           
                -####*#*#%%%%%%%%+.=:::---------::::-=+==---*@*                           
                +**#*######%%%##%%%+=::::-----=+##%%%%%%%*-*@%.                           
                %#########%%%####%%==++=::::::::-+*%%#%*:-=##.                            
                %%%####%%%%#**###%%----=+++=:::::::::-+:+%=-+---.                         
                #####%%%%######%%%%=:::----=++**+=--:-*+*+-----:==.                       
                .#####*#######%%%%%=::::::----#@++*###+*-=-:-=====#:                      
                 .*##########%%%%%+-::::::::::*@.      -=+-+:-=+=--*=                     
                   -#%%%###%%%%%*=-::::.::::::*@-.      .+##*#+==---=*.                   
                     :+#@@%%%%###*+-::::::::::-+*%%*+=-:   :----=-:--=#-                  
                        -*****###****+=:::::-=-::-*#***##+:     =##-:-+%                  
                        -**********##***+=::::::::-##***##%%      .=::-%+                 
                         .=*#********###***+=:::::-###*#%@%-       --=*%%                 
                            .-=+*####*#####**##***%%@@%*=.          .--:                  
                                    :--=+++++++++==-.                                     
 
|| https://t.me/rosecoinportal
|| https://twitter.com/rosecoinerc
|| https://rosecoin.xyz/
 
*/
 
pragma solidity 0.8.21;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
 
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
 
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
 
}
 
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
 
contract RoseCoin is Context, IERC20, Ownable {
    using SafeMath for uint256;
 
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;
 
    // Taxes
    uint256 private _buyTax = 20;
    uint256 private _sellTax = 35;
 
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 222222222 * 10**_decimals;
    string private constant _name = unicode"RoseCoin";
    string private constant _symbol = unicode"ROSE";
    uint256 public _maxTxAmount = 2222222 * 10**_decimals;
    uint256 public _maxWalletSize = 2222222 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1111111  * 10**_decimals;
 
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
 
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor (address taxWallet) {
        _taxWallet = payable(taxWallet);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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(amount > 0, "Transfer amount must be greater than zero");
 
        uint256 taxAmount = 0;
 
        if (from != owner() && to != owner()) {
            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                    require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed.");
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }
 
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                taxAmount = amount.mul(_buyTax).div(100);
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }
 
            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount.mul(_sellTax).div(100);
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold) {
                if(amount >= _taxSwapThreshold) {
                    swapTokensForEth(_taxSwapThreshold);
                } else {
                    swapTokensForEth(amount);
                }
            }
        }
 
        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 swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(_taxWallet),
            block.timestamp
        );
    }
 
    function reduceBuyTax(uint256 tax) external onlyOwner {
        require(tax <= 45, "Tax should be less than or equal to 45");
        _buyTax = tax;
    }
 
    function reduceSellTax(uint256 tax) external onlyOwner {
        require(tax <= 45, "Tax should be less than or equal to 45");
        _sellTax = tax;
    }
 
    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }
 
    function stuckBalance() external onlyOwner {
        uint256 ethBalance = address(this).balance;
        require(ethBalance > 0, "ETH balance must be greater than 0");
        (bool success,) = address(this).call{value: ethBalance}("");
        require(success, "Failed to clear ETH balance");
    }
 
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"Trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
            );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
 
    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"taxWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"reduceBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax","type":"uint256"}],"name":"reduceSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stuckBalance","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160055f6101000a81548160ff021916908315150217905550601460065560236007556012600a620000389190620005e3565b6221e88e62000048919062000633565b6008556012600a6200005b9190620005e3565b6221e88e6200006b919062000633565b6009556012600a6200007e9190620005e3565b6210f4476200008e919062000633565b600a555f600c60156101000a81548160ff0219169083151502179055505f600c60166101000a81548160ff021916908315150217905550348015620000d1575f80fd5b5060405162003a6638038062003a668339818101604052810190620000f79190620006e2565b5f620001086200042360201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620001f59190620005e3565b630d3ed78e62000206919062000633565b60015f620002196200042360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200026b6200042a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003966200042360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003f49190620005e3565b630d3ed78e62000405919062000633565b60405162000414919062000723565b60405180910390a3506200073e565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004db57808604811115620004b357620004b262000451565b5b6001851615620004c35780820291505b8081029050620004d3856200047e565b945062000493565b94509492505050565b5f82620004f55760019050620005c7565b8162000504575f9050620005c7565b81600181146200051d576002811462000528576200055e565b6001915050620005c7565b60ff8411156200053d576200053c62000451565b5b8360020a91508482111562000557576200055662000451565b5b50620005c7565b5060208310610133831016604e8410600b8410161715620005985782820a90508381111562000592576200059162000451565b5b620005c7565b620005a784848460016200048a565b92509050818404811115620005c157620005c062000451565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005ef82620005ce565b9150620005fc83620005d7565b92506200062b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004e4565b905092915050565b5f6200063f82620005ce565b91506200064c83620005ce565b92508282026200065c81620005ce565b9150828204841483151762000676576200067562000451565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620006ac8262000681565b9050919050565b620006be81620006a0565b8114620006c9575f80fd5b50565b5f81519050620006dc81620006b3565b92915050565b5f60208284031215620006fa57620006f96200067d565b5b5f6200070984828501620006cc565b91505092915050565b6200071d81620005ce565b82525050565b5f602082019050620007385f83018462000712565b92915050565b61331a806200074c5f395ff3fe608060405260043610610122575f3560e01c80638f9a55c01161009f578063c6ae2a9a11610063578063c6ae2a9a146103c1578063c876d0b9146103d7578063c9567bf914610401578063dd62ed3e14610417578063f28f5f661461045357610129565b80638f9a55c0146102df57806395d89b4114610309578063a9059cbb14610333578063bf474bed1461036f578063bfb3f31d1461039957610129565b806370a08231116100e657806370a0823114610223578063715018a61461025f578063751039fc146102755780637d1db4a51461028b5780638da5cb5b146102b557610129565b806306fdde031461012d578063095ea7b31461015757806318160ddd1461019357806323b872dd146101bd578063313ce567146101f957610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161047b565b60405161014e9190612263565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190612314565b6104b8565b60405161018a919061236c565b60405180910390f35b34801561019e575f80fd5b506101a76104d5565b6040516101b49190612394565b60405180910390f35b3480156101c8575f80fd5b506101e360048036038101906101de91906123ad565b6104f8565b6040516101f0919061236c565b60405180910390f35b348015610204575f80fd5b5061020d6105cc565b60405161021a9190612418565b60405180910390f35b34801561022e575f80fd5b5061024960048036038101906102449190612431565b6105d4565b6040516102569190612394565b60405180910390f35b34801561026a575f80fd5b5061027361061a565b005b348015610280575f80fd5b50610289610768565b005b348015610296575f80fd5b5061029f6108b0565b6040516102ac9190612394565b60405180910390f35b3480156102c0575f80fd5b506102c96108b6565b6040516102d6919061246b565b60405180910390f35b3480156102ea575f80fd5b506102f36108dd565b6040516103009190612394565b60405180910390f35b348015610314575f80fd5b5061031d6108e3565b60405161032a9190612263565b60405180910390f35b34801561033e575f80fd5b5061035960048036038101906103549190612314565b610920565b604051610366919061236c565b60405180910390f35b34801561037a575f80fd5b5061038361093d565b6040516103909190612394565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba9190612484565b610943565b005b3480156103cc575f80fd5b506103d5610a25565b005b3480156103e2575f80fd5b506103eb610bab565b6040516103f8919061236c565b60405180910390f35b34801561040c575f80fd5b50610415610bbd565b005b348015610422575f80fd5b5061043d600480360381019061043891906124af565b6110df565b60405161044a9190612394565b60405180910390f35b34801561045e575f80fd5b5061047960048036038101906104749190612484565b611161565b005b60606040518060400160405280600881526020017f526f7365436f696e000000000000000000000000000000000000000000000000815250905090565b5f6104cb6104c4611243565b848461124a565b6001905092915050565b5f6012600a6104e49190612649565b630d3ed78e6104f39190612693565b905090565b5f61050484848461140d565b6105c184610510611243565b6105bc856040518060600160405280602881526020016132bd6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610573611243565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d239092919063ffffffff16565b61124a565b600190509392505050565b5f6012905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610622611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a59061271e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610770611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f39061271e565b60405180910390fd5b6012600a61080a9190612649565b630d3ed78e6108199190612693565b6008819055506012600a61082d9190612649565b630d3ed78e61083c9190612693565b6009819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a61088a9190612649565b630d3ed78e6108999190612693565b6040516108a69190612394565b60405180910390a1565b60085481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f524f534500000000000000000000000000000000000000000000000000000000815250905090565b5f61093361092c611243565b848461140d565b6001905092915050565b600a5481565b61094b611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ce9061271e565b60405180910390fd5b602d811115610a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a12906127ac565b60405180910390fd5b8060078190555050565b610a2d611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab09061271e565b60405180910390fd5b5f4790505f8111610aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af69061283a565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff1682604051610b2490612885565b5f6040518083038185875af1925050503d805f8114610b5e576040519150601f19603f3d011682016040523d82523d5f602084013e610b63565b606091505b5050905080610ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9e906128e3565b60405180910390fd5b5050565b60055f9054906101000a900460ff1681565b610bc5611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c489061271e565b60405180910390fd5b600c60149054906101000a900460ff1615610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c989061294b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d3d30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610d299190612649565b630d3ed78e610d389190612693565b61124a565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dcb919061297d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e75919061297d565b6040518363ffffffff1660e01b8152600401610e929291906129a8565b6020604051808303815f875af1158015610eae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed2919061297d565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f59306105d4565b5f80610f636108b6565b426040518863ffffffff1660e01b8152600401610f8596959493929190612a11565b60606040518083038185885af1158015610fa1573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fc69190612a84565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611066929190612ad4565b6020604051808303815f875af1158015611082573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a69190612b25565b506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611169611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec9061271e565b60405180910390fd5b602d811115611239576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611230906127ac565b60405180910390fd5b8060068190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112af90612bc0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d90612c4e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114009190612394565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361147b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147290612cdc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e090612d6a565b60405180910390fd5b5f811161152b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152290612df8565b60405180910390fd5b5f6115346108b6565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115a257506115726108b6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a735760055f9054906101000a900460ff161561172d57600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116655750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561172c574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106116e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e090612eac565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117d65750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611829575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118f657611856606461184860065485611d8590919063ffffffff16565b611dfc90919063ffffffff16565b905060085482111561189d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189490612f14565b60405180910390fd5b600954826118aa856105d4565b6118b49190612f32565b11156118f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ec90612faf565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561197e57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119ae576119ab606461199d60075485611d8590919063ffffffff16565b611dfc90919063ffffffff16565b90505b5f6119b8306105d4565b9050600c60159054906101000a900460ff16158015611a235750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a3b5750600c60169054906101000a900460ff165b8015611a485750600a5481115b15611a7157600a548310611a6657611a61600a54611e45565b611a70565b611a6f83611e45565b5b5b505b5f811115611b7257611acb8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120d290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b699190612394565b60405180910390a35b611bc28260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461212f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c65611c19828461212f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120d290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d08848661212f90919063ffffffff16565b604051611d159190612394565b60405180910390a350505050565b5f838311158290611d6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d619190612263565b60405180910390fd5b505f8385611d789190612fcd565b9050809150509392505050565b5f808303611d95575f9050611df6565b5f8284611da29190612693565b9050828482611db1919061302d565b14611df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de8906130cd565b60405180910390fd5b809150505b92915050565b5f611e3d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612178565b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e7c57611e7b6130eb565b5b604051908082528060200260200182016040528015611eaa5781602001602082028036833780820191505090505b50905030815f81518110611ec157611ec0613118565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f89919061297d565b81600181518110611f9d57611f9c613118565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061200330600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461124a565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016120879594939291906131fc565b5f604051808303815f87803b15801561209e575f80fd5b505af11580156120b0573d5f803e3d5ffd5b50505050505f600c60156101000a81548160ff02191690831515021790555050565b5f8082846120e09190612f32565b905083811015612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211c9061329e565b60405180910390fd5b8091505092915050565b5f61217083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d23565b905092915050565b5f80831182906121be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b59190612263565b60405180910390fd5b505f83856121cc919061302d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122105780820151818401526020810190506121f5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612235826121d9565b61223f81856121e3565b935061224f8185602086016121f3565b6122588161221b565b840191505092915050565b5f6020820190508181035f83015261227b818461222b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122b082612287565b9050919050565b6122c0816122a6565b81146122ca575f80fd5b50565b5f813590506122db816122b7565b92915050565b5f819050919050565b6122f3816122e1565b81146122fd575f80fd5b50565b5f8135905061230e816122ea565b92915050565b5f806040838503121561232a57612329612283565b5b5f612337858286016122cd565b925050602061234885828601612300565b9150509250929050565b5f8115159050919050565b61236681612352565b82525050565b5f60208201905061237f5f83018461235d565b92915050565b61238e816122e1565b82525050565b5f6020820190506123a75f830184612385565b92915050565b5f805f606084860312156123c4576123c3612283565b5b5f6123d1868287016122cd565b93505060206123e2868287016122cd565b92505060406123f386828701612300565b9150509250925092565b5f60ff82169050919050565b612412816123fd565b82525050565b5f60208201905061242b5f830184612409565b92915050565b5f6020828403121561244657612445612283565b5b5f612453848285016122cd565b91505092915050565b612465816122a6565b82525050565b5f60208201905061247e5f83018461245c565b92915050565b5f6020828403121561249957612498612283565b5b5f6124a684828501612300565b91505092915050565b5f80604083850312156124c5576124c4612283565b5b5f6124d2858286016122cd565b92505060206124e3858286016122cd565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561256f5780860481111561254b5761254a6124ed565b5b600185161561255a5780820291505b80810290506125688561251a565b945061252f565b94509492505050565b5f826125875760019050612642565b81612594575f9050612642565b81600181146125aa57600281146125b4576125e3565b6001915050612642565b60ff8411156125c6576125c56124ed565b5b8360020a9150848211156125dd576125dc6124ed565b5b50612642565b5060208310610133831016604e8410600b84101617156126185782820a905083811115612613576126126124ed565b5b612642565b6126258484846001612526565b9250905081840481111561263c5761263b6124ed565b5b81810290505b9392505050565b5f612653826122e1565b915061265e836123fd565b925061268b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612578565b905092915050565b5f61269d826122e1565b91506126a8836122e1565b92508282026126b6816122e1565b915082820484148315176126cd576126cc6124ed565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127086020836121e3565b9150612713826126d4565b602082019050919050565b5f6020820190508181035f830152612735816126fc565b9050919050565b7f5461782073686f756c64206265206c657373207468616e206f7220657175616c5f8201527f20746f2034350000000000000000000000000000000000000000000000000000602082015250565b5f6127966026836121e3565b91506127a18261273c565b604082019050919050565b5f6020820190508181035f8301526127c38161278a565b9050919050565b7f4554482062616c616e6365206d7573742062652067726561746572207468616e5f8201527f2030000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128246022836121e3565b915061282f826127ca565b604082019050919050565b5f6020820190508181035f83015261285181612818565b9050919050565b5f81905092915050565b50565b5f6128705f83612858565b915061287b82612862565b5f82019050919050565b5f61288f82612865565b9150819050919050565b7f4661696c656420746f20636c656172204554482062616c616e636500000000005f82015250565b5f6128cd601b836121e3565b91506128d882612899565b602082019050919050565b5f6020820190508181035f8301526128fa816128c1565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129356017836121e3565b915061294082612901565b602082019050919050565b5f6020820190508181035f83015261296281612929565b9050919050565b5f81519050612977816122b7565b92915050565b5f6020828403121561299257612991612283565b5b5f61299f84828501612969565b91505092915050565b5f6040820190506129bb5f83018561245c565b6129c8602083018461245c565b9392505050565b5f819050919050565b5f819050919050565b5f6129fb6129f66129f1846129cf565b6129d8565b6122e1565b9050919050565b612a0b816129e1565b82525050565b5f60c082019050612a245f83018961245c565b612a316020830188612385565b612a3e6040830187612a02565b612a4b6060830186612a02565b612a58608083018561245c565b612a6560a0830184612385565b979650505050505050565b5f81519050612a7e816122ea565b92915050565b5f805f60608486031215612a9b57612a9a612283565b5b5f612aa886828701612a70565b9350506020612ab986828701612a70565b9250506040612aca86828701612a70565b9150509250925092565b5f604082019050612ae75f83018561245c565b612af46020830184612385565b9392505050565b612b0481612352565b8114612b0e575f80fd5b50565b5f81519050612b1f81612afb565b92915050565b5f60208284031215612b3a57612b39612283565b5b5f612b4784828501612b11565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612baa6024836121e3565b9150612bb582612b50565b604082019050919050565b5f6020820190508181035f830152612bd781612b9e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c386022836121e3565b9150612c4382612bde565b604082019050919050565b5f6020820190508181035f830152612c6581612c2c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cc66025836121e3565b9150612cd182612c6c565b604082019050919050565b5f6020820190508181035f830152612cf381612cba565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d546023836121e3565b9150612d5f82612cfa565b604082019050919050565b5f6020820190508181035f830152612d8181612d48565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612de26029836121e3565b9150612ded82612d88565b604082019050919050565b5f6020820190508181035f830152612e0f81612dd6565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612e966049836121e3565b9150612ea182612e16565b606082019050919050565b5f6020820190508181035f830152612ec381612e8a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612efe6019836121e3565b9150612f0982612eca565b602082019050919050565b5f6020820190508181035f830152612f2b81612ef2565b9050919050565b5f612f3c826122e1565b9150612f47836122e1565b9250828201905080821115612f5f57612f5e6124ed565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f99601a836121e3565b9150612fa482612f65565b602082019050919050565b5f6020820190508181035f830152612fc681612f8d565b9050919050565b5f612fd7826122e1565b9150612fe2836122e1565b9250828203905081811115612ffa57612ff96124ed565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613037826122e1565b9150613042836122e1565b92508261305257613051613000565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130b76021836121e3565b91506130c28261305d565b604082019050919050565b5f6020820190508181035f8301526130e4816130ab565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613177816122a6565b82525050565b5f613188838361316e565b60208301905092915050565b5f602082019050919050565b5f6131aa82613145565b6131b4818561314f565b93506131bf8361315f565b805f5b838110156131ef5781516131d6888261317d565b97506131e183613194565b9250506001810190506131c2565b5085935050505092915050565b5f60a08201905061320f5f830188612385565b61321c6020830187612a02565b818103604083015261322e81866131a0565b905061323d606083018561245c565b61324a6080830184612385565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613288601b836121e3565b915061329382613254565b602082019050919050565b5f6020820190508181035f8301526132b58161327c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122011771cff52a2b6161be812c3745e283d021056e71ea78e349cb1720e0bb3e06f64736f6c63430008150033000000000000000000000000bec2e7b48112c8d7ebaf94b3fd8a96b083a5f019

Deployed Bytecode

0x608060405260043610610122575f3560e01c80638f9a55c01161009f578063c6ae2a9a11610063578063c6ae2a9a146103c1578063c876d0b9146103d7578063c9567bf914610401578063dd62ed3e14610417578063f28f5f661461045357610129565b80638f9a55c0146102df57806395d89b4114610309578063a9059cbb14610333578063bf474bed1461036f578063bfb3f31d1461039957610129565b806370a08231116100e657806370a0823114610223578063715018a61461025f578063751039fc146102755780637d1db4a51461028b5780638da5cb5b146102b557610129565b806306fdde031461012d578063095ea7b31461015757806318160ddd1461019357806323b872dd146101bd578063313ce567146101f957610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161047b565b60405161014e9190612263565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190612314565b6104b8565b60405161018a919061236c565b60405180910390f35b34801561019e575f80fd5b506101a76104d5565b6040516101b49190612394565b60405180910390f35b3480156101c8575f80fd5b506101e360048036038101906101de91906123ad565b6104f8565b6040516101f0919061236c565b60405180910390f35b348015610204575f80fd5b5061020d6105cc565b60405161021a9190612418565b60405180910390f35b34801561022e575f80fd5b5061024960048036038101906102449190612431565b6105d4565b6040516102569190612394565b60405180910390f35b34801561026a575f80fd5b5061027361061a565b005b348015610280575f80fd5b50610289610768565b005b348015610296575f80fd5b5061029f6108b0565b6040516102ac9190612394565b60405180910390f35b3480156102c0575f80fd5b506102c96108b6565b6040516102d6919061246b565b60405180910390f35b3480156102ea575f80fd5b506102f36108dd565b6040516103009190612394565b60405180910390f35b348015610314575f80fd5b5061031d6108e3565b60405161032a9190612263565b60405180910390f35b34801561033e575f80fd5b5061035960048036038101906103549190612314565b610920565b604051610366919061236c565b60405180910390f35b34801561037a575f80fd5b5061038361093d565b6040516103909190612394565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba9190612484565b610943565b005b3480156103cc575f80fd5b506103d5610a25565b005b3480156103e2575f80fd5b506103eb610bab565b6040516103f8919061236c565b60405180910390f35b34801561040c575f80fd5b50610415610bbd565b005b348015610422575f80fd5b5061043d600480360381019061043891906124af565b6110df565b60405161044a9190612394565b60405180910390f35b34801561045e575f80fd5b5061047960048036038101906104749190612484565b611161565b005b60606040518060400160405280600881526020017f526f7365436f696e000000000000000000000000000000000000000000000000815250905090565b5f6104cb6104c4611243565b848461124a565b6001905092915050565b5f6012600a6104e49190612649565b630d3ed78e6104f39190612693565b905090565b5f61050484848461140d565b6105c184610510611243565b6105bc856040518060600160405280602881526020016132bd6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610573611243565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d239092919063ffffffff16565b61124a565b600190509392505050565b5f6012905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610622611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a59061271e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610770611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f39061271e565b60405180910390fd5b6012600a61080a9190612649565b630d3ed78e6108199190612693565b6008819055506012600a61082d9190612649565b630d3ed78e61083c9190612693565b6009819055505f60055f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a61088a9190612649565b630d3ed78e6108999190612693565b6040516108a69190612394565b60405180910390a1565b60085481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600481526020017f524f534500000000000000000000000000000000000000000000000000000000815250905090565b5f61093361092c611243565b848461140d565b6001905092915050565b600a5481565b61094b611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ce9061271e565b60405180910390fd5b602d811115610a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a12906127ac565b60405180910390fd5b8060078190555050565b610a2d611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab09061271e565b60405180910390fd5b5f4790505f8111610aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af69061283a565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff1682604051610b2490612885565b5f6040518083038185875af1925050503d805f8114610b5e576040519150601f19603f3d011682016040523d82523d5f602084013e610b63565b606091505b5050905080610ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9e906128e3565b60405180910390fd5b5050565b60055f9054906101000a900460ff1681565b610bc5611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c489061271e565b60405180910390fd5b600c60149054906101000a900460ff1615610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c989061294b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d3d30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610d299190612649565b630d3ed78e610d389190612693565b61124a565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dcb919061297d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e75919061297d565b6040518363ffffffff1660e01b8152600401610e929291906129a8565b6020604051808303815f875af1158015610eae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed2919061297d565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f59306105d4565b5f80610f636108b6565b426040518863ffffffff1660e01b8152600401610f8596959493929190612a11565b60606040518083038185885af1158015610fa1573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fc69190612a84565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611066929190612ad4565b6020604051808303815f875af1158015611082573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a69190612b25565b506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611169611243565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec9061271e565b60405180910390fd5b602d811115611239576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611230906127ac565b60405180910390fd5b8060068190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112af90612bc0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d90612c4e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114009190612394565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361147b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147290612cdc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e090612d6a565b60405180910390fd5b5f811161152b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152290612df8565b60405180910390fd5b5f6115346108b6565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115a257506115726108b6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a735760055f9054906101000a900460ff161561172d57600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116655750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561172c574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106116e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e090612eac565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117d65750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611829575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118f657611856606461184860065485611d8590919063ffffffff16565b611dfc90919063ffffffff16565b905060085482111561189d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189490612f14565b60405180910390fd5b600954826118aa856105d4565b6118b49190612f32565b11156118f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ec90612faf565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561197e57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119ae576119ab606461199d60075485611d8590919063ffffffff16565b611dfc90919063ffffffff16565b90505b5f6119b8306105d4565b9050600c60159054906101000a900460ff16158015611a235750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a3b5750600c60169054906101000a900460ff165b8015611a485750600a5481115b15611a7157600a548310611a6657611a61600a54611e45565b611a70565b611a6f83611e45565b5b5b505b5f811115611b7257611acb8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120d290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b699190612394565b60405180910390a35b611bc28260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461212f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c65611c19828461212f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120d290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d08848661212f90919063ffffffff16565b604051611d159190612394565b60405180910390a350505050565b5f838311158290611d6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d619190612263565b60405180910390fd5b505f8385611d789190612fcd565b9050809150509392505050565b5f808303611d95575f9050611df6565b5f8284611da29190612693565b9050828482611db1919061302d565b14611df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de8906130cd565b60405180910390fd5b809150505b92915050565b5f611e3d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612178565b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e7c57611e7b6130eb565b5b604051908082528060200260200182016040528015611eaa5781602001602082028036833780820191505090505b50905030815f81518110611ec157611ec0613118565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f89919061297d565b81600181518110611f9d57611f9c613118565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061200330600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461124a565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016120879594939291906131fc565b5f604051808303815f87803b15801561209e575f80fd5b505af11580156120b0573d5f803e3d5ffd5b50505050505f600c60156101000a81548160ff02191690831515021790555050565b5f8082846120e09190612f32565b905083811015612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211c9061329e565b60405180910390fd5b8091505092915050565b5f61217083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d23565b905092915050565b5f80831182906121be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b59190612263565b60405180910390fd5b505f83856121cc919061302d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122105780820151818401526020810190506121f5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612235826121d9565b61223f81856121e3565b935061224f8185602086016121f3565b6122588161221b565b840191505092915050565b5f6020820190508181035f83015261227b818461222b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122b082612287565b9050919050565b6122c0816122a6565b81146122ca575f80fd5b50565b5f813590506122db816122b7565b92915050565b5f819050919050565b6122f3816122e1565b81146122fd575f80fd5b50565b5f8135905061230e816122ea565b92915050565b5f806040838503121561232a57612329612283565b5b5f612337858286016122cd565b925050602061234885828601612300565b9150509250929050565b5f8115159050919050565b61236681612352565b82525050565b5f60208201905061237f5f83018461235d565b92915050565b61238e816122e1565b82525050565b5f6020820190506123a75f830184612385565b92915050565b5f805f606084860312156123c4576123c3612283565b5b5f6123d1868287016122cd565b93505060206123e2868287016122cd565b92505060406123f386828701612300565b9150509250925092565b5f60ff82169050919050565b612412816123fd565b82525050565b5f60208201905061242b5f830184612409565b92915050565b5f6020828403121561244657612445612283565b5b5f612453848285016122cd565b91505092915050565b612465816122a6565b82525050565b5f60208201905061247e5f83018461245c565b92915050565b5f6020828403121561249957612498612283565b5b5f6124a684828501612300565b91505092915050565b5f80604083850312156124c5576124c4612283565b5b5f6124d2858286016122cd565b92505060206124e3858286016122cd565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561256f5780860481111561254b5761254a6124ed565b5b600185161561255a5780820291505b80810290506125688561251a565b945061252f565b94509492505050565b5f826125875760019050612642565b81612594575f9050612642565b81600181146125aa57600281146125b4576125e3565b6001915050612642565b60ff8411156125c6576125c56124ed565b5b8360020a9150848211156125dd576125dc6124ed565b5b50612642565b5060208310610133831016604e8410600b84101617156126185782820a905083811115612613576126126124ed565b5b612642565b6126258484846001612526565b9250905081840481111561263c5761263b6124ed565b5b81810290505b9392505050565b5f612653826122e1565b915061265e836123fd565b925061268b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612578565b905092915050565b5f61269d826122e1565b91506126a8836122e1565b92508282026126b6816122e1565b915082820484148315176126cd576126cc6124ed565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127086020836121e3565b9150612713826126d4565b602082019050919050565b5f6020820190508181035f830152612735816126fc565b9050919050565b7f5461782073686f756c64206265206c657373207468616e206f7220657175616c5f8201527f20746f2034350000000000000000000000000000000000000000000000000000602082015250565b5f6127966026836121e3565b91506127a18261273c565b604082019050919050565b5f6020820190508181035f8301526127c38161278a565b9050919050565b7f4554482062616c616e6365206d7573742062652067726561746572207468616e5f8201527f2030000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128246022836121e3565b915061282f826127ca565b604082019050919050565b5f6020820190508181035f83015261285181612818565b9050919050565b5f81905092915050565b50565b5f6128705f83612858565b915061287b82612862565b5f82019050919050565b5f61288f82612865565b9150819050919050565b7f4661696c656420746f20636c656172204554482062616c616e636500000000005f82015250565b5f6128cd601b836121e3565b91506128d882612899565b602082019050919050565b5f6020820190508181035f8301526128fa816128c1565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129356017836121e3565b915061294082612901565b602082019050919050565b5f6020820190508181035f83015261296281612929565b9050919050565b5f81519050612977816122b7565b92915050565b5f6020828403121561299257612991612283565b5b5f61299f84828501612969565b91505092915050565b5f6040820190506129bb5f83018561245c565b6129c8602083018461245c565b9392505050565b5f819050919050565b5f819050919050565b5f6129fb6129f66129f1846129cf565b6129d8565b6122e1565b9050919050565b612a0b816129e1565b82525050565b5f60c082019050612a245f83018961245c565b612a316020830188612385565b612a3e6040830187612a02565b612a4b6060830186612a02565b612a58608083018561245c565b612a6560a0830184612385565b979650505050505050565b5f81519050612a7e816122ea565b92915050565b5f805f60608486031215612a9b57612a9a612283565b5b5f612aa886828701612a70565b9350506020612ab986828701612a70565b9250506040612aca86828701612a70565b9150509250925092565b5f604082019050612ae75f83018561245c565b612af46020830184612385565b9392505050565b612b0481612352565b8114612b0e575f80fd5b50565b5f81519050612b1f81612afb565b92915050565b5f60208284031215612b3a57612b39612283565b5b5f612b4784828501612b11565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612baa6024836121e3565b9150612bb582612b50565b604082019050919050565b5f6020820190508181035f830152612bd781612b9e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c386022836121e3565b9150612c4382612bde565b604082019050919050565b5f6020820190508181035f830152612c6581612c2c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cc66025836121e3565b9150612cd182612c6c565b604082019050919050565b5f6020820190508181035f830152612cf381612cba565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d546023836121e3565b9150612d5f82612cfa565b604082019050919050565b5f6020820190508181035f830152612d8181612d48565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612de26029836121e3565b9150612ded82612d88565b604082019050919050565b5f6020820190508181035f830152612e0f81612dd6565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612e966049836121e3565b9150612ea182612e16565b606082019050919050565b5f6020820190508181035f830152612ec381612e8a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612efe6019836121e3565b9150612f0982612eca565b602082019050919050565b5f6020820190508181035f830152612f2b81612ef2565b9050919050565b5f612f3c826122e1565b9150612f47836122e1565b9250828201905080821115612f5f57612f5e6124ed565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f99601a836121e3565b9150612fa482612f65565b602082019050919050565b5f6020820190508181035f830152612fc681612f8d565b9050919050565b5f612fd7826122e1565b9150612fe2836122e1565b9250828203905081811115612ffa57612ff96124ed565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613037826122e1565b9150613042836122e1565b92508261305257613051613000565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130b76021836121e3565b91506130c28261305d565b604082019050919050565b5f6020820190508181035f8301526130e4816130ab565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613177816122a6565b82525050565b5f613188838361316e565b60208301905092915050565b5f602082019050919050565b5f6131aa82613145565b6131b4818561314f565b93506131bf8361315f565b805f5b838110156131ef5781516131d6888261317d565b97506131e183613194565b9250506001810190506131c2565b5085935050505092915050565b5f60a08201905061320f5f830188612385565b61321c6020830187612a02565b818103604083015261322e81866131a0565b905061323d606083018561245c565b61324a6080830184612385565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613288601b836121e3565b915061329382613254565b602082019050919050565b5f6020820190508181035f8301526132b58161327c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122011771cff52a2b6161be812c3745e283d021056e71ea78e349cb1720e0bb3e06f64736f6c63430008150033

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

000000000000000000000000bec2e7b48112c8d7ebaf94b3fd8a96b083a5f019

-----Decoded View---------------
Arg [0] : taxWallet (address): 0xbeC2e7B48112C8d7eBaf94B3Fd8a96B083a5F019

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000bec2e7b48112c8d7ebaf94b3fd8a96b083a5f019


Deployed Bytecode Sourcemap

6728:7466:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8347:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9187:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8627:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9357:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8535:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8731:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5805:148;;;;;;;;;;;;;:::i;:::-;;12936:196;;;;;;;;;;;;;:::i;:::-;;7475:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5589:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7535:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8439:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8859:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7597:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12768:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13141:304;;;;;;;;;;;;;:::i;:::-;;7076:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13454:699;;;;;;;;;;;;;:::i;:::-;;9035:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12602:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8347:83;8384:13;8417:5;;;;;;;;;;;;;;;;;8410:12;;8347:83;:::o;9187:161::-;9262:4;9279:39;9288:12;:10;:12::i;:::-;9302:7;9311:6;9279:8;:39::i;:::-;9336:4;9329:11;;9187:161;;;;:::o;8627:95::-;8680:7;7289:2;7345;:13;;;;:::i;:::-;7333:9;:25;;;;:::i;:::-;8700:14;;8627:95;:::o;9357:313::-;9455:4;9472:36;9482:6;9490:9;9501:6;9472:9;:36::i;:::-;9519:121;9528:6;9536:12;:10;:12::i;:::-;9550:89;9588:6;9550:89;;;;;;;;;;;;;;;;;:11;:19;9562:6;9550:19;;;;;;;;;;;;;;;:33;9570:12;:10;:12::i;:::-;9550:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9519:8;:121::i;:::-;9658:4;9651:11;;9357:313;;;;;:::o;8535:83::-;8576:5;7289:2;8594:16;;8535:83;:::o;8731:119::-;8797:7;8824:9;:18;8834:7;8824:18;;;;;;;;;;;;;;;;8817:25;;8731:119;;;:::o;5805:148::-;5727:12;:10;:12::i;:::-;5717:22;;:6;;;;;;;;;;:22;;;5709:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5912:1:::1;5875:40;;5896:6;::::0;::::1;;;;;;;;5875:40;;;;;;;;;;;;5943:1;5926:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5805:148::o:0;12936:196::-;5727:12;:10;:12::i;:::-;5717:22;;:6;;;;;;;;;;:22;;;5709:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7289:2:::1;7345;:13;;;;:::i;:::-;7333:9;:25;;;;:::i;:::-;12989:12;:22;;;;7289:2;7345;:13;;;;:::i;:::-;7333:9;:25;;;;:::i;:::-;13022:14;:22;;;;13076:5;13055:20;;:26;;;;;;;;;;;;;;;;;;13097:27;7289:2;7345;:13;;;;:::i;:::-;7333:9;:25;;;;:::i;:::-;13097:27;;;;;;:::i;:::-;;;;;;;;12936:196::o:0;7475:53::-;;;;:::o;5589:79::-;5627:7;5654:6;;;;;;;;;;;5647:13;;5589:79;:::o;7535:55::-;;;;:::o;8439:87::-;8478:13;8511:7;;;;;;;;;;;;;;;;;8504:14;;8439:87;:::o;8859:167::-;8937:4;8954:42;8964:12;:10;:12::i;:::-;8978:9;8989:6;8954:9;:42::i;:::-;9014:4;9007:11;;8859:167;;;;:::o;7597:58::-;;;;:::o;12768:159::-;5727:12;:10;:12::i;:::-;5717:22;;:6;;;;;;;;;;:22;;;5709:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12849:2:::1;12842:3;:9;;12834:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;12916:3;12905:8;:14;;;;12768:159:::0;:::o;13141:304::-;5727:12;:10;:12::i;:::-;5717:22;;:6;;;;;;;;;;:22;;;5709:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13195:18:::1;13216:21;13195:42;;13269:1;13256:10;:14;13248:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;13321:12;13346:4;13338:18;;13364:10;13338:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13320:59;;;13398:7;13390:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13184:261;;13141:304::o:0;7076:39::-;;;;;;;;;;;;;:::o;13454:699::-;5727:12;:10;:12::i;:::-;5717:22;;:6;;;;;;;;;;:22;;;5709:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13518:11:::1;;;;;;;;;;;13517:12;13509:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13618:42;13567:15;;:108;;;;;;;;;;;;;;;;;;13686:58;13703:4;13718:15;;;;;;;;;;;7289:2;7345;:13;;;;:::i;:::-;7333:9;:25;;;;:::i;:::-;13686:8;:58::i;:::-;13789:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13771:55;;;13835:4;13842:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13771:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13755:13;;:110;;;;;;;;;;;;;;;;;;13876:15;;;;;;;;;;;:31;;;13915:21;13946:4;13952:24;13970:4;13952:9;:24::i;:::-;13977:1;13979::::0;13981:7:::1;:5;:7::i;:::-;13989:15;13876:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14023:13;;;;;;;;;;;14016:29;;;14054:15;;;;;;;;;;;14072:14;14016:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14112:4;14098:11;;:18;;;;;;;;;;;;;;;;;;14141:4;14127:11;;:18;;;;;;;;;;;;;;;;;;13454:699::o:0;9035:143::-;9116:7;9143:11;:18;9155:5;9143:18;;;;;;;;;;;;;;;:27;9162:7;9143:27;;;;;;;;;;;;;;;;9136:34;;9035:143;;;;:::o;12602:157::-;5727:12;:10;:12::i;:::-;5717:22;;:6;;;;;;;;;;:22;;;5709:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12682:2:::1;12675:3;:9;;12667:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;12748:3;12738:7;:13;;;;12602:157:::0;:::o;3333:98::-;3386:7;3413:10;3406:17;;3333:98;:::o;9679:335::-;9789:1;9772:19;;:5;:19;;;9764:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9870:1;9851:21;;:7;:21;;;9843:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9952:6;9922:11;:18;9934:5;9922:18;;;;;;;;;;;;;;;:27;9941:7;9922:27;;;;;;;;;;;;;;;:36;;;;9990:7;9974:32;;9983:5;9974:32;;;9999:6;9974:32;;;;;;:::i;:::-;;;;;;;;9679:335;;;:::o;10023:2072::-;10127:1;10111:18;;:4;:18;;;10103:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10204:1;10190:16;;:2;:16;;;10182:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10274:1;10265:6;:10;10257:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10335:17;10382:7;:5;:7::i;:::-;10374:15;;:4;:15;;;;:32;;;;;10399:7;:5;:7::i;:::-;10393:13;;:2;:13;;;;10374:32;10370:1351;;;10427:20;;;;;;;;;;;10423:388;;;10486:15;;;;;;;;;;;10472:30;;:2;:30;;;;:62;;;;;10520:13;;;;;;;;;;;10506:28;;:2;:28;;;;10472:62;10468:328;;;10609:12;10567:28;:39;10596:9;10567:39;;;;;;;;;;;;;;;;:54;10559:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;10764:12;10722:28;:39;10751:9;10722:39;;;;;;;;;;;;;;;:54;;;;10468:328;10423:388;10840:13;;;;;;;;;;;10832:21;;:4;:21;;;:55;;;;;10871:15;;;;;;;;;;;10857:30;;:2;:30;;;;10832:55;:82;;;;;10892:18;:22;10911:2;10892:22;;;;;;;;;;;;;;;;;;;;;;;;;10891:23;10832:82;10828:340;;;10947:28;10971:3;10947:19;10958:7;;10947:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10935:40;;11012:12;;11002:6;:22;;10994:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;11107:14;;11097:6;11081:13;11091:2;11081:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;11073:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10828:340;11195:13;;;;;;;;;;;11189:19;;:2;:19;;;:44;;;;;11228:4;11212:21;;:4;:21;;;;11189:44;11185:126;;;11266:29;11291:3;11266:20;11277:8;;11266:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;11254:41;;11185:126;11328:28;11359:24;11377:4;11359:9;:24::i;:::-;11328:55;;11403:6;;;;;;;;;;;11402:7;:30;;;;;11419:13;;;;;;;;;;;11413:19;;:2;:19;;;11402:30;:45;;;;;11436:11;;;;;;;;;;;11402:45;:89;;;;;11474:17;;11451:20;:40;11402:89;11398:312;;;11525:17;;11515:6;:27;11512:183;;11567:35;11584:17;;11567:16;:35::i;:::-;11512:183;;;11651:24;11668:6;11651:16;:24::i;:::-;11512:183;11398:312;10408:1313;10370:1351;11749:1;11737:9;:13;11734:171;;;11794:39;11823:9;11794;:24;11812:4;11794:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11767:9;:24;11785:4;11767:24;;;;;;;;;;;;;;;:66;;;;11876:4;11853:40;;11862:4;11853:40;;;11883:9;11853:40;;;;;;:::i;:::-;;;;;;;;11734:171;11936:27;11956:6;11936:9;:15;11946:4;11936:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11918:9;:15;11928:4;11918:15;;;;;;;;;;;;;;;:45;;;;11990:40;12008:21;12019:9;12008:6;:10;;:21;;;;:::i;:::-;11990:9;:13;12000:2;11990:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11974:9;:13;11984:2;11974:13;;;;;;;;;;;;;;;:56;;;;12061:2;12046:41;;12055:4;12046:41;;;12065:21;12076:9;12065:6;:10;;:21;;;;:::i;:::-;12046:41;;;;;;:::i;:::-;;;;;;;;10092:2003;10023:2072;;;:::o;4474:190::-;4560:7;4593:1;4588;:6;;4596:12;4580:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4620:9;4636:1;4632;:5;;;;:::i;:::-;4620:17;;4655:1;4648:8;;;4474:190;;;;;:::o;4673:246::-;4731:7;4760:1;4755;:6;4751:47;;4785:1;4778:8;;;;4751:47;4808:9;4824:1;4820;:5;;;;:::i;:::-;4808:17;;4853:1;4848;4844;:5;;;;:::i;:::-;:10;4836:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4910:1;4903:8;;;4673:246;;;;;:::o;4928:132::-;4986:7;5013:39;5017:1;5020;5013:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5006:46;;4928:132;;;;:::o;12104:489::-;7948:4;7939:6;;:13;;;;;;;;;;;;;;;;;;12182:21:::1;12220:1;12206:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12182:40;;12251:4;12233;12238:1;12233:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12277:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12267:4;12272:1;12267:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12310:62;12327:4;12342:15;;;;;;;;;;;12360:11;12310:8;:62::i;:::-;12383:15;;;;;;;;;;;:66;;;12464:11;12490:1;12506:4;12533:10;;;;;;;;;;;12559:15;12383:202;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12171:422;7984:5:::0;7975:6;;:14;;;;;;;;;;;;;;;;;;12104:489;:::o;4141:179::-;4199:7;4219:9;4235:1;4231;:5;;;;:::i;:::-;4219:17;;4260:1;4255;:6;;4247:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4311:1;4304:8;;;4141:179;;;;:::o;4329:136::-;4387:7;4414:43;4418:1;4421;4414:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4407:50;;4329:136;;;;:::o;5069:189::-;5155:7;5187:1;5183;:5;5190:12;5175:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5214:9;5230:1;5226;:5;;;;:::i;:::-;5214:17;;5249:1;5242:8;;;5069:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:102;6583:8;6630:5;6627:1;6623:13;6602:34;;6541:102;;;:::o;6649:848::-;6710:5;6717:4;6741:6;6732:15;;6765:5;6756:14;;6779:712;6800:1;6790:8;6787:15;6779:712;;;6895:4;6890:3;6886:14;6880:4;6877:24;6874:50;;;6904:18;;:::i;:::-;6874:50;6954:1;6944:8;6940:16;6937:451;;;7369:4;7362:5;7358:16;7349:25;;6937:451;7419:4;7413;7409:15;7401:23;;7449:32;7472:8;7449:32;:::i;:::-;7437:44;;6779:712;;;6649:848;;;;;;;:::o;7503:1073::-;7557:5;7748:8;7738:40;;7769:1;7760:10;;7771:5;;7738:40;7797:4;7787:36;;7814:1;7805:10;;7816:5;;7787:36;7883:4;7931:1;7926:27;;;;7967:1;7962:191;;;;7876:277;;7926:27;7944:1;7935:10;;7946:5;;;7962:191;8007:3;7997:8;7994:17;7991:43;;;8014:18;;:::i;:::-;7991:43;8063:8;8060:1;8056:16;8047:25;;8098:3;8091:5;8088:14;8085:40;;;8105:18;;:::i;:::-;8085:40;8138:5;;;7876:277;;8262:2;8252:8;8249:16;8243:3;8237:4;8234:13;8230:36;8212:2;8202:8;8199:16;8194:2;8188:4;8185:12;8181:35;8165:111;8162:246;;;8318:8;8312:4;8308:19;8299:28;;8353:3;8346:5;8343:14;8340:40;;;8360:18;;:::i;:::-;8340:40;8393:5;;8162:246;8433:42;8471:3;8461:8;8455:4;8452:1;8433:42;:::i;:::-;8418:57;;;;8507:4;8502:3;8498:14;8491:5;8488:25;8485:51;;;8516:18;;:::i;:::-;8485:51;8565:4;8558:5;8554:16;8545:25;;7503:1073;;;;;;:::o;8582:281::-;8640:5;8664:23;8682:4;8664:23;:::i;:::-;8656:31;;8708:25;8724:8;8708:25;:::i;:::-;8696:37;;8752:104;8789:66;8779:8;8773:4;8752:104;:::i;:::-;8743:113;;8582:281;;;;:::o;8869:410::-;8909:7;8932:20;8950:1;8932:20;:::i;:::-;8927:25;;8966:20;8984:1;8966:20;:::i;:::-;8961:25;;9021:1;9018;9014:9;9043:30;9061:11;9043:30;:::i;:::-;9032:41;;9222:1;9213:7;9209:15;9206:1;9203:22;9183:1;9176:9;9156:83;9133:139;;9252:18;;:::i;:::-;9133:139;8917:362;8869:410;;;;:::o;9285:182::-;9425:34;9421:1;9413:6;9409:14;9402:58;9285:182;:::o;9473:366::-;9615:3;9636:67;9700:2;9695:3;9636:67;:::i;:::-;9629:74;;9712:93;9801:3;9712:93;:::i;:::-;9830:2;9825:3;9821:12;9814:19;;9473:366;;;:::o;9845:419::-;10011:4;10049:2;10038:9;10034:18;10026:26;;10098:9;10092:4;10088:20;10084:1;10073:9;10069:17;10062:47;10126:131;10252:4;10126:131;:::i;:::-;10118:139;;9845:419;;;:::o;10270:225::-;10410:34;10406:1;10398:6;10394:14;10387:58;10479:8;10474:2;10466:6;10462:15;10455:33;10270:225;:::o;10501:366::-;10643:3;10664:67;10728:2;10723:3;10664:67;:::i;:::-;10657:74;;10740:93;10829:3;10740:93;:::i;:::-;10858:2;10853:3;10849:12;10842:19;;10501:366;;;:::o;10873:419::-;11039:4;11077:2;11066:9;11062:18;11054:26;;11126:9;11120:4;11116:20;11112:1;11101:9;11097:17;11090:47;11154:131;11280:4;11154:131;:::i;:::-;11146:139;;10873:419;;;:::o;11298:221::-;11438:34;11434:1;11426:6;11422:14;11415:58;11507:4;11502:2;11494:6;11490:15;11483:29;11298:221;:::o;11525:366::-;11667:3;11688:67;11752:2;11747:3;11688:67;:::i;:::-;11681:74;;11764:93;11853:3;11764:93;:::i;:::-;11882:2;11877:3;11873:12;11866:19;;11525:366;;;:::o;11897:419::-;12063:4;12101:2;12090:9;12086:18;12078:26;;12150:9;12144:4;12140:20;12136:1;12125:9;12121:17;12114:47;12178:131;12304:4;12178:131;:::i;:::-;12170:139;;11897:419;;;:::o;12322:147::-;12423:11;12460:3;12445:18;;12322:147;;;;:::o;12475:114::-;;:::o;12595:398::-;12754:3;12775:83;12856:1;12851:3;12775:83;:::i;:::-;12768:90;;12867:93;12956:3;12867:93;:::i;:::-;12985:1;12980:3;12976:11;12969:18;;12595:398;;;:::o;12999:379::-;13183:3;13205:147;13348:3;13205:147;:::i;:::-;13198:154;;13369:3;13362:10;;12999:379;;;:::o;13384:177::-;13524:29;13520:1;13512:6;13508:14;13501:53;13384:177;:::o;13567:366::-;13709:3;13730:67;13794:2;13789:3;13730:67;:::i;:::-;13723:74;;13806:93;13895:3;13806:93;:::i;:::-;13924:2;13919:3;13915:12;13908:19;;13567:366;;;:::o;13939:419::-;14105:4;14143:2;14132:9;14128:18;14120:26;;14192:9;14186:4;14182:20;14178:1;14167:9;14163:17;14156:47;14220:131;14346:4;14220:131;:::i;:::-;14212:139;;13939:419;;;:::o;14364:173::-;14504:25;14500:1;14492:6;14488:14;14481:49;14364:173;:::o;14543:366::-;14685:3;14706:67;14770:2;14765:3;14706:67;:::i;:::-;14699:74;;14782:93;14871:3;14782:93;:::i;:::-;14900:2;14895:3;14891:12;14884:19;;14543:366;;;:::o;14915:419::-;15081:4;15119:2;15108:9;15104:18;15096:26;;15168:9;15162:4;15158:20;15154:1;15143:9;15139:17;15132:47;15196:131;15322:4;15196:131;:::i;:::-;15188:139;;14915:419;;;:::o;15340:143::-;15397:5;15428:6;15422:13;15413:22;;15444:33;15471:5;15444:33;:::i;:::-;15340:143;;;;:::o;15489:351::-;15559:6;15608:2;15596:9;15587:7;15583:23;15579:32;15576:119;;;15614:79;;:::i;:::-;15576:119;15734:1;15759:64;15815:7;15806:6;15795:9;15791:22;15759:64;:::i;:::-;15749:74;;15705:128;15489:351;;;;:::o;15846:332::-;15967:4;16005:2;15994:9;15990:18;15982:26;;16018:71;16086:1;16075:9;16071:17;16062:6;16018:71;:::i;:::-;16099:72;16167:2;16156:9;16152:18;16143:6;16099:72;:::i;:::-;15846:332;;;;;:::o;16184:85::-;16229:7;16258:5;16247:16;;16184:85;;;:::o;16275:60::-;16303:3;16324:5;16317:12;;16275:60;;;:::o;16341:158::-;16399:9;16432:61;16450:42;16459:32;16485:5;16459:32;:::i;:::-;16450:42;:::i;:::-;16432:61;:::i;:::-;16419:74;;16341:158;;;:::o;16505:147::-;16600:45;16639:5;16600:45;:::i;:::-;16595:3;16588:58;16505:147;;:::o;16658:807::-;16907:4;16945:3;16934:9;16930:19;16922:27;;16959:71;17027:1;17016:9;17012:17;17003:6;16959:71;:::i;:::-;17040:72;17108:2;17097:9;17093:18;17084:6;17040:72;:::i;:::-;17122:80;17198:2;17187:9;17183:18;17174:6;17122:80;:::i;:::-;17212;17288:2;17277:9;17273:18;17264:6;17212:80;:::i;:::-;17302:73;17370:3;17359:9;17355:19;17346:6;17302:73;:::i;:::-;17385;17453:3;17442:9;17438:19;17429:6;17385:73;:::i;:::-;16658:807;;;;;;;;;:::o;17471:143::-;17528:5;17559:6;17553:13;17544:22;;17575:33;17602:5;17575:33;:::i;:::-;17471:143;;;;:::o;17620:663::-;17708:6;17716;17724;17773:2;17761:9;17752:7;17748:23;17744:32;17741:119;;;17779:79;;:::i;:::-;17741:119;17899:1;17924:64;17980:7;17971:6;17960:9;17956:22;17924:64;:::i;:::-;17914:74;;17870:128;18037:2;18063:64;18119:7;18110:6;18099:9;18095:22;18063:64;:::i;:::-;18053:74;;18008:129;18176:2;18202:64;18258:7;18249:6;18238:9;18234:22;18202:64;:::i;:::-;18192:74;;18147:129;17620:663;;;;;:::o;18289:332::-;18410:4;18448:2;18437:9;18433:18;18425:26;;18461:71;18529:1;18518:9;18514:17;18505:6;18461:71;:::i;:::-;18542:72;18610:2;18599:9;18595:18;18586:6;18542:72;:::i;:::-;18289:332;;;;;:::o;18627:116::-;18697:21;18712:5;18697:21;:::i;:::-;18690:5;18687:32;18677:60;;18733:1;18730;18723:12;18677:60;18627:116;:::o;18749:137::-;18803:5;18834:6;18828:13;18819:22;;18850:30;18874:5;18850:30;:::i;:::-;18749:137;;;;:::o;18892:345::-;18959:6;19008:2;18996:9;18987:7;18983:23;18979:32;18976:119;;;19014:79;;:::i;:::-;18976:119;19134:1;19159:61;19212:7;19203:6;19192:9;19188:22;19159:61;:::i;:::-;19149:71;;19105:125;18892:345;;;;:::o;19243:223::-;19383:34;19379:1;19371:6;19367:14;19360:58;19452:6;19447:2;19439:6;19435:15;19428:31;19243:223;:::o;19472:366::-;19614:3;19635:67;19699:2;19694:3;19635:67;:::i;:::-;19628:74;;19711:93;19800:3;19711:93;:::i;:::-;19829:2;19824:3;19820:12;19813:19;;19472:366;;;:::o;19844:419::-;20010:4;20048:2;20037:9;20033:18;20025:26;;20097:9;20091:4;20087:20;20083:1;20072:9;20068:17;20061:47;20125:131;20251:4;20125:131;:::i;:::-;20117:139;;19844:419;;;:::o;20269:221::-;20409:34;20405:1;20397:6;20393:14;20386:58;20478:4;20473:2;20465:6;20461:15;20454:29;20269:221;:::o;20496:366::-;20638:3;20659:67;20723:2;20718:3;20659:67;:::i;:::-;20652:74;;20735:93;20824:3;20735:93;:::i;:::-;20853:2;20848:3;20844:12;20837:19;;20496:366;;;:::o;20868:419::-;21034:4;21072:2;21061:9;21057:18;21049:26;;21121:9;21115:4;21111:20;21107:1;21096:9;21092:17;21085:47;21149:131;21275:4;21149:131;:::i;:::-;21141:139;;20868:419;;;:::o;21293:224::-;21433:34;21429:1;21421:6;21417:14;21410:58;21502:7;21497:2;21489:6;21485:15;21478:32;21293:224;:::o;21523:366::-;21665:3;21686:67;21750:2;21745:3;21686:67;:::i;:::-;21679:74;;21762:93;21851:3;21762:93;:::i;:::-;21880:2;21875:3;21871:12;21864:19;;21523:366;;;:::o;21895:419::-;22061:4;22099:2;22088:9;22084:18;22076:26;;22148:9;22142:4;22138:20;22134:1;22123:9;22119:17;22112:47;22176:131;22302:4;22176:131;:::i;:::-;22168:139;;21895:419;;;:::o;22320:222::-;22460:34;22456:1;22448:6;22444:14;22437:58;22529:5;22524:2;22516:6;22512:15;22505:30;22320:222;:::o;22548:366::-;22690:3;22711:67;22775:2;22770:3;22711:67;:::i;:::-;22704:74;;22787:93;22876:3;22787:93;:::i;:::-;22905:2;22900:3;22896:12;22889:19;;22548:366;;;:::o;22920:419::-;23086:4;23124:2;23113:9;23109:18;23101:26;;23173:9;23167:4;23163:20;23159:1;23148:9;23144:17;23137:47;23201:131;23327:4;23201:131;:::i;:::-;23193:139;;22920:419;;;:::o;23345:228::-;23485:34;23481:1;23473:6;23469:14;23462:58;23554:11;23549:2;23541:6;23537:15;23530:36;23345:228;:::o;23579:366::-;23721:3;23742:67;23806:2;23801:3;23742:67;:::i;:::-;23735:74;;23818:93;23907:3;23818:93;:::i;:::-;23936:2;23931:3;23927:12;23920:19;;23579:366;;;:::o;23951:419::-;24117:4;24155:2;24144:9;24140:18;24132:26;;24204:9;24198:4;24194:20;24190:1;24179:9;24175:17;24168:47;24232:131;24358:4;24232:131;:::i;:::-;24224:139;;23951:419;;;:::o;24376:297::-;24516:34;24512:1;24504:6;24500:14;24493:58;24585:34;24580:2;24572:6;24568:15;24561:59;24654:11;24649:2;24641:6;24637:15;24630:36;24376:297;:::o;24679:366::-;24821:3;24842:67;24906:2;24901:3;24842:67;:::i;:::-;24835:74;;24918:93;25007:3;24918:93;:::i;:::-;25036:2;25031:3;25027:12;25020:19;;24679:366;;;:::o;25051:419::-;25217:4;25255:2;25244:9;25240:18;25232:26;;25304:9;25298:4;25294:20;25290:1;25279:9;25275:17;25268:47;25332:131;25458:4;25332:131;:::i;:::-;25324:139;;25051:419;;;:::o;25476:175::-;25616:27;25612:1;25604:6;25600:14;25593:51;25476:175;:::o;25657:366::-;25799:3;25820:67;25884:2;25879:3;25820:67;:::i;:::-;25813:74;;25896:93;25985:3;25896:93;:::i;:::-;26014:2;26009:3;26005:12;25998:19;;25657:366;;;:::o;26029:419::-;26195:4;26233:2;26222:9;26218:18;26210:26;;26282:9;26276:4;26272:20;26268:1;26257:9;26253:17;26246:47;26310:131;26436:4;26310:131;:::i;:::-;26302:139;;26029:419;;;:::o;26454:191::-;26494:3;26513:20;26531:1;26513:20;:::i;:::-;26508:25;;26547:20;26565:1;26547:20;:::i;:::-;26542:25;;26590:1;26587;26583:9;26576:16;;26611:3;26608:1;26605:10;26602:36;;;26618:18;;:::i;:::-;26602:36;26454:191;;;;:::o;26651:176::-;26791:28;26787:1;26779:6;26775:14;26768:52;26651:176;:::o;26833:366::-;26975:3;26996:67;27060:2;27055:3;26996:67;:::i;:::-;26989:74;;27072:93;27161:3;27072:93;:::i;:::-;27190:2;27185:3;27181:12;27174:19;;26833:366;;;:::o;27205:419::-;27371:4;27409:2;27398:9;27394:18;27386:26;;27458:9;27452:4;27448:20;27444:1;27433:9;27429:17;27422:47;27486:131;27612:4;27486:131;:::i;:::-;27478:139;;27205:419;;;:::o;27630:194::-;27670:4;27690:20;27708:1;27690:20;:::i;:::-;27685:25;;27724:20;27742:1;27724:20;:::i;:::-;27719:25;;27768:1;27765;27761:9;27753:17;;27792:1;27786:4;27783:11;27780:37;;;27797:18;;:::i;:::-;27780:37;27630:194;;;;:::o;27830:180::-;27878:77;27875:1;27868:88;27975:4;27972:1;27965:15;27999:4;27996:1;27989:15;28016:185;28056:1;28073:20;28091:1;28073:20;:::i;:::-;28068:25;;28107:20;28125:1;28107:20;:::i;:::-;28102:25;;28146:1;28136:35;;28151:18;;:::i;:::-;28136:35;28193:1;28190;28186:9;28181:14;;28016:185;;;;:::o;28207:220::-;28347:34;28343:1;28335:6;28331:14;28324:58;28416:3;28411:2;28403:6;28399:15;28392:28;28207:220;:::o;28433:366::-;28575:3;28596:67;28660:2;28655:3;28596:67;:::i;:::-;28589:74;;28672:93;28761:3;28672:93;:::i;:::-;28790:2;28785:3;28781:12;28774:19;;28433:366;;;:::o;28805:419::-;28971:4;29009:2;28998:9;28994:18;28986:26;;29058:9;29052:4;29048:20;29044:1;29033:9;29029:17;29022:47;29086:131;29212:4;29086:131;:::i;:::-;29078:139;;28805:419;;;:::o;29230:180::-;29278:77;29275:1;29268:88;29375:4;29372:1;29365:15;29399:4;29396:1;29389:15;29416:180;29464:77;29461:1;29454:88;29561:4;29558:1;29551:15;29585:4;29582:1;29575:15;29602:114;29669:6;29703:5;29697:12;29687:22;;29602:114;;;:::o;29722:184::-;29821:11;29855:6;29850:3;29843:19;29895:4;29890:3;29886:14;29871:29;;29722:184;;;;:::o;29912:132::-;29979:4;30002:3;29994:11;;30032:4;30027:3;30023:14;30015:22;;29912:132;;;:::o;30050:108::-;30127:24;30145:5;30127:24;:::i;:::-;30122:3;30115:37;30050:108;;:::o;30164:179::-;30233:10;30254:46;30296:3;30288:6;30254:46;:::i;:::-;30332:4;30327:3;30323:14;30309:28;;30164:179;;;;:::o;30349:113::-;30419:4;30451;30446:3;30442:14;30434:22;;30349:113;;;:::o;30498:732::-;30617:3;30646:54;30694:5;30646:54;:::i;:::-;30716:86;30795:6;30790:3;30716:86;:::i;:::-;30709:93;;30826:56;30876:5;30826:56;:::i;:::-;30905:7;30936:1;30921:284;30946:6;30943:1;30940:13;30921:284;;;31022:6;31016:13;31049:63;31108:3;31093:13;31049:63;:::i;:::-;31042:70;;31135:60;31188:6;31135:60;:::i;:::-;31125:70;;30981:224;30968:1;30965;30961:9;30956:14;;30921:284;;;30925:14;31221:3;31214:10;;30622:608;;;30498:732;;;;:::o;31236:831::-;31499:4;31537:3;31526:9;31522:19;31514:27;;31551:71;31619:1;31608:9;31604:17;31595:6;31551:71;:::i;:::-;31632:80;31708:2;31697:9;31693:18;31684:6;31632:80;:::i;:::-;31759:9;31753:4;31749:20;31744:2;31733:9;31729:18;31722:48;31787:108;31890:4;31881:6;31787:108;:::i;:::-;31779:116;;31905:72;31973:2;31962:9;31958:18;31949:6;31905:72;:::i;:::-;31987:73;32055:3;32044:9;32040:19;32031:6;31987:73;:::i;:::-;31236:831;;;;;;;;:::o;32073:177::-;32213:29;32209:1;32201:6;32197:14;32190:53;32073:177;:::o;32256:366::-;32398:3;32419:67;32483:2;32478:3;32419:67;:::i;:::-;32412:74;;32495:93;32584:3;32495:93;:::i;:::-;32613:2;32608:3;32604:12;32597:19;;32256:366;;;:::o;32628:419::-;32794:4;32832:2;32821:9;32817:18;32809:26;;32881:9;32875:4;32871:20;32867:1;32856:9;32852:17;32845:47;32909:131;33035:4;32909:131;:::i;:::-;32901:139;;32628:419;;;:::o

Swarm Source

ipfs://11771cff52a2b6161be812c3745e283d021056e71ea78e349cb1720e0bb3e06f

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.