ETH Price: $3,885.96 (-0.02%)

Token

ERC-20: Seed Token (SEED)
 

Overview

Max Total Supply

420,000 SEED

Holders

63

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,918.419381776 SEED

Value
$0.00
0xe072cb60847afba3647a96bd442ec40b67e9c67f
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:
SEED

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-04-20
*/

/*
Seed Token ERC

Join our telegram @SeedTokenERC

Check out our website seedtokenerc.xyz
*/
// SPDX-License-Identifier: Unlicensed

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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

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

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

contract SEED 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 = 420000 * 10**9;
    uint256 private fee1=42;
    uint256 private fee2=42;
    uint256 private feeMax=100;
    uint256 private percent1=80;
    uint256 private percent2=20;
    string private constant _name = "Seed Token";
    string private constant _symbol = "SEED";
    uint256 private _maxTxAmount = _tTotal.mul(20).div(1000);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _feeAddrWallet1 = payable(msg.sender);
        _feeAddrWallet2 = payable(0x64ee1335B36a07CF19F14ae0f24792C55887647D);
        _tOwned[address(this)] = _tTotal.div(100).mul(97);
        _tOwned[0x3b997E7FA75C6e298588Ab28A3244B89199A2315] = _tTotal.div(100).mul(1);
        _tOwned[0xcf6FF62658aa42bE657FEee98F7fe95f8FD9e877] = _tTotal.div(100).mul(1);
        _tOwned[0x125011E4C9a3AbA4815C11a2dD1835D606404135] = _tTotal.div(100).mul(1);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal.div(100).mul(97));
        emit Transfer(address(0),address(0x3b997E7FA75C6e298588Ab28A3244B89199A2315),_tTotal.div(100).mul(1));
        emit Transfer(address(0),address(0xcf6FF62658aa42bE657FEee98F7fe95f8FD9e877),_tTotal.div(100).mul(1));
        emit Transfer(address(0),address(0x125011E4C9a3AbA4815C11a2dD1835D606404135),_tTotal.div(100).mul(1));
    }

    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 changeFees(uint8 _fee1,uint8 _fee2) external {
        
        require(_msgSender() == _feeAddrWallet1);
        require(_fee1 <= feeMax && _fee2 <= feeMax,"Cannot set fees above maximum");
        fee1 = _fee1;
        fee2 = _fee2;
    }

    function changeFeeDist(uint8 _percent1,uint8 _percent2) external {
        require(_msgSender() == _feeAddrWallet1);
        require((_percent1 + _percent2) == 100,"Total percentage has to be 100");
        percent1 = _percent1;
        percent2 = _percent2;
    }

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

    }
   
    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");

        _tax = fee1;
        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 (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _tax = fee2;
            }
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 5 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapTokensForEth(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
		
        _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 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 {
        _feeAddrWallet1.transfer(amount.div(100).mul(percent1));
        _feeAddrWallet2.transfer(amount.div(100).mul(percent2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (5 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() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        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() == _feeAddrWallet1);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_feeAddrWallet1,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":"uint8","name":"_percent1","type":"uint8"},{"internalType":"uint8","name":"_percent2","type":"uint8"}],"name":"changeFeeDist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_fee1","type":"uint8"},{"internalType":"uint8","name":"_fee2","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","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":[],"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":[],"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":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052602a600955602a600a556064600b556050600c556014600d556200005a6103e862000046601466017dfcdece400062000b2660201b620010761790919060201c565b62000baa60201b620010f11790919060201c565b600e55620000806103e866017dfcdece400062000baa60201b620010f11790919060201c565b600f556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000620000cb62000bfc60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507364ee1335b36a07cf19f14ae0f24792c55887647d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200023b606162000227606466017dfcdece400062000baa60201b620010f11790919060201c565b62000b2660201b620010761790919060201c565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002ba6001620002a6606466017dfcdece400062000baa60201b620010f11790919060201c565b62000b2660201b620010761790919060201c565b60026000733b997e7fa75c6e298588ab28a3244b89199a231573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200034d600162000339606466017dfcdece400062000baa60201b620010f11790919060201c565b62000b2660201b620010761790919060201c565b6002600073cf6ff62658aa42be657feee98f7fe95f8fd9e87773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003e06001620003cc606466017dfcdece400062000baa60201b620010f11790919060201c565b62000b2660201b620010761790919060201c565b6002600073125011e4c9a3aba4815c11a2dd1835d60640413573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460006200044d62000c0460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620006a857600080fd5b505afa158015620006bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006e3919062000cac565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200076857600080fd5b505afa1580156200077d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007a3919062000cac565b6040518363ffffffff1660e01b8152600401620007c292919062000d68565b602060405180830381600087803b158015620007dd57600080fd5b505af1158015620007f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000818919062000cac565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620008e46061620008d0606466017dfcdece400062000baa60201b620010f11790919060201c565b62000b2660201b620010761790919060201c565b604051620008f3919062000ddb565b60405180910390a3733b997e7fa75c6e298588ab28a3244b89199a231573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200099b600162000987606466017dfcdece400062000baa60201b620010f11790919060201c565b62000b2660201b620010761790919060201c565b604051620009aa919062000ddb565b60405180910390a373cf6ff62658aa42be657feee98f7fe95f8fd9e87773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000a52600162000a3e606466017dfcdece400062000baa60201b620010f11790919060201c565b62000b2660201b620010761790919060201c565b60405162000a61919062000ddb565b60405180910390a373125011e4c9a3aba4815c11a2dd1835d60640413573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000b09600162000af5606466017dfcdece400062000baa60201b620010f11790919060201c565b62000b2660201b620010761790919060201c565b60405162000b18919062000ddb565b60405180910390a362000ffe565b60008083141562000b3b576000905062000ba4565b6000828462000b4b919062000e4c565b905082848262000b5c919062000e14565b1462000b9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b969062000db9565b60405180910390fd5b809150505b92915050565b600062000bf483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000c2d60201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000c77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c6e919062000d95565b60405180910390fd5b506000838562000c88919062000e14565b9050809150509392505050565b60008151905062000ca68162000fe4565b92915050565b60006020828403121562000cc55762000cc462000f7f565b5b600062000cd58482850162000c95565b91505092915050565b62000ce98162000ead565b82525050565b600062000cfc8262000df8565b62000d08818562000e03565b935062000d1a81856020860162000eeb565b62000d258162000f84565b840191505092915050565b600062000d3f60218362000e03565b915062000d4c8262000f95565b604082019050919050565b62000d628162000ee1565b82525050565b600060408201905062000d7f600083018562000cde565b62000d8e602083018462000cde565b9392505050565b6000602082019050818103600083015262000db1818462000cef565b905092915050565b6000602082019050818103600083015262000dd48162000d30565b9050919050565b600060208201905062000df2600083018462000d57565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000e218262000ee1565b915062000e2e8362000ee1565b92508262000e415762000e4062000f50565b5b828204905092915050565b600062000e598262000ee1565b915062000e668362000ee1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ea25762000ea162000f21565b5b828202905092915050565b600062000eba8262000ec1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000f0b57808201518184015260208101905062000eee565b8381111562000f1b576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b62000fef8162000ead565b811462000ffb57600080fd5b50565b613393806200100e6000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a0578063aae1c07411610064578063aae1c074146103cc578063b515566a146103f5578063c3c8cd801461041e578063c9567bf914610435578063dd62ed3e1461044c5761012a565b806370a08231146102e5578063715018a6146103225780638da5cb5b1461033957806395d89b4114610364578063a9059cbb1461038f5761012a565b8063273123b7116100e7578063273123b714610228578063313ce567146102515780634ea18fab1461027c5780636b236bc4146102a55780636fc3eaec146102ce5761012a565b806306fdde031461012f578063095ea7b31461015a57806316114acd1461019757806318160ddd146101c057806323b872dd146101eb5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610489565b6040516101519190612994565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190612475565b6104c6565b60405161018e9190612979565b60405180910390f35b3480156101a357600080fd5b506101be60048036038101906101b99190612388565b6104e4565b005b3480156101cc57600080fd5b506101d5610686565b6040516101e29190612b36565b60405180910390f35b3480156101f757600080fd5b50610212600480360381019061020d9190612422565b610695565b60405161021f9190612979565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a9190612388565b61076e565b005b34801561025d57600080fd5b5061026661085e565b6040516102739190612bab565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e919061252b565b610867565b005b3480156102b157600080fd5b506102cc60048036038101906102c791906125d8565b6108d2565b005b3480156102da57600080fd5b506102e361099c565b005b3480156102f157600080fd5b5061030c60048036038101906103079190612388565b610a0e565b6040516103199190612b36565b60405180910390f35b34801561032e57600080fd5b50610337610a57565b005b34801561034557600080fd5b5061034e610baa565b60405161035b91906128d4565b60405180910390f35b34801561037057600080fd5b50610379610bd3565b6040516103869190612994565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612475565b610c10565b6040516103c39190612979565b60405180910390f35b3480156103d857600080fd5b506103f360048036038101906103ee91906125d8565b610c2e565b005b34801561040157600080fd5b5061041c600480360381019061041791906124b5565b610d00565b005b34801561042a57600080fd5b50610433610e2a565b005b34801561044157600080fd5b5061044a610ea4565b005b34801561045857600080fd5b50610473600480360381019061046e91906123e2565b610fef565b6040516104809190612b36565b60405180910390f35b60606040518060400160405280600a81526020017f5365656420546f6b656e00000000000000000000000000000000000000000000815250905090565b60006104da6104d361113b565b8484611143565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661052561113b565b73ffffffffffffffffffffffffffffffffffffffff161461054557600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105c291906128d4565b60206040518083038186803b1580156105da57600080fd5b505afa1580156105ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106129190612558565b6040518363ffffffff1660e01b815260040161062f9291906128ef565b602060405180830381600087803b15801561064957600080fd5b505af115801561065d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068191906124fe565b505050565b600066017dfcdece4000905090565b60006106a284848461130e565b610763846106ae61113b565b61075e8560405180606001604052806028815260200161333660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061071461113b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199f9092919063ffffffff16565b611143565b600190509392505050565b61077661113b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fa90612a56565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a861113b565b73ffffffffffffffffffffffffffffffffffffffff16146108c857600080fd5b80600f8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661091361113b565b73ffffffffffffffffffffffffffffffffffffffff161461093357600080fd5b606481836109419190612cc2565b60ff1614610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90612ab6565b60405180910390fd5b8160ff16600c819055508060ff16600d819055505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109dd61113b565b73ffffffffffffffffffffffffffffffffffffffff16146109fd57600080fd5b6000479050610a0b81611a03565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a5f61113b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae390612a56565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5345454400000000000000000000000000000000000000000000000000000000815250905090565b6000610c24610c1d61113b565b848461130e565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c6f61113b565b73ffffffffffffffffffffffffffffffffffffffff1614610c8f57600080fd5b600b548260ff1611158015610ca95750600b548160ff1611155b610ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdf90612b16565b60405180910390fd5b8160ff166009819055508060ff16600a819055505050565b610d0861113b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c90612a56565b60405180910390fd5b60005b8151811015610e2657600160056000848481518110610dba57610db9612f60565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e1e90612eb9565b915050610d98565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e6b61113b565b73ffffffffffffffffffffffffffffffffffffffff1614610e8b57600080fd5b6000610e9630610a0e565b9050610ea181611b26565b50565b610eac61113b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090612a56565b60405180910390fd5b601360149054906101000a900460ff1615610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8090612af6565b60405180910390fd5b610fa3610f9530610a0e565b47610f9e610baa565b611dae565b6001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555061012c42610fe79190612c6c565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008083141561108957600090506110eb565b600082846110979190612d2a565b90508284826110a69190612cf9565b146110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd90612a36565b60405180910390fd5b809150505b92915050565b600061113383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ed2565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111aa90612ad6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121a906129f6565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113019190612b36565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612a96565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e5906129d6565b60405180910390fd5b60008111611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142890612a76565b60405180910390fd5b600954600881905550611442610baa565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114b05750611480610baa565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561198f57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115595750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61156257600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561160d5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116635750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611670575060075442105b1561172057600e5481111561168457600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116cf57600080fd5b601e426116dc9190612c6c565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117cb5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118215750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561183057600a546008819055505b601360159054906101000a900460ff1615801561189b5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118b35750601360169054906101000a900460ff165b80156119095750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561198e576007544211611952576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611949906129b6565b60405180910390fd5b600061195d30610a0e565b9050600f5481111561198c5761197281611b26565b6000479050600081111561198a5761198947611a03565b5b505b505b5b61199a838383611f35565b505050565b60008383111582906119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de9190612994565b60405180910390fd5b50600083856119f69190612d84565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611a67600c54611a596064866110f190919063ffffffff16565b61107690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611a92573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611af7600d54611ae96064866110f190919063ffffffff16565b61107690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b22573d6000803e3d6000fd5b5050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b5e57611b5d612f8f565b5b604051908082528060200260200182016040528015611b8c5781602001602082028036833780820191505090505b5090503081600081518110611ba457611ba3612f60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c4657600080fd5b505afa158015611c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7e91906123b5565b81600181518110611c9257611c91612f60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cf930601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611143565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d5d959493929190612b51565b600060405180830381600087803b158015611d7757600080fd5b505af1158015611d8b573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b6001601360156101000a81548160ff021916908315150217905550611df630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611143565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611e5d96959493929190612918565b6060604051808303818588803b158015611e7657600080fd5b505af1158015611e8a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eaf9190612585565b5050506000601360156101000a81548160ff021916908315150217905550505050565b60008083118290611f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f109190612994565b60405180910390fd5b5060008385611f289190612cf9565b9050809150509392505050565b600080611f4183612170565b91509150611f9783600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121c490919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061202c82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120c181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121619190612b36565b60405180910390a35050505050565b600080600061219e6103e86121906008548761107690919063ffffffff16565b6110f190919063ffffffff16565b905060006121b582866121c490919063ffffffff16565b90508082935093505050915091565b600061220683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061199f565b905092915050565b600080828461221d9190612c6c565b905083811015612262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225990612a16565b60405180910390fd5b8091505092915050565b600061227f61227a84612beb565b612bc6565b905080838252602082019050828560208602820111156122a2576122a1612fc3565b5b60005b858110156122d257816122b888826122dc565b8452602084019350602083019250506001810190506122a5565b5050509392505050565b6000813590506122eb816132d9565b92915050565b600081519050612300816132d9565b92915050565b600082601f83011261231b5761231a612fbe565b5b813561232b84826020860161226c565b91505092915050565b600081519050612343816132f0565b92915050565b60008135905061235881613307565b92915050565b60008151905061236d81613307565b92915050565b6000813590506123828161331e565b92915050565b60006020828403121561239e5761239d612fcd565b5b60006123ac848285016122dc565b91505092915050565b6000602082840312156123cb576123ca612fcd565b5b60006123d9848285016122f1565b91505092915050565b600080604083850312156123f9576123f8612fcd565b5b6000612407858286016122dc565b9250506020612418858286016122dc565b9150509250929050565b60008060006060848603121561243b5761243a612fcd565b5b6000612449868287016122dc565b935050602061245a868287016122dc565b925050604061246b86828701612349565b9150509250925092565b6000806040838503121561248c5761248b612fcd565b5b600061249a858286016122dc565b92505060206124ab85828601612349565b9150509250929050565b6000602082840312156124cb576124ca612fcd565b5b600082013567ffffffffffffffff8111156124e9576124e8612fc8565b5b6124f584828501612306565b91505092915050565b60006020828403121561251457612513612fcd565b5b600061252284828501612334565b91505092915050565b60006020828403121561254157612540612fcd565b5b600061254f84828501612349565b91505092915050565b60006020828403121561256e5761256d612fcd565b5b600061257c8482850161235e565b91505092915050565b60008060006060848603121561259e5761259d612fcd565b5b60006125ac8682870161235e565b93505060206125bd8682870161235e565b92505060406125ce8682870161235e565b9150509250925092565b600080604083850312156125ef576125ee612fcd565b5b60006125fd85828601612373565b925050602061260e85828601612373565b9150509250929050565b6000612624838361263f565b60208301905092915050565b61263981612e0d565b82525050565b61264881612db8565b82525050565b61265781612db8565b82525050565b600061266882612c27565b6126728185612c4a565b935061267d83612c17565b8060005b838110156126ae5781516126958882612618565b97506126a083612c3d565b925050600181019050612681565b5085935050505092915050565b6126c481612dca565b82525050565b6126d381612e1f565b82525050565b60006126e482612c32565b6126ee8185612c5b565b93506126fe818560208601612e55565b61270781612fd2565b840191505092915050565b600061271f602883612c5b565b915061272a82612fe3565b604082019050919050565b6000612742602383612c5b565b915061274d82613032565b604082019050919050565b6000612765602283612c5b565b915061277082613081565b604082019050919050565b6000612788601b83612c5b565b9150612793826130d0565b602082019050919050565b60006127ab602183612c5b565b91506127b6826130f9565b604082019050919050565b60006127ce602083612c5b565b91506127d982613148565b602082019050919050565b60006127f1602983612c5b565b91506127fc82613171565b604082019050919050565b6000612814602583612c5b565b915061281f826131c0565b604082019050919050565b6000612837601e83612c5b565b91506128428261320f565b602082019050919050565b600061285a602483612c5b565b915061286582613238565b604082019050919050565b600061287d601783612c5b565b915061288882613287565b602082019050919050565b60006128a0601d83612c5b565b91506128ab826132b0565b602082019050919050565b6128bf81612df6565b82525050565b6128ce81612e00565b82525050565b60006020820190506128e9600083018461264e565b92915050565b60006040820190506129046000830185612630565b61291160208301846128b6565b9392505050565b600060c08201905061292d600083018961264e565b61293a60208301886128b6565b61294760408301876126ca565b61295460608301866126ca565b612961608083018561264e565b61296e60a08301846128b6565b979650505050505050565b600060208201905061298e60008301846126bb565b92915050565b600060208201905081810360008301526129ae81846126d9565b905092915050565b600060208201905081810360008301526129cf81612712565b9050919050565b600060208201905081810360008301526129ef81612735565b9050919050565b60006020820190508181036000830152612a0f81612758565b9050919050565b60006020820190508181036000830152612a2f8161277b565b9050919050565b60006020820190508181036000830152612a4f8161279e565b9050919050565b60006020820190508181036000830152612a6f816127c1565b9050919050565b60006020820190508181036000830152612a8f816127e4565b9050919050565b60006020820190508181036000830152612aaf81612807565b9050919050565b60006020820190508181036000830152612acf8161282a565b9050919050565b60006020820190508181036000830152612aef8161284d565b9050919050565b60006020820190508181036000830152612b0f81612870565b9050919050565b60006020820190508181036000830152612b2f81612893565b9050919050565b6000602082019050612b4b60008301846128b6565b92915050565b600060a082019050612b6660008301886128b6565b612b7360208301876126ca565b8181036040830152612b85818661265d565b9050612b94606083018561264e565b612ba160808301846128b6565b9695505050505050565b6000602082019050612bc060008301846128c5565b92915050565b6000612bd0612be1565b9050612bdc8282612e88565b919050565b6000604051905090565b600067ffffffffffffffff821115612c0657612c05612f8f565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612c7782612df6565b9150612c8283612df6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612cb757612cb6612f02565b5b828201905092915050565b6000612ccd82612e00565b9150612cd883612e00565b92508260ff03821115612cee57612ced612f02565b5b828201905092915050565b6000612d0482612df6565b9150612d0f83612df6565b925082612d1f57612d1e612f31565b5b828204905092915050565b6000612d3582612df6565b9150612d4083612df6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d7957612d78612f02565b5b828202905092915050565b6000612d8f82612df6565b9150612d9a83612df6565b925082821015612dad57612dac612f02565b5b828203905092915050565b6000612dc382612dd6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612e1882612e31565b9050919050565b6000612e2a82612df6565b9050919050565b6000612e3c82612e43565b9050919050565b6000612e4e82612dd6565b9050919050565b60005b83811015612e73578082015181840152602081019050612e58565b83811115612e82576000848401525b50505050565b612e9182612fd2565b810181811067ffffffffffffffff82111715612eb057612eaf612f8f565b5b80604052505050565b6000612ec482612df6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612ef757612ef6612f02565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f546f74616c2070657263656e746167652068617320746f206265203130300000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b6132e281612db8565b81146132ed57600080fd5b50565b6132f981612dca565b811461330457600080fd5b50565b61331081612df6565b811461331b57600080fd5b50565b61332781612e00565b811461333257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122019c06b264b5ce9d63750a780d21c97e0370410a1576365ec190d2585e82a02b864736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806370a08231116100a0578063aae1c07411610064578063aae1c074146103cc578063b515566a146103f5578063c3c8cd801461041e578063c9567bf914610435578063dd62ed3e1461044c5761012a565b806370a08231146102e5578063715018a6146103225780638da5cb5b1461033957806395d89b4114610364578063a9059cbb1461038f5761012a565b8063273123b7116100e7578063273123b714610228578063313ce567146102515780634ea18fab1461027c5780636b236bc4146102a55780636fc3eaec146102ce5761012a565b806306fdde031461012f578063095ea7b31461015a57806316114acd1461019757806318160ddd146101c057806323b872dd146101eb5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610489565b6040516101519190612994565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190612475565b6104c6565b60405161018e9190612979565b60405180910390f35b3480156101a357600080fd5b506101be60048036038101906101b99190612388565b6104e4565b005b3480156101cc57600080fd5b506101d5610686565b6040516101e29190612b36565b60405180910390f35b3480156101f757600080fd5b50610212600480360381019061020d9190612422565b610695565b60405161021f9190612979565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a9190612388565b61076e565b005b34801561025d57600080fd5b5061026661085e565b6040516102739190612bab565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e919061252b565b610867565b005b3480156102b157600080fd5b506102cc60048036038101906102c791906125d8565b6108d2565b005b3480156102da57600080fd5b506102e361099c565b005b3480156102f157600080fd5b5061030c60048036038101906103079190612388565b610a0e565b6040516103199190612b36565b60405180910390f35b34801561032e57600080fd5b50610337610a57565b005b34801561034557600080fd5b5061034e610baa565b60405161035b91906128d4565b60405180910390f35b34801561037057600080fd5b50610379610bd3565b6040516103869190612994565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612475565b610c10565b6040516103c39190612979565b60405180910390f35b3480156103d857600080fd5b506103f360048036038101906103ee91906125d8565b610c2e565b005b34801561040157600080fd5b5061041c600480360381019061041791906124b5565b610d00565b005b34801561042a57600080fd5b50610433610e2a565b005b34801561044157600080fd5b5061044a610ea4565b005b34801561045857600080fd5b50610473600480360381019061046e91906123e2565b610fef565b6040516104809190612b36565b60405180910390f35b60606040518060400160405280600a81526020017f5365656420546f6b656e00000000000000000000000000000000000000000000815250905090565b60006104da6104d361113b565b8484611143565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661052561113b565b73ffffffffffffffffffffffffffffffffffffffff161461054557600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105c291906128d4565b60206040518083038186803b1580156105da57600080fd5b505afa1580156105ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106129190612558565b6040518363ffffffff1660e01b815260040161062f9291906128ef565b602060405180830381600087803b15801561064957600080fd5b505af115801561065d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068191906124fe565b505050565b600066017dfcdece4000905090565b60006106a284848461130e565b610763846106ae61113b565b61075e8560405180606001604052806028815260200161333660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061071461113b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199f9092919063ffffffff16565b611143565b600190509392505050565b61077661113b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fa90612a56565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a861113b565b73ffffffffffffffffffffffffffffffffffffffff16146108c857600080fd5b80600f8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661091361113b565b73ffffffffffffffffffffffffffffffffffffffff161461093357600080fd5b606481836109419190612cc2565b60ff1614610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90612ab6565b60405180910390fd5b8160ff16600c819055508060ff16600d819055505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109dd61113b565b73ffffffffffffffffffffffffffffffffffffffff16146109fd57600080fd5b6000479050610a0b81611a03565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a5f61113b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae390612a56565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5345454400000000000000000000000000000000000000000000000000000000815250905090565b6000610c24610c1d61113b565b848461130e565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c6f61113b565b73ffffffffffffffffffffffffffffffffffffffff1614610c8f57600080fd5b600b548260ff1611158015610ca95750600b548160ff1611155b610ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdf90612b16565b60405180910390fd5b8160ff166009819055508060ff16600a819055505050565b610d0861113b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8c90612a56565b60405180910390fd5b60005b8151811015610e2657600160056000848481518110610dba57610db9612f60565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e1e90612eb9565b915050610d98565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e6b61113b565b73ffffffffffffffffffffffffffffffffffffffff1614610e8b57600080fd5b6000610e9630610a0e565b9050610ea181611b26565b50565b610eac61113b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090612a56565b60405180910390fd5b601360149054906101000a900460ff1615610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8090612af6565b60405180910390fd5b610fa3610f9530610a0e565b47610f9e610baa565b611dae565b6001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555061012c42610fe79190612c6c565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008083141561108957600090506110eb565b600082846110979190612d2a565b90508284826110a69190612cf9565b146110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd90612a36565b60405180910390fd5b809150505b92915050565b600061113383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ed2565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111aa90612ad6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121a906129f6565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113019190612b36565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612a96565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e5906129d6565b60405180910390fd5b60008111611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142890612a76565b60405180910390fd5b600954600881905550611442610baa565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114b05750611480610baa565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561198f57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115595750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61156257600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561160d5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116635750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611670575060075442105b1561172057600e5481111561168457600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106116cf57600080fd5b601e426116dc9190612c6c565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117cb5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118215750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561183057600a546008819055505b601360159054906101000a900460ff1615801561189b5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118b35750601360169054906101000a900460ff165b80156119095750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561198e576007544211611952576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611949906129b6565b60405180910390fd5b600061195d30610a0e565b9050600f5481111561198c5761197281611b26565b6000479050600081111561198a5761198947611a03565b5b505b505b5b61199a838383611f35565b505050565b60008383111582906119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de9190612994565b60405180910390fd5b50600083856119f69190612d84565b9050809150509392505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611a67600c54611a596064866110f190919063ffffffff16565b61107690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611a92573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611af7600d54611ae96064866110f190919063ffffffff16565b61107690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b22573d6000803e3d6000fd5b5050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b5e57611b5d612f8f565b5b604051908082528060200260200182016040528015611b8c5781602001602082028036833780820191505090505b5090503081600081518110611ba457611ba3612f60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c4657600080fd5b505afa158015611c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7e91906123b5565b81600181518110611c9257611c91612f60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cf930601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611143565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d5d959493929190612b51565b600060405180830381600087803b158015611d7757600080fd5b505af1158015611d8b573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b6001601360156101000a81548160ff021916908315150217905550611df630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611143565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611e5d96959493929190612918565b6060604051808303818588803b158015611e7657600080fd5b505af1158015611e8a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611eaf9190612585565b5050506000601360156101000a81548160ff021916908315150217905550505050565b60008083118290611f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f109190612994565b60405180910390fd5b5060008385611f289190612cf9565b9050809150509392505050565b600080611f4183612170565b91509150611f9783600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121c490919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061202c82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220e90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120c181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121619190612b36565b60405180910390a35050505050565b600080600061219e6103e86121906008548761107690919063ffffffff16565b6110f190919063ffffffff16565b905060006121b582866121c490919063ffffffff16565b90508082935093505050915091565b600061220683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061199f565b905092915050565b600080828461221d9190612c6c565b905083811015612262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225990612a16565b60405180910390fd5b8091505092915050565b600061227f61227a84612beb565b612bc6565b905080838252602082019050828560208602820111156122a2576122a1612fc3565b5b60005b858110156122d257816122b888826122dc565b8452602084019350602083019250506001810190506122a5565b5050509392505050565b6000813590506122eb816132d9565b92915050565b600081519050612300816132d9565b92915050565b600082601f83011261231b5761231a612fbe565b5b813561232b84826020860161226c565b91505092915050565b600081519050612343816132f0565b92915050565b60008135905061235881613307565b92915050565b60008151905061236d81613307565b92915050565b6000813590506123828161331e565b92915050565b60006020828403121561239e5761239d612fcd565b5b60006123ac848285016122dc565b91505092915050565b6000602082840312156123cb576123ca612fcd565b5b60006123d9848285016122f1565b91505092915050565b600080604083850312156123f9576123f8612fcd565b5b6000612407858286016122dc565b9250506020612418858286016122dc565b9150509250929050565b60008060006060848603121561243b5761243a612fcd565b5b6000612449868287016122dc565b935050602061245a868287016122dc565b925050604061246b86828701612349565b9150509250925092565b6000806040838503121561248c5761248b612fcd565b5b600061249a858286016122dc565b92505060206124ab85828601612349565b9150509250929050565b6000602082840312156124cb576124ca612fcd565b5b600082013567ffffffffffffffff8111156124e9576124e8612fc8565b5b6124f584828501612306565b91505092915050565b60006020828403121561251457612513612fcd565b5b600061252284828501612334565b91505092915050565b60006020828403121561254157612540612fcd565b5b600061254f84828501612349565b91505092915050565b60006020828403121561256e5761256d612fcd565b5b600061257c8482850161235e565b91505092915050565b60008060006060848603121561259e5761259d612fcd565b5b60006125ac8682870161235e565b93505060206125bd8682870161235e565b92505060406125ce8682870161235e565b9150509250925092565b600080604083850312156125ef576125ee612fcd565b5b60006125fd85828601612373565b925050602061260e85828601612373565b9150509250929050565b6000612624838361263f565b60208301905092915050565b61263981612e0d565b82525050565b61264881612db8565b82525050565b61265781612db8565b82525050565b600061266882612c27565b6126728185612c4a565b935061267d83612c17565b8060005b838110156126ae5781516126958882612618565b97506126a083612c3d565b925050600181019050612681565b5085935050505092915050565b6126c481612dca565b82525050565b6126d381612e1f565b82525050565b60006126e482612c32565b6126ee8185612c5b565b93506126fe818560208601612e55565b61270781612fd2565b840191505092915050565b600061271f602883612c5b565b915061272a82612fe3565b604082019050919050565b6000612742602383612c5b565b915061274d82613032565b604082019050919050565b6000612765602283612c5b565b915061277082613081565b604082019050919050565b6000612788601b83612c5b565b9150612793826130d0565b602082019050919050565b60006127ab602183612c5b565b91506127b6826130f9565b604082019050919050565b60006127ce602083612c5b565b91506127d982613148565b602082019050919050565b60006127f1602983612c5b565b91506127fc82613171565b604082019050919050565b6000612814602583612c5b565b915061281f826131c0565b604082019050919050565b6000612837601e83612c5b565b91506128428261320f565b602082019050919050565b600061285a602483612c5b565b915061286582613238565b604082019050919050565b600061287d601783612c5b565b915061288882613287565b602082019050919050565b60006128a0601d83612c5b565b91506128ab826132b0565b602082019050919050565b6128bf81612df6565b82525050565b6128ce81612e00565b82525050565b60006020820190506128e9600083018461264e565b92915050565b60006040820190506129046000830185612630565b61291160208301846128b6565b9392505050565b600060c08201905061292d600083018961264e565b61293a60208301886128b6565b61294760408301876126ca565b61295460608301866126ca565b612961608083018561264e565b61296e60a08301846128b6565b979650505050505050565b600060208201905061298e60008301846126bb565b92915050565b600060208201905081810360008301526129ae81846126d9565b905092915050565b600060208201905081810360008301526129cf81612712565b9050919050565b600060208201905081810360008301526129ef81612735565b9050919050565b60006020820190508181036000830152612a0f81612758565b9050919050565b60006020820190508181036000830152612a2f8161277b565b9050919050565b60006020820190508181036000830152612a4f8161279e565b9050919050565b60006020820190508181036000830152612a6f816127c1565b9050919050565b60006020820190508181036000830152612a8f816127e4565b9050919050565b60006020820190508181036000830152612aaf81612807565b9050919050565b60006020820190508181036000830152612acf8161282a565b9050919050565b60006020820190508181036000830152612aef8161284d565b9050919050565b60006020820190508181036000830152612b0f81612870565b9050919050565b60006020820190508181036000830152612b2f81612893565b9050919050565b6000602082019050612b4b60008301846128b6565b92915050565b600060a082019050612b6660008301886128b6565b612b7360208301876126ca565b8181036040830152612b85818661265d565b9050612b94606083018561264e565b612ba160808301846128b6565b9695505050505050565b6000602082019050612bc060008301846128c5565b92915050565b6000612bd0612be1565b9050612bdc8282612e88565b919050565b6000604051905090565b600067ffffffffffffffff821115612c0657612c05612f8f565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612c7782612df6565b9150612c8283612df6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612cb757612cb6612f02565b5b828201905092915050565b6000612ccd82612e00565b9150612cd883612e00565b92508260ff03821115612cee57612ced612f02565b5b828201905092915050565b6000612d0482612df6565b9150612d0f83612df6565b925082612d1f57612d1e612f31565b5b828204905092915050565b6000612d3582612df6565b9150612d4083612df6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d7957612d78612f02565b5b828202905092915050565b6000612d8f82612df6565b9150612d9a83612df6565b925082821015612dad57612dac612f02565b5b828203905092915050565b6000612dc382612dd6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612e1882612e31565b9050919050565b6000612e2a82612df6565b9050919050565b6000612e3c82612e43565b9050919050565b6000612e4e82612dd6565b9050919050565b60005b83811015612e73578082015181840152602081019050612e58565b83811115612e82576000848401525b50505050565b612e9182612fd2565b810181811067ffffffffffffffff82111715612eb057612eaf612f8f565b5b80604052505050565b6000612ec482612df6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612ef757612ef6612f02565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f546f74616c2070657263656e746167652068617320746f206265203130300000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b6132e281612db8565b81146132ed57600080fd5b50565b6132f981612dca565b811461330457600080fd5b50565b61331081612df6565b811461331b57600080fd5b50565b61332781612e00565b811461333257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122019c06b264b5ce9d63750a780d21c97e0370410a1576365ec190d2585e82a02b864736f6c63430008070033

Deployed Bytecode Sourcemap

3620:9561:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6211:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7042:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12922:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6488:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7211:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11702:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6397:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8075:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7798:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12475:194;;;;;;;;;;;;;:::i;:::-;;6591:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2699:148;;;;;;;;;;;;;:::i;:::-;;2485:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6302:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6716:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7535:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11526:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12268:195;;;;;;;;;;;;;:::i;:::-;;11220:294;;;;;;;;;;;;;:::i;:::-;;6891:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6211:83;6248:13;6281:5;;;;;;;;;;;;;;;;;6274:12;;6211:83;:::o;7042:161::-;7117:4;7134:39;7143:12;:10;:12::i;:::-;7157:7;7166:6;7134:8;:39::i;:::-;7191:4;7184:11;;7042:161;;;;:::o;12922:256::-;13011:15;;;;;;;;;;;12995:31;;:12;:10;:12::i;:::-;:31;;;12987:40;;;;;;13038:20;13068:12;13038:43;;13092:13;:22;;;13115:15;;;;;;;;;;;13131:13;:23;;;13163:4;13131:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13092:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12976:202;12922:256;:::o;6488:95::-;6541:7;4073:14;6561;;6488:95;:::o;7211:313::-;7309:4;7326:36;7336:6;7344:9;7355:6;7326:9;:36::i;:::-;7373:121;7382:6;7390:12;:10;:12::i;:::-;7404:89;7442:6;7404:89;;;;;;;;;;;;;;;;;:11;:19;7416:6;7404:19;;;;;;;;;;;;;;;:33;7424:12;:10;:12::i;:::-;7404:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7373:8;:121::i;:::-;7512:4;7505:11;;7211:313;;;;;:::o;11702:88::-;2622:12;:10;:12::i;:::-;2612:22;;:6;;;;;;;;;;:22;;;2604:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11777:5:::1;11762:4;:12;11767:6;11762:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11702:88:::0;:::o;6397:83::-;6438:5;4508:1;6456:16;;6397:83;:::o;8075:142::-;8161:15;;;;;;;;;;;8145:31;;:12;:10;:12::i;:::-;:31;;;8137:40;;;;;;8201:6;8188:10;:19;;;;8075:142;:::o;7798:269::-;7898:15;;;;;;;;;;;7882:31;;:12;:10;:12::i;:::-;:31;;;7874:40;;;;;;7960:3;7946:9;7934;:21;;;;:::i;:::-;7933:30;;;7925:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;8019:9;8008:20;;:8;:20;;;;8050:9;8039:20;;:8;:20;;;;7798:269;;:::o;12475:194::-;12541:15;;;;;;;;;;;12525:31;;:12;:10;:12::i;:::-;:31;;;12517:40;;;;;;12568:26;12597:21;12568:50;;12629:32;12642:18;12629:12;:32::i;:::-;12506:163;12475:194::o;6591:117::-;6657:7;6684;:16;6692:7;6684:16;;;;;;;;;;;;;;;;6677:23;;6591:117;;;:::o;2699:148::-;2622:12;:10;:12::i;:::-;2612:22;;:6;;;;;;;;;;:22;;;2604:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2806:1:::1;2769:40;;2790:6;::::0;::::1;;;;;;;;2769:40;;;;;;;;;;;;2837:1;2820:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2699:148::o:0;2485:79::-;2523:7;2550:6;;;;;;;;;;;2543:13;;2485:79;:::o;6302:87::-;6341:13;6374:7;;;;;;;;;;;;;;;;;6367:14;;6302:87;:::o;6716:167::-;6794:4;6811:42;6821:12;:10;:12::i;:::-;6835:9;6846:6;6811:9;:42::i;:::-;6871:4;6864:11;;6716:167;;;;:::o;7535:255::-;7634:15;;;;;;;;;;;7618:31;;:12;:10;:12::i;:::-;:31;;;7610:40;;;;;;7678:6;;7669:5;:15;;;;:34;;;;;7697:6;;7688:5;:15;;;;7669:34;7661:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;7754:5;7747:12;;:4;:12;;;;7777:5;7770:12;;:4;:12;;;;7535:255;;:::o;11526:164::-;2622:12;:10;:12::i;:::-;2612:22;;:6;;;;;;;;;;:22;;;2604:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11600:6:::1;11595:88;11616:5;:12;11612:1;:16;11595:88;;;11667:4;11650;:14;11655:5;11661:1;11655:8;;;;;;;;:::i;:::-;;;;;;;;11650:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11630:3;;;;;:::i;:::-;;;;11595:88;;;;11526:164:::0;:::o;12268:195::-;12334:15;;;;;;;;;;;12318:31;;:12;:10;:12::i;:::-;:31;;;12310:40;;;;;;12361:23;12387:24;12405:4;12387:9;:24::i;:::-;12361:50;;12422:33;12439:15;12422:16;:33::i;:::-;12299:164;12268:195::o;11220:294::-;2622:12;:10;:12::i;:::-;2612:22;;:6;;;;;;;;;;:22;;;2604:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11284:11:::1;;;;;;;;;;;11283:12;11275:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11333:68;11346:24;11364:4;11346:9;:24::i;:::-;11371:21;11393:7;:5;:7::i;:::-;11333:12;:68::i;:::-;11426:4;11412:11;;:18;;;;;;;;;;;;;;;;;;11455:4;11441:11;;:18;;;;;;;;;;;;;;;;;;11496:9;11477:15;:29;;;;:::i;:::-;11470:4;:36;;;;11220:294::o:0;6891:143::-;6972:7;6999:11;:18;7011:5;6999:18;;;;;;;;;;;;;;;:27;7018:7;6999:27;;;;;;;;;;;;;;;;6992:34;;6891:143;;;;:::o;1538:246::-;1596:7;1625:1;1620;:6;1616:47;;;1650:1;1643:8;;;;1616:47;1673:9;1689:1;1685;:5;;;;:::i;:::-;1673:17;;1718:1;1713;1709;:5;;;;:::i;:::-;:10;1701:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1775:1;1768:8;;;1538:246;;;;;:::o;1792:132::-;1850:7;1877:39;1881:1;1884;1877:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1870:46;;1792:132;;;;:::o;203:98::-;256:7;283:10;276:17;;203:98;:::o;8228:335::-;8338:1;8321:19;;:5;:19;;;;8313:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8419:1;8400:21;;:7;:21;;;;8392:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8501:6;8471:11;:18;8483:5;8471:18;;;;;;;;;;;;;;;:27;8490:7;8471:27;;;;;;;;;;;;;;;:36;;;;8539:7;8523:32;;8532:5;8523:32;;;8548:6;8523:32;;;;;;:::i;:::-;;;;;;;;8228:335;;;:::o;8571:1649::-;8675:1;8659:18;;:4;:18;;;;8651:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8752:1;8738:16;;:2;:16;;;;8730:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8822:1;8813:6;:10;8805:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8889:4;;8882;:11;;;;8916:7;:5;:7::i;:::-;8908:15;;:4;:15;;;;:32;;;;;8933:7;:5;:7::i;:::-;8927:13;;:2;:13;;;;8908:32;8904:1261;;;8966:4;:10;8971:4;8966:10;;;;;;;;;;;;;;;;;;;;;;;;;8965:11;:24;;;;;8981:4;:8;8986:2;8981:8;;;;;;;;;;;;;;;;;;;;;;;;;8980:9;8965:24;8957:33;;;;;;9017:13;;;;;;;;;;;9009:21;;:4;:21;;;:55;;;;;9048:15;;;;;;;;;;;9034:30;;:2;:30;;;;9009:55;:83;;;;;9070:18;:22;9089:2;9070:22;;;;;;;;;;;;;;;;;;;;;;;;;9068:24;9009:83;:111;;;;;9115:4;;9097:15;:22;9009:111;9005:333;;;9187:12;;9177:6;:22;;9169:31;;;;;;9242:15;9227:8;:12;9236:2;9227:12;;;;;;;;;;;;;;;;:30;9219:39;;;;;;9311:10;9292:15;:30;;;;:::i;:::-;9277:8;:12;9286:2;9277:12;;;;;;;;;;;;;;;:45;;;;9005:333;9390:13;;;;;;;;;;;9384:19;;:2;:19;;;:55;;;;;9423:15;;;;;;;;;;;9407:32;;:4;:32;;;;9384:55;:85;;;;;9445:18;:24;9464:4;9445:24;;;;;;;;;;;;;;;;;;;;;;;;;9443:26;9384:85;9380:137;;;9497:4;;9490;:11;;;;9380:137;9550:6;;;;;;;;;;;9549:7;:32;;;;;9568:13;;;;;;;;;;;9560:21;;:4;:21;;;;9549:32;:47;;;;;9585:11;;;;;;;;;;;9549:47;:76;;;;;9601:18;:24;9620:4;9601:24;;;;;;;;;;;;;;;;;;;;;;;;;9600:25;9549:76;9545:609;;;9672:4;;9654:15;:22;9646:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9739:28;9770:24;9788:4;9770:9;:24::i;:::-;9739:55;;9839:10;;9816:20;:33;9813:326;;;9873:38;9890:20;9873:16;:38::i;:::-;9934:26;9963:21;9934:50;;10031:1;10010:18;:22;10007:113;;;10061:35;10074:21;10061:12;:35::i;:::-;10007:113;9850:289;9813:326;9627:527;9545:609;8904:1261;10179:33;10197:4;10202:2;10205:6;10179:17;:33::i;:::-;8571:1649;;;:::o;1340:190::-;1426:7;1459:1;1454;:6;;1462:12;1446:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1486:9;1502:1;1498;:5;;;;:::i;:::-;1486:17;;1521:1;1514:8;;;1340:190;;;;;:::o;11022:186::-;11079:15;;;;;;;;;;;:24;;:55;11104:29;11124:8;;11104:15;11115:3;11104:6;:10;;:15;;;;:::i;:::-;:19;;:29;;;;:::i;:::-;11079:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11145:15;;;;;;;;;;;:24;;:55;11170:29;11190:8;;11170:15;11181:3;11170:6;:10;;:15;;;;:::i;:::-;:19;;:29;;;;:::i;:::-;11145:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11022:186;:::o;10228:483::-;4838:4;4829:6;;:13;;;;;;;;;;;;;;;;;;10306:21:::1;10344:1;10330:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10306:40;;10375:4;10357;10362:1;10357:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10401:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10391:4;10396:1;10391:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10434:62;10451:4;10466:15;;;;;;;;;;;10484:11;10434:8;:62::i;:::-;10507:15;;;;;;;;;;;:66;;;10588:11;10614:1;10630:4;10657;10677:15;10507:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10295:416;4874:5:::0;4865:6;;:14;;;;;;;;;;;;;;;;;;10228:483;:::o;10723:288::-;4838:4;4829:6;;:13;;;;;;;;;;;;;;;;;;10829:60:::1;10846:4;10860:15;;;;;;;;;;;10877:11;10829:8;:60::i;:::-;10900:15;;;;;;;;;;;:31;;;10939:9;10958:4;10964:11;10976:1;10978::::0;10980:6:::1;10987:15;10900:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4874:5:::0;4865:6;;:14;;;;;;;;;;;;;;;;;;10723:288;;;:::o;1932:189::-;2018:7;2050:1;2046;:5;2053:12;2038:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2077:9;2093:1;2089;:5;;;;:::i;:::-;2077:17;;2112:1;2105:8;;;1932:189;;;;;:::o;11798:421::-;11897:22;11920:12;11936:20;11948:7;11936:11;:20::i;:::-;11896:60;;;;11985:28;12005:7;11985;:15;11993:6;11985:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11967:7;:15;11975:6;11967:15;;;;;;;;;;;;;;;:46;;;;12045:38;12068:14;12045:7;:18;12053:9;12045:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;12024:7;:18;12032:9;12024:18;;;;;;;;;;;;;;;:59;;;;12120:32;12147:4;12120:7;:22;12136:4;12120:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;12095:7;:22;12111:4;12095:22;;;;;;;;;;;;;;;:57;;;;12185:9;12168:43;;12177:6;12168:43;;;12196:14;12168:43;;;;;;:::i;:::-;;;;;;;;11885:334;;11798:421;;;:::o;12680:234::-;12740:7;12749;12769:12;12784:27;12806:4;12784:17;12796:4;;12784:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;12769:42;;12822:23;12848:17;12860:4;12848:7;:11;;:17;;;;:::i;:::-;12822:43;;12884:15;12901:4;12876:30;;;;;;12680:234;;;:::o;1196:136::-;1254:7;1281:43;1285:1;1288;1281:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1274:50;;1196:136;;;;:::o;1009:179::-;1067:7;1087:9;1103:1;1099;:5;;;;:::i;:::-;1087:17;;1128:1;1123;:6;;1115:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1179:1;1172:8;;;1009:179;;;;:::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;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1439:137;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1582:139;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1727:143;;;;:::o;1876:135::-;1920:5;1958:6;1945:20;1936:29;;1974:31;1999:5;1974:31;:::i;:::-;1876:135;;;;:::o;2017:329::-;2076:6;2125:2;2113:9;2104:7;2100:23;2096:32;2093:119;;;2131:79;;:::i;:::-;2093:119;2251:1;2276:53;2321:7;2312:6;2301:9;2297:22;2276:53;:::i;:::-;2266:63;;2222:117;2017:329;;;;:::o;2352:351::-;2422:6;2471:2;2459:9;2450:7;2446:23;2442:32;2439:119;;;2477:79;;:::i;:::-;2439:119;2597:1;2622:64;2678:7;2669:6;2658:9;2654:22;2622:64;:::i;:::-;2612:74;;2568:128;2352:351;;;;:::o;2709:474::-;2777:6;2785;2834:2;2822:9;2813:7;2809:23;2805:32;2802:119;;;2840:79;;:::i;:::-;2802:119;2960:1;2985:53;3030:7;3021:6;3010:9;3006:22;2985:53;:::i;:::-;2975:63;;2931:117;3087:2;3113:53;3158:7;3149:6;3138:9;3134:22;3113:53;:::i;:::-;3103:63;;3058:118;2709:474;;;;;:::o;3189:619::-;3266:6;3274;3282;3331:2;3319:9;3310:7;3306:23;3302:32;3299:119;;;3337:79;;:::i;:::-;3299:119;3457:1;3482:53;3527:7;3518:6;3507:9;3503:22;3482:53;:::i;:::-;3472:63;;3428:117;3584:2;3610:53;3655:7;3646:6;3635:9;3631:22;3610:53;:::i;:::-;3600:63;;3555:118;3712:2;3738:53;3783:7;3774:6;3763:9;3759:22;3738:53;:::i;:::-;3728:63;;3683:118;3189:619;;;;;:::o;3814:474::-;3882:6;3890;3939:2;3927:9;3918:7;3914:23;3910:32;3907:119;;;3945:79;;:::i;:::-;3907:119;4065:1;4090:53;4135:7;4126:6;4115:9;4111:22;4090:53;:::i;:::-;4080:63;;4036:117;4192:2;4218:53;4263:7;4254:6;4243:9;4239:22;4218:53;:::i;:::-;4208:63;;4163:118;3814:474;;;;;:::o;4294:539::-;4378:6;4427:2;4415:9;4406:7;4402:23;4398:32;4395:119;;;4433:79;;:::i;:::-;4395:119;4581:1;4570:9;4566:17;4553:31;4611:18;4603:6;4600:30;4597:117;;;4633:79;;:::i;:::-;4597:117;4738:78;4808:7;4799:6;4788:9;4784:22;4738:78;:::i;:::-;4728:88;;4524:302;4294:539;;;;:::o;4839:345::-;4906:6;4955:2;4943:9;4934:7;4930:23;4926:32;4923:119;;;4961:79;;:::i;:::-;4923:119;5081:1;5106:61;5159:7;5150:6;5139:9;5135:22;5106:61;:::i;:::-;5096:71;;5052:125;4839:345;;;;:::o;5190:329::-;5249:6;5298:2;5286:9;5277:7;5273:23;5269:32;5266:119;;;5304:79;;:::i;:::-;5266:119;5424:1;5449:53;5494:7;5485:6;5474:9;5470:22;5449:53;:::i;:::-;5439:63;;5395:117;5190:329;;;;:::o;5525:351::-;5595:6;5644:2;5632:9;5623:7;5619:23;5615:32;5612:119;;;5650:79;;:::i;:::-;5612:119;5770:1;5795:64;5851:7;5842:6;5831:9;5827:22;5795:64;:::i;:::-;5785:74;;5741:128;5525:351;;;;:::o;5882:663::-;5970:6;5978;5986;6035:2;6023:9;6014:7;6010:23;6006:32;6003:119;;;6041:79;;:::i;:::-;6003:119;6161:1;6186:64;6242:7;6233:6;6222:9;6218:22;6186:64;:::i;:::-;6176:74;;6132:128;6299:2;6325:64;6381:7;6372:6;6361:9;6357:22;6325:64;:::i;:::-;6315:74;;6270:129;6438:2;6464:64;6520:7;6511:6;6500:9;6496:22;6464:64;:::i;:::-;6454:74;;6409:129;5882:663;;;;;:::o;6551:466::-;6615:6;6623;6672:2;6660:9;6651:7;6647:23;6643:32;6640:119;;;6678:79;;:::i;:::-;6640:119;6798:1;6823:51;6866:7;6857:6;6846:9;6842:22;6823:51;:::i;:::-;6813:61;;6769:115;6923:2;6949:51;6992:7;6983:6;6972:9;6968:22;6949:51;:::i;:::-;6939:61;;6894:116;6551:466;;;;;:::o;7023:179::-;7092:10;7113:46;7155:3;7147:6;7113:46;:::i;:::-;7191:4;7186:3;7182:14;7168:28;;7023:179;;;;:::o;7208:147::-;7303:45;7342:5;7303:45;:::i;:::-;7298:3;7291:58;7208:147;;:::o;7361:108::-;7438:24;7456:5;7438:24;:::i;:::-;7433:3;7426:37;7361:108;;:::o;7475:118::-;7562:24;7580:5;7562:24;:::i;:::-;7557:3;7550:37;7475:118;;:::o;7629:732::-;7748:3;7777:54;7825:5;7777:54;:::i;:::-;7847:86;7926:6;7921:3;7847:86;:::i;:::-;7840:93;;7957:56;8007:5;7957:56;:::i;:::-;8036:7;8067:1;8052:284;8077:6;8074:1;8071:13;8052:284;;;8153:6;8147:13;8180:63;8239:3;8224:13;8180:63;:::i;:::-;8173:70;;8266:60;8319:6;8266:60;:::i;:::-;8256:70;;8112:224;8099:1;8096;8092:9;8087:14;;8052:284;;;8056:14;8352:3;8345:10;;7753:608;;;7629:732;;;;:::o;8367:109::-;8448:21;8463:5;8448:21;:::i;:::-;8443:3;8436:34;8367:109;;:::o;8482:147::-;8577:45;8616:5;8577:45;:::i;:::-;8572:3;8565:58;8482:147;;:::o;8635:364::-;8723:3;8751:39;8784:5;8751:39;:::i;:::-;8806:71;8870:6;8865:3;8806:71;:::i;:::-;8799:78;;8886:52;8931:6;8926:3;8919:4;8912:5;8908:16;8886:52;:::i;:::-;8963:29;8985:6;8963:29;:::i;:::-;8958:3;8954:39;8947:46;;8727:272;8635:364;;;;:::o;9005:366::-;9147:3;9168:67;9232:2;9227:3;9168:67;:::i;:::-;9161:74;;9244:93;9333:3;9244:93;:::i;:::-;9362:2;9357:3;9353:12;9346:19;;9005:366;;;:::o;9377:::-;9519:3;9540:67;9604:2;9599:3;9540:67;:::i;:::-;9533:74;;9616:93;9705:3;9616:93;:::i;:::-;9734:2;9729:3;9725:12;9718:19;;9377:366;;;:::o;9749:::-;9891:3;9912:67;9976:2;9971:3;9912:67;:::i;:::-;9905:74;;9988:93;10077:3;9988:93;:::i;:::-;10106:2;10101:3;10097:12;10090:19;;9749:366;;;:::o;10121:::-;10263:3;10284:67;10348:2;10343:3;10284:67;:::i;:::-;10277:74;;10360:93;10449:3;10360:93;:::i;:::-;10478:2;10473:3;10469:12;10462:19;;10121:366;;;:::o;10493:::-;10635:3;10656:67;10720:2;10715:3;10656:67;:::i;:::-;10649:74;;10732:93;10821:3;10732:93;:::i;:::-;10850:2;10845:3;10841:12;10834:19;;10493:366;;;:::o;10865:::-;11007:3;11028:67;11092:2;11087:3;11028:67;:::i;:::-;11021:74;;11104:93;11193:3;11104:93;:::i;:::-;11222:2;11217:3;11213:12;11206:19;;10865:366;;;:::o;11237:::-;11379:3;11400:67;11464:2;11459:3;11400:67;:::i;:::-;11393:74;;11476:93;11565:3;11476:93;:::i;:::-;11594:2;11589:3;11585:12;11578:19;;11237:366;;;:::o;11609:::-;11751:3;11772:67;11836:2;11831:3;11772:67;:::i;:::-;11765:74;;11848:93;11937:3;11848:93;:::i;:::-;11966:2;11961:3;11957:12;11950:19;;11609:366;;;:::o;11981:::-;12123:3;12144:67;12208:2;12203:3;12144:67;:::i;:::-;12137:74;;12220:93;12309:3;12220:93;:::i;:::-;12338:2;12333:3;12329:12;12322:19;;11981:366;;;:::o;12353:::-;12495:3;12516:67;12580:2;12575:3;12516:67;:::i;:::-;12509:74;;12592:93;12681:3;12592:93;:::i;:::-;12710:2;12705:3;12701:12;12694:19;;12353:366;;;:::o;12725:::-;12867:3;12888:67;12952:2;12947:3;12888:67;:::i;:::-;12881:74;;12964:93;13053:3;12964:93;:::i;:::-;13082:2;13077:3;13073:12;13066:19;;12725:366;;;:::o;13097:::-;13239:3;13260:67;13324:2;13319:3;13260:67;:::i;:::-;13253:74;;13336:93;13425:3;13336:93;:::i;:::-;13454:2;13449:3;13445:12;13438:19;;13097:366;;;:::o;13469:118::-;13556:24;13574:5;13556:24;:::i;:::-;13551:3;13544:37;13469:118;;:::o;13593:112::-;13676:22;13692:5;13676:22;:::i;:::-;13671:3;13664:35;13593:112;;:::o;13711:222::-;13804:4;13842:2;13831:9;13827:18;13819:26;;13855:71;13923:1;13912:9;13908:17;13899:6;13855:71;:::i;:::-;13711:222;;;;:::o;13939:348::-;14068:4;14106:2;14095:9;14091:18;14083:26;;14119:79;14195:1;14184:9;14180:17;14171:6;14119:79;:::i;:::-;14208:72;14276:2;14265:9;14261:18;14252:6;14208:72;:::i;:::-;13939:348;;;;;:::o;14293:807::-;14542:4;14580:3;14569:9;14565:19;14557:27;;14594:71;14662:1;14651:9;14647:17;14638:6;14594:71;:::i;:::-;14675:72;14743:2;14732:9;14728:18;14719:6;14675:72;:::i;:::-;14757:80;14833:2;14822:9;14818:18;14809:6;14757:80;:::i;:::-;14847;14923:2;14912:9;14908:18;14899:6;14847:80;:::i;:::-;14937:73;15005:3;14994:9;14990:19;14981:6;14937:73;:::i;:::-;15020;15088:3;15077:9;15073:19;15064:6;15020:73;:::i;:::-;14293:807;;;;;;;;;:::o;15106:210::-;15193:4;15231:2;15220:9;15216:18;15208:26;;15244:65;15306:1;15295:9;15291:17;15282:6;15244:65;:::i;:::-;15106:210;;;;:::o;15322:313::-;15435:4;15473:2;15462:9;15458:18;15450:26;;15522:9;15516:4;15512:20;15508:1;15497:9;15493:17;15486:47;15550:78;15623:4;15614:6;15550:78;:::i;:::-;15542:86;;15322:313;;;;:::o;15641:419::-;15807:4;15845:2;15834:9;15830:18;15822:26;;15894:9;15888:4;15884:20;15880:1;15869:9;15865:17;15858:47;15922:131;16048:4;15922:131;:::i;:::-;15914:139;;15641:419;;;:::o;16066:::-;16232:4;16270:2;16259:9;16255:18;16247:26;;16319:9;16313:4;16309:20;16305:1;16294:9;16290:17;16283:47;16347:131;16473:4;16347:131;:::i;:::-;16339:139;;16066:419;;;:::o;16491:::-;16657:4;16695:2;16684:9;16680:18;16672:26;;16744:9;16738:4;16734:20;16730:1;16719:9;16715:17;16708:47;16772:131;16898:4;16772:131;:::i;:::-;16764:139;;16491:419;;;:::o;16916:::-;17082:4;17120:2;17109:9;17105:18;17097:26;;17169:9;17163:4;17159:20;17155:1;17144:9;17140:17;17133:47;17197:131;17323:4;17197:131;:::i;:::-;17189:139;;16916:419;;;:::o;17341:::-;17507:4;17545:2;17534:9;17530:18;17522:26;;17594:9;17588:4;17584:20;17580:1;17569:9;17565:17;17558:47;17622:131;17748:4;17622:131;:::i;:::-;17614:139;;17341:419;;;:::o;17766:::-;17932:4;17970:2;17959:9;17955:18;17947:26;;18019:9;18013:4;18009:20;18005:1;17994:9;17990:17;17983:47;18047:131;18173:4;18047:131;:::i;:::-;18039:139;;17766:419;;;:::o;18191:::-;18357:4;18395:2;18384:9;18380:18;18372:26;;18444:9;18438:4;18434:20;18430:1;18419:9;18415:17;18408:47;18472:131;18598:4;18472:131;:::i;:::-;18464:139;;18191:419;;;:::o;18616:::-;18782:4;18820:2;18809:9;18805:18;18797:26;;18869:9;18863:4;18859:20;18855:1;18844:9;18840:17;18833:47;18897:131;19023:4;18897:131;:::i;:::-;18889:139;;18616:419;;;:::o;19041:::-;19207:4;19245:2;19234:9;19230:18;19222:26;;19294:9;19288:4;19284:20;19280:1;19269:9;19265:17;19258:47;19322:131;19448:4;19322:131;:::i;:::-;19314:139;;19041:419;;;:::o;19466:::-;19632:4;19670:2;19659:9;19655:18;19647:26;;19719:9;19713:4;19709:20;19705:1;19694:9;19690:17;19683:47;19747:131;19873:4;19747:131;:::i;:::-;19739:139;;19466:419;;;:::o;19891:::-;20057:4;20095:2;20084:9;20080:18;20072:26;;20144:9;20138:4;20134:20;20130:1;20119:9;20115:17;20108:47;20172:131;20298:4;20172:131;:::i;:::-;20164:139;;19891:419;;;:::o;20316:::-;20482:4;20520:2;20509:9;20505:18;20497:26;;20569:9;20563:4;20559:20;20555:1;20544:9;20540:17;20533:47;20597:131;20723:4;20597:131;:::i;:::-;20589:139;;20316:419;;;:::o;20741:222::-;20834:4;20872:2;20861:9;20857:18;20849:26;;20885:71;20953:1;20942:9;20938:17;20929:6;20885:71;:::i;:::-;20741:222;;;;:::o;20969:831::-;21232:4;21270:3;21259:9;21255:19;21247:27;;21284:71;21352:1;21341:9;21337:17;21328:6;21284:71;:::i;:::-;21365:80;21441:2;21430:9;21426:18;21417:6;21365:80;:::i;:::-;21492:9;21486:4;21482:20;21477:2;21466:9;21462:18;21455:48;21520:108;21623:4;21614:6;21520:108;:::i;:::-;21512:116;;21638:72;21706:2;21695:9;21691:18;21682:6;21638:72;:::i;:::-;21720:73;21788:3;21777:9;21773:19;21764:6;21720:73;:::i;:::-;20969:831;;;;;;;;:::o;21806:214::-;21895:4;21933:2;21922:9;21918:18;21910:26;;21946:67;22010:1;21999:9;21995:17;21986:6;21946:67;:::i;:::-;21806:214;;;;:::o;22026:129::-;22060:6;22087:20;;:::i;:::-;22077:30;;22116:33;22144:4;22136:6;22116:33;:::i;:::-;22026:129;;;:::o;22161:75::-;22194:6;22227:2;22221:9;22211:19;;22161:75;:::o;22242:311::-;22319:4;22409:18;22401:6;22398:30;22395:56;;;22431:18;;:::i;:::-;22395:56;22481:4;22473:6;22469:17;22461:25;;22541:4;22535;22531:15;22523:23;;22242:311;;;:::o;22559:132::-;22626:4;22649:3;22641:11;;22679:4;22674:3;22670:14;22662:22;;22559:132;;;:::o;22697:114::-;22764:6;22798:5;22792:12;22782:22;;22697:114;;;:::o;22817:99::-;22869:6;22903:5;22897:12;22887:22;;22817:99;;;:::o;22922:113::-;22992:4;23024;23019:3;23015:14;23007:22;;22922:113;;;:::o;23041:184::-;23140:11;23174:6;23169:3;23162:19;23214:4;23209:3;23205:14;23190:29;;23041:184;;;;:::o;23231:169::-;23315:11;23349:6;23344:3;23337:19;23389:4;23384:3;23380:14;23365:29;;23231:169;;;;:::o;23406:305::-;23446:3;23465:20;23483:1;23465:20;:::i;:::-;23460:25;;23499:20;23517:1;23499:20;:::i;:::-;23494:25;;23653:1;23585:66;23581:74;23578:1;23575:81;23572:107;;;23659:18;;:::i;:::-;23572:107;23703:1;23700;23696:9;23689:16;;23406:305;;;;:::o;23717:237::-;23755:3;23774:18;23790:1;23774:18;:::i;:::-;23769:23;;23806:18;23822:1;23806:18;:::i;:::-;23801:23;;23896:1;23890:4;23886:12;23883:1;23880:19;23877:45;;;23902:18;;:::i;:::-;23877:45;23946:1;23943;23939:9;23932:16;;23717:237;;;;:::o;23960:185::-;24000:1;24017:20;24035:1;24017:20;:::i;:::-;24012:25;;24051:20;24069:1;24051:20;:::i;:::-;24046:25;;24090:1;24080:35;;24095:18;;:::i;:::-;24080:35;24137:1;24134;24130:9;24125:14;;23960:185;;;;:::o;24151:348::-;24191:7;24214:20;24232:1;24214:20;:::i;:::-;24209:25;;24248:20;24266:1;24248:20;:::i;:::-;24243:25;;24436:1;24368:66;24364:74;24361:1;24358:81;24353:1;24346:9;24339:17;24335:105;24332:131;;;24443:18;;:::i;:::-;24332:131;24491:1;24488;24484:9;24473:20;;24151:348;;;;:::o;24505:191::-;24545:4;24565:20;24583:1;24565:20;:::i;:::-;24560:25;;24599:20;24617:1;24599:20;:::i;:::-;24594:25;;24638:1;24635;24632:8;24629:34;;;24643:18;;:::i;:::-;24629:34;24688:1;24685;24681:9;24673:17;;24505:191;;;;:::o;24702:96::-;24739:7;24768:24;24786:5;24768:24;:::i;:::-;24757:35;;24702:96;;;:::o;24804:90::-;24838:7;24881:5;24874:13;24867:21;24856:32;;24804:90;;;:::o;24900:126::-;24937:7;24977:42;24970:5;24966:54;24955:65;;24900:126;;;:::o;25032:77::-;25069:7;25098:5;25087:16;;25032:77;;;:::o;25115:86::-;25150:7;25190:4;25183:5;25179:16;25168:27;;25115:86;;;:::o;25207:134::-;25265:9;25298:37;25329:5;25298:37;:::i;:::-;25285:50;;25207:134;;;:::o;25347:121::-;25405:9;25438:24;25456:5;25438:24;:::i;:::-;25425:37;;25347:121;;;:::o;25474:126::-;25524:9;25557:37;25588:5;25557:37;:::i;:::-;25544:50;;25474:126;;;:::o;25606:113::-;25656:9;25689:24;25707:5;25689:24;:::i;:::-;25676:37;;25606:113;;;:::o;25725:307::-;25793:1;25803:113;25817:6;25814:1;25811:13;25803:113;;;25902:1;25897:3;25893:11;25887:18;25883:1;25878:3;25874:11;25867:39;25839:2;25836:1;25832:10;25827:15;;25803:113;;;25934:6;25931:1;25928:13;25925:101;;;26014:1;26005:6;26000:3;25996:16;25989:27;25925:101;25774:258;25725:307;;;:::o;26038:281::-;26121:27;26143:4;26121:27;:::i;:::-;26113:6;26109:40;26251:6;26239:10;26236:22;26215:18;26203:10;26200:34;26197:62;26194:88;;;26262:18;;:::i;:::-;26194:88;26302:10;26298:2;26291:22;26081:238;26038:281;;:::o;26325:233::-;26364:3;26387:24;26405:5;26387:24;:::i;:::-;26378:33;;26433:66;26426:5;26423:77;26420:103;;;26503:18;;:::i;:::-;26420:103;26550:1;26543:5;26539:13;26532:20;;26325:233;;;:::o;26564:180::-;26612:77;26609:1;26602:88;26709:4;26706:1;26699:15;26733:4;26730:1;26723:15;26750:180;26798:77;26795:1;26788:88;26895:4;26892:1;26885:15;26919:4;26916:1;26909:15;26936:180;26984:77;26981:1;26974:88;27081:4;27078:1;27071:15;27105:4;27102:1;27095:15;27122:180;27170:77;27167:1;27160:88;27267:4;27264:1;27257:15;27291:4;27288:1;27281:15;27308:117;27417:1;27414;27407:12;27431:117;27540:1;27537;27530:12;27554:117;27663:1;27660;27653:12;27677:117;27786:1;27783;27776:12;27800:102;27841:6;27892:2;27888:7;27883:2;27876:5;27872:14;27868:28;27858:38;;27800:102;;;:::o;27908:227::-;28048:34;28044:1;28036:6;28032:14;28025:58;28117:10;28112:2;28104:6;28100:15;28093:35;27908:227;:::o;28141:222::-;28281:34;28277:1;28269:6;28265:14;28258:58;28350:5;28345:2;28337:6;28333:15;28326:30;28141:222;:::o;28369:221::-;28509:34;28505:1;28497:6;28493:14;28486:58;28578:4;28573:2;28565:6;28561:15;28554:29;28369:221;:::o;28596:177::-;28736:29;28732:1;28724:6;28720:14;28713:53;28596:177;:::o;28779:220::-;28919:34;28915:1;28907:6;28903:14;28896:58;28988:3;28983:2;28975:6;28971:15;28964:28;28779:220;:::o;29005:182::-;29145:34;29141:1;29133:6;29129:14;29122:58;29005:182;:::o;29193:228::-;29333:34;29329:1;29321:6;29317:14;29310:58;29402:11;29397:2;29389:6;29385:15;29378:36;29193:228;:::o;29427:224::-;29567:34;29563:1;29555:6;29551:14;29544:58;29636:7;29631:2;29623:6;29619:15;29612:32;29427:224;:::o;29657:180::-;29797:32;29793:1;29785:6;29781:14;29774:56;29657:180;:::o;29843:223::-;29983:34;29979:1;29971:6;29967:14;29960:58;30052:6;30047:2;30039:6;30035:15;30028:31;29843:223;:::o;30072:173::-;30212:25;30208:1;30200:6;30196:14;30189:49;30072:173;:::o;30251:179::-;30391:31;30387:1;30379:6;30375:14;30368:55;30251:179;:::o;30436:122::-;30509:24;30527:5;30509:24;:::i;:::-;30502:5;30499:35;30489:63;;30548:1;30545;30538:12;30489:63;30436:122;:::o;30564:116::-;30634:21;30649:5;30634:21;:::i;:::-;30627:5;30624:32;30614:60;;30670:1;30667;30660:12;30614:60;30564:116;:::o;30686:122::-;30759:24;30777:5;30759:24;:::i;:::-;30752:5;30749:35;30739:63;;30798:1;30795;30788:12;30739:63;30686:122;:::o;30814:118::-;30885:22;30901:5;30885:22;:::i;:::-;30878:5;30875:33;30865:61;;30922:1;30919;30912:12;30865:61;30814:118;:::o

Swarm Source

ipfs://19c06b264b5ce9d63750a780d21c97e0370410a1576365ec190d2585e82a02b8
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.