ETH Price: $2,547.32 (-3.78%)
Gas: 1 Gwei

Token

SuperBowl Inu (SBI)
 

Overview

Max Total Supply

1,000,000,000 SBI

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5.26 SBI

Value
$0.00
0x97bafecb09d44afa1886e7d0e378e5aa3007e69c
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:
SBI

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-27
*/

// SPDX-License-Identifier: Unlicensed

//Get ready for the superbowl with us! https://t.me/superbowlinuentry

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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 {
        emit OwnershipTransferred(_owner, _newOwner);
        _owner = _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 swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    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 SBI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**9 * 10**9;
    uint256 private fee1=60;
    uint256 private fee2=60;
    uint256 private WCIBuyFee=10;
    uint256 private pc1=40;
    uint256 private pc2=20;
    uint256 private pc3=20;
    uint256 private pc4=20;
    string private constant _name = "SuperBowl Inu";
    string private constant _symbol = "SBI";
    uint256 private _maxTxAmount = _tTotal.div(50);
    uint256 private _maxWalletAmount = _tTotal.div(50);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _deployer;
    address payable private _buyBackWallet;
    address payable private _marketingWallet;
    address payable private _cexLiquidity;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private WCIBurn = false;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _deployer = payable(msg.sender);
        _buyBackWallet = payable(0x7672c8a5FA046ABAa4d19f7f01f07B826576d87a);
        _marketingWallet = payable(0xCf32C960692d233a01283573a8eAfBd28eECE32F);
        _cexLiquidity = payable(0xf8bb90EBF6CFb5D162777AEd13Cb7fd34B5881B6);
        _tOwned[address(this)] = _tTotal.div(10).mul(8);
        _tOwned[address(0)] = _tTotal.div(10).mul(2);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_deployer] = true;
        _isExcludedFromFee[uniswapV2Pair] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal.div(10).mul(8));
        emit Transfer(address(0),address(0),_tTotal.div(10).mul(2));
    }

    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 _tOwned[account];
    }

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

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

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

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

    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _deployer);
        minBalance = newMin;

    }

    function changePercentage(uint256 _pc1, uint256 _pc2, uint256 _pc3, uint256 _pc4) external {
        require(_msgSender() == _deployer);
        require(_pc1 + _pc2 + _pc3 + _pc4 == 100, "percentages have to add up to 100 you tard");
        pc1 = _pc1;
        pc2 = _pc2;
        pc3 = _pc3;
        pc4 = _pc4;
    }

    function editFees(uint256 _fee1, uint256 _fee2, uint256 _liq) external {
        require(_msgSender() == _deployer);
        require(_fee1 <= 100 && _fee2 <= 100 && _liq <= 100,"fees cannot be higher than 10%");
        fee1 = _fee1;
        fee2 = _fee2;
        WCIBuyFee = _liq;
    }


    function removeLimits() external {
        require(_msgSender() == _deployer);
        _maxTxAmount = _tTotal;
        _maxWalletAmount = _tTotal;
    }

    function excludeFromFees(address target) external {
        require(_msgSender() == _deployer);
        _isExcludedFromFee[target] = 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");
        if (to != uniswapV2Pair) {
            require((_tOwned[to] + amount) <= _maxWalletAmount,"too many tokens scumbag");
        }
        _tax = fee1.add(WCIBuyFee);
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 4 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapTokensForEth(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        if(WCIBurn) {
                            swapEthForWCIAndBurn(contractETHBalance);
                        }
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2.add(WCIBuyFee);
        }		
        _transferStandard(from,to,amount);
    }

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

    function swapEthForWCIAndBurn(uint256 ethAmount) private {
        uint256 buyAmount = ethAmount.div(7);
        address [] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(0xC5a9BC46A7dbe1c6dE493E84A18f02E70E2c5A32);
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: buyAmount}(
            0,
            path,
            address(0xdead),
            block.timestamp
        );
    }
    

    function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }

    
    function sendETHToFee(uint256 amount) private {
        _deployer.transfer(amount.div(100).mul(pc1));
        _buyBackWallet.transfer(amount.div(100).mul(pc2));
        _marketingWallet.transfer(amount.div(100).mul(pc3));
        _cexLiquidity.transfer(amount.div(100).mul(pc4));
    }
    
    function openTrading(address[] memory addresses, uint256[] memory amounts) external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        _isExcludedFromFee[addresses[0]] = true;
        for(uint i=0;i<addresses.length;i++){_tOwned[addresses[i]]=amounts[i]*10**9;}
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (4 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _deployer);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _deployer);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _deployer);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_deployer,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pc1","type":"uint256"},{"internalType":"uint256","name":"_pc2","type":"uint256"},{"internalType":"uint256","name":"_pc3","type":"uint256"},{"internalType":"uint256","name":"_pc4","type":"uint256"}],"name":"changePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee1","type":"uint256"},{"internalType":"uint256","name":"_fee2","type":"uint256"},{"internalType":"uint256","name":"_liq","type":"uint256"}],"name":"editFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableWCIBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052603c600955603c600a55600a600b556028600c556014600d556014600e556014600f556200004a6032670de0b6b3a76400006200094b60201b620015901790919060201c565b601055620000706032670de0b6b3a76400006200094b60201b620015901790919060201c565b601155620000976103e8670de0b6b3a76400006200094b60201b620015901790919060201c565b6012556000601860146101000a81548160ff0219169083151502179055506000601860166101000a81548160ff0219169083151502179055506000601860176101000a81548160ff0219169083151502179055506000620000fd6200099d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737672c8a5fa046abaa4d19f7f01f07b826576d87a601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cf32c960692d233a01283573a8eafbd28eece32f601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f8bb90ebf6cfb5d162777aed13cb7fd34b5881b6601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000318600862000304600a670de0b6b3a76400006200094b60201b620015901790919060201c565b620009a560201b620015da1790919060201c565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000398600262000384600a670de0b6b3a76400006200094b60201b620015901790919060201c565b620009a560201b620015da1790919060201c565b600260008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620003f162000a2960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200064c57600080fd5b505afa15801562000661573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000687919062000ad1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200070c57600080fd5b505afa15801562000721573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000747919062000ad1565b6040518363ffffffff1660e01b81526004016200076692919062000b8d565b602060405180830381600087803b1580156200078157600080fd5b505af115801562000796573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007bc919062000ad1565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000889600862000875600a670de0b6b3a76400006200094b60201b620015901790919060201c565b620009a560201b620015da1790919060201c565b60405162000898919062000c00565b60405180910390a3600073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200092e60026200091a600a670de0b6b3a76400006200094b60201b620015901790919060201c565b620009a560201b620015da1790919060201c565b6040516200093d919062000c00565b60405180910390a362000e23565b60006200099583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000a5260201b60201c565b905092915050565b600033905090565b600080831415620009ba576000905062000a23565b60008284620009ca919062000c71565b9050828482620009db919062000c39565b1462000a1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a159062000bde565b60405180910390fd5b809150505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000a9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a93919062000bba565b60405180910390fd5b506000838562000aad919062000c39565b9050809150509392505050565b60008151905062000acb8162000e09565b92915050565b60006020828403121562000aea5762000ae962000da4565b5b600062000afa8482850162000aba565b91505092915050565b62000b0e8162000cd2565b82525050565b600062000b218262000c1d565b62000b2d818562000c28565b935062000b3f81856020860162000d10565b62000b4a8162000da9565b840191505092915050565b600062000b6460218362000c28565b915062000b718262000dba565b604082019050919050565b62000b878162000d06565b82525050565b600060408201905062000ba4600083018562000b03565b62000bb3602083018462000b03565b9392505050565b6000602082019050818103600083015262000bd6818462000b14565b905092915050565b6000602082019050818103600083015262000bf98162000b55565b9050919050565b600060208201905062000c17600083018462000b7c565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000c468262000d06565b915062000c538362000d06565b92508262000c665762000c6562000d75565b5b828204905092915050565b600062000c7e8262000d06565b915062000c8b8362000d06565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000cc75762000cc662000d46565b5b828202905092915050565b600062000cdf8262000ce6565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000d3057808201518184015260208101905062000d13565b8381111562000d40576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b62000e148162000cd2565b811462000e2057600080fd5b50565b613f838062000e336000396000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c3c8cd801161006f578063c3c8cd8014610461578063ccbf6ae214610478578063dd62ed3e146104a1578063e1f54961146104de578063e57f14e1146104f5578063f2fde38b1461051e57610156565b80638da5cb5b1461035357806395d89b411461037e578063a63748e5146103a9578063a9059cbb146103d2578063b515566a1461040f578063bfe995be1461043857610156565b8063313ce56711610108578063313ce5671461027d5780634ea18fab146102a85780636fc3eaec146102d157806370a08231146102e8578063715018a614610325578063751039fc1461033c57610156565b806306fdde031461015b578063095ea7b31461018657806316114acd146101c357806318160ddd146101ec57806323b872dd14610217578063273123b71461025457610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610547565b60405161017d9190613537565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612eb7565b610584565b6040516101ba91906134d0565b60405180910390f35b3480156101cf57600080fd5b506101ea60048036038101906101e59190612dca565b6105a2565b005b3480156101f857600080fd5b50610201610744565b60405161020e91906136f9565b60405180910390f35b34801561022357600080fd5b5061023e60048036038101906102399190612e64565b610754565b60405161024b91906134d0565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190612dca565b61082d565b005b34801561028957600080fd5b5061029261091d565b60405161029f919061376e565b60405180910390f35b3480156102b457600080fd5b506102cf60048036038101906102ca9190612fe5565b610926565b005b3480156102dd57600080fd5b506102e6610991565b005b3480156102f457600080fd5b5061030f600480360381019061030a9190612dca565b610a03565b60405161031c91906136f9565b60405180910390f35b34801561033157600080fd5b5061033a610a4c565b005b34801561034857600080fd5b50610351610b9f565b005b34801561035f57600080fd5b50610368610c20565b604051610375919061342b565b60405180910390f35b34801561038a57600080fd5b50610393610c49565b6040516103a09190613537565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb919061303f565b610c86565b005b3480156103de57600080fd5b506103f960048036038101906103f49190612eb7565b610d5f565b60405161040691906134d0565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190612ef7565b610d7d565b005b34801561044457600080fd5b5061045f600480360381019061045a91906130e5565b610ea7565b005b34801561046d57600080fd5b50610476610f8e565b005b34801561048457600080fd5b5061049f600480360381019061049a9190612f40565b611008565b005b3480156104ad57600080fd5b506104c860048036038101906104c39190612e24565b61126e565b6040516104d591906136f9565b60405180910390f35b3480156104ea57600080fd5b506104f36112f5565b005b34801561050157600080fd5b5061051c60048036038101906105179190612dca565b611382565b005b34801561052a57600080fd5b5061054560048036038101906105409190612dca565b61143e565b005b60606040518060400160405280600d81526020017f5375706572426f776c20496e7500000000000000000000000000000000000000815250905090565b6000610598610591611655565b848461165d565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105e3611655565b73ffffffffffffffffffffffffffffffffffffffff161461060357600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610680919061342b565b60206040518083038186803b15801561069857600080fd5b505afa1580156106ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d09190613012565b6040518363ffffffff1660e01b81526004016106ed929190613446565b602060405180830381600087803b15801561070757600080fd5b505af115801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190612fb8565b505050565b6000670de0b6b3a7640000905090565b6000610761848484611828565b6108228461076d611655565b61081d85604051806060016040528060288152602001613f2660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107d3611655565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe59092919063ffffffff16565b61165d565b600190509392505050565b610835611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990613619565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610967611655565b73ffffffffffffffffffffffffffffffffffffffff161461098757600080fd5b8060128190555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d2611655565b73ffffffffffffffffffffffffffffffffffffffff16146109f257600080fd5b6000479050610a0081612049565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a54611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890613619565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610be0611655565b73ffffffffffffffffffffffffffffffffffffffff1614610c0057600080fd5b670de0b6b3a7640000601081905550670de0b6b3a7640000601181905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5342490000000000000000000000000000000000000000000000000000000000815250905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cc7611655565b73ffffffffffffffffffffffffffffffffffffffff1614610ce757600080fd5b60648311158015610cf9575060648211155b8015610d06575060648111155b610d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3c90613659565b60405180910390fd5b8260098190555081600a8190555080600b81905550505050565b6000610d73610d6c611655565b8484611828565b6001905092915050565b610d85611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0990613619565b60405180910390fd5b60005b8151811015610ea357600160056000848481518110610e3757610e36613b18565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e9b90613a71565b915050610e15565b5050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ee8611655565b73ffffffffffffffffffffffffffffffffffffffff1614610f0857600080fd5b606481838587610f18919061385b565b610f22919061385b565b610f2c919061385b565b14610f6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6390613599565b60405180910390fd5b83600c8190555082600d8190555081600e8190555080600f8190555050505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fcf611655565b73ffffffffffffffffffffffffffffffffffffffff1614610fef57600080fd5b6000610ffa30610a03565b90506110058161228c565b50565b611010611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461109d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109490613619565b60405180910390fd5b601860159054906101000a900460ff16156110ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e4906136b9565b60405180910390fd5b6111076110f930610a03565b47611102610c20565b612514565b6001600460008460008151811061112157611120613b18565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b825181101561122057633b9aca0082828151811061119e5761119d613b18565b5b60200260200101516111b091906138e2565b600260008584815181106111c7576111c6613b18565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061121890613a71565b91505061117d565b506001601860176101000a81548160ff0219169083151502179055506001601860156101000a81548160ff02191690831515021790555060f042611264919061385b565b6007819055505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611336611655565b73ffffffffffffffffffffffffffffffffffffffff161461135657600080fd5b601860149054906101000a900460ff1615601860146101000a81548160ff021916908315150217905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113c3611655565b73ffffffffffffffffffffffffffffffffffffffff16146113e357600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611446611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ca90613619565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006115d283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612638565b905092915050565b6000808314156115ed576000905061164f565b600082846115fb91906138e2565b905082848261160a91906138b1565b1461164a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611641906135f9565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c490613699565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561173d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611734906135b9565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161181b91906136f9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188f90613679565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ff90613559565b60405180910390fd5b6000811161194b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194290613639565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611a305760115481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119ee919061385b565b1115611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2690613579565b60405180910390fd5b5b611a47600b5460095461269b90919063ffffffff16565b600881905550611a55610c20565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ac35750611a93610c20565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611eb157600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b6c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b7557600080fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c205750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c765750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c83575060075442105b15611d3357601054811115611c9757600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611ce257600080fd5b601e42611cef919061385b565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601860169054906101000a900460ff16158015611d9e5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611db65750601860179054906101000a900460ff165b8015611e0c5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611eb0576007544211611e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4c906136d9565b60405180910390fd5b6000611e6030610a03565b9050601254811115611eae57611e758161228c565b60004790506000811115611eac57601860149054906101000a900460ff1615611ea257611ea1816126f9565b5b611eab47612049565b5b505b505b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611f5c5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fb25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fd557611fce600b54600a5461269b90919063ffffffff16565b6008819055505b611fe083838361294c565b505050565b600083831115829061202d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120249190613537565b60405180910390fd5b506000838561203c919061393c565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6120ad600c5461209f60648661159090919063ffffffff16565b6115da90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156120d8573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61213d600d5461212f60648661159090919063ffffffff16565b6115da90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612168573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6121cd600e546121bf60648661159090919063ffffffff16565b6115da90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156121f8573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61225d600f5461224f60648661159090919063ffffffff16565b6115da90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612288573d6000803e3d6000fd5b5050565b6001601860166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156122c4576122c3613b47565b5b6040519080825280602002602001820160405280156122f25781602001602082028036833780820191505090505b509050308160008151811061230a57612309613b18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156123ac57600080fd5b505afa1580156123c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e49190612df7565b816001815181106123f8576123f7613b18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061245f30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461165d565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124c3959493929190613714565b600060405180830381600087803b1580156124dd57600080fd5b505af11580156124f1573d6000803e3d6000fd5b50505050506000601860166101000a81548160ff02191690831515021790555050565b6001601860166101000a81548160ff02191690831515021790555061255c30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168561165d565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b81526004016125c39695949392919061346f565b6060604051808303818588803b1580156125dc57600080fd5b505af11580156125f0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126159190613092565b5050506000601860166101000a81548160ff021916908315150217905550505050565b6000808311829061267f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126769190613537565b60405180910390fd5b506000838561268e91906138b1565b9050809150509392505050565b60008082846126aa919061385b565b9050838110156126ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e6906135d9565b60405180910390fd5b8091505092915050565b600061270f60078361159090919063ffffffff16565b90506000600267ffffffffffffffff81111561272e5761272d613b47565b5b60405190808252806020026020018201604052801561275c5781602001602082028036833780820191505090505b509050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156127c757600080fd5b505afa1580156127db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ff9190612df7565b8160008151811061281357612812613b18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c5a9bc46a7dbe1c6de493e84a18f02e70e2c5a328160018151811061287657612875613b18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008461dead426040518663ffffffff1660e01b815260040161291594939291906134eb565b6000604051808303818588803b15801561292e57600080fd5b505af1158015612942573d6000803e3d6000fd5b5050505050505050565b60008061295883612b87565b915091506129ae83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdb90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a4382600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ad881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b7891906136f9565b60405180910390a35050505050565b6000806000612bb56103e8612ba7600854876115da90919063ffffffff16565b61159090919063ffffffff16565b90506000612bcc8286612bdb90919063ffffffff16565b90508082935093505050915091565b6000612c1d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fe5565b905092915050565b6000612c38612c33846137ae565b613789565b90508083825260208201905082856020860282011115612c5b57612c5a613b7b565b5b60005b85811015612c8b5781612c718882612d05565b845260208401935060208301925050600181019050612c5e565b5050509392505050565b6000612ca8612ca3846137da565b613789565b90508083825260208201905082856020860282011115612ccb57612cca613b7b565b5b60005b85811015612cfb5781612ce18882612da0565b845260208401935060208301925050600181019050612cce565b5050509392505050565b600081359050612d1481613ee0565b92915050565b600081519050612d2981613ee0565b92915050565b600082601f830112612d4457612d43613b76565b5b8135612d54848260208601612c25565b91505092915050565b600082601f830112612d7257612d71613b76565b5b8135612d82848260208601612c95565b91505092915050565b600081519050612d9a81613ef7565b92915050565b600081359050612daf81613f0e565b92915050565b600081519050612dc481613f0e565b92915050565b600060208284031215612de057612ddf613b85565b5b6000612dee84828501612d05565b91505092915050565b600060208284031215612e0d57612e0c613b85565b5b6000612e1b84828501612d1a565b91505092915050565b60008060408385031215612e3b57612e3a613b85565b5b6000612e4985828601612d05565b9250506020612e5a85828601612d05565b9150509250929050565b600080600060608486031215612e7d57612e7c613b85565b5b6000612e8b86828701612d05565b9350506020612e9c86828701612d05565b9250506040612ead86828701612da0565b9150509250925092565b60008060408385031215612ece57612ecd613b85565b5b6000612edc85828601612d05565b9250506020612eed85828601612da0565b9150509250929050565b600060208284031215612f0d57612f0c613b85565b5b600082013567ffffffffffffffff811115612f2b57612f2a613b80565b5b612f3784828501612d2f565b91505092915050565b60008060408385031215612f5757612f56613b85565b5b600083013567ffffffffffffffff811115612f7557612f74613b80565b5b612f8185828601612d2f565b925050602083013567ffffffffffffffff811115612fa257612fa1613b80565b5b612fae85828601612d5d565b9150509250929050565b600060208284031215612fce57612fcd613b85565b5b6000612fdc84828501612d8b565b91505092915050565b600060208284031215612ffb57612ffa613b85565b5b600061300984828501612da0565b91505092915050565b60006020828403121561302857613027613b85565b5b600061303684828501612db5565b91505092915050565b60008060006060848603121561305857613057613b85565b5b600061306686828701612da0565b935050602061307786828701612da0565b925050604061308886828701612da0565b9150509250925092565b6000806000606084860312156130ab576130aa613b85565b5b60006130b986828701612db5565b93505060206130ca86828701612db5565b92505060406130db86828701612db5565b9150509250925092565b600080600080608085870312156130ff576130fe613b85565b5b600061310d87828801612da0565b945050602061311e87828801612da0565b935050604061312f87828801612da0565b925050606061314087828801612da0565b91505092959194509250565b60006131588383613173565b60208301905092915050565b61316d816139c5565b82525050565b61317c81613970565b82525050565b61318b81613970565b82525050565b600061319c82613816565b6131a68185613839565b93506131b183613806565b8060005b838110156131e25781516131c9888261314c565b97506131d48361382c565b9250506001810190506131b5565b5085935050505092915050565b6131f881613982565b82525050565b613207816139d7565b82525050565b600061321882613821565b613222818561384a565b9350613232818560208601613a0d565b61323b81613b8a565b840191505092915050565b600061325360238361384a565b915061325e82613b9b565b604082019050919050565b600061327660178361384a565b915061328182613bea565b602082019050919050565b6000613299602a8361384a565b91506132a482613c13565b604082019050919050565b60006132bc60228361384a565b91506132c782613c62565b604082019050919050565b60006132df601b8361384a565b91506132ea82613cb1565b602082019050919050565b600061330260218361384a565b915061330d82613cda565b604082019050919050565b600061332560208361384a565b915061333082613d29565b602082019050919050565b600061334860298361384a565b915061335382613d52565b604082019050919050565b600061336b601e8361384a565b915061337682613da1565b602082019050919050565b600061338e60258361384a565b915061339982613dca565b604082019050919050565b60006133b160248361384a565b91506133bc82613e19565b604082019050919050565b60006133d460178361384a565b91506133df82613e68565b602082019050919050565b60006133f760288361384a565b915061340282613e91565b604082019050919050565b613416816139ae565b82525050565b613425816139b8565b82525050565b60006020820190506134406000830184613182565b92915050565b600060408201905061345b6000830185613164565b613468602083018461340d565b9392505050565b600060c0820190506134846000830189613182565b613491602083018861340d565b61349e60408301876131fe565b6134ab60608301866131fe565b6134b86080830185613182565b6134c560a083018461340d565b979650505050505050565b60006020820190506134e560008301846131ef565b92915050565b600060808201905061350060008301876131fe565b81810360208301526135128186613191565b90506135216040830185613182565b61352e606083018461340d565b95945050505050565b60006020820190508181036000830152613551818461320d565b905092915050565b6000602082019050818103600083015261357281613246565b9050919050565b6000602082019050818103600083015261359281613269565b9050919050565b600060208201905081810360008301526135b28161328c565b9050919050565b600060208201905081810360008301526135d2816132af565b9050919050565b600060208201905081810360008301526135f2816132d2565b9050919050565b60006020820190508181036000830152613612816132f5565b9050919050565b6000602082019050818103600083015261363281613318565b9050919050565b600060208201905081810360008301526136528161333b565b9050919050565b600060208201905081810360008301526136728161335e565b9050919050565b6000602082019050818103600083015261369281613381565b9050919050565b600060208201905081810360008301526136b2816133a4565b9050919050565b600060208201905081810360008301526136d2816133c7565b9050919050565b600060208201905081810360008301526136f2816133ea565b9050919050565b600060208201905061370e600083018461340d565b92915050565b600060a082019050613729600083018861340d565b61373660208301876131fe565b81810360408301526137488186613191565b90506137576060830185613182565b613764608083018461340d565b9695505050505050565b6000602082019050613783600083018461341c565b92915050565b60006137936137a4565b905061379f8282613a40565b919050565b6000604051905090565b600067ffffffffffffffff8211156137c9576137c8613b47565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156137f5576137f4613b47565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613866826139ae565b9150613871836139ae565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156138a6576138a5613aba565b5b828201905092915050565b60006138bc826139ae565b91506138c7836139ae565b9250826138d7576138d6613ae9565b5b828204905092915050565b60006138ed826139ae565b91506138f8836139ae565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561393157613930613aba565b5b828202905092915050565b6000613947826139ae565b9150613952836139ae565b92508282101561396557613964613aba565b5b828203905092915050565b600061397b8261398e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006139d0826139e9565b9050919050565b60006139e2826139ae565b9050919050565b60006139f4826139fb565b9050919050565b6000613a068261398e565b9050919050565b60005b83811015613a2b578082015181840152602081019050613a10565b83811115613a3a576000848401525b50505050565b613a4982613b8a565b810181811067ffffffffffffffff82111715613a6857613a67613b47565b5b80604052505050565b6000613a7c826139ae565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613aaf57613aae613aba565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f746f6f206d616e7920746f6b656e73207363756d626167000000000000000000600082015250565b7f70657263656e7461676573206861766520746f2061646420757020746f20313060008201527f3020796f75207461726400000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f666565732063616e6e6f7420626520686967686572207468616e203130250000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203460008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b613ee981613970565b8114613ef457600080fd5b50565b613f0081613982565b8114613f0b57600080fd5b50565b613f17816139ae565b8114613f2257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122030447e8780ed41837a4457751b9431a3506458df339d7e91cf458266c577ed6d64736f6c63430008070033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c3c8cd801161006f578063c3c8cd8014610461578063ccbf6ae214610478578063dd62ed3e146104a1578063e1f54961146104de578063e57f14e1146104f5578063f2fde38b1461051e57610156565b80638da5cb5b1461035357806395d89b411461037e578063a63748e5146103a9578063a9059cbb146103d2578063b515566a1461040f578063bfe995be1461043857610156565b8063313ce56711610108578063313ce5671461027d5780634ea18fab146102a85780636fc3eaec146102d157806370a08231146102e8578063715018a614610325578063751039fc1461033c57610156565b806306fdde031461015b578063095ea7b31461018657806316114acd146101c357806318160ddd146101ec57806323b872dd14610217578063273123b71461025457610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610547565b60405161017d9190613537565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612eb7565b610584565b6040516101ba91906134d0565b60405180910390f35b3480156101cf57600080fd5b506101ea60048036038101906101e59190612dca565b6105a2565b005b3480156101f857600080fd5b50610201610744565b60405161020e91906136f9565b60405180910390f35b34801561022357600080fd5b5061023e60048036038101906102399190612e64565b610754565b60405161024b91906134d0565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190612dca565b61082d565b005b34801561028957600080fd5b5061029261091d565b60405161029f919061376e565b60405180910390f35b3480156102b457600080fd5b506102cf60048036038101906102ca9190612fe5565b610926565b005b3480156102dd57600080fd5b506102e6610991565b005b3480156102f457600080fd5b5061030f600480360381019061030a9190612dca565b610a03565b60405161031c91906136f9565b60405180910390f35b34801561033157600080fd5b5061033a610a4c565b005b34801561034857600080fd5b50610351610b9f565b005b34801561035f57600080fd5b50610368610c20565b604051610375919061342b565b60405180910390f35b34801561038a57600080fd5b50610393610c49565b6040516103a09190613537565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb919061303f565b610c86565b005b3480156103de57600080fd5b506103f960048036038101906103f49190612eb7565b610d5f565b60405161040691906134d0565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190612ef7565b610d7d565b005b34801561044457600080fd5b5061045f600480360381019061045a91906130e5565b610ea7565b005b34801561046d57600080fd5b50610476610f8e565b005b34801561048457600080fd5b5061049f600480360381019061049a9190612f40565b611008565b005b3480156104ad57600080fd5b506104c860048036038101906104c39190612e24565b61126e565b6040516104d591906136f9565b60405180910390f35b3480156104ea57600080fd5b506104f36112f5565b005b34801561050157600080fd5b5061051c60048036038101906105179190612dca565b611382565b005b34801561052a57600080fd5b5061054560048036038101906105409190612dca565b61143e565b005b60606040518060400160405280600d81526020017f5375706572426f776c20496e7500000000000000000000000000000000000000815250905090565b6000610598610591611655565b848461165d565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105e3611655565b73ffffffffffffffffffffffffffffffffffffffff161461060357600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610680919061342b565b60206040518083038186803b15801561069857600080fd5b505afa1580156106ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d09190613012565b6040518363ffffffff1660e01b81526004016106ed929190613446565b602060405180830381600087803b15801561070757600080fd5b505af115801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190612fb8565b505050565b6000670de0b6b3a7640000905090565b6000610761848484611828565b6108228461076d611655565b61081d85604051806060016040528060288152602001613f2660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107d3611655565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe59092919063ffffffff16565b61165d565b600190509392505050565b610835611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990613619565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610967611655565b73ffffffffffffffffffffffffffffffffffffffff161461098757600080fd5b8060128190555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109d2611655565b73ffffffffffffffffffffffffffffffffffffffff16146109f257600080fd5b6000479050610a0081612049565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a54611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890613619565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610be0611655565b73ffffffffffffffffffffffffffffffffffffffff1614610c0057600080fd5b670de0b6b3a7640000601081905550670de0b6b3a7640000601181905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5342490000000000000000000000000000000000000000000000000000000000815250905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cc7611655565b73ffffffffffffffffffffffffffffffffffffffff1614610ce757600080fd5b60648311158015610cf9575060648211155b8015610d06575060648111155b610d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3c90613659565b60405180910390fd5b8260098190555081600a8190555080600b81905550505050565b6000610d73610d6c611655565b8484611828565b6001905092915050565b610d85611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0990613619565b60405180910390fd5b60005b8151811015610ea357600160056000848481518110610e3757610e36613b18565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e9b90613a71565b915050610e15565b5050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ee8611655565b73ffffffffffffffffffffffffffffffffffffffff1614610f0857600080fd5b606481838587610f18919061385b565b610f22919061385b565b610f2c919061385b565b14610f6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6390613599565b60405180910390fd5b83600c8190555082600d8190555081600e8190555080600f8190555050505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fcf611655565b73ffffffffffffffffffffffffffffffffffffffff1614610fef57600080fd5b6000610ffa30610a03565b90506110058161228c565b50565b611010611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461109d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109490613619565b60405180910390fd5b601860159054906101000a900460ff16156110ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e4906136b9565b60405180910390fd5b6111076110f930610a03565b47611102610c20565b612514565b6001600460008460008151811061112157611120613b18565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b825181101561122057633b9aca0082828151811061119e5761119d613b18565b5b60200260200101516111b091906138e2565b600260008584815181106111c7576111c6613b18565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061121890613a71565b91505061117d565b506001601860176101000a81548160ff0219169083151502179055506001601860156101000a81548160ff02191690831515021790555060f042611264919061385b565b6007819055505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611336611655565b73ffffffffffffffffffffffffffffffffffffffff161461135657600080fd5b601860149054906101000a900460ff1615601860146101000a81548160ff021916908315150217905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113c3611655565b73ffffffffffffffffffffffffffffffffffffffff16146113e357600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611446611655565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ca90613619565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006115d283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612638565b905092915050565b6000808314156115ed576000905061164f565b600082846115fb91906138e2565b905082848261160a91906138b1565b1461164a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611641906135f9565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c490613699565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561173d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611734906135b9565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161181b91906136f9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188f90613679565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ff90613559565b60405180910390fd5b6000811161194b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194290613639565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611a305760115481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119ee919061385b565b1115611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2690613579565b60405180910390fd5b5b611a47600b5460095461269b90919063ffffffff16565b600881905550611a55610c20565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ac35750611a93610c20565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611eb157600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b6c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b7557600080fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c205750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c765750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c83575060075442105b15611d3357601054811115611c9757600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611ce257600080fd5b601e42611cef919061385b565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601860169054906101000a900460ff16158015611d9e5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611db65750601860179054906101000a900460ff165b8015611e0c5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611eb0576007544211611e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4c906136d9565b60405180910390fd5b6000611e6030610a03565b9050601254811115611eae57611e758161228c565b60004790506000811115611eac57601860149054906101000a900460ff1615611ea257611ea1816126f9565b5b611eab47612049565b5b505b505b5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611f5c5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fb25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fd557611fce600b54600a5461269b90919063ffffffff16565b6008819055505b611fe083838361294c565b505050565b600083831115829061202d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120249190613537565b60405180910390fd5b506000838561203c919061393c565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6120ad600c5461209f60648661159090919063ffffffff16565b6115da90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156120d8573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61213d600d5461212f60648661159090919063ffffffff16565b6115da90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612168573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6121cd600e546121bf60648661159090919063ffffffff16565b6115da90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156121f8573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61225d600f5461224f60648661159090919063ffffffff16565b6115da90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612288573d6000803e3d6000fd5b5050565b6001601860166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156122c4576122c3613b47565b5b6040519080825280602002602001820160405280156122f25781602001602082028036833780820191505090505b509050308160008151811061230a57612309613b18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156123ac57600080fd5b505afa1580156123c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e49190612df7565b816001815181106123f8576123f7613b18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061245f30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461165d565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124c3959493929190613714565b600060405180830381600087803b1580156124dd57600080fd5b505af11580156124f1573d6000803e3d6000fd5b50505050506000601860166101000a81548160ff02191690831515021790555050565b6001601860166101000a81548160ff02191690831515021790555061255c30601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168561165d565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b81526004016125c39695949392919061346f565b6060604051808303818588803b1580156125dc57600080fd5b505af11580156125f0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126159190613092565b5050506000601860166101000a81548160ff021916908315150217905550505050565b6000808311829061267f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126769190613537565b60405180910390fd5b506000838561268e91906138b1565b9050809150509392505050565b60008082846126aa919061385b565b9050838110156126ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e6906135d9565b60405180910390fd5b8091505092915050565b600061270f60078361159090919063ffffffff16565b90506000600267ffffffffffffffff81111561272e5761272d613b47565b5b60405190808252806020026020018201604052801561275c5781602001602082028036833780820191505090505b509050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156127c757600080fd5b505afa1580156127db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ff9190612df7565b8160008151811061281357612812613b18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c5a9bc46a7dbe1c6de493e84a18f02e70e2c5a328160018151811061287657612875613b18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008461dead426040518663ffffffff1660e01b815260040161291594939291906134eb565b6000604051808303818588803b15801561292e57600080fd5b505af1158015612942573d6000803e3d6000fd5b5050505050505050565b60008061295883612b87565b915091506129ae83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdb90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a4382600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269b90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ad881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b7891906136f9565b60405180910390a35050505050565b6000806000612bb56103e8612ba7600854876115da90919063ffffffff16565b61159090919063ffffffff16565b90506000612bcc8286612bdb90919063ffffffff16565b90508082935093505050915091565b6000612c1d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fe5565b905092915050565b6000612c38612c33846137ae565b613789565b90508083825260208201905082856020860282011115612c5b57612c5a613b7b565b5b60005b85811015612c8b5781612c718882612d05565b845260208401935060208301925050600181019050612c5e565b5050509392505050565b6000612ca8612ca3846137da565b613789565b90508083825260208201905082856020860282011115612ccb57612cca613b7b565b5b60005b85811015612cfb5781612ce18882612da0565b845260208401935060208301925050600181019050612cce565b5050509392505050565b600081359050612d1481613ee0565b92915050565b600081519050612d2981613ee0565b92915050565b600082601f830112612d4457612d43613b76565b5b8135612d54848260208601612c25565b91505092915050565b600082601f830112612d7257612d71613b76565b5b8135612d82848260208601612c95565b91505092915050565b600081519050612d9a81613ef7565b92915050565b600081359050612daf81613f0e565b92915050565b600081519050612dc481613f0e565b92915050565b600060208284031215612de057612ddf613b85565b5b6000612dee84828501612d05565b91505092915050565b600060208284031215612e0d57612e0c613b85565b5b6000612e1b84828501612d1a565b91505092915050565b60008060408385031215612e3b57612e3a613b85565b5b6000612e4985828601612d05565b9250506020612e5a85828601612d05565b9150509250929050565b600080600060608486031215612e7d57612e7c613b85565b5b6000612e8b86828701612d05565b9350506020612e9c86828701612d05565b9250506040612ead86828701612da0565b9150509250925092565b60008060408385031215612ece57612ecd613b85565b5b6000612edc85828601612d05565b9250506020612eed85828601612da0565b9150509250929050565b600060208284031215612f0d57612f0c613b85565b5b600082013567ffffffffffffffff811115612f2b57612f2a613b80565b5b612f3784828501612d2f565b91505092915050565b60008060408385031215612f5757612f56613b85565b5b600083013567ffffffffffffffff811115612f7557612f74613b80565b5b612f8185828601612d2f565b925050602083013567ffffffffffffffff811115612fa257612fa1613b80565b5b612fae85828601612d5d565b9150509250929050565b600060208284031215612fce57612fcd613b85565b5b6000612fdc84828501612d8b565b91505092915050565b600060208284031215612ffb57612ffa613b85565b5b600061300984828501612da0565b91505092915050565b60006020828403121561302857613027613b85565b5b600061303684828501612db5565b91505092915050565b60008060006060848603121561305857613057613b85565b5b600061306686828701612da0565b935050602061307786828701612da0565b925050604061308886828701612da0565b9150509250925092565b6000806000606084860312156130ab576130aa613b85565b5b60006130b986828701612db5565b93505060206130ca86828701612db5565b92505060406130db86828701612db5565b9150509250925092565b600080600080608085870312156130ff576130fe613b85565b5b600061310d87828801612da0565b945050602061311e87828801612da0565b935050604061312f87828801612da0565b925050606061314087828801612da0565b91505092959194509250565b60006131588383613173565b60208301905092915050565b61316d816139c5565b82525050565b61317c81613970565b82525050565b61318b81613970565b82525050565b600061319c82613816565b6131a68185613839565b93506131b183613806565b8060005b838110156131e25781516131c9888261314c565b97506131d48361382c565b9250506001810190506131b5565b5085935050505092915050565b6131f881613982565b82525050565b613207816139d7565b82525050565b600061321882613821565b613222818561384a565b9350613232818560208601613a0d565b61323b81613b8a565b840191505092915050565b600061325360238361384a565b915061325e82613b9b565b604082019050919050565b600061327660178361384a565b915061328182613bea565b602082019050919050565b6000613299602a8361384a565b91506132a482613c13565b604082019050919050565b60006132bc60228361384a565b91506132c782613c62565b604082019050919050565b60006132df601b8361384a565b91506132ea82613cb1565b602082019050919050565b600061330260218361384a565b915061330d82613cda565b604082019050919050565b600061332560208361384a565b915061333082613d29565b602082019050919050565b600061334860298361384a565b915061335382613d52565b604082019050919050565b600061336b601e8361384a565b915061337682613da1565b602082019050919050565b600061338e60258361384a565b915061339982613dca565b604082019050919050565b60006133b160248361384a565b91506133bc82613e19565b604082019050919050565b60006133d460178361384a565b91506133df82613e68565b602082019050919050565b60006133f760288361384a565b915061340282613e91565b604082019050919050565b613416816139ae565b82525050565b613425816139b8565b82525050565b60006020820190506134406000830184613182565b92915050565b600060408201905061345b6000830185613164565b613468602083018461340d565b9392505050565b600060c0820190506134846000830189613182565b613491602083018861340d565b61349e60408301876131fe565b6134ab60608301866131fe565b6134b86080830185613182565b6134c560a083018461340d565b979650505050505050565b60006020820190506134e560008301846131ef565b92915050565b600060808201905061350060008301876131fe565b81810360208301526135128186613191565b90506135216040830185613182565b61352e606083018461340d565b95945050505050565b60006020820190508181036000830152613551818461320d565b905092915050565b6000602082019050818103600083015261357281613246565b9050919050565b6000602082019050818103600083015261359281613269565b9050919050565b600060208201905081810360008301526135b28161328c565b9050919050565b600060208201905081810360008301526135d2816132af565b9050919050565b600060208201905081810360008301526135f2816132d2565b9050919050565b60006020820190508181036000830152613612816132f5565b9050919050565b6000602082019050818103600083015261363281613318565b9050919050565b600060208201905081810360008301526136528161333b565b9050919050565b600060208201905081810360008301526136728161335e565b9050919050565b6000602082019050818103600083015261369281613381565b9050919050565b600060208201905081810360008301526136b2816133a4565b9050919050565b600060208201905081810360008301526136d2816133c7565b9050919050565b600060208201905081810360008301526136f2816133ea565b9050919050565b600060208201905061370e600083018461340d565b92915050565b600060a082019050613729600083018861340d565b61373660208301876131fe565b81810360408301526137488186613191565b90506137576060830185613182565b613764608083018461340d565b9695505050505050565b6000602082019050613783600083018461341c565b92915050565b60006137936137a4565b905061379f8282613a40565b919050565b6000604051905090565b600067ffffffffffffffff8211156137c9576137c8613b47565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156137f5576137f4613b47565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613866826139ae565b9150613871836139ae565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156138a6576138a5613aba565b5b828201905092915050565b60006138bc826139ae565b91506138c7836139ae565b9250826138d7576138d6613ae9565b5b828204905092915050565b60006138ed826139ae565b91506138f8836139ae565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561393157613930613aba565b5b828202905092915050565b6000613947826139ae565b9150613952836139ae565b92508282101561396557613964613aba565b5b828203905092915050565b600061397b8261398e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006139d0826139e9565b9050919050565b60006139e2826139ae565b9050919050565b60006139f4826139fb565b9050919050565b6000613a068261398e565b9050919050565b60005b83811015613a2b578082015181840152602081019050613a10565b83811115613a3a576000848401525b50505050565b613a4982613b8a565b810181811067ffffffffffffffff82111715613a6857613a67613b47565b5b80604052505050565b6000613a7c826139ae565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613aaf57613aae613aba565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f746f6f206d616e7920746f6b656e73207363756d626167000000000000000000600082015250565b7f70657263656e7461676573206861766520746f2061646420757020746f20313060008201527f3020796f75207461726400000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f666565732063616e6e6f7420626520686967686572207468616e203130250000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203460008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b613ee981613970565b8114613ef457600080fd5b50565b613f0081613982565b8114613f0b57600080fd5b50565b613f17816139ae565b8114613f2257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122030447e8780ed41837a4457751b9431a3506458df339d7e91cf458266c577ed6d64736f6c63430008070033

