ETH Price: $2,970.18 (-0.80%)
Gas: 7 Gwei

Token

MUNEREUM (MUNEY)
 

Overview

Max Total Supply

1,000,000 MUNEY

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
*tausendfüßler.eth
Balance
14,897.556845447 MUNEY

Value
$0.00
0xe2E49b255Cfe881F130739EE06c2ED5fE3A3d1Ef
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MUNEY

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-13
*/

// SPDX-License-Identifier: NO LICENSE   
//https://www.muuney.cash/
//https://twitter.com/muneyerc20
//https://t.me/muneyerc20
pragma solidity 0.8.19;
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);
}
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 transferOwnership(address newOwner) public virtual onlyOwner() {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
    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 MUNEY is Context, IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
    address payable private MarketingWallet;
    
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10**_decimals; 
    string private constant _name = "MUNEREUM";
    string private constant _symbol = "MUNEY";
    uint256 private SwapTokens = 10000 * 10**_decimals; 
    uint256 public maxTxAmount = 20000 * 10**_decimals; 
    uint256 private buyTaxes = 15;
    uint256 private sellTaxes = 30;
    uint256 private _Buys_In=0;
   
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool public tradeEnable = false;
    bool private _SwapBackEnable = false;
    bool private inSwap = false;
    
    //Event
    event FeesRecieverUpdated(address indexed _newWallet);
    event ExcludeFromFeeUpdated(address indexed account);
    event includeFromFeeUpdated(address indexed account);
    event SwapThreshouldUpdated(uint256 indexed amount);
    event SwapBackSettingUpdated(bool indexed state);
    event ERC20TokensRecovered(uint256 indexed _amount);
    event TradingOpenUpdated();
    event ETHBalanceRecovered();
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
    if (block.chainid == 56){
     uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E); // PCS BSC Mainnet Router
     }
    else if(block.chainid == 1 || block.chainid == 5){
          uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Uniswap ETH Mainnet Router
      }
    else if(block.chainid == 42161){
           uniswapV2Router = IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506); // Sushi Arbitrum Mainnet Router
      }
    else  if (block.chainid == 97){
     uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // PCS BSC Testnet Router
     }
    else {
         revert("Wrong Chain Id");
        }
    uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        
         MarketingWallet = payable(0xD5aFB255713B6b6BAdd45160797B28745663b6A2);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[MarketingWallet] = true;
        _isExcludedFromFee[deadWallet] = 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) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), currentAllowance - amount);
        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 feesum=0;

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradeEnable, "Trading not enabled");       
               feesum = amount * (buyTaxes) / (100);
        }
        
         if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            feesum = 0;
        } 
        
          if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
             require(balanceOf(to) + amount <= maxTxAmount, "Exceeds the maxWalletSize.");
              _Buys_In++;
          } 
        
          if (from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
             require(amount <= maxTxAmount, "Exceeds the _maxTxAmount.");
          }
        
          if (to == uniswapV2Pair && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                   feesum = amount * (sellTaxes) / (100);
                
                } 
             uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && _SwapBackEnable && contractTokenBalance >= SwapTokens && _Buys_In > 1) {
                swapTokensForEth(SwapTokens);
               uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        _balances[from] = _balances[from] - amount; 
        _balances[to] = _balances[to] + (amount - (feesum));
        emit Transfer(from, to, amount - (feesum));
         if(feesum > 0){
          _balances[address(this)] = _balances[address(this)] + (feesum);
          emit Transfer(from, address(this),feesum);
        }
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        require(tokenAmount > 0, "amount must be greeter than 0");
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function sendETHToFee(uint256 amount) private {
       require(amount > 0, "amount must be greeter than 0");
        MarketingWallet.transfer(amount);
    }
  
    function SetFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= 30 && _sellFee <= 60, "revert wrong fee settings");
        buyTaxes = _buyFee;
        sellTaxes = _sellFee;
    }
   
   function removeMaxTxLimit() external onlyOwner {
    maxTxAmount = _tTotal;}
   
   function setSwapBackSetting(bool state) external onlyOwner {
    _SwapBackEnable = state;
    emit SwapBackSettingUpdated(state);}
   
   function setMarketingWallet(address payable _newWallet) external onlyOwner {
       require(_newWallet != address(this), "CA will not be the Fee Reciever");
       require(_newWallet != address(0), "0 addy will not be the fee Reciever");
       MarketingWallet = _newWallet;
      _isExcludedFromFee[_newWallet] = true;
    emit FeesRecieverUpdated(_newWallet);
    }
    
    function addWhitelistWallet(address account) external onlyOwner {
      require(_isExcludedFromFee[account] != true,"Account is already excluded");
       _isExcludedFromFee[account] = true;
    emit ExcludeFromFeeUpdated(account);
   }
   
    function removeWhitelistWallet(address account) external onlyOwner {
         require(_isExcludedFromFee[account] != false, "Account is already included");
        _isExcludedFromFee[account] = false;
     emit includeFromFeeUpdated(account);
    }
   
    function setThreshouldToken(uint256 amount) external onlyOwner {
        require(amount <= 20000, "amount must be less than or equal to 0.1% of the supply");
        SwapTokens = amount * 10**_decimals;
    emit SwapThreshouldUpdated(amount);
    }
    
    function enableTrading() external onlyOwner() {
        require(!tradeEnable,"trading is already open");
        _SwapBackEnable = true;
         tradeEnable = true;
       emit TradingOpenUpdated();
    }
    
    receive() external payable {}
   
    function rescueERC20FromContract(address _tokenAddy, uint256 _amount) external onlyOwner {
        require(_tokenAddy != address(this), "Owner can't claim contract's balance of its own tokens");
        require(_amount > 0, "Amount should be greater than zero");
        require(_amount <= IERC20(_tokenAddy).balanceOf(address(this)), "Insufficient Amount");
        IERC20(_tokenAddy).transfer(MarketingWallet, _amount);
      emit ERC20TokensRecovered(_amount); 
    }
   
    function rescueETHfromContract() external {
        uint256 contractETHBalance = address(this).balance;
        require(contractETHBalance > 0, "Amount should be greater than zero");
        require(contractETHBalance <= address(this).balance, "Insufficient Amount");
        payable(address(MarketingWallet)).transfer(contractETHBalance);
      emit ETHBalanceRecovered();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"ERC20TokensRecovered","type":"event"},{"anonymous":false,"inputs":[],"name":"ETHBalanceRecovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"ExcludeFromFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_newWallet","type":"address"}],"name":"FeesRecieverUpdated","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":"bool","name":"state","type":"bool"}],"name":"SwapBackSettingUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapThreshouldUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingOpenUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"includeFromFeeUpdated","type":"event"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelistWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelistWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddy","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueERC20FromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETHfromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"setSwapBackSetting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setThreshouldToken","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":[],"name":"tradeEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a620000149190620009c5565b61271062000023919062000a16565b6005556009600a620000369190620009c5565b614e2062000045919062000a16565b600655600f600755601e60085560006009556000600b60146101000a81548160ff0219169083151502179055506000600b60156101000a81548160ff0219169083151502179055506000600b60166101000a81548160ff021916908315150217905550348015620000b557600080fd5b506000620000c86200082360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060384603620001ca577310ed43c718714eb63d5aa57b78b54704e256024e600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000344565b6001461480620001da5750600546145b156200023b57737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000343565b61a4b14603620002a057731b02da8cb0d097eb8d57a175b88c7d8b47997506600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000342565b60614603620003045773d99d1c33f9fc3444f8101754abc46c52416550d1600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000341565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003389062000ac2565b60405180910390fd5b5b5b5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d8919062000b4e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000488919062000b4e565b6040518363ffffffff1660e01b8152600401620004a792919062000b91565b6020604051808303816000875af1158015620004c7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ed919062000b4e565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d5afb255713b6b6badd45160797b28745663b6a2600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620005929190620009c5565b620f4240620005a2919062000a16565b60016000620005b66200082360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200060a6200082360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620007976200082360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620007f69190620009c5565b620f424062000806919062000a16565b60405162000815919062000bcf565b60405180910390a362000bec565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620008b9578086048111156200089157620008906200082b565b5b6001851615620008a15780820291505b8081029050620008b1856200085a565b945062000871565b94509492505050565b600082620008d45760019050620009a7565b81620008e45760009050620009a7565b8160018114620008fd576002811462000908576200093e565b6001915050620009a7565b60ff8411156200091d576200091c6200082b565b5b8360020a9150848211156200093757620009366200082b565b5b50620009a7565b5060208310610133831016604e8410600b8410161715620009785782820a9050838111156200097257620009716200082b565b5b620009a7565b62000987848484600162000867565b92509050818404811115620009a157620009a06200082b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009d282620009ae565b9150620009df83620009b8565b925062000a0e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008c2565b905092915050565b600062000a2382620009ae565b915062000a3083620009ae565b925082820262000a4081620009ae565b9150828204841483151762000a5a5762000a596200082b565b5b5092915050565b600082825260208201905092915050565b7f57726f6e6720436861696e204964000000000000000000000000000000000000600082015250565b600062000aaa600e8362000a61565b915062000ab78262000a72565b602082019050919050565b6000602082019050818103600083015262000add8162000a9b565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b168262000ae9565b9050919050565b62000b288162000b09565b811462000b3457600080fd5b50565b60008151905062000b488162000b1d565b92915050565b60006020828403121562000b675762000b6662000ae4565b5b600062000b778482850162000b37565b91505092915050565b62000b8b8162000b09565b82525050565b600060408201905062000ba8600083018562000b80565b62000bb7602083018462000b80565b9392505050565b62000bc981620009ae565b82525050565b600060208201905062000be6600083018462000bbe565b92915050565b613fe38062000bfc6000396000f3fe60806040526004361061016a5760003560e01c80638a8c523c116100d1578063ade4cffe1161008a578063dd62ed3e11610064578063dd62ed3e146104e9578063f0f56b6a14610526578063f2fde38b1461054f578063f87dc2c61461057857610171565b8063ade4cffe1461046e578063bb9e95af14610497578063dcb1c2e5146104c057610171565b80638a8c523c146103705780638c0b5e22146103875780638da5cb5b146103b257806395d89b41146103dd578063a82d570114610408578063a9059cbb1461043157610171565b8063313ce56711610123578063313ce567146102865780634415fb61146102b15780635d098b38146102c857806370a08231146102f1578063715018a61461032e57806385141a771461034557610171565b8063032dc6a21461017657806306fdde031461019f578063095ea7b3146101ca57806318160ddd146102075780631b7e81451461023257806323b872dd1461024957610171565b3661017157005b600080fd5b34801561018257600080fd5b5061019d60048036038101906101989190612ac3565b6105a3565b005b3480156101ab57600080fd5b506101b461069b565b6040516101c19190612b93565b60405180910390f35b3480156101d657600080fd5b506101f160048036038101906101ec9190612c13565b6106d8565b6040516101fe9190612c6e565b60405180910390f35b34801561021357600080fd5b5061021c6106f6565b6040516102299190612c98565b60405180910390f35b34801561023e57600080fd5b50610247610719565b005b34801561025557600080fd5b50610270600480360381019061026b9190612cb3565b61083c565b60405161027d9190612c6e565b60405180910390f35b34801561029257600080fd5b5061029b61093c565b6040516102a89190612d22565b60405180910390f35b3480156102bd57600080fd5b506102c6610945565b005b3480156102d457600080fd5b506102ef60048036038101906102ea9190612d7b565b6109fe565b005b3480156102fd57600080fd5b5061031860048036038101906103139190612da8565b610c4f565b6040516103259190612c98565b60405180910390f35b34801561033a57600080fd5b50610343610c98565b005b34801561035157600080fd5b5061035a610deb565b6040516103679190612de4565b60405180910390f35b34801561037c57600080fd5b50610385610df1565b005b34801561039357600080fd5b5061039c610f3a565b6040516103a99190612c98565b60405180910390f35b3480156103be57600080fd5b506103c7610f40565b6040516103d49190612de4565b60405180910390f35b3480156103e957600080fd5b506103f2610f69565b6040516103ff9190612b93565b60405180910390f35b34801561041457600080fd5b5061042f600480360381019061042a9190612dff565b610fa6565b005b34801561043d57600080fd5b5061045860048036038101906104539190612c13565b6110cf565b6040516104659190612c6e565b60405180910390f35b34801561047a57600080fd5b5061049560048036038101906104909190612da8565b6110ed565b005b3480156104a357600080fd5b506104be60048036038101906104b99190612c13565b6112b3565b005b3480156104cc57600080fd5b506104e760048036038101906104e29190612da8565b611587565b005b3480156104f557600080fd5b50610510600480360381019061050b9190612e2c565b61174d565b60405161051d9190612c98565b60405180910390f35b34801561053257600080fd5b5061054d60048036038101906105489190612e98565b6117d4565b005b34801561055b57600080fd5b5061057660048036038101906105719190612da8565b6118b5565b005b34801561058457600080fd5b5061058d6119c5565b60405161059a9190612c6e565b60405180910390f35b6105ab6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062f90612f11565b60405180910390fd5b601e821115801561064a5750603c8111155b610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612f7d565b60405180910390fd5b81600781905550806008819055505050565b60606040518060400160405280600881526020017f4d554e455245554d000000000000000000000000000000000000000000000000815250905090565b60006106ec6106e56119d8565b84846119e0565b6001905092915050565b60006009600a61070691906130ff565b620f4240610714919061314a565b905090565b600047905060008111610761576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610758906131fe565b60405180910390fd5b478111156107a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079b9061326a565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561080c573d6000803e3d6000fd5b507fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767560405160405180910390a150565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108886119d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ff906132fc565b60405180910390fd5b610913858585611ba9565b6109308561091f6119d8565b858461092b919061331c565b6119e0565b60019150509392505050565b60006009905090565b61094d6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190612f11565b60405180910390fd5b6009600a6109e891906130ff565b620f42406109f6919061314a565b600681905550565b610a066119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90612f11565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af89061339c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b679061342e565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6867e944970fe7ede3b1a987e85026d725a5faa1e05cc2f89ec2a7a27701c3f560405160405180910390a250565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ca06119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2490612f11565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61dead81565b610df96119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7d90612f11565b60405180910390fd5b600b60149054906101000a900460ff1615610ed6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecd9061349a565b60405180910390fd5b6001600b60156101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff0219169083151502179055507f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93560405160405180910390a1565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4d554e4559000000000000000000000000000000000000000000000000000000815250905090565b610fae6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103290612f11565b60405180910390fd5b614e20811115611080576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110779061352c565b60405180910390fd5b6009600a61108e91906130ff565b81611099919061314a565b600581905550807f2d70831e8ba235b516ecf7a8145985014eb4c8fd728d7358dcefeda7b46d081460405160405180910390a250565b60006110e36110dc6119d8565b8484611ba9565b6001905092915050565b6110f56119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117990612f11565b60405180910390fd5b60011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120c90613598565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e60405160405180910390a250565b6112bb6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90612f11565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ad9061362a565b60405180910390fd5b600081116113f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f0906131fe565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114329190612de4565b602060405180830381865afa15801561144f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611473919061365f565b8111156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac9061326a565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016115129291906136eb565b6020604051808303816000875af1158015611531573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115559190613729565b50807fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2260405160405180910390a25050565b61158f6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390612f11565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a6906137a2565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e60405160405180910390a250565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6117dc6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186090612f11565b60405180910390fd5b80600b60156101000a81548160ff0219169083151502179055508015157f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb60405160405180910390a250565b6118bd6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461194a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194190612f11565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b090613834565b60405180910390fd5b6119c281612659565b50565b600b60149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a46906138c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab590613958565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b9c9190612c98565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f906139ea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7e90613a7c565b60405180910390fd5b60008111611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc190613b0e565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d705750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611de157600b60149054906101000a900460ff16611dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbb90613b7a565b60405180910390fd5b606460075483611dd4919061314a565b611dde9190613bc9565b90505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e825750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e8c57600090505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f375750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f8d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561204857600654821115611fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fce90613c46565b60405180910390fd5b60065482611fe485610c4f565b611fee9190613c66565b111561202f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202690613ce6565b60405180910390fd5b6009600081548092919061204290613d06565b91905055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120f05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121465750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561219157600654821115612190576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218790613c46565b60405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561221a57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156122705750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122c65750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122e8576064600854836122db919061314a565b6122e59190613bc9565b90505b60006122f330610c4f565b9050600b60169054906101000a900460ff161580156123605750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123785750600b60159054906101000a900460ff165b801561238657506005548110155b801561239457506001600954115b156123be576123a460055461271d565b600047905060008111156123bc576123bb476129d9565b5b505b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612409919061331c565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508183612458919061331c565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a29190613c66565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8486612540919061331c565b60405161254d9190612c98565b60405180910390a360008211156126525781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a99190613c66565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126499190612c98565b60405180910390a35b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600b60166101000a81548160ff0219169083151502179055506000811161277b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277290613d9a565b60405180910390fd5b6000600267ffffffffffffffff81111561279857612797613dba565b5b6040519080825280602002602001820160405280156127c65781602001602082028036833780820191505090505b50905030816000815181106127de576127dd613de9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a99190613e2d565b816001815181106128bd576128bc613de9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061292430600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119e0565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612988959493929190613f53565b600060405180830381600087803b1580156129a257600080fd5b505af11580156129b6573d6000803e3d6000fd5b50505050506000600b60166101000a81548160ff02191690831515021790555050565b60008111612a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1390613d9a565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a84573d6000803e3d6000fd5b5050565b600080fd5b6000819050919050565b612aa081612a8d565b8114612aab57600080fd5b50565b600081359050612abd81612a97565b92915050565b60008060408385031215612ada57612ad9612a88565b5b6000612ae885828601612aae565b9250506020612af985828601612aae565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b3d578082015181840152602081019050612b22565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b6582612b03565b612b6f8185612b0e565b9350612b7f818560208601612b1f565b612b8881612b49565b840191505092915050565b60006020820190508181036000830152612bad8184612b5a565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612be082612bb5565b9050919050565b612bf081612bd5565b8114612bfb57600080fd5b50565b600081359050612c0d81612be7565b92915050565b60008060408385031215612c2a57612c29612a88565b5b6000612c3885828601612bfe565b9250506020612c4985828601612aae565b9150509250929050565b60008115159050919050565b612c6881612c53565b82525050565b6000602082019050612c836000830184612c5f565b92915050565b612c9281612a8d565b82525050565b6000602082019050612cad6000830184612c89565b92915050565b600080600060608486031215612ccc57612ccb612a88565b5b6000612cda86828701612bfe565b9350506020612ceb86828701612bfe565b9250506040612cfc86828701612aae565b9150509250925092565b600060ff82169050919050565b612d1c81612d06565b82525050565b6000602082019050612d376000830184612d13565b92915050565b6000612d4882612bb5565b9050919050565b612d5881612d3d565b8114612d6357600080fd5b50565b600081359050612d7581612d4f565b92915050565b600060208284031215612d9157612d90612a88565b5b6000612d9f84828501612d66565b91505092915050565b600060208284031215612dbe57612dbd612a88565b5b6000612dcc84828501612bfe565b91505092915050565b612dde81612bd5565b82525050565b6000602082019050612df96000830184612dd5565b92915050565b600060208284031215612e1557612e14612a88565b5b6000612e2384828501612aae565b91505092915050565b60008060408385031215612e4357612e42612a88565b5b6000612e5185828601612bfe565b9250506020612e6285828601612bfe565b9150509250929050565b612e7581612c53565b8114612e8057600080fd5b50565b600081359050612e9281612e6c565b92915050565b600060208284031215612eae57612ead612a88565b5b6000612ebc84828501612e83565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612efb602083612b0e565b9150612f0682612ec5565b602082019050919050565b60006020820190508181036000830152612f2a81612eee565b9050919050565b7f7265766572742077726f6e67206665652073657474696e677300000000000000600082015250565b6000612f67601983612b0e565b9150612f7282612f31565b602082019050919050565b60006020820190508181036000830152612f9681612f5a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561302357808604811115612fff57612ffe612f9d565b5b600185161561300e5780820291505b808102905061301c85612fcc565b9450612fe3565b94509492505050565b60008261303c57600190506130f8565b8161304a57600090506130f8565b8160018114613060576002811461306a57613099565b60019150506130f8565b60ff84111561307c5761307b612f9d565b5b8360020a91508482111561309357613092612f9d565b5b506130f8565b5060208310610133831016604e8410600b84101617156130ce5782820a9050838111156130c9576130c8612f9d565b5b6130f8565b6130db8484846001612fd9565b925090508184048111156130f2576130f1612f9d565b5b81810290505b9392505050565b600061310a82612a8d565b915061311583612d06565b92506131427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461302c565b905092915050565b600061315582612a8d565b915061316083612a8d565b925082820261316e81612a8d565b9150828204841483151761318557613184612f9d565b5b5092915050565b7f416d6f756e742073686f756c642062652067726561746572207468616e207a6560008201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b60006131e8602283612b0e565b91506131f38261318c565b604082019050919050565b60006020820190508181036000830152613217816131db565b9050919050565b7f496e73756666696369656e7420416d6f756e7400000000000000000000000000600082015250565b6000613254601383612b0e565b915061325f8261321e565b602082019050919050565b6000602082019050818103600083015261328381613247565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006132e6602883612b0e565b91506132f18261328a565b604082019050919050565b60006020820190508181036000830152613315816132d9565b9050919050565b600061332782612a8d565b915061333283612a8d565b925082820390508181111561334a57613349612f9d565b5b92915050565b7f43412077696c6c206e6f74206265207468652046656520526563696576657200600082015250565b6000613386601f83612b0e565b915061339182613350565b602082019050919050565b600060208201905081810360008301526133b581613379565b9050919050565b7f3020616464792077696c6c206e6f74206265207468652066656520526563696560008201527f7665720000000000000000000000000000000000000000000000000000000000602082015250565b6000613418602383612b0e565b9150613423826133bc565b604082019050919050565b600060208201905081810360008301526134478161340b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613484601783612b0e565b915061348f8261344e565b602082019050919050565b600060208201905081810360008301526134b381613477565b9050919050565b7f616d6f756e74206d757374206265206c657373207468616e206f72206571756160008201527f6c20746f20302e3125206f662074686520737570706c79000000000000000000602082015250565b6000613516603783612b0e565b9150613521826134ba565b604082019050919050565b6000602082019050818103600083015261354581613509565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b6000613582601b83612b0e565b915061358d8261354c565b602082019050919050565b600060208201905081810360008301526135b181613575565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b6000613614603683612b0e565b915061361f826135b8565b604082019050919050565b6000602082019050818103600083015261364381613607565b9050919050565b60008151905061365981612a97565b92915050565b60006020828403121561367557613674612a88565b5b60006136838482850161364a565b91505092915050565b6000819050919050565b60006136b16136ac6136a784612bb5565b61368c565b612bb5565b9050919050565b60006136c382613696565b9050919050565b60006136d5826136b8565b9050919050565b6136e5816136ca565b82525050565b600060408201905061370060008301856136dc565b61370d6020830184612c89565b9392505050565b60008151905061372381612e6c565b92915050565b60006020828403121561373f5761373e612a88565b5b600061374d84828501613714565b91505092915050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b600061378c601b83612b0e565b915061379782613756565b602082019050919050565b600060208201905081810360008301526137bb8161377f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061381e602683612b0e565b9150613829826137c2565b604082019050919050565b6000602082019050818103600083015261384d81613811565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006138b0602483612b0e565b91506138bb82613854565b604082019050919050565b600060208201905081810360008301526138df816138a3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613942602283612b0e565b915061394d826138e6565b604082019050919050565b6000602082019050818103600083015261397181613935565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139d4602583612b0e565b91506139df82613978565b604082019050919050565b60006020820190508181036000830152613a03816139c7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a66602383612b0e565b9150613a7182613a0a565b604082019050919050565b60006020820190508181036000830152613a9581613a59565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613af8602983612b0e565b9150613b0382613a9c565b604082019050919050565b60006020820190508181036000830152613b2781613aeb565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000613b64601383612b0e565b9150613b6f82613b2e565b602082019050919050565b60006020820190508181036000830152613b9381613b57565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613bd482612a8d565b9150613bdf83612a8d565b925082613bef57613bee613b9a565b5b828204905092915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000613c30601983612b0e565b9150613c3b82613bfa565b602082019050919050565b60006020820190508181036000830152613c5f81613c23565b9050919050565b6000613c7182612a8d565b9150613c7c83612a8d565b9250828201905080821115613c9457613c93612f9d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613cd0601a83612b0e565b9150613cdb82613c9a565b602082019050919050565b60006020820190508181036000830152613cff81613cc3565b9050919050565b6000613d1182612a8d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d4357613d42612f9d565b5b600182019050919050565b7f616d6f756e74206d7573742062652067726565746572207468616e2030000000600082015250565b6000613d84601d83612b0e565b9150613d8f82613d4e565b602082019050919050565b60006020820190508181036000830152613db381613d77565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613e2781612be7565b92915050565b600060208284031215613e4357613e42612a88565b5b6000613e5184828501613e18565b91505092915050565b6000819050919050565b6000613e7f613e7a613e7584613e5a565b61368c565b612a8d565b9050919050565b613e8f81613e64565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613eca81612bd5565b82525050565b6000613edc8383613ec1565b60208301905092915050565b6000602082019050919050565b6000613f0082613e95565b613f0a8185613ea0565b9350613f1583613eb1565b8060005b83811015613f46578151613f2d8882613ed0565b9750613f3883613ee8565b925050600181019050613f19565b5085935050505092915050565b600060a082019050613f686000830188612c89565b613f756020830187613e86565b8181036040830152613f878186613ef5565b9050613f966060830185612dd5565b613fa36080830184612c89565b969550505050505056fea2646970667358221220e5b9600a51853b1341ec46001918c5b17abebf64a3a161eb20d3cf3c1bc5165d64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80638a8c523c116100d1578063ade4cffe1161008a578063dd62ed3e11610064578063dd62ed3e146104e9578063f0f56b6a14610526578063f2fde38b1461054f578063f87dc2c61461057857610171565b8063ade4cffe1461046e578063bb9e95af14610497578063dcb1c2e5146104c057610171565b80638a8c523c146103705780638c0b5e22146103875780638da5cb5b146103b257806395d89b41146103dd578063a82d570114610408578063a9059cbb1461043157610171565b8063313ce56711610123578063313ce567146102865780634415fb61146102b15780635d098b38146102c857806370a08231146102f1578063715018a61461032e57806385141a771461034557610171565b8063032dc6a21461017657806306fdde031461019f578063095ea7b3146101ca57806318160ddd146102075780631b7e81451461023257806323b872dd1461024957610171565b3661017157005b600080fd5b34801561018257600080fd5b5061019d60048036038101906101989190612ac3565b6105a3565b005b3480156101ab57600080fd5b506101b461069b565b6040516101c19190612b93565b60405180910390f35b3480156101d657600080fd5b506101f160048036038101906101ec9190612c13565b6106d8565b6040516101fe9190612c6e565b60405180910390f35b34801561021357600080fd5b5061021c6106f6565b6040516102299190612c98565b60405180910390f35b34801561023e57600080fd5b50610247610719565b005b34801561025557600080fd5b50610270600480360381019061026b9190612cb3565b61083c565b60405161027d9190612c6e565b60405180910390f35b34801561029257600080fd5b5061029b61093c565b6040516102a89190612d22565b60405180910390f35b3480156102bd57600080fd5b506102c6610945565b005b3480156102d457600080fd5b506102ef60048036038101906102ea9190612d7b565b6109fe565b005b3480156102fd57600080fd5b5061031860048036038101906103139190612da8565b610c4f565b6040516103259190612c98565b60405180910390f35b34801561033a57600080fd5b50610343610c98565b005b34801561035157600080fd5b5061035a610deb565b6040516103679190612de4565b60405180910390f35b34801561037c57600080fd5b50610385610df1565b005b34801561039357600080fd5b5061039c610f3a565b6040516103a99190612c98565b60405180910390f35b3480156103be57600080fd5b506103c7610f40565b6040516103d49190612de4565b60405180910390f35b3480156103e957600080fd5b506103f2610f69565b6040516103ff9190612b93565b60405180910390f35b34801561041457600080fd5b5061042f600480360381019061042a9190612dff565b610fa6565b005b34801561043d57600080fd5b5061045860048036038101906104539190612c13565b6110cf565b6040516104659190612c6e565b60405180910390f35b34801561047a57600080fd5b5061049560048036038101906104909190612da8565b6110ed565b005b3480156104a357600080fd5b506104be60048036038101906104b99190612c13565b6112b3565b005b3480156104cc57600080fd5b506104e760048036038101906104e29190612da8565b611587565b005b3480156104f557600080fd5b50610510600480360381019061050b9190612e2c565b61174d565b60405161051d9190612c98565b60405180910390f35b34801561053257600080fd5b5061054d60048036038101906105489190612e98565b6117d4565b005b34801561055b57600080fd5b5061057660048036038101906105719190612da8565b6118b5565b005b34801561058457600080fd5b5061058d6119c5565b60405161059a9190612c6e565b60405180910390f35b6105ab6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062f90612f11565b60405180910390fd5b601e821115801561064a5750603c8111155b610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612f7d565b60405180910390fd5b81600781905550806008819055505050565b60606040518060400160405280600881526020017f4d554e455245554d000000000000000000000000000000000000000000000000815250905090565b60006106ec6106e56119d8565b84846119e0565b6001905092915050565b60006009600a61070691906130ff565b620f4240610714919061314a565b905090565b600047905060008111610761576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610758906131fe565b60405180910390fd5b478111156107a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079b9061326a565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561080c573d6000803e3d6000fd5b507fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db93767560405160405180910390a150565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108886119d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ff906132fc565b60405180910390fd5b610913858585611ba9565b6109308561091f6119d8565b858461092b919061331c565b6119e0565b60019150509392505050565b60006009905090565b61094d6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190612f11565b60405180910390fd5b6009600a6109e891906130ff565b620f42406109f6919061314a565b600681905550565b610a066119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90612f11565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af89061339c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b679061342e565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6867e944970fe7ede3b1a987e85026d725a5faa1e05cc2f89ec2a7a27701c3f560405160405180910390a250565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ca06119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2490612f11565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61dead81565b610df96119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7d90612f11565b60405180910390fd5b600b60149054906101000a900460ff1615610ed6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecd9061349a565b60405180910390fd5b6001600b60156101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff0219169083151502179055507f0d151bf744092c3011c9f50766da412cca73acdbcaa74b879a5858adc258f93560405160405180910390a1565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4d554e4559000000000000000000000000000000000000000000000000000000815250905090565b610fae6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103290612f11565b60405180910390fd5b614e20811115611080576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110779061352c565b60405180910390fd5b6009600a61108e91906130ff565b81611099919061314a565b600581905550807f2d70831e8ba235b516ecf7a8145985014eb4c8fd728d7358dcefeda7b46d081460405160405180910390a250565b60006110e36110dc6119d8565b8484611ba9565b6001905092915050565b6110f56119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117990612f11565b60405180910390fd5b60011515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120c90613598565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7168e8adb718597b3ac83e2dfe415bea8ebaabb57fe933ffac2e0ed93b80718e60405160405180910390a250565b6112bb6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90612f11565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ad9061362a565b60405180910390fd5b600081116113f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f0906131fe565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114329190612de4565b602060405180830381865afa15801561144f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611473919061365f565b8111156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac9061326a565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016115129291906136eb565b6020604051808303816000875af1158015611531573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115559190613729565b50807fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c2260405160405180910390a25050565b61158f6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390612f11565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a6906137a2565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fdff643e1b752e1138794c958b6f565e4f003ba18d45383a40b582de82ced091e60405160405180910390a250565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6117dc6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186090612f11565b60405180910390fd5b80600b60156101000a81548160ff0219169083151502179055508015157f3a9ce3b0c56e8f872f7647ac57385353c6cc3474ddf4b76a77ffbb8ad1fb0ccb60405160405180910390a250565b6118bd6119d8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461194a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194190612f11565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b090613834565b60405180910390fd5b6119c281612659565b50565b600b60149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a46906138c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab590613958565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b9c9190612c98565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f906139ea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7e90613a7c565b60405180910390fd5b60008111611cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc190613b0e565b60405180910390fd5b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d705750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611de157600b60149054906101000a900460ff16611dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbb90613b7a565b60405180910390fd5b606460075483611dd4919061314a565b611dde9190613bc9565b90505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e825750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611e8c57600090505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f375750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f8d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561204857600654821115611fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fce90613c46565b60405180910390fd5b60065482611fe485610c4f565b611fee9190613c66565b111561202f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202690613ce6565b60405180910390fd5b6009600081548092919061204290613d06565b91905055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156120f05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121465750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561219157600654821115612190576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218790613c46565b60405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561221a57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156122705750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122c65750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122e8576064600854836122db919061314a565b6122e59190613bc9565b90505b60006122f330610c4f565b9050600b60169054906101000a900460ff161580156123605750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123785750600b60159054906101000a900460ff165b801561238657506005548110155b801561239457506001600954115b156123be576123a460055461271d565b600047905060008111156123bc576123bb476129d9565b5b505b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612409919061331c565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508183612458919061331c565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a29190613c66565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8486612540919061331c565b60405161254d9190612c98565b60405180910390a360008211156126525781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a99190613c66565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126499190612c98565b60405180910390a35b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600b60166101000a81548160ff0219169083151502179055506000811161277b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277290613d9a565b60405180910390fd5b6000600267ffffffffffffffff81111561279857612797613dba565b5b6040519080825280602002602001820160405280156127c65781602001602082028036833780820191505090505b50905030816000815181106127de576127dd613de9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a99190613e2d565b816001815181106128bd576128bc613de9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061292430600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119e0565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612988959493929190613f53565b600060405180830381600087803b1580156129a257600080fd5b505af11580156129b6573d6000803e3d6000fd5b50505050506000600b60166101000a81548160ff02191690831515021790555050565b60008111612a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1390613d9a565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a84573d6000803e3d6000fd5b5050565b600080fd5b6000819050919050565b612aa081612a8d565b8114612aab57600080fd5b50565b600081359050612abd81612a97565b92915050565b60008060408385031215612ada57612ad9612a88565b5b6000612ae885828601612aae565b9250506020612af985828601612aae565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b3d578082015181840152602081019050612b22565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b6582612b03565b612b6f8185612b0e565b9350612b7f818560208601612b1f565b612b8881612b49565b840191505092915050565b60006020820190508181036000830152612bad8184612b5a565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612be082612bb5565b9050919050565b612bf081612bd5565b8114612bfb57600080fd5b50565b600081359050612c0d81612be7565b92915050565b60008060408385031215612c2a57612c29612a88565b5b6000612c3885828601612bfe565b9250506020612c4985828601612aae565b9150509250929050565b60008115159050919050565b612c6881612c53565b82525050565b6000602082019050612c836000830184612c5f565b92915050565b612c9281612a8d565b82525050565b6000602082019050612cad6000830184612c89565b92915050565b600080600060608486031215612ccc57612ccb612a88565b5b6000612cda86828701612bfe565b9350506020612ceb86828701612bfe565b9250506040612cfc86828701612aae565b9150509250925092565b600060ff82169050919050565b612d1c81612d06565b82525050565b6000602082019050612d376000830184612d13565b92915050565b6000612d4882612bb5565b9050919050565b612d5881612d3d565b8114612d6357600080fd5b50565b600081359050612d7581612d4f565b92915050565b600060208284031215612d9157612d90612a88565b5b6000612d9f84828501612d66565b91505092915050565b600060208284031215612dbe57612dbd612a88565b5b6000612dcc84828501612bfe565b91505092915050565b612dde81612bd5565b82525050565b6000602082019050612df96000830184612dd5565b92915050565b600060208284031215612e1557612e14612a88565b5b6000612e2384828501612aae565b91505092915050565b60008060408385031215612e4357612e42612a88565b5b6000612e5185828601612bfe565b9250506020612e6285828601612bfe565b9150509250929050565b612e7581612c53565b8114612e8057600080fd5b50565b600081359050612e9281612e6c565b92915050565b600060208284031215612eae57612ead612a88565b5b6000612ebc84828501612e83565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612efb602083612b0e565b9150612f0682612ec5565b602082019050919050565b60006020820190508181036000830152612f2a81612eee565b9050919050565b7f7265766572742077726f6e67206665652073657474696e677300000000000000600082015250565b6000612f67601983612b0e565b9150612f7282612f31565b602082019050919050565b60006020820190508181036000830152612f9681612f5a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561302357808604811115612fff57612ffe612f9d565b5b600185161561300e5780820291505b808102905061301c85612fcc565b9450612fe3565b94509492505050565b60008261303c57600190506130f8565b8161304a57600090506130f8565b8160018114613060576002811461306a57613099565b60019150506130f8565b60ff84111561307c5761307b612f9d565b5b8360020a91508482111561309357613092612f9d565b5b506130f8565b5060208310610133831016604e8410600b84101617156130ce5782820a9050838111156130c9576130c8612f9d565b5b6130f8565b6130db8484846001612fd9565b925090508184048111156130f2576130f1612f9d565b5b81810290505b9392505050565b600061310a82612a8d565b915061311583612d06565b92506131427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461302c565b905092915050565b600061315582612a8d565b915061316083612a8d565b925082820261316e81612a8d565b9150828204841483151761318557613184612f9d565b5b5092915050565b7f416d6f756e742073686f756c642062652067726561746572207468616e207a6560008201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b60006131e8602283612b0e565b91506131f38261318c565b604082019050919050565b60006020820190508181036000830152613217816131db565b9050919050565b7f496e73756666696369656e7420416d6f756e7400000000000000000000000000600082015250565b6000613254601383612b0e565b915061325f8261321e565b602082019050919050565b6000602082019050818103600083015261328381613247565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006132e6602883612b0e565b91506132f18261328a565b604082019050919050565b60006020820190508181036000830152613315816132d9565b9050919050565b600061332782612a8d565b915061333283612a8d565b925082820390508181111561334a57613349612f9d565b5b92915050565b7f43412077696c6c206e6f74206265207468652046656520526563696576657200600082015250565b6000613386601f83612b0e565b915061339182613350565b602082019050919050565b600060208201905081810360008301526133b581613379565b9050919050565b7f3020616464792077696c6c206e6f74206265207468652066656520526563696560008201527f7665720000000000000000000000000000000000000000000000000000000000602082015250565b6000613418602383612b0e565b9150613423826133bc565b604082019050919050565b600060208201905081810360008301526134478161340b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613484601783612b0e565b915061348f8261344e565b602082019050919050565b600060208201905081810360008301526134b381613477565b9050919050565b7f616d6f756e74206d757374206265206c657373207468616e206f72206571756160008201527f6c20746f20302e3125206f662074686520737570706c79000000000000000000602082015250565b6000613516603783612b0e565b9150613521826134ba565b604082019050919050565b6000602082019050818103600083015261354581613509565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b6000613582601b83612b0e565b915061358d8261354c565b602082019050919050565b600060208201905081810360008301526135b181613575565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b6000613614603683612b0e565b915061361f826135b8565b604082019050919050565b6000602082019050818103600083015261364381613607565b9050919050565b60008151905061365981612a97565b92915050565b60006020828403121561367557613674612a88565b5b60006136838482850161364a565b91505092915050565b6000819050919050565b60006136b16136ac6136a784612bb5565b61368c565b612bb5565b9050919050565b60006136c382613696565b9050919050565b60006136d5826136b8565b9050919050565b6136e5816136ca565b82525050565b600060408201905061370060008301856136dc565b61370d6020830184612c89565b9392505050565b60008151905061372381612e6c565b92915050565b60006020828403121561373f5761373e612a88565b5b600061374d84828501613714565b91505092915050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b600061378c601b83612b0e565b915061379782613756565b602082019050919050565b600060208201905081810360008301526137bb8161377f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061381e602683612b0e565b9150613829826137c2565b604082019050919050565b6000602082019050818103600083015261384d81613811565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006138b0602483612b0e565b91506138bb82613854565b604082019050919050565b600060208201905081810360008301526138df816138a3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613942602283612b0e565b915061394d826138e6565b604082019050919050565b6000602082019050818103600083015261397181613935565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139d4602583612b0e565b91506139df82613978565b604082019050919050565b60006020820190508181036000830152613a03816139c7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a66602383612b0e565b9150613a7182613a0a565b604082019050919050565b60006020820190508181036000830152613a9581613a59565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613af8602983612b0e565b9150613b0382613a9c565b604082019050919050565b60006020820190508181036000830152613b2781613aeb565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000613b64601383612b0e565b9150613b6f82613b2e565b602082019050919050565b60006020820190508181036000830152613b9381613b57565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613bd482612a8d565b9150613bdf83612a8d565b925082613bef57613bee613b9a565b5b828204905092915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000613c30601983612b0e565b9150613c3b82613bfa565b602082019050919050565b60006020820190508181036000830152613c5f81613c23565b9050919050565b6000613c7182612a8d565b9150613c7c83612a8d565b9250828201905080821115613c9457613c93612f9d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613cd0601a83612b0e565b9150613cdb82613c9a565b602082019050919050565b60006020820190508181036000830152613cff81613cc3565b9050919050565b6000613d1182612a8d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d4357613d42612f9d565b5b600182019050919050565b7f616d6f756e74206d7573742062652067726565746572207468616e2030000000600082015250565b6000613d84601d83612b0e565b9150613d8f82613d4e565b602082019050919050565b60006020820190508181036000830152613db381613d77565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613e2781612be7565b92915050565b600060208284031215613e4357613e42612a88565b5b6000613e5184828501613e18565b91505092915050565b6000819050919050565b6000613e7f613e7a613e7584613e5a565b61368c565b612a8d565b9050919050565b613e8f81613e64565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613eca81612bd5565b82525050565b6000613edc8383613ec1565b60208301905092915050565b6000602082019050919050565b6000613f0082613e95565b613f0a8185613ea0565b9350613f1583613eb1565b8060005b83811015613f46578151613f2d8882613ed0565b9750613f3883613ee8565b925050600181019050613f19565b5085935050505092915050565b600060a082019050613f686000830188612c89565b613f756020830187613e86565b8181036040830152613f878186613ef5565b9050613f966060830185612dd5565b613fa36080830184612c89565b969550505050505056fea2646970667358221220e5b9600a51853b1341ec46001918c5b17abebf64a3a161eb20d3cf3c1bc5165d64736f6c63430008130033

Deployed Bytecode Sourcemap

2815:10236:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10294:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5637:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6456:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5908:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12663:385;;;;;;;;;;;;;:::i;:::-;;6623:410;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5819:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10522:77;;;;;;;;;;;;;:::i;:::-;;10751:373;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6009:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1900:148;;;;;;;;;;;;;:::i;:::-;;3053:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11914:210;;;;;;;;;;;;;:::i;:::-;;3455:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1284:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5726:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11650:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6134:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11136:240;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12176:476;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11387:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6307:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10609:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1494:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3709:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10294:218;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10394:2:::1;10383:7;:13;;:31;;;;;10412:2;10400:8;:14;;10383:31;10375:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10466:7;10455:8;:18;;;;10496:8;10484:9;:20;;;;10294:218:::0;;:::o;5637:83::-;5674:13;5707:5;;;;;;;;;;;;;;;;;5700:12;;5637:83;:::o;6456:161::-;6531:4;6548:39;6557:12;:10;:12::i;:::-;6571:7;6580:6;6548:8;:39::i;:::-;6605:4;6598:11;;6456:161;;;;:::o;5908:95::-;5961:7;3226:1;3279:2;:13;;;;:::i;:::-;3269:7;:23;;;;:::i;:::-;5981:14;;5908:95;:::o;12663:385::-;12716:26;12745:21;12716:50;;12806:1;12785:18;:22;12777:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;12887:21;12865:18;:43;;12857:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;12959:15;;;;;;;;;;;12943:42;;:62;12986:18;12943:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13019:21;;;;;;;;;;12705:343;12663:385::o;6623:410::-;6721:4;6738:24;6765:11;:19;6777:6;6765:19;;;;;;;;;;;;;;;:33;6785:12;:10;:12::i;:::-;6765:33;;;;;;;;;;;;;;;;6738:60;;6837:6;6817:16;:26;;6809:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;6899:36;6909:6;6917:9;6928:6;6899:9;:36::i;:::-;6946:57;6955:6;6963:12;:10;:12::i;:::-;6996:6;6977:16;:25;;;;:::i;:::-;6946:8;:57::i;:::-;7021:4;7014:11;;;6623:410;;;;;:::o;5819:83::-;5860:5;3226:1;5878:16;;5819:83;:::o;10522:77::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3226:1:::1;3279:2;:13;;;;:::i;:::-;3269:7;:23;;;;:::i;:::-;10576:11;:21;;;;10522:77::o:0;10751:373::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10866:4:::1;10844:27;;:10;:27;;::::0;10836:71:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10947:1;10925:24;;:10;:24;;::::0;10917:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11017:10;10999:15;;:28;;;;;;;;;;;;;;;;;;11069:4;11036:18;:30;11055:10;11036:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;11105:10;11085:31;;;;;;;;;;;;10751:373:::0;:::o;6009:119::-;6075:7;6102:9;:18;6112:7;6102:18;;;;;;;;;;;;;;;;6095:25;;6009:119;;;:::o;1900:148::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2007:1:::1;1970:40;;1991:6;::::0;::::1;;;;;;;;1970:40;;;;;;;;;;;;2038:1;2021:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1900:148::o:0;3053:79::-;3090:42;3053:79;:::o;11914:210::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11980:11:::1;;;;;;;;;;;11979:12;11971:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12047:4;12029:15;;:22;;;;;;;;;;;;;;;;;;12077:4;12063:11;;:18;;;;;;;;;;;;;;;;;;12096:20;;;;;;;;;;11914:210::o:0;3455:50::-;;;;:::o;1284:79::-;1322:7;1349:6;;;;;;;;;;;1342:13;;1284:79;:::o;5726:87::-;5765:13;5798:7;;;;;;;;;;;;;;;;;5791:14;;5726:87;:::o;11650:252::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11742:5:::1;11732:6;:15;;11724:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;3226:1;11840:2;:13;;;;:::i;:::-;11831:6;:22;;;;:::i;:::-;11818:10;:35;;;;11887:6;11865:29;;;;;;;;;;11650:252:::0;:::o;6134:167::-;6212:4;6229:42;6239:12;:10;:12::i;:::-;6253:9;6264:6;6229:9;:42::i;:::-;6289:4;6282:11;;6134:167;;;;:::o;11136:240::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11248:4:::1;11217:35;;:18;:27;11236:7;11217:27;;;;;;;;;;;;;;;;;;;;;;;;;:35;;::::0;11209:74:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11323:4;11293:18;:27;11312:7;11293:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11361:7;11339:30;;;;;;;;;;;;11136:240:::0;:::o;12176:476::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12306:4:::1;12284:27;;:10;:27;;::::0;12276:94:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12399:1;12389:7;:11;12381:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;12476:10;12469:28;;;12506:4;12469:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12458:7;:54;;12450:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;12554:10;12547:27;;;12575:15;;;;;;;;;;;12592:7;12547:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12635:7;12614:29;;;;;;;;;;12176:476:::0;;:::o;11387:252::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11505:5:::1;11474:36;;:18;:27;11493:7;11474:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;::::0;11466:76:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11583:5;11553:18;:27;11572:7;11553:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11623:7;11601:30;;;;;;;;;;;;11387:252:::0;:::o;6307:143::-;6388:7;6415:11;:18;6427:5;6415:18;;;;;;;;;;;;;;;:27;6434:7;6415:27;;;;;;;;;;;;;;;;6408:34;;6307:143;;;;:::o;10609:132::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10693:5:::1;10675:15;;:23;;;;;;;;;;;;;;;;;;10733:5;10710:29;;;;;;;;;;;;10609:132:::0;:::o;1494:203::-;1419:12;:10;:12::i;:::-;1409:22;;:6;;;;;;;;;;:22;;;1401:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1605:1:::1;1585:22;;:8;:22;;::::0;1577:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1661:28;1680:8;1661:18;:28::i;:::-;1494:203:::0;:::o;3709:31::-;;;;;;;;;;;;;:::o;190:98::-;243:7;270:10;263:17;;190:98;:::o;7039:335::-;7149:1;7132:19;;:5;:19;;;7124:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7230:1;7211:21;;:7;:21;;;7203:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7312:6;7282:11;:18;7294:5;7282:18;;;;;;;;;;;;;;;:27;7301:7;7282:27;;;;;;;;;;;;;;;:36;;;;7350:7;7334:32;;7343:5;7334:32;;;7359:6;7334:32;;;;;;:::i;:::-;;;;;;;;7039:335;;;:::o;7380:2173::-;7484:1;7468:18;;:4;:18;;;7460:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7561:1;7547:16;;:2;:16;;;7539:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7631:1;7622:6;:10;7614:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7689:14;7723:18;:24;7742:4;7723:24;;;;;;;;;;;;;;;;;;;;;;;;;7722:25;:52;;;;;7752:18;:22;7771:2;7752:22;;;;;;;;;;;;;;;;;;;;;;;;;7751:23;7722:52;7718:189;;;7799:11;;;;;;;;;;;7791:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;7891:3;7878:8;;7868:6;:19;;;;:::i;:::-;:27;;;;:::i;:::-;7859:36;;7718:189;7932:18;:24;7951:4;7932:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7960:18;:22;7979:2;7960:22;;;;;;;;;;;;;;;;;;;;;;;;;7932:50;7928:93;;;8008:1;7999:10;;7928:93;8056:13;;;;;;;;;;;8048:21;;:4;:21;;;:55;;;;;8087:15;;;;;;;;;;;8073:30;;:2;:30;;;;8048:55;:82;;;;;8108:18;:22;8127:2;8108:22;;;;;;;;;;;;;;;;;;;;;;;;;8107:23;8048:82;8044:296;;;8166:11;;8156:6;:21;;8148:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8257:11;;8247:6;8231:13;8241:2;8231:9;:13::i;:::-;:22;;;;:::i;:::-;:37;;8223:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;8316:8;;:10;;;;;;;;;:::i;:::-;;;;;;8044:296;8375:13;;;;;;;;;;;8367:21;;:4;:21;;;;:50;;;;;8393:18;:24;8412:4;8393:24;;;;;;;;;;;;;;;;;;;;;;;;;8392:25;8367:50;:77;;;;;8422:18;:22;8441:2;8422:22;;;;;;;;;;;;;;;;;;;;;;;;;8421:23;8367:77;8363:172;;;8480:11;;8470:6;:21;;8462:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8363:172;8567:13;;;;;;;;;;;8561:19;;:2;:19;;;:44;;;;;8600:4;8584:21;;:4;:21;;;;8561:44;:73;;;;;8610:18;:24;8629:4;8610:24;;;;;;;;;;;;;;;;;;;;;;;;;8609:25;8561:73;:100;;;;;8639:18;:22;8658:2;8639:22;;;;;;;;;;;;;;;;;;;;;;;;;8638:23;8561:100;8557:203;;;8718:3;8704:9;;8694:6;:20;;;;:::i;:::-;:28;;;;:::i;:::-;8685:37;;8557:203;8776:28;8807:24;8825:4;8807:9;:24::i;:::-;8776:55;;8851:6;;;;;;;;;;;8850:7;:32;;;;;8869:13;;;;;;;;;;;8861:21;;:4;:21;;;;8850:32;:51;;;;;8886:15;;;;;;;;;;;8850:51;:89;;;;;8929:10;;8905:20;:34;;8850:89;:105;;;;;8954:1;8943:8;;:12;8850:105;8846:365;;;8976:28;8993:10;;8976:16;:28::i;:::-;9022:26;9051:21;9022:50;;9115:1;9094:18;:22;9091:105;;;9141:35;9154:21;9141:12;:35::i;:::-;9091:105;8957:254;8846:365;9257:6;9239:9;:15;9249:4;9239:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;9221:9;:15;9231:4;9221:15;;;;;;;;;;;;;;;:42;;;;9318:6;9308;:17;;;;:::i;:::-;9291:9;:13;9301:2;9291:13;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;9275:9;:13;9285:2;9275:13;;;;;;;;;;;;;;;:51;;;;9357:2;9342:37;;9351:4;9342:37;;;9371:6;9361;:17;;;;:::i;:::-;9342:37;;;;;;:::i;:::-;;;;;;;;9403:1;9394:6;:10;9391:155;;;9473:6;9445:9;:24;9463:4;9445:24;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;9418:9;:24;9436:4;9418:24;;;;;;;;;;;;;;;:62;;;;9521:4;9498:36;;9507:4;9498:36;;;9527:6;9498:36;;;;;;:::i;:::-;;;;;;;;9391:155;7449:2104;;7380:2173;;;:::o;1703:191::-;1777:16;1796:6;;;;;;;;;;;1777:25;;1822:8;1813:6;;:17;;;;;;;;;;;;;;;;;;1877:8;1846:40;;1867:8;1846:40;;;;;;;;;;;;1766:128;1703:191;:::o;9562:551::-;4306:4;4297:6;;:13;;;;;;;;;;;;;;;;;;9662:1:::1;9648:11;:15;9640:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9708:21;9746:1;9732:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9708:40;;9777:4;9759;9764:1;9759:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9803:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9793:4;9798:1;9793:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9836:62;9853:4;9868:15;;;;;;;;;;;9886:11;9836:8;:62::i;:::-;9909:15;;;;;;;;;;;:66;;;9990:11;10016:1;10032:4;10059;10079:15;9909:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9629:484;4342:5:::0;4333:6;;:14;;;;;;;;;;;;;;;;;;9562:551;:::o;10125:159::-;10198:1;10189:6;:10;10181:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;10244:15;;;;;;;;;;;:24;;:32;10269:6;10244:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10125:159;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:99::-;1222:6;1256:5;1250:12;1240:22;;1170:99;;;:::o;1275:169::-;1359:11;1393:6;1388:3;1381:19;1433:4;1428:3;1424:14;1409:29;;1275:169;;;;:::o;1450:246::-;1531:1;1541:113;1555:6;1552:1;1549:13;1541:113;;;1640:1;1635:3;1631:11;1625:18;1621:1;1616:3;1612:11;1605:39;1577:2;1574:1;1570:10;1565:15;;1541:113;;;1688:1;1679:6;1674:3;1670:16;1663:27;1512:184;1450:246;;;:::o;1702:102::-;1743:6;1794:2;1790:7;1785:2;1778:5;1774:14;1770:28;1760:38;;1702:102;;;:::o;1810:377::-;1898:3;1926:39;1959:5;1926:39;:::i;:::-;1981:71;2045:6;2040:3;1981:71;:::i;:::-;1974:78;;2061:65;2119:6;2114:3;2107:4;2100:5;2096:16;2061:65;:::i;:::-;2151:29;2173:6;2151:29;:::i;:::-;2146:3;2142:39;2135:46;;1902:285;1810:377;;;;:::o;2193:313::-;2306:4;2344:2;2333:9;2329:18;2321:26;;2393:9;2387:4;2383:20;2379:1;2368:9;2364:17;2357:47;2421:78;2494:4;2485:6;2421:78;:::i;:::-;2413:86;;2193:313;;;;:::o;2512:126::-;2549:7;2589:42;2582:5;2578:54;2567:65;;2512:126;;;:::o;2644:96::-;2681:7;2710:24;2728:5;2710:24;:::i;:::-;2699:35;;2644:96;;;:::o;2746:122::-;2819:24;2837:5;2819:24;:::i;:::-;2812:5;2809:35;2799:63;;2858:1;2855;2848:12;2799:63;2746:122;:::o;2874:139::-;2920:5;2958:6;2945:20;2936:29;;2974:33;3001:5;2974:33;:::i;:::-;2874:139;;;;:::o;3019:474::-;3087:6;3095;3144:2;3132:9;3123:7;3119:23;3115:32;3112:119;;;3150:79;;:::i;:::-;3112:119;3270:1;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3241:117;3397:2;3423:53;3468:7;3459:6;3448:9;3444:22;3423:53;:::i;:::-;3413:63;;3368:118;3019:474;;;;;:::o;3499:90::-;3533:7;3576:5;3569:13;3562:21;3551:32;;3499:90;;;:::o;3595:109::-;3676:21;3691:5;3676:21;:::i;:::-;3671:3;3664:34;3595:109;;:::o;3710:210::-;3797:4;3835:2;3824:9;3820:18;3812:26;;3848:65;3910:1;3899:9;3895:17;3886:6;3848:65;:::i;:::-;3710:210;;;;:::o;3926:118::-;4013:24;4031:5;4013:24;:::i;:::-;4008:3;4001:37;3926:118;;:::o;4050:222::-;4143:4;4181:2;4170:9;4166:18;4158:26;;4194:71;4262:1;4251:9;4247:17;4238:6;4194:71;:::i;:::-;4050:222;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:104::-;5378:7;5407:24;5425:5;5407:24;:::i;:::-;5396:35;;5333:104;;;:::o;5443:138::-;5524:32;5550:5;5524:32;:::i;:::-;5517:5;5514:43;5504:71;;5571:1;5568;5561:12;5504:71;5443:138;:::o;5587:155::-;5641:5;5679:6;5666:20;5657:29;;5695:41;5730:5;5695:41;:::i;:::-;5587:155;;;;:::o;5748:345::-;5815:6;5864:2;5852:9;5843:7;5839:23;5835:32;5832:119;;;5870:79;;:::i;:::-;5832:119;5990:1;6015:61;6068:7;6059:6;6048:9;6044:22;6015:61;:::i;:::-;6005:71;;5961:125;5748:345;;;;:::o;6099:329::-;6158:6;6207:2;6195:9;6186:7;6182:23;6178:32;6175:119;;;6213:79;;:::i;:::-;6175:119;6333:1;6358:53;6403:7;6394:6;6383:9;6379:22;6358:53;:::i;:::-;6348:63;;6304:117;6099:329;;;;:::o;6434:118::-;6521:24;6539:5;6521:24;:::i;:::-;6516:3;6509:37;6434:118;;:::o;6558:222::-;6651:4;6689:2;6678:9;6674:18;6666:26;;6702:71;6770:1;6759:9;6755:17;6746:6;6702:71;:::i;:::-;6558:222;;;;:::o;6786:329::-;6845:6;6894:2;6882:9;6873:7;6869:23;6865:32;6862:119;;;6900:79;;:::i;:::-;6862:119;7020:1;7045:53;7090:7;7081:6;7070:9;7066:22;7045:53;:::i;:::-;7035:63;;6991:117;6786:329;;;;:::o;7121:474::-;7189:6;7197;7246:2;7234:9;7225:7;7221:23;7217:32;7214:119;;;7252:79;;:::i;:::-;7214:119;7372:1;7397:53;7442:7;7433:6;7422:9;7418:22;7397:53;:::i;:::-;7387:63;;7343:117;7499:2;7525:53;7570:7;7561:6;7550:9;7546:22;7525:53;:::i;:::-;7515:63;;7470:118;7121:474;;;;;:::o;7601:116::-;7671:21;7686:5;7671:21;:::i;:::-;7664:5;7661:32;7651:60;;7707:1;7704;7697:12;7651:60;7601:116;:::o;7723:133::-;7766:5;7804:6;7791:20;7782:29;;7820:30;7844:5;7820:30;:::i;:::-;7723:133;;;;:::o;7862:323::-;7918:6;7967:2;7955:9;7946:7;7942:23;7938:32;7935:119;;;7973:79;;:::i;:::-;7935:119;8093:1;8118:50;8160:7;8151:6;8140:9;8136:22;8118:50;:::i;:::-;8108:60;;8064:114;7862:323;;;;:::o;8191:182::-;8331:34;8327:1;8319:6;8315:14;8308:58;8191:182;:::o;8379:366::-;8521:3;8542:67;8606:2;8601:3;8542:67;:::i;:::-;8535:74;;8618:93;8707:3;8618:93;:::i;:::-;8736:2;8731:3;8727:12;8720:19;;8379:366;;;:::o;8751:419::-;8917:4;8955:2;8944:9;8940:18;8932:26;;9004:9;8998:4;8994:20;8990:1;8979:9;8975:17;8968:47;9032:131;9158:4;9032:131;:::i;:::-;9024:139;;8751:419;;;:::o;9176:175::-;9316:27;9312:1;9304:6;9300:14;9293:51;9176:175;:::o;9357:366::-;9499:3;9520:67;9584:2;9579:3;9520:67;:::i;:::-;9513:74;;9596:93;9685:3;9596:93;:::i;:::-;9714:2;9709:3;9705:12;9698:19;;9357:366;;;:::o;9729:419::-;9895:4;9933:2;9922:9;9918:18;9910:26;;9982:9;9976:4;9972:20;9968:1;9957:9;9953:17;9946:47;10010:131;10136:4;10010:131;:::i;:::-;10002:139;;9729:419;;;:::o;10154:180::-;10202:77;10199:1;10192:88;10299:4;10296:1;10289:15;10323:4;10320:1;10313:15;10340:102;10382:8;10429:5;10426:1;10422:13;10401:34;;10340:102;;;:::o;10448:848::-;10509:5;10516:4;10540:6;10531:15;;10564:5;10555:14;;10578:712;10599:1;10589:8;10586:15;10578:712;;;10694:4;10689:3;10685:14;10679:4;10676:24;10673:50;;;10703:18;;:::i;:::-;10673:50;10753:1;10743:8;10739:16;10736:451;;;11168:4;11161:5;11157:16;11148:25;;10736:451;11218:4;11212;11208:15;11200:23;;11248:32;11271:8;11248:32;:::i;:::-;11236:44;;10578:712;;;10448:848;;;;;;;:::o;11302:1073::-;11356:5;11547:8;11537:40;;11568:1;11559:10;;11570:5;;11537:40;11596:4;11586:36;;11613:1;11604:10;;11615:5;;11586:36;11682:4;11730:1;11725:27;;;;11766:1;11761:191;;;;11675:277;;11725:27;11743:1;11734:10;;11745:5;;;11761:191;11806:3;11796:8;11793:17;11790:43;;;11813:18;;:::i;:::-;11790:43;11862:8;11859:1;11855:16;11846:25;;11897:3;11890:5;11887:14;11884:40;;;11904:18;;:::i;:::-;11884:40;11937:5;;;11675:277;;12061:2;12051:8;12048:16;12042:3;12036:4;12033:13;12029:36;12011:2;12001:8;11998:16;11993:2;11987:4;11984:12;11980:35;11964:111;11961:246;;;12117:8;12111:4;12107:19;12098:28;;12152:3;12145:5;12142:14;12139:40;;;12159:18;;:::i;:::-;12139:40;12192:5;;11961:246;12232:42;12270:3;12260:8;12254:4;12251:1;12232:42;:::i;:::-;12217:57;;;;12306:4;12301:3;12297:14;12290:5;12287:25;12284:51;;;12315:18;;:::i;:::-;12284:51;12364:4;12357:5;12353:16;12344:25;;11302:1073;;;;;;:::o;12381:281::-;12439:5;12463:23;12481:4;12463:23;:::i;:::-;12455:31;;12507:25;12523:8;12507:25;:::i;:::-;12495:37;;12551:104;12588:66;12578:8;12572:4;12551:104;:::i;:::-;12542:113;;12381:281;;;;:::o;12668:410::-;12708:7;12731:20;12749:1;12731:20;:::i;:::-;12726:25;;12765:20;12783:1;12765:20;:::i;:::-;12760:25;;12820:1;12817;12813:9;12842:30;12860:11;12842:30;:::i;:::-;12831:41;;13021:1;13012:7;13008:15;13005:1;13002:22;12982:1;12975:9;12955:83;12932:139;;13051:18;;:::i;:::-;12932:139;12716:362;12668:410;;;;:::o;13084:221::-;13224:34;13220:1;13212:6;13208:14;13201:58;13293:4;13288:2;13280:6;13276:15;13269:29;13084:221;:::o;13311:366::-;13453:3;13474:67;13538:2;13533:3;13474:67;:::i;:::-;13467:74;;13550:93;13639:3;13550:93;:::i;:::-;13668:2;13663:3;13659:12;13652:19;;13311:366;;;:::o;13683:419::-;13849:4;13887:2;13876:9;13872:18;13864:26;;13936:9;13930:4;13926:20;13922:1;13911:9;13907:17;13900:47;13964:131;14090:4;13964:131;:::i;:::-;13956:139;;13683:419;;;:::o;14108:169::-;14248:21;14244:1;14236:6;14232:14;14225:45;14108:169;:::o;14283:366::-;14425:3;14446:67;14510:2;14505:3;14446:67;:::i;:::-;14439:74;;14522:93;14611:3;14522:93;:::i;:::-;14640:2;14635:3;14631:12;14624:19;;14283:366;;;:::o;14655:419::-;14821:4;14859:2;14848:9;14844:18;14836:26;;14908:9;14902:4;14898:20;14894:1;14883:9;14879:17;14872:47;14936:131;15062:4;14936:131;:::i;:::-;14928:139;;14655:419;;;:::o;15080:227::-;15220:34;15216:1;15208:6;15204:14;15197:58;15289:10;15284:2;15276:6;15272:15;15265:35;15080:227;:::o;15313:366::-;15455:3;15476:67;15540:2;15535:3;15476:67;:::i;:::-;15469:74;;15552:93;15641:3;15552:93;:::i;:::-;15670:2;15665:3;15661:12;15654:19;;15313:366;;;:::o;15685:419::-;15851:4;15889:2;15878:9;15874:18;15866:26;;15938:9;15932:4;15928:20;15924:1;15913:9;15909:17;15902:47;15966:131;16092:4;15966:131;:::i;:::-;15958:139;;15685:419;;;:::o;16110:194::-;16150:4;16170:20;16188:1;16170:20;:::i;:::-;16165:25;;16204:20;16222:1;16204:20;:::i;:::-;16199:25;;16248:1;16245;16241:9;16233:17;;16272:1;16266:4;16263:11;16260:37;;;16277:18;;:::i;:::-;16260:37;16110:194;;;;:::o;16310:181::-;16450:33;16446:1;16438:6;16434:14;16427:57;16310:181;:::o;16497:366::-;16639:3;16660:67;16724:2;16719:3;16660:67;:::i;:::-;16653:74;;16736:93;16825:3;16736:93;:::i;:::-;16854:2;16849:3;16845:12;16838:19;;16497:366;;;:::o;16869:419::-;17035:4;17073:2;17062:9;17058:18;17050:26;;17122:9;17116:4;17112:20;17108:1;17097:9;17093:17;17086:47;17150:131;17276:4;17150:131;:::i;:::-;17142:139;;16869:419;;;:::o;17294:222::-;17434:34;17430:1;17422:6;17418:14;17411:58;17503:5;17498:2;17490:6;17486:15;17479:30;17294:222;:::o;17522:366::-;17664:3;17685:67;17749:2;17744:3;17685:67;:::i;:::-;17678:74;;17761:93;17850:3;17761:93;:::i;:::-;17879:2;17874:3;17870:12;17863:19;;17522:366;;;:::o;17894:419::-;18060:4;18098:2;18087:9;18083:18;18075:26;;18147:9;18141:4;18137:20;18133:1;18122:9;18118:17;18111:47;18175:131;18301:4;18175:131;:::i;:::-;18167:139;;17894:419;;;:::o;18319:173::-;18459:25;18455:1;18447:6;18443:14;18436:49;18319:173;:::o;18498:366::-;18640:3;18661:67;18725:2;18720:3;18661:67;:::i;:::-;18654:74;;18737:93;18826:3;18737:93;:::i;:::-;18855:2;18850:3;18846:12;18839:19;;18498:366;;;:::o;18870:419::-;19036:4;19074:2;19063:9;19059:18;19051:26;;19123:9;19117:4;19113:20;19109:1;19098:9;19094:17;19087:47;19151:131;19277:4;19151:131;:::i;:::-;19143:139;;18870:419;;;:::o;19295:242::-;19435:34;19431:1;19423:6;19419:14;19412:58;19504:25;19499:2;19491:6;19487:15;19480:50;19295:242;:::o;19543:366::-;19685:3;19706:67;19770:2;19765:3;19706:67;:::i;:::-;19699:74;;19782:93;19871:3;19782:93;:::i;:::-;19900:2;19895:3;19891:12;19884:19;;19543:366;;;:::o;19915:419::-;20081:4;20119:2;20108:9;20104:18;20096:26;;20168:9;20162:4;20158:20;20154:1;20143:9;20139:17;20132:47;20196:131;20322:4;20196:131;:::i;:::-;20188:139;;19915:419;;;:::o;20340:177::-;20480:29;20476:1;20468:6;20464:14;20457:53;20340:177;:::o;20523:366::-;20665:3;20686:67;20750:2;20745:3;20686:67;:::i;:::-;20679:74;;20762:93;20851:3;20762:93;:::i;:::-;20880:2;20875:3;20871:12;20864:19;;20523:366;;;:::o;20895:419::-;21061:4;21099:2;21088:9;21084:18;21076:26;;21148:9;21142:4;21138:20;21134:1;21123:9;21119:17;21112:47;21176:131;21302:4;21176:131;:::i;:::-;21168:139;;20895:419;;;:::o;21320:241::-;21460:34;21456:1;21448:6;21444:14;21437:58;21529:24;21524:2;21516:6;21512:15;21505:49;21320:241;:::o;21567:366::-;21709:3;21730:67;21794:2;21789:3;21730:67;:::i;:::-;21723:74;;21806:93;21895:3;21806:93;:::i;:::-;21924:2;21919:3;21915:12;21908:19;;21567:366;;;:::o;21939:419::-;22105:4;22143:2;22132:9;22128:18;22120:26;;22192:9;22186:4;22182:20;22178:1;22167:9;22163:17;22156:47;22220:131;22346:4;22220:131;:::i;:::-;22212:139;;21939:419;;;:::o;22364:143::-;22421:5;22452:6;22446:13;22437:22;;22468:33;22495:5;22468:33;:::i;:::-;22364:143;;;;:::o;22513:351::-;22583:6;22632:2;22620:9;22611:7;22607:23;22603:32;22600:119;;;22638:79;;:::i;:::-;22600:119;22758:1;22783:64;22839:7;22830:6;22819:9;22815:22;22783:64;:::i;:::-;22773:74;;22729:128;22513:351;;;;:::o;22870:60::-;22898:3;22919:5;22912:12;;22870:60;;;:::o;22936:142::-;22986:9;23019:53;23037:34;23046:24;23064:5;23046:24;:::i;:::-;23037:34;:::i;:::-;23019:53;:::i;:::-;23006:66;;22936:142;;;:::o;23084:126::-;23134:9;23167:37;23198:5;23167:37;:::i;:::-;23154:50;;23084:126;;;:::o;23216:134::-;23274:9;23307:37;23338:5;23307:37;:::i;:::-;23294:50;;23216:134;;;:::o;23356:147::-;23451:45;23490:5;23451:45;:::i;:::-;23446:3;23439:58;23356:147;;:::o;23509:348::-;23638:4;23676:2;23665:9;23661:18;23653:26;;23689:79;23765:1;23754:9;23750:17;23741:6;23689:79;:::i;:::-;23778:72;23846:2;23835:9;23831:18;23822:6;23778:72;:::i;:::-;23509:348;;;;;:::o;23863:137::-;23917:5;23948:6;23942:13;23933:22;;23964:30;23988:5;23964:30;:::i;:::-;23863:137;;;;:::o;24006:345::-;24073:6;24122:2;24110:9;24101:7;24097:23;24093:32;24090:119;;;24128:79;;:::i;:::-;24090:119;24248:1;24273:61;24326:7;24317:6;24306:9;24302:22;24273:61;:::i;:::-;24263:71;;24219:125;24006:345;;;;:::o;24357:177::-;24497:29;24493:1;24485:6;24481:14;24474:53;24357:177;:::o;24540:366::-;24682:3;24703:67;24767:2;24762:3;24703:67;:::i;:::-;24696:74;;24779:93;24868:3;24779:93;:::i;:::-;24897:2;24892:3;24888:12;24881:19;;24540:366;;;:::o;24912:419::-;25078:4;25116:2;25105:9;25101:18;25093:26;;25165:9;25159:4;25155:20;25151:1;25140:9;25136:17;25129:47;25193:131;25319:4;25193:131;:::i;:::-;25185:139;;24912:419;;;:::o;25337:225::-;25477:34;25473:1;25465:6;25461:14;25454:58;25546:8;25541:2;25533:6;25529:15;25522:33;25337:225;:::o;25568:366::-;25710:3;25731:67;25795:2;25790:3;25731:67;:::i;:::-;25724:74;;25807:93;25896:3;25807:93;:::i;:::-;25925:2;25920:3;25916:12;25909:19;;25568:366;;;:::o;25940:419::-;26106:4;26144:2;26133:9;26129:18;26121:26;;26193:9;26187:4;26183:20;26179:1;26168:9;26164:17;26157:47;26221:131;26347:4;26221:131;:::i;:::-;26213:139;;25940:419;;;:::o;26365:223::-;26505:34;26501:1;26493:6;26489:14;26482:58;26574:6;26569:2;26561:6;26557:15;26550:31;26365:223;:::o;26594:366::-;26736:3;26757:67;26821:2;26816:3;26757:67;:::i;:::-;26750:74;;26833:93;26922:3;26833:93;:::i;:::-;26951:2;26946:3;26942:12;26935:19;;26594:366;;;:::o;26966:419::-;27132:4;27170:2;27159:9;27155:18;27147:26;;27219:9;27213:4;27209:20;27205:1;27194:9;27190:17;27183:47;27247:131;27373:4;27247:131;:::i;:::-;27239:139;;26966:419;;;:::o;27391:221::-;27531:34;27527:1;27519:6;27515:14;27508:58;27600:4;27595:2;27587:6;27583:15;27576:29;27391:221;:::o;27618:366::-;27760:3;27781:67;27845:2;27840:3;27781:67;:::i;:::-;27774:74;;27857:93;27946:3;27857:93;:::i;:::-;27975:2;27970:3;27966:12;27959:19;;27618:366;;;:::o;27990:419::-;28156:4;28194:2;28183:9;28179:18;28171:26;;28243:9;28237:4;28233:20;28229:1;28218:9;28214:17;28207:47;28271:131;28397:4;28271:131;:::i;:::-;28263:139;;27990:419;;;:::o;28415:224::-;28555:34;28551:1;28543:6;28539:14;28532:58;28624:7;28619:2;28611:6;28607:15;28600:32;28415:224;:::o;28645:366::-;28787:3;28808:67;28872:2;28867:3;28808:67;:::i;:::-;28801:74;;28884:93;28973:3;28884:93;:::i;:::-;29002:2;28997:3;28993:12;28986:19;;28645:366;;;:::o;29017:419::-;29183:4;29221:2;29210:9;29206:18;29198:26;;29270:9;29264:4;29260:20;29256:1;29245:9;29241:17;29234:47;29298:131;29424:4;29298:131;:::i;:::-;29290:139;;29017:419;;;:::o;29442:222::-;29582:34;29578:1;29570:6;29566:14;29559:58;29651:5;29646:2;29638:6;29634:15;29627:30;29442:222;:::o;29670:366::-;29812:3;29833:67;29897:2;29892:3;29833:67;:::i;:::-;29826:74;;29909:93;29998:3;29909:93;:::i;:::-;30027:2;30022:3;30018:12;30011:19;;29670:366;;;:::o;30042:419::-;30208:4;30246:2;30235:9;30231:18;30223:26;;30295:9;30289:4;30285:20;30281:1;30270:9;30266:17;30259:47;30323:131;30449:4;30323:131;:::i;:::-;30315:139;;30042:419;;;:::o;30467:228::-;30607:34;30603:1;30595:6;30591:14;30584:58;30676:11;30671:2;30663:6;30659:15;30652:36;30467:228;:::o;30701:366::-;30843:3;30864:67;30928:2;30923:3;30864:67;:::i;:::-;30857:74;;30940:93;31029:3;30940:93;:::i;:::-;31058:2;31053:3;31049:12;31042:19;;30701:366;;;:::o;31073:419::-;31239:4;31277:2;31266:9;31262:18;31254:26;;31326:9;31320:4;31316:20;31312:1;31301:9;31297:17;31290:47;31354:131;31480:4;31354:131;:::i;:::-;31346:139;;31073:419;;;:::o;31498:169::-;31638:21;31634:1;31626:6;31622:14;31615:45;31498:169;:::o;31673:366::-;31815:3;31836:67;31900:2;31895:3;31836:67;:::i;:::-;31829:74;;31912:93;32001:3;31912:93;:::i;:::-;32030:2;32025:3;32021:12;32014:19;;31673:366;;;:::o;32045:419::-;32211:4;32249:2;32238:9;32234:18;32226:26;;32298:9;32292:4;32288:20;32284:1;32273:9;32269:17;32262:47;32326:131;32452:4;32326:131;:::i;:::-;32318:139;;32045:419;;;:::o;32470:180::-;32518:77;32515:1;32508:88;32615:4;32612:1;32605:15;32639:4;32636:1;32629:15;32656:185;32696:1;32713:20;32731:1;32713:20;:::i;:::-;32708:25;;32747:20;32765:1;32747:20;:::i;:::-;32742:25;;32786:1;32776:35;;32791:18;;:::i;:::-;32776:35;32833:1;32830;32826:9;32821:14;;32656:185;;;;:::o;32847:175::-;32987:27;32983:1;32975:6;32971:14;32964:51;32847:175;:::o;33028:366::-;33170:3;33191:67;33255:2;33250:3;33191:67;:::i;:::-;33184:74;;33267:93;33356:3;33267:93;:::i;:::-;33385:2;33380:3;33376:12;33369:19;;33028:366;;;:::o;33400:419::-;33566:4;33604:2;33593:9;33589:18;33581:26;;33653:9;33647:4;33643:20;33639:1;33628:9;33624:17;33617:47;33681:131;33807:4;33681:131;:::i;:::-;33673:139;;33400:419;;;:::o;33825:191::-;33865:3;33884:20;33902:1;33884:20;:::i;:::-;33879:25;;33918:20;33936:1;33918:20;:::i;:::-;33913:25;;33961:1;33958;33954:9;33947:16;;33982:3;33979:1;33976:10;33973:36;;;33989:18;;:::i;:::-;33973:36;33825:191;;;;:::o;34022:176::-;34162:28;34158:1;34150:6;34146:14;34139:52;34022:176;:::o;34204:366::-;34346:3;34367:67;34431:2;34426:3;34367:67;:::i;:::-;34360:74;;34443:93;34532:3;34443:93;:::i;:::-;34561:2;34556:3;34552:12;34545:19;;34204:366;;;:::o;34576:419::-;34742:4;34780:2;34769:9;34765:18;34757:26;;34829:9;34823:4;34819:20;34815:1;34804:9;34800:17;34793:47;34857:131;34983:4;34857:131;:::i;:::-;34849:139;;34576:419;;;:::o;35001:233::-;35040:3;35063:24;35081:5;35063:24;:::i;:::-;35054:33;;35109:66;35102:5;35099:77;35096:103;;35179:18;;:::i;:::-;35096:103;35226:1;35219:5;35215:13;35208:20;;35001:233;;;:::o;35240:179::-;35380:31;35376:1;35368:6;35364:14;35357:55;35240:179;:::o;35425:366::-;35567:3;35588:67;35652:2;35647:3;35588:67;:::i;:::-;35581:74;;35664:93;35753:3;35664:93;:::i;:::-;35782:2;35777:3;35773:12;35766:19;;35425:366;;;:::o;35797:419::-;35963:4;36001:2;35990:9;35986:18;35978:26;;36050:9;36044:4;36040:20;36036:1;36025:9;36021:17;36014:47;36078:131;36204:4;36078:131;:::i;:::-;36070:139;;35797:419;;;:::o;36222:180::-;36270:77;36267:1;36260:88;36367:4;36364:1;36357:15;36391:4;36388:1;36381:15;36408:180;36456:77;36453:1;36446:88;36553:4;36550:1;36543:15;36577:4;36574:1;36567:15;36594:143;36651:5;36682:6;36676:13;36667:22;;36698:33;36725:5;36698:33;:::i;:::-;36594:143;;;;:::o;36743:351::-;36813:6;36862:2;36850:9;36841:7;36837:23;36833:32;36830:119;;;36868:79;;:::i;:::-;36830:119;36988:1;37013:64;37069:7;37060:6;37049:9;37045:22;37013:64;:::i;:::-;37003:74;;36959:128;36743:351;;;;:::o;37100:85::-;37145:7;37174:5;37163:16;;37100:85;;;:::o;37191:158::-;37249:9;37282:61;37300:42;37309:32;37335:5;37309:32;:::i;:::-;37300:42;:::i;:::-;37282:61;:::i;:::-;37269:74;;37191:158;;;:::o;37355:147::-;37450:45;37489:5;37450:45;:::i;:::-;37445:3;37438:58;37355:147;;:::o;37508:114::-;37575:6;37609:5;37603:12;37593:22;;37508:114;;;:::o;37628:184::-;37727:11;37761:6;37756:3;37749:19;37801:4;37796:3;37792:14;37777:29;;37628:184;;;;:::o;37818:132::-;37885:4;37908:3;37900:11;;37938:4;37933:3;37929:14;37921:22;;37818:132;;;:::o;37956:108::-;38033:24;38051:5;38033:24;:::i;:::-;38028:3;38021:37;37956:108;;:::o;38070:179::-;38139:10;38160:46;38202:3;38194:6;38160:46;:::i;:::-;38238:4;38233:3;38229:14;38215:28;;38070:179;;;;:::o;38255:113::-;38325:4;38357;38352:3;38348:14;38340:22;;38255:113;;;:::o;38404:732::-;38523:3;38552:54;38600:5;38552:54;:::i;:::-;38622:86;38701:6;38696:3;38622:86;:::i;:::-;38615:93;;38732:56;38782:5;38732:56;:::i;:::-;38811:7;38842:1;38827:284;38852:6;38849:1;38846:13;38827:284;;;38928:6;38922:13;38955:63;39014:3;38999:13;38955:63;:::i;:::-;38948:70;;39041:60;39094:6;39041:60;:::i;:::-;39031:70;;38887:224;38874:1;38871;38867:9;38862:14;;38827:284;;;38831:14;39127:3;39120:10;;38528:608;;;38404:732;;;;:::o;39142:831::-;39405:4;39443:3;39432:9;39428:19;39420:27;;39457:71;39525:1;39514:9;39510:17;39501:6;39457:71;:::i;:::-;39538:80;39614:2;39603:9;39599:18;39590:6;39538:80;:::i;:::-;39665:9;39659:4;39655:20;39650:2;39639:9;39635:18;39628:48;39693:108;39796:4;39787:6;39693:108;:::i;:::-;39685:116;;39811:72;39879:2;39868:9;39864:18;39855:6;39811:72;:::i;:::-;39893:73;39961:3;39950:9;39946:19;39937:6;39893:73;:::i;:::-;39142:831;;;;;;;;:::o

Swarm Source

ipfs://e5b9600a51853b1341ec46001918c5b17abebf64a3a161eb20d3cf3c1bc5165d
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.