Deployed Bytecode Sourcemap

3972:11020:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6448:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7279:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14745:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6725:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7448:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13537:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6634:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7896:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14304:188;;;;;;;;;;;;;:::i;:::-;;6828:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2852:148;;;;;;;;;;;;;:::i;:::-;;8677:156;;;;;;;;;;;;;:::i;:::-;;2457:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6539:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8374:293;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6953:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13361:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8040:326;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14103:189;;;;;;;;;;;;;:::i;:::-;;12866:483;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7128:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7772:116;;;;;;;;;;;;;:::i;:::-;;8841:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2671:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6448:83;6485:13;6518:5;;;;;;;;;;;;;;;;;6511:12;;6448:83;:::o;7279:161::-;7354:4;7371:39;7380:12;:10;:12::i;:::-;7394:7;7403:6;7371:8;:39::i;:::-;7428:4;7421:11;;7279:161;;;;:::o;14745:244::-;14834:9;;;;;;;;;;;14818:25;;:12;:10;:12::i;:::-;:25;;;14810:34;;;;;;14855:20;14885:12;14855:43;;14909:13;:22;;;14932:9;;;;;;;;;;;14942:13;:23;;;14974:4;14942:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14909:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14799:190;14745:244;:::o;6725:95::-;6778:7;4424:17;6798:14;;6725:95;:::o;7448:313::-;7546:4;7563:36;7573:6;7581:9;7592:6;7563:9;:36::i;:::-;7610:121;7619:6;7627:12;:10;:12::i;:::-;7641:89;7679:6;7641:89;;;;;;;;;;;;;;;;;:11;:19;7653:6;7641:19;;;;;;;;;;;;;;;:33;7661:12;:10;:12::i;:::-;7641:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7610:8;:121::i;:::-;7749:4;7742:11;;7448:313;;;;;:::o;13537:88::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13612:5:::1;13597:4;:12;13602:6;13597:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13537:88:::0;:::o;6634:83::-;6675:5;4961:1;6693:16;;6634:83;:::o;7896:136::-;7982:9;;;;;;;;;;;7966:25;;:12;:10;:12::i;:::-;:25;;;7958:34;;;;;;8016:6;8003:10;:19;;;;7896:136;:::o;14304:188::-;14370:9;;;;;;;;;;;14354:25;;:12;:10;:12::i;:::-;:25;;;14346:34;;;;;;14391:26;14420:21;14391:50;;14452:32;14465:18;14452:12;:32::i;:::-;14335:157;14304:188::o;6828:117::-;6894:7;6921;:16;6929:7;6921:16;;;;;;;;;;;;;;;;6914:23;;6828:117;;;:::o;2852:148::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2959:1:::1;2922:40;;2943:6;::::0;::::1;;;;;;;;2922:40;;;;;;;;;;;;2990:1;2973:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2852:148::o:0;8677:156::-;8745:9;;;;;;;;;;;8729:25;;:12;:10;:12::i;:::-;:25;;;8721:34;;;;;;4424:17;8766:12;:22;;;;4424:17;8799:16;:26;;;;8677:156::o;2457:79::-;2495:7;2522:6;;;;;;;;;;;2515:13;;2457:79;:::o;6539:87::-;6578:13;6611:7;;;;;;;;;;;;;;;;;6604:14;;6539:87;:::o;8374:293::-;8480:9;;;;;;;;;;;8464:25;;:12;:10;:12::i;:::-;:25;;;8456:34;;;;;;8518:3;8509:5;:12;;:28;;;;;8534:3;8525:5;:12;;8509:28;:43;;;;;8549:3;8541:4;:11;;8509:43;8501:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;8604:5;8597:4;:12;;;;8627:5;8620:4;:12;;;;8655:4;8643:9;:16;;;;8374:293;;;:::o;6953:167::-;7031:4;7048:42;7058:12;:10;:12::i;:::-;7072:9;7083:6;7048:9;:42::i;:::-;7108:4;7101:11;;6953:167;;;;:::o;13361:164::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13435:6:::1;13430:88;13451:5;:12;13447:1;:16;13430:88;;;13502:4;13485;:14;13490:5;13496:1;13490:8;;;;;;;;:::i;:::-;;;;;;;;13485:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13465:3;;;;;:::i;:::-;;;;13430:88;;;;13361:164:::0;:::o;8040:326::-;8166:9;;;;;;;;;;;8150:25;;:12;:10;:12::i;:::-;:25;;;8142:34;;;;;;8224:3;8216:4;8209;8202;8195;:11;;;;:::i;:::-;:18;;;;:::i;:::-;:25;;;;:::i;:::-;:32;8187:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;8291:4;8285:3;:10;;;;8312:4;8306:3;:10;;;;8333:4;8327:3;:10;;;;8354:4;8348:3;:10;;;;8040:326;;;;:::o;14103:189::-;14169:9;;;;;;;;;;;14153:25;;:12;:10;:12::i;:::-;:25;;;14145:34;;;;;;14190:23;14216:24;14234:4;14216:9;:24::i;:::-;14190:50;;14251:33;14268:15;14251:16;:33::i;:::-;14134:158;14103:189::o;12866:483::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12982:11:::1;;;;;;;;;;;12981:12;12973:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13031:68;13044:24;13062:4;13044:9;:24::i;:::-;13069:21;13091:7;:5;:7::i;:::-;13031:12;:68::i;:::-;13145:4;13110:18;:32;13129:9;13139:1;13129:12;;;;;;;;:::i;:::-;;;;;;;;13110:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;13164:6;13160:77;13175:9;:16;13173:1;:18;13160:77;;;13230:5;13219:7;13227:1;13219:10;;;;;;;;:::i;:::-;;;;;;;;:16;;;;:::i;:::-;13197:7;:21;13205:9;13215:1;13205:12;;;;;;;;:::i;:::-;;;;;;;;13197:21;;;;;;;;;;;;;;;:38;;;;13192:3;;;;;:::i;:::-;;;;13160:77;;;;13261:4;13247:11;;:18;;;;;;;;;;;;;;;;;;13290:4;13276:11;;:18;;;;;;;;;;;;;;;;;;13331:9;13312:15;:29;;;;:::i;:::-;13305:4;:36;;;;12866:483:::0;;:::o;7128:143::-;7209:7;7236:11;:18;7248:5;7236:18;;;;;;;;;;;;;;;:27;7255:7;7236:27;;;;;;;;;;;;;;;;7229:34;;7128:143;;;;:::o;7772:116::-;7841:9;;;;;;;;;;;7825:25;;:12;:10;:12::i;:::-;:25;;;7817:34;;;;;;7873:7;;;;;;;;;;;7872:8;7862:7;;:18;;;;;;;;;;;;;;;;;;7772:116::o;8841:147::-;8926:9;;;;;;;;;;;8910:25;;:12;:10;:12::i;:::-;:25;;;8902:34;;;;;;8976:4;8947:18;:26;8966:6;8947:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;8841:147;:::o;2671:173::-;2594:12;:10;:12::i;:::-;2584:22;;:6;;;;;;;;;;:22;;;2576:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2787:9:::1;2758:39;;2779:6;::::0;::::1;;;;;;;;2758:39;;;;;;;;;;;;2817:9;2808:6;::::0;:18:::1;;;;;;;;;;;;;;;;;;2671:173:::0;:::o;1764:132::-;1822:7;1849:39;1853:1;1856;1849:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1842:46;;1764:132;;;;:::o;1510:246::-;1568:7;1597:1;1592;:6;1588:47;;;1622:1;1615:8;;;;1588:47;1645:9;1661:1;1657;:5;;;;:::i;:::-;1645:17;;1690:1;1685;1681;:5;;;;:::i;:::-;:10;1673:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1747:1;1740:8;;;1510:246;;;;;:::o;175:98::-;228:7;255:10;248:17;;175:98;:::o;9001:335::-;9111:1;9094:19;;:5;:19;;;;9086:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9192:1;9173:21;;:7;:21;;;;9165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9274:6;9244:11;:18;9256:5;9244:18;;;;;;;;;;;;;;;:27;9263:7;9244:27;;;;;;;;;;;;;;;:36;;;;9312:7;9296:32;;9305:5;9296:32;;;9321:6;9296:32;;;;;;:::i;:::-;;;;;;;;9001:335;;;:::o;9344:1925::-;9448:1;9432:18;;:4;:18;;;;9424:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9525:1;9511:16;;:2;:16;;;;9503:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9595:1;9586:6;:10;9578:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9663:13;;;;;;;;;;;9657:19;;:2;:19;;;9653:129;;9727:16;;9716:6;9702:7;:11;9710:2;9702:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;9701:42;;9693:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;9653:129;9799:19;9808:9;;9799:4;;:8;;:19;;;;:::i;:::-;9792:4;:26;;;;9841:7;:5;:7::i;:::-;9833:15;;:4;:15;;;;:32;;;;;9858:7;:5;:7::i;:::-;9852:13;;:2;:13;;;;9833:32;9829:1233;;;9891:4;:10;9896:4;9891:10;;;;;;;;;;;;;;;;;;;;;;;;;9890:11;:24;;;;;9906:4;:8;9911:2;9906:8;;;;;;;;;;;;;;;;;;;;;;;;;9905:9;9890:24;9882:33;;;;;;9942:13;;;;;;;;;;;9934:21;;:4;:21;;;:55;;;;;9973:15;;;;;;;;;;;9959:30;;:2;:30;;;;9934:55;:83;;;;;9995:18;:22;10014:2;9995:22;;;;;;;;;;;;;;;;;;;;;;;;;9993:24;9934:83;:111;;;;;10040:4;;10022:15;:22;9934:111;9930:333;;;10112:12;;10102:6;:22;;10094:31;;;;;;10167:15;10152:8;:12;10161:2;10152:12;;;;;;;;;;;;;;;;:30;10144:39;;;;;;10236:10;10217:15;:30;;;;:::i;:::-;10202:8;:12;10211:2;10202:12;;;;;;;;;;;;;;;:45;;;;9930:333;10310:6;;;;;;;;;;;10309:7;:32;;;;;10328:13;;;;;;;;;;;10320:21;;:4;:21;;;;10309:32;:47;;;;;10345:11;;;;;;;;;;;10309:47;:76;;;;;10361:18;:24;10380:4;10361:24;;;;;;;;;;;;;;;;;;;;;;;;;10360:25;10309:76;10305:746;;;10432:4;;10414:15;:22;10406:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10499:28;10530:24;10548:4;10530:9;:24::i;:::-;10499:55;;10599:10;;10576:20;:33;10573:463;;;10633:38;10650:20;10633:16;:38::i;:::-;10694:26;10723:21;10694:50;;10791:1;10770:18;:22;10767:250;;;10824:7;;;;;;;;;;;10821:111;;;10864:40;10885:18;10864:20;:40::i;:::-;10821:111;10958:35;10971:21;10958:12;:35::i;:::-;10767:250;10610:426;10573:463;10387:664;10305:746;9829:1233;11082:13;;;;;;;;;;;11076:19;;:2;:19;;;:55;;;;;11115:15;;;;;;;;;;;11099:32;;:4;:32;;;;11076:55;:85;;;;;11137:18;:24;11156:4;11137:24;;;;;;;;;;;;;;;;;;;;;;;;;11135:26;11076:85;11072:144;;;11185:19;11194:9;;11185:4;;:8;;:19;;;;:::i;:::-;11178:4;:26;;;;11072:144;11228:33;11246:4;11251:2;11254:6;11228:17;:33::i;:::-;9344:1925;;;:::o;1312:190::-;1398:7;1431:1;1426;:6;;1434:12;1418:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1458:9;1474:1;1470;:5;;;;:::i;:::-;1458:17;;1493:1;1486:8;;;1312:190;;;;;:::o;12564:290::-;12621:9;;;;;;;;;;;:18;;:44;12640:24;12660:3;;12640:15;12651:3;12640:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;12621:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12676:14;;;;;;;;;;;:23;;:49;12700:24;12720:3;;12700:15;12711:3;12700:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;12676:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12736:16;;;;;;;;;;;:25;;:51;12762:24;12782:3;;12762:15;12773:3;12762:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;12736:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12798:13;;;;;;;;;;;:22;;:48;12821:24;12841:3;;12821:15;12832:3;12821:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;12798:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12564:290;:::o;11277:483::-;5410:4;5401:6;;:13;;;;;;;;;;;;;;;;;;11355:21:::1;11393:1;11379:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11355:40;;11424:4;11406;11411:1;11406:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11450:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11440:4;11445:1;11440:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11483:62;11500:4;11515:15;;;;;;;;;;;11533:11;11483:8;:62::i;:::-;11556:15;;;;;;;;;;;:66;;;11637:11;11663:1;11679:4;11706;11726:15;11556:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11344:416;5446:5:::0;5437:6;;:14;;;;;;;;;;;;;;;;;;11277:483;:::o;12262:288::-;5410:4;5401:6;;:13;;;;;;;;;;;;;;;;;;12368:60:::1;12385:4;12399:15;;;;;;;;;;;12416:11;12368:8;:60::i;:::-;12439:15;;;;;;;;;;;:31;;;12478:9;12497:4;12503:11;12515:1;12517::::0;12519:6:::1;12526:15;12439:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5446:5:::0;5437:6;;:14;;;;;;;;;;;;;;;;;;12262:288;;;:::o;1904:189::-;1990:7;2022:1;2018;:5;2025:12;2010:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2049:9;2065:1;2061;:5;;;;:::i;:::-;2049:17;;2084:1;2077:8;;;1904:189;;;;;:::o;981:179::-;1039:7;1059:9;1075:1;1071;:5;;;;:::i;:::-;1059:17;;1100:1;1095;:6;;1087:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1151:1;1144:8;;;981:179;;;;:::o;11768:480::-;11836:17;11856:16;11870:1;11856:9;:13;;:16;;;;:::i;:::-;11836:36;;11883:22;11922:1;11908:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11883:41;;11945:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11935:4;11940:1;11935:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;11996:42;11978:4;11983:1;11978:7;;;;;;;;:::i;:::-;;;;;;;:61;;;;;;;;;;;12050:15;;;;;;;;;;;:66;;;12124:9;12149:1;12165:4;12192:6;12214:15;12050:190;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11825:423;;11768:480;:::o;13633:421::-;13732:22;13755:12;13771:20;13783:7;13771:11;:20::i;:::-;13731:60;;;;13820:28;13840:7;13820;:15;13828:6;13820:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13802:7;:15;13810:6;13802:15;;;;;;;;;;;;;;;:46;;;;13880:38;13903:14;13880:7;:18;13888:9;13880:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;13859:7;:18;13867:9;13859:18;;;;;;;;;;;;;;;:59;;;;13955:32;13982:4;13955:7;:22;13971:4;13955:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;13930:7;:22;13946:4;13930:22;;;;;;;;;;;;;;;:57;;;;14020:9;14003:43;;14012:6;14003:43;;;14031:14;14003:43;;;;;;:::i;:::-;;;;;;;;13720:334;;13633:421;;;:::o;14503:234::-;14563:7;14572;14592:12;14607:27;14629:4;14607:17;14619:4;;14607:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;14592:42;;14645:23;14671:17;14683:4;14671:7;:11;;:17;;;;:::i;:::-;14645:43;;14707:15;14724:4;14699:30;;;;;;14503:234;;;:::o;1168:136::-;1226:7;1253:43;1257:1;1260;1253:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1246:50;;1168:136;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;769:::-;865:5;890:81;906:64;963:6;906:64;:::i;:::-;890:81;:::i;:::-;881:90;;991:5;1020:6;1013:5;1006:21;1054:4;1047:5;1043:16;1036:23;;1080:6;1130:3;1122:4;1114:6;1110:17;1105:3;1101:27;1098:36;1095:143;;;1149:79;;:::i;:::-;1095:143;1262:1;1247:238;1272:6;1269:1;1266:13;1247:238;;;1340:3;1369:37;1402:3;1390:10;1369:37;:::i;:::-;1364:3;1357:50;1436:4;1431:3;1427:14;1420:21;;1470:4;1465:3;1461:14;1454:21;;1307:178;1294:1;1291;1287:9;1282:14;;1247:238;;;1251:14;871:620;;769:722;;;;;:::o;1497:139::-;1543:5;1581:6;1568:20;1559:29;;1597:33;1624:5;1597:33;:::i;:::-;1497:139;;;;:::o;1642:143::-;1699:5;1730:6;1724:13;1715:22;;1746:33;1773:5;1746:33;:::i;:::-;1642:143;;;;:::o;1808:370::-;1879:5;1928:3;1921:4;1913:6;1909:17;1905:27;1895:122;;1936:79;;:::i;:::-;1895:122;2053:6;2040:20;2078:94;2168:3;2160:6;2153:4;2145:6;2141:17;2078:94;:::i;:::-;2069:103;;1885:293;1808:370;;;;:::o;2201:::-;2272:5;2321:3;2314:4;2306:6;2302:17;2298:27;2288:122;;2329:79;;:::i;:::-;2288:122;2446:6;2433:20;2471:94;2561:3;2553:6;2546:4;2538:6;2534:17;2471:94;:::i;:::-;2462:103;;2278:293;2201:370;;;;:::o;2577:137::-;2631:5;2662:6;2656:13;2647:22;;2678:30;2702:5;2678:30;:::i;:::-;2577:137;;;;:::o;2720:139::-;2766:5;2804:6;2791:20;2782:29;;2820:33;2847:5;2820:33;:::i;:::-;2720:139;;;;:::o;2865:143::-;2922:5;2953:6;2947:13;2938:22;;2969:33;2996:5;2969:33;:::i;:::-;2865:143;;;;:::o;3014:329::-;3073:6;3122:2;3110:9;3101:7;3097:23;3093:32;3090:119;;;3128:79;;:::i;:::-;3090:119;3248:1;3273:53;3318:7;3309:6;3298:9;3294:22;3273:53;:::i;:::-;3263:63;;3219:117;3014:329;;;;:::o;3349:351::-;3419:6;3468:2;3456:9;3447:7;3443:23;3439:32;3436:119;;;3474:79;;:::i;:::-;3436:119;3594:1;3619:64;3675:7;3666:6;3655:9;3651:22;3619:64;:::i;:::-;3609:74;;3565:128;3349:351;;;;:::o;3706:474::-;3774:6;3782;3831:2;3819:9;3810:7;3806:23;3802:32;3799:119;;;3837:79;;:::i;:::-;3799:119;3957:1;3982:53;4027:7;4018:6;4007:9;4003:22;3982:53;:::i;:::-;3972:63;;3928:117;4084:2;4110:53;4155:7;4146:6;4135:9;4131:22;4110:53;:::i;:::-;4100:63;;4055:118;3706:474;;;;;:::o;4186:619::-;4263:6;4271;4279;4328:2;4316:9;4307:7;4303:23;4299:32;4296:119;;;4334:79;;:::i;:::-;4296:119;4454:1;4479:53;4524:7;4515:6;4504:9;4500:22;4479:53;:::i;:::-;4469:63;;4425:117;4581:2;4607:53;4652:7;4643:6;4632:9;4628:22;4607:53;:::i;:::-;4597:63;;4552:118;4709:2;4735:53;4780:7;4771:6;4760:9;4756:22;4735:53;:::i;:::-;4725:63;;4680:118;4186:619;;;;;:::o;4811:474::-;4879:6;4887;4936:2;4924:9;4915:7;4911:23;4907:32;4904:119;;;4942:79;;:::i;:::-;4904:119;5062:1;5087:53;5132:7;5123:6;5112:9;5108:22;5087:53;:::i;:::-;5077:63;;5033:117;5189:2;5215:53;5260:7;5251:6;5240:9;5236:22;5215:53;:::i;:::-;5205:63;;5160:118;4811:474;;;;;:::o;5291:539::-;5375:6;5424:2;5412:9;5403:7;5399:23;5395:32;5392:119;;;5430:79;;:::i;:::-;5392:119;5578:1;5567:9;5563:17;5550:31;5608:18;5600:6;5597:30;5594:117;;;5630:79;;:::i;:::-;5594:117;5735:78;5805:7;5796:6;5785:9;5781:22;5735:78;:::i;:::-;5725:88;;5521:302;5291:539;;;;:::o;5836:894::-;5954:6;5962;6011:2;5999:9;5990:7;5986:23;5982:32;5979:119;;;6017:79;;:::i;:::-;5979:119;6165:1;6154:9;6150:17;6137:31;6195:18;6187:6;6184:30;6181:117;;;6217:79;;:::i;:::-;6181:117;6322:78;6392:7;6383:6;6372:9;6368:22;6322:78;:::i;:::-;6312:88;;6108:302;6477:2;6466:9;6462:18;6449:32;6508:18;6500:6;6497:30;6494:117;;;6530:79;;:::i;:::-;6494:117;6635:78;6705:7;6696:6;6685:9;6681:22;6635:78;:::i;:::-;6625:88;;6420:303;5836:894;;;;;:::o;6736:345::-;6803:6;6852:2;6840:9;6831:7;6827:23;6823:32;6820:119;;;6858:79;;:::i;:::-;6820:119;6978:1;7003:61;7056:7;7047:6;7036:9;7032:22;7003:61;:::i;:::-;6993:71;;6949:125;6736:345;;;;:::o;7087:329::-;7146:6;7195:2;7183:9;7174:7;7170:23;7166:32;7163:119;;;7201:79;;:::i;:::-;7163:119;7321:1;7346:53;7391:7;7382:6;7371:9;7367:22;7346:53;:::i;:::-;7336:63;;7292:117;7087:329;;;;:::o;7422:351::-;7492:6;7541:2;7529:9;7520:7;7516:23;7512:32;7509:119;;;7547:79;;:::i;:::-;7509:119;7667:1;7692:64;7748:7;7739:6;7728:9;7724:22;7692:64;:::i;:::-;7682:74;;7638:128;7422:351;;;;:::o;7779:619::-;7856:6;7864;7872;7921:2;7909:9;7900:7;7896:23;7892:32;7889:119;;;7927:79;;:::i;:::-;7889:119;8047:1;8072:53;8117:7;8108:6;8097:9;8093:22;8072:53;:::i;:::-;8062:63;;8018:117;8174:2;8200:53;8245:7;8236:6;8225:9;8221:22;8200:53;:::i;:::-;8190:63;;8145:118;8302:2;8328:53;8373:7;8364:6;8353:9;8349:22;8328:53;:::i;:::-;8318:63;;8273:118;7779:619;;;;;:::o;8404:663::-;8492:6;8500;8508;8557:2;8545:9;8536:7;8532:23;8528:32;8525:119;;;8563:79;;:::i;:::-;8525:119;8683:1;8708:64;8764:7;8755:6;8744:9;8740:22;8708:64;:::i;:::-;8698:74;;8654:128;8821:2;8847:64;8903:7;8894:6;8883:9;8879:22;8847:64;:::i;:::-;8837:74;;8792:129;8960:2;8986:64;9042:7;9033:6;9022:9;9018:22;8986:64;:::i;:::-;8976:74;;8931:129;8404:663;;;;;:::o;9073:765::-;9159:6;9167;9175;9183;9232:3;9220:9;9211:7;9207:23;9203:33;9200:120;;;9239:79;;:::i;:::-;9200:120;9359:1;9384:53;9429:7;9420:6;9409:9;9405:22;9384:53;:::i;:::-;9374:63;;9330:117;9486:2;9512:53;9557:7;9548:6;9537:9;9533:22;9512:53;:::i;:::-;9502:63;;9457:118;9614:2;9640:53;9685:7;9676:6;9665:9;9661:22;9640:53;:::i;:::-;9630:63;;9585:118;9742:2;9768:53;9813:7;9804:6;9793:9;9789:22;9768:53;:::i;:::-;9758:63;;9713:118;9073:765;;;;;;;:::o;9844:179::-;9913:10;9934:46;9976:3;9968:6;9934:46;:::i;:::-;10012:4;10007:3;10003:14;9989:28;;9844:179;;;;:::o;10029:147::-;10124:45;10163:5;10124:45;:::i;:::-;10119:3;10112:58;10029:147;;:::o;10182:108::-;10259:24;10277:5;10259:24;:::i;:::-;10254:3;10247:37;10182:108;;:::o;10296:118::-;10383:24;10401:5;10383:24;:::i;:::-;10378:3;10371:37;10296:118;;:::o;10450:732::-;10569:3;10598:54;10646:5;10598:54;:::i;:::-;10668:86;10747:6;10742:3;10668:86;:::i;:::-;10661:93;;10778:56;10828:5;10778:56;:::i;:::-;10857:7;10888:1;10873:284;10898:6;10895:1;10892:13;10873:284;;;10974:6;10968:13;11001:63;11060:3;11045:13;11001:63;:::i;:::-;10994:70;;11087:60;11140:6;11087:60;:::i;:::-;11077:70;;10933:224;10920:1;10917;10913:9;10908:14;;10873:284;;;10877:14;11173:3;11166:10;;10574:608;;;10450:732;;;;:::o;11188:109::-;11269:21;11284:5;11269:21;:::i;:::-;11264:3;11257:34;11188:109;;:::o;11303:147::-;11398:45;11437:5;11398:45;:::i;:::-;11393:3;11386:58;11303:147;;:::o;11456:364::-;11544:3;11572:39;11605:5;11572:39;:::i;:::-;11627:71;11691:6;11686:3;11627:71;:::i;:::-;11620:78;;11707:52;11752:6;11747:3;11740:4;11733:5;11729:16;11707:52;:::i;:::-;11784:29;11806:6;11784:29;:::i;:::-;11779:3;11775:39;11768:46;;11548:272;11456:364;;;;:::o;11826:366::-;11968:3;11989:67;12053:2;12048:3;11989:67;:::i;:::-;11982:74;;12065:93;12154:3;12065:93;:::i;:::-;12183:2;12178:3;12174:12;12167:19;;11826:366;;;:::o;12198:::-;12340:3;12361:67;12425:2;12420:3;12361:67;:::i;:::-;12354:74;;12437:93;12526:3;12437:93;:::i;:::-;12555:2;12550:3;12546:12;12539:19;;12198:366;;;:::o;12570:::-;12712:3;12733:67;12797:2;12792:3;12733:67;:::i;:::-;12726:74;;12809:93;12898:3;12809:93;:::i;:::-;12927:2;12922:3;12918:12;12911:19;;12570:366;;;:::o;12942:::-;13084:3;13105:67;13169:2;13164:3;13105:67;:::i;:::-;13098:74;;13181:93;13270:3;13181:93;:::i;:::-;13299:2;13294:3;13290:12;13283:19;;12942:366;;;:::o;13314:::-;13456:3;13477:67;13541:2;13536:3;13477:67;:::i;:::-;13470:74;;13553:93;13642:3;13553:93;:::i;:::-;13671:2;13666:3;13662:12;13655:19;;13314:366;;;:::o;13686:::-;13828:3;13849:67;13913:2;13908:3;13849:67;:::i;:::-;13842:74;;13925:93;14014:3;13925:93;:::i;:::-;14043:2;14038:3;14034:12;14027:19;;13686:366;;;:::o;14058:::-;14200:3;14221:67;14285:2;14280:3;14221:67;:::i;:::-;14214:74;;14297:93;14386:3;14297:93;:::i;:::-;14415:2;14410:3;14406:12;14399:19;;14058:366;;;:::o;14430:::-;14572:3;14593:67;14657:2;14652:3;14593:67;:::i;:::-;14586:74;;14669:93;14758:3;14669:93;:::i;:::-;14787:2;14782:3;14778:12;14771:19;;14430:366;;;:::o;14802:::-;14944:3;14965:67;15029:2;15024:3;14965:67;:::i;:::-;14958:74;;15041:93;15130:3;15041:93;:::i;:::-;15159:2;15154:3;15150:12;15143:19;;14802:366;;;:::o;15174:::-;15316:3;15337:67;15401:2;15396:3;15337:67;:::i;:::-;15330:74;;15413:93;15502:3;15413:93;:::i;:::-;15531:2;15526:3;15522:12;15515:19;;15174:366;;;:::o;15546:::-;15688:3;15709:67;15773:2;15768:3;15709:67;:::i;:::-;15702:74;;15785:93;15874:3;15785:93;:::i;:::-;15903:2;15898:3;15894:12;15887:19;;15546:366;;;:::o;15918:::-;16060:3;16081:67;16145:2;16140:3;16081:67;:::i;:::-;16074:74;;16157:93;16246:3;16157:93;:::i;:::-;16275:2;16270:3;16266:12;16259:19;;15918:366;;;:::o;16290:::-;16432:3;16453:67;16517:2;16512:3;16453:67;:::i;:::-;16446:74;;16529:93;16618:3;16529:93;:::i;:::-;16647:2;16642:3;16638:12;16631:19;;16290:366;;;:::o;16662:118::-;16749:24;16767:5;16749:24;:::i;:::-;16744:3;16737:37;16662:118;;:::o;16786:112::-;16869:22;16885:5;16869:22;:::i;:::-;16864:3;16857:35;16786:112;;:::o;16904:222::-;16997:4;17035:2;17024:9;17020:18;17012:26;;17048:71;17116:1;17105:9;17101:17;17092:6;17048:71;:::i;:::-;16904:222;;;;:::o;17132:348::-;17261:4;17299:2;17288:9;17284:18;17276:26;;17312:79;17388:1;17377:9;17373:17;17364:6;17312:79;:::i;:::-;17401:72;17469:2;17458:9;17454:18;17445:6;17401:72;:::i;:::-;17132:348;;;;;:::o;17486:807::-;17735:4;17773:3;17762:9;17758:19;17750:27;;17787:71;17855:1;17844:9;17840:17;17831:6;17787:71;:::i;:::-;17868:72;17936:2;17925:9;17921:18;17912:6;17868:72;:::i;:::-;17950:80;18026:2;18015:9;18011:18;18002:6;17950:80;:::i;:::-;18040;18116:2;18105:9;18101:18;18092:6;18040:80;:::i;:::-;18130:73;18198:3;18187:9;18183:19;18174:6;18130:73;:::i;:::-;18213;18281:3;18270:9;18266:19;18257:6;18213:73;:::i;:::-;17486:807;;;;;;;;;:::o;18299:210::-;18386:4;18424:2;18413:9;18409:18;18401:26;;18437:65;18499:1;18488:9;18484:17;18475:6;18437:65;:::i;:::-;18299:210;;;;:::o;18515:720::-;18750:4;18788:3;18777:9;18773:19;18765:27;;18802:79;18878:1;18867:9;18863:17;18854:6;18802:79;:::i;:::-;18928:9;18922:4;18918:20;18913:2;18902:9;18898:18;18891:48;18956:108;19059:4;19050:6;18956:108;:::i;:::-;18948:116;;19074:72;19142:2;19131:9;19127:18;19118:6;19074:72;:::i;:::-;19156;19224:2;19213:9;19209:18;19200:6;19156:72;:::i;:::-;18515:720;;;;;;;:::o;19241:313::-;19354:4;19392:2;19381:9;19377:18;19369:26;;19441:9;19435:4;19431:20;19427:1;19416:9;19412:17;19405:47;19469:78;19542:4;19533:6;19469:78;:::i;:::-;19461:86;;19241:313;;;;:::o;19560:419::-;19726:4;19764:2;19753:9;19749:18;19741:26;;19813:9;19807:4;19803:20;19799:1;19788:9;19784:17;19777:47;19841:131;19967:4;19841:131;:::i;:::-;19833:139;;19560:419;;;:::o;19985:::-;20151:4;20189:2;20178:9;20174:18;20166:26;;20238:9;20232:4;20228:20;20224:1;20213:9;20209:17;20202:47;20266:131;20392:4;20266:131;:::i;:::-;20258:139;;19985:419;;;:::o;20410:::-;20576:4;20614:2;20603:9;20599:18;20591:26;;20663:9;20657:4;20653:20;20649:1;20638:9;20634:17;20627:47;20691:131;20817:4;20691:131;:::i;:::-;20683:139;;20410:419;;;:::o;20835:::-;21001:4;21039:2;21028:9;21024:18;21016:26;;21088:9;21082:4;21078:20;21074:1;21063:9;21059:17;21052:47;21116:131;21242:4;21116:131;:::i;:::-;21108:139;;20835:419;;;:::o;21260:::-;21426:4;21464:2;21453:9;21449:18;21441:26;;21513:9;21507:4;21503:20;21499:1;21488:9;21484:17;21477:47;21541:131;21667:4;21541:131;:::i;:::-;21533:139;;21260:419;;;:::o;21685:::-;21851:4;21889:2;21878:9;21874:18;21866:26;;21938:9;21932:4;21928:20;21924:1;21913:9;21909:17;21902:47;21966:131;22092:4;21966:131;:::i;:::-;21958:139;;21685:419;;;:::o;22110:::-;22276:4;22314:2;22303:9;22299:18;22291:26;;22363:9;22357:4;22353:20;22349:1;22338:9;22334:17;22327:47;22391:131;22517:4;22391:131;:::i;:::-;22383:139;;22110:419;;;:::o;22535:::-;22701:4;22739:2;22728:9;22724:18;22716:26;;22788:9;22782:4;22778:20;22774:1;22763:9;22759:17;22752:47;22816:131;22942:4;22816:131;:::i;:::-;22808:139;;22535:419;;;:::o;22960:::-;23126:4;23164:2;23153:9;23149:18;23141:26;;23213:9;23207:4;23203:20;23199:1;23188:9;23184:17;23177:47;23241:131;23367:4;23241:131;:::i;:::-;23233:139;;22960:419;;;:::o;23385:::-;23551:4;23589:2;23578:9;23574:18;23566:26;;23638:9;23632:4;23628:20;23624:1;23613:9;23609:17;23602:47;23666:131;23792:4;23666:131;:::i;:::-;23658:139;;23385:419;;;:::o;23810:::-;23976:4;24014:2;24003:9;23999:18;23991:26;;24063:9;24057:4;24053:20;24049:1;24038:9;24034:17;24027:47;24091:131;24217:4;24091:131;:::i;:::-;24083:139;;23810:419;;;:::o;24235:::-;24401:4;24439:2;24428:9;24424:18;24416:26;;24488:9;24482:4;24478:20;24474:1;24463:9;24459:17;24452:47;24516:131;24642:4;24516:131;:::i;:::-;24508:139;;24235:419;;;:::o;24660:::-;24826:4;24864:2;24853:9;24849:18;24841:26;;24913:9;24907:4;24903:20;24899:1;24888:9;24884:17;24877:47;24941:131;25067:4;24941:131;:::i;:::-;24933:139;;24660:419;;;:::o;25085:222::-;25178:4;25216:2;25205:9;25201:18;25193:26;;25229:71;25297:1;25286:9;25282:17;25273:6;25229:71;:::i;:::-;25085:222;;;;:::o;25313:831::-;25576:4;25614:3;25603:9;25599:19;25591:27;;25628:71;25696:1;25685:9;25681:17;25672:6;25628:71;:::i;:::-;25709:80;25785:2;25774:9;25770:18;25761:6;25709:80;:::i;:::-;25836:9;25830:4;25826:20;25821:2;25810:9;25806:18;25799:48;25864:108;25967:4;25958:6;25864:108;:::i;:::-;25856:116;;25982:72;26050:2;26039:9;26035:18;26026:6;25982:72;:::i;:::-;26064:73;26132:3;26121:9;26117:19;26108:6;26064:73;:::i;:::-;25313:831;;;;;;;;:::o;26150:214::-;26239:4;26277:2;26266:9;26262:18;26254:26;;26290:67;26354:1;26343:9;26339:17;26330:6;26290:67;:::i;:::-;26150:214;;;;:::o;26370:129::-;26404:6;26431:20;;:::i;:::-;26421:30;;26460:33;26488:4;26480:6;26460:33;:::i;:::-;26370:129;;;:::o;26505:75::-;26538:6;26571:2;26565:9;26555:19;;26505:75;:::o;26586:311::-;26663:4;26753:18;26745:6;26742:30;26739:56;;;26775:18;;:::i;:::-;26739:56;26825:4;26817:6;26813:17;26805:25;;26885:4;26879;26875:15;26867:23;;26586:311;;;:::o;26903:::-;26980:4;27070:18;27062:6;27059:30;27056:56;;;27092:18;;:::i;:::-;27056:56;27142:4;27134:6;27130:17;27122:25;;27202:4;27196;27192:15;27184:23;;26903:311;;;:::o;27220:132::-;27287:4;27310:3;27302:11;;27340:4;27335:3;27331:14;27323:22;;27220:132;;;:::o;27358:114::-;27425:6;27459:5;27453:12;27443:22;;27358:114;;;:::o;27478:99::-;27530:6;27564:5;27558:12;27548:22;;27478:99;;;:::o;27583:113::-;27653:4;27685;27680:3;27676:14;27668:22;;27583:113;;;:::o;27702:184::-;27801:11;27835:6;27830:3;27823:19;27875:4;27870:3;27866:14;27851:29;;27702:184;;;;:::o;27892:169::-;27976:11;28010:6;28005:3;27998:19;28050:4;28045:3;28041:14;28026:29;;27892:169;;;;:::o;28067:305::-;28107:3;28126:20;28144:1;28126:20;:::i;:::-;28121:25;;28160:20;28178:1;28160:20;:::i;:::-;28155:25;;28314:1;28246:66;28242:74;28239:1;28236:81;28233:107;;;28320:18;;:::i;:::-;28233:107;28364:1;28361;28357:9;28350:16;;28067:305;;;;:::o;28378:185::-;28418:1;28435:20;28453:1;28435:20;:::i;:::-;28430:25;;28469:20;28487:1;28469:20;:::i;:::-;28464:25;;28508:1;28498:35;;28513:18;;:::i;:::-;28498:35;28555:1;28552;28548:9;28543:14;;28378:185;;;;:::o;28569:348::-;28609:7;28632:20;28650:1;28632:20;:::i;:::-;28627:25;;28666:20;28684:1;28666:20;:::i;:::-;28661:25;;28854:1;28786:66;28782:74;28779:1;28776:81;28771:1;28764:9;28757:17;28753:105;28750:131;;;28861:18;;:::i;:::-;28750:131;28909:1;28906;28902:9;28891:20;;28569:348;;;;:::o;28923:191::-;28963:4;28983:20;29001:1;28983:20;:::i;:::-;28978:25;;29017:20;29035:1;29017:20;:::i;:::-;29012:25;;29056:1;29053;29050:8;29047:34;;;29061:18;;:::i;:::-;29047:34;29106:1;29103;29099:9;29091:17;;28923:191;;;;:::o;29120:96::-;29157:7;29186:24;29204:5;29186:24;:::i;:::-;29175:35;;29120:96;;;:::o;29222:90::-;29256:7;29299:5;29292:13;29285:21;29274:32;;29222:90;;;:::o;29318:126::-;29355:7;29395:42;29388:5;29384:54;29373:65;;29318:126;;;:::o;29450:77::-;29487:7;29516:5;29505:16;;29450:77;;;:::o;29533:86::-;29568:7;29608:4;29601:5;29597:16;29586:27;;29533:86;;;:::o;29625:134::-;29683:9;29716:37;29747:5;29716:37;:::i;:::-;29703:50;;29625:134;;;:::o;29765:121::-;29823:9;29856:24;29874:5;29856:24;:::i;:::-;29843:37;;29765:121;;;:::o;29892:126::-;29942:9;29975:37;30006:5;29975:37;:::i;:::-;29962:50;;29892:126;;;:::o;30024:113::-;30074:9;30107:24;30125:5;30107:24;:::i;:::-;30094:37;;30024:113;;;:::o;30143:307::-;30211:1;30221:113;30235:6;30232:1;30229:13;30221:113;;;30320:1;30315:3;30311:11;30305:18;30301:1;30296:3;30292:11;30285:39;30257:2;30254:1;30250:10;30245:15;;30221:113;;;30352:6;30349:1;30346:13;30343:101;;;30432:1;30423:6;30418:3;30414:16;30407:27;30343:101;30192:258;30143:307;;;:::o;30456:281::-;30539:27;30561:4;30539:27;:::i;:::-;30531:6;30527:40;30669:6;30657:10;30654:22;30633:18;30621:10;30618:34;30615:62;30612:88;;;30680:18;;:::i;:::-;30612:88;30720:10;30716:2;30709:22;30499:238;30456:281;;:::o;30743:233::-;30782:3;30805:24;30823:5;30805:24;:::i;:::-;30796:33;;30851:66;30844:5;30841:77;30838:103;;;30921:18;;:::i;:::-;30838:103;30968:1;30961:5;30957:13;30950:20;;30743:233;;;:::o;30982:180::-;31030:77;31027:1;31020:88;31127:4;31124:1;31117:15;31151:4;31148:1;31141:15;31168:180;31216:77;31213:1;31206:88;31313:4;31310:1;31303:15;31337:4;31334:1;31327:15;31354:180;31402:77;31399:1;31392:88;31499:4;31496:1;31489:15;31523:4;31520:1;31513:15;31540:180;31588:77;31585:1;31578:88;31685:4;31682:1;31675:15;31709:4;31706:1;31699:15;31726:117;31835:1;31832;31825:12;31849:117;31958:1;31955;31948:12;31972:117;32081:1;32078;32071:12;32095:117;32204:1;32201;32194:12;32218:102;32259:6;32310:2;32306:7;32301:2;32294:5;32290:14;32286:28;32276:38;;32218:102;;;:::o;32326:222::-;32466:34;32462:1;32454:6;32450:14;32443:58;32535:5;32530:2;32522:6;32518:15;32511:30;32326:222;:::o;32554:173::-;32694:25;32690:1;32682:6;32678:14;32671:49;32554:173;:::o;32733:229::-;32873:34;32869:1;32861:6;32857:14;32850:58;32942:12;32937:2;32929:6;32925:15;32918:37;32733:229;:::o;32968:221::-;33108:34;33104:1;33096:6;33092:14;33085:58;33177:4;33172:2;33164:6;33160:15;33153:29;32968:221;:::o;33195:177::-;33335:29;33331:1;33323:6;33319:14;33312:53;33195:177;:::o;33378:220::-;33518:34;33514:1;33506:6;33502:14;33495:58;33587:3;33582:2;33574:6;33570:15;33563:28;33378:220;:::o;33604:182::-;33744:34;33740:1;33732:6;33728:14;33721:58;33604:182;:::o;33792:228::-;33932:34;33928:1;33920:6;33916:14;33909:58;34001:11;33996:2;33988:6;33984:15;33977:36;33792:228;:::o;34026:180::-;34166:32;34162:1;34154:6;34150:14;34143:56;34026:180;:::o;34212:224::-;34352:34;34348:1;34340:6;34336:14;34329:58;34421:7;34416:2;34408:6;34404:15;34397:32;34212:224;:::o;34442:223::-;34582:34;34578:1;34570:6;34566:14;34559:58;34651:6;34646:2;34638:6;34634:15;34627:31;34442:223;:::o;34671:173::-;34811:25;34807:1;34799:6;34795:14;34788:49;34671:173;:::o;34850:227::-;34990:34;34986:1;34978:6;34974:14;34967:58;35059:10;35054:2;35046:6;35042:15;35035:35;34850:227;:::o;35083:122::-;35156:24;35174:5;35156:24;:::i;:::-;35149:5;35146:35;35136:63;;35195:1;35192;35185:12;35136:63;35083:122;:::o;35211:116::-;35281:21;35296:5;35281:21;:::i;:::-;35274:5;35271:32;35261:60;;35317:1;35314;35307:12;35261:60;35211:116;:::o;35333:122::-;35406:24;35424:5;35406:24;:::i;:::-;35399:5;35396:35;35386:63;;35445:1;35442;35435:12;35386:63;35333:122;:::o

Swarm Source

ipfs://30447e8780ed41837a4457751b9431a3506458df339d7e91cf458266c577ed6d
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.