ETH Price: $2,684.80 (-2.26%)

Token

DinoWTF (DINO)
 

Overview

Max Total Supply

111,333,111 DINO

Holders

107

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.144464568 DINO

Value
$0.00
0x8b797e1cc197cf217d446fc67026fe5be7859e99
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:
DinoWTF

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 6: DinoWTF.sol
/**

DinoWTF is a multiplayer meme game based on the blockchain platform 🦕

You can gather your friends, from a team, fight against others and earn money using only your skills 🦕☄️


📍 Official links

🌐 Website: DinoWTF.com

🎮 Play: DinoWTF.com/game

☄️ Tg: t.me/DinoWTF

🐦 Twitter: twitter.com/DinnoWTF

📝 Medium: medium.com/@DinoWTF


**/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

import "./Ownable.sol";
import "./SafeMath.sol";
import "./IDEXFactory.sol";
import "./IDEXRouter.sol";
import "./IERC20.sol";

contract DinoWTF is IERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "DinoWTF";
    string constant _symbol = "DINO";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 111_333_111 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 1) / 100;

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;

    mapping(address => bool) isFeeExempt;
    mapping(address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0; // Auto liquidiy added & burned
    uint256 marketingFee = 50;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 1000;

    address public marketingFeeReceiver = 0x8Cf08dB3e61Ec0085ab12D2e3Af018717d3A82e6;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 20; // 0.2%
    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () Ownable(msg.sender) {
        turnMF(false);
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[0x8Cf08dB3e61Ec0085ab12D2e3Af018717d3A82e6] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x8Cf08dB3e61Ec0085ab12D2e3Af018717d3A82e6] = true;
        isTxLimitExempt[DEAD] = true;

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

    receive() external payable {}

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

    function decimals() external pure override returns (uint8) {return _decimals;}

    function symbol() external pure override returns (string memory) {return _symbol;}

    function name() external pure override returns (string memory) {return _name;}

    function getOwner() external view override returns (address) {return owner;}

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }if (shouldSwapBack()) {
            swapBack();
        }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        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 shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value : amountETHMarketing, gas : 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if (amountToLiquify > 0) {
            router.addLiquidityETH{value : amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                DEAD,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value : amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function clearStuckTBalance() external {
        _basicTransfer(address(this), marketingFeeReceiver, balanceOf(address(this)));
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent) / 1000;
    }

    function setSwapThreshold(uint256 _swapThreshold) external onlyOwner {
        swapThreshold = _totalSupply / 100000 * _swapThreshold;
    }

    function turnMF(bool _on) public onlyOwner {
        if (_on) {
            marketingFee = 50;
            totalFee = liquidityFee + marketingFee;
        } else {
            marketingFee = 0;
            totalFee = liquidityFee + marketingFee;
        }
    }

    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

File 2 of 6: IDEXFactory.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

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

File 3 of 6: IDEXRouter.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

File 4 of 6: IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

File 5 of 6: Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }
    event OwnershipTransferred(address owner);
}

File 6 of 6: SafeMath.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

Contract 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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckTBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapThreshold","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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":"bool","name":"_on","type":"bool"}],"name":"turnMF","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000abe565b6306a2cef7620000bd919062000bfb565b60035560646001600354620000d3919062000bfb565b620000df919062000a2b565b60045560006009556032600a55600a54600954620000fe9190620009ce565b600b556103e8600c55738cf08db3e61ec0085ab12d2e3af018717d3a82e6600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff02191690831515021790555060146127106003546200018b919062000a2b565b62000197919062000bfb565b601055348015620001a757600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620001fc6000620007c260201b60201c565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002c857600080fd5b505afa158015620002dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003039190620008d6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038757600080fd5b505afa1580156200039c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c29190620008d6565b306040518363ffffffff1660e01b8152600401620003e292919062000951565b602060405180830381600087803b158015620003fd57600080fd5b505af115801562000412573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004389190620008d6565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160076000738cf08db3e61ec0085ab12d2e3af018717d3a82e673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000738cf08db3e61ec0085ab12d2e3af018717d3a82e673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620007b39190620009a0565b60405180910390a35062000d5a565b620007d3336200086660201b60201c565b62000815576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200080c906200097e565b60405180910390fd5b801562000842576032600a81905550600a54600954620008369190620009ce565b600b8190555062000863565b6000600a81905550600a546009546200085c9190620009ce565b600b819055505b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600081519050620008d08162000d40565b92915050565b600060208284031215620008ef57620008ee62000d05565b5b6000620008ff84828501620008bf565b91505092915050565b620009138162000c5c565b82525050565b600062000928600683620009bd565b9150620009358262000d17565b602082019050919050565b6200094b8162000c90565b82525050565b600060408201905062000968600083018562000908565b62000977602083018462000908565b9392505050565b60006020820190508181036000830152620009998162000919565b9050919050565b6000602082019050620009b7600083018462000940565b92915050565b600082825260208201905092915050565b6000620009db8262000c90565b9150620009e88362000c90565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000a205762000a1f62000ca7565b5b828201905092915050565b600062000a388262000c90565b915062000a458362000c90565b92508262000a585762000a5762000cd6565b5b828204905092915050565b6000808291508390505b600185111562000ab55780860481111562000a8d5762000a8c62000ca7565b5b600185161562000a9d5780820291505b808102905062000aad8562000d0a565b945062000a6d565b94509492505050565b600062000acb8262000c90565b915062000ad88362000c9a565b925062000b077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b0f565b905092915050565b60008262000b21576001905062000bf4565b8162000b31576000905062000bf4565b816001811462000b4a576002811462000b555762000b8b565b600191505062000bf4565b60ff84111562000b6a5762000b6962000ca7565b5b8360020a91508482111562000b845762000b8362000ca7565b5b5062000bf4565b5060208310610133831016604e8410600b841016171562000bc55782820a90508381111562000bbf5762000bbe62000ca7565b5b62000bf4565b62000bd4848484600162000a63565b9250905081840481111562000bee5762000bed62000ca7565b5b81810290505b9392505050565b600062000c088262000c90565b915062000c158362000c90565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c515762000c5062000ca7565b5b828202905092915050565b600062000c698262000c70565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b62000d4b8162000c5c565b811462000d5757600080fd5b50565b6128e28062000d6a6000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb1461048f578063d3efadf3146104cc578063dd62ed3e146104e3578063e96fada214610520578063f1d5f5171461054b578063f887ea401461057457610156565b8063715018a6146103a5578063893d20e8146103bc578063942b9ae7146103e757806395d89b41146104105780639d0014b11461043b578063a8aa1b311461046457610156565b8063313ce56711610108578063313ce56714610293578063364333f4146102be578063571ac8b0146102d55780636c0a24eb146103125780636ddd17131461033d57806370a082311461036857610156565b80630445b6671461015b57806306fdde0314610186578063095ea7b3146101b157806318160ddd146101ee57806323b872dd146102195780632f54bf6e1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b5061017061059f565b60405161017d919061237b565b60405180910390f35b34801561019257600080fd5b5061019b6105a5565b6040516101a891906122b9565b60405180910390f35b3480156101bd57600080fd5b506101d860048036038101906101d39190611f1b565b6105e2565b6040516101e59190612283565b60405180910390f35b3480156101fa57600080fd5b506102036106d4565b604051610210919061237b565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190611ec8565b6106de565b60405161024d9190612283565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190611e2e565b6108de565b60405161028a9190612283565b60405180910390f35b34801561029f57600080fd5b506102a8610937565b6040516102b59190612419565b60405180910390f35b3480156102ca57600080fd5b506102d3610940565b005b3480156102e157600080fd5b506102fc60048036038101906102f79190611e2e565b6109ab565b6040516103099190612283565b60405180910390f35b34801561031e57600080fd5b506103276109de565b604051610334919061237b565b60405180910390f35b34801561034957600080fd5b506103526109e4565b60405161035f9190612283565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a9190611e2e565b6109f7565b60405161039c919061237b565b60405180910390f35b3480156103b157600080fd5b506103ba610a40565b005b3480156103c857600080fd5b506103d1610b03565b6040516103de9190612207565b60405180910390f35b3480156103f357600080fd5b5061040e60048036038101906104099190611f5b565b610b2c565b005b34801561041c57600080fd5b50610425610bbf565b60405161043291906122b9565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d9190611f88565b610bfc565b005b34801561047057600080fd5b50610479610c69565b6040516104869190612207565b60405180910390f35b34801561049b57600080fd5b506104b660048036038101906104b19190611f1b565b610c8f565b6040516104c39190612283565b60405180910390f35b3480156104d857600080fd5b506104e1610ca4565b005b3480156104ef57600080fd5b5061050a60048036038101906105059190611e88565b610cdc565b604051610517919061237b565b60405180910390f35b34801561052c57600080fd5b50610535610d63565b6040516105429190612207565b60405180910390f35b34801561055757600080fd5b50610572600480360381019061056d9190611f88565b610d89565b005b34801561058057600080fd5b50610589610df5565b604051610596919061229e565b60405180910390f35b60105481565b60606040518060400160405280600781526020017f44696e6f57544600000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106c2919061237b565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108ca57610849826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e1b9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108d5848484610e7f565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156109a8573d6000803e3d6000fd5b50565b60006109d7827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6105e2565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a49336108de565b610a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7f9061235b565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610af99190612207565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b35336108de565b610b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6b9061235b565b60405180910390fd5b8015610b9d576032600a81905550600a54600954610b929190612494565b600b81905550610bbc565b6000600a81905550600a54600954610bb59190612494565b600b819055505b50565b60606040518060400160405280600481526020017f44494e4f00000000000000000000000000000000000000000000000000000000815250905090565b610c05336108de565b610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b9061235b565b60405180910390fd5b80620186a0600354610c5691906124ea565b610c60919061251b565b60108190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c9c338484610e7f565b905092915050565b610cd930600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610cd4306109f7565b611248565b50565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d92336108de565b610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc89061235b565b60405180910390fd5b6103e881600354610de2919061251b565b610dec91906124ea565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5a91906122b9565b60405180910390fd5b5060008385610e729190612575565b9050809150509392505050565b6000601160009054906101000a900460ff1615610ea857610ea1848484611248565b9050611241565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f545750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561103d57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610ffd575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ffa9190612494565b11155b61103c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611033906122db565b60405180910390fd5b5b61104561141b565b15611053576110526114f2565b5b6110dc826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e1b9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061112a85611a5a565b611134578261113f565b61113e8584611ab1565b5b905061119381600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf590919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611233919061237b565b60405180910390a360019150505b9392505050565b60006112d3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e1b9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061136882600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611408919061237b565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156114885750601160009054906101000a900460ff16155b80156114a05750600f60149054906101000a900460ff165b80156114ed5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006115526002611544600b5461153660095487611c5390919063ffffffff16565b611cce90919063ffffffff16565b611cce90919063ffffffff16565b905060006115698284611d1890919063ffffffff16565b90506000600267ffffffffffffffff81111561158857611587612706565b5b6040519080825280602002602001820160405280156115b65781602001602082028036833780820191505090505b50905030816000815181106115ce576115cd6126d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561167057600080fd5b505afa158015611684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a89190611e5b565b816001815181106116bc576116bb6126d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161175f959493929190612396565b600060405180830381600087803b15801561177957600080fd5b505af115801561178d573d6000803e3d6000fd5b5050505060006117a68247611d1890919063ffffffff16565b905060006117d46117c36002600954611cce90919063ffffffff16565b600b54611d1890919063ffffffff16565b905060006118126002611804846117f660095488611c5390919063ffffffff16565b611cce90919063ffffffff16565b611cce90919063ffffffff16565b9050600061183d8361182f600a5487611c5390919063ffffffff16565b611cce90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161188b906121f2565b600060405180830381858888f193505050503d80600081146118c9576040519150601f19603f3d011682016040523d82523d6000602084013e6118ce565b606091505b5050905080611912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119099061231b565b60405180910390fd5b6000891115611a3357600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016119a496959493929190612222565b6060604051808303818588803b1580156119bd57600080fd5b505af11580156119d1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119f69190611fb5565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611a2a9291906123f0565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611add600c54611acf600b5486611c5390919063ffffffff16565b611cce90919063ffffffff16565b9050611b3181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf590919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bd1919061237b565b60405180910390a3611bec8184611d1890919063ffffffff16565b91505092915050565b6000808284611c049190612494565b905083811015611c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c40906122fb565b60405180910390fd5b8091505092915050565b600080831415611c665760009050611cc8565b60008284611c74919061251b565b9050828482611c8391906124ea565b14611cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cba9061233b565b60405180910390fd5b809150505b92915050565b6000611d1083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d62565b905092915050565b6000611d5a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e1b565b905092915050565b60008083118290611da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da091906122b9565b60405180910390fd5b5060008385611db891906124ea565b9050809150509392505050565b600081359050611dd481612867565b92915050565b600081519050611de981612867565b92915050565b600081359050611dfe8161287e565b92915050565b600081359050611e1381612895565b92915050565b600081519050611e2881612895565b92915050565b600060208284031215611e4457611e43612735565b5b6000611e5284828501611dc5565b91505092915050565b600060208284031215611e7157611e70612735565b5b6000611e7f84828501611dda565b91505092915050565b60008060408385031215611e9f57611e9e612735565b5b6000611ead85828601611dc5565b9250506020611ebe85828601611dc5565b9150509250929050565b600080600060608486031215611ee157611ee0612735565b5b6000611eef86828701611dc5565b9350506020611f0086828701611dc5565b9250506040611f1186828701611e04565b9150509250925092565b60008060408385031215611f3257611f31612735565b5b6000611f4085828601611dc5565b9250506020611f5185828601611e04565b9150509250929050565b600060208284031215611f7157611f70612735565b5b6000611f7f84828501611def565b91505092915050565b600060208284031215611f9e57611f9d612735565b5b6000611fac84828501611e04565b91505092915050565b600080600060608486031215611fce57611fcd612735565b5b6000611fdc86828701611e19565b9350506020611fed86828701611e19565b9250506040611ffe86828701611e19565b9150509250925092565b60006120148383612020565b60208301905092915050565b612029816125a9565b82525050565b612038816125a9565b82525050565b600061204982612444565b6120538185612467565b935061205e83612434565b8060005b8381101561208f5781516120768882612008565b97506120818361245a565b925050600181019050612062565b5085935050505092915050565b6120a5816125bb565b82525050565b6120b4816125fe565b82525050565b6120c381612610565b82525050565b60006120d48261244f565b6120de8185612483565b93506120ee818560208601612646565b6120f78161273a565b840191505092915050565b600061210f602583612483565b915061211a8261274b565b604082019050919050565b6000612132601b83612483565b915061213d8261279a565b602082019050919050565b6000612155601e83612483565b9150612160826127c3565b602082019050919050565b6000612178602183612483565b9150612183826127ec565b604082019050919050565b600061219b600683612483565b91506121a68261283b565b602082019050919050565b60006121be600083612478565b91506121c982612864565b600082019050919050565b6121dd816125e7565b82525050565b6121ec816125f1565b82525050565b60006121fd826121b1565b9150819050919050565b600060208201905061221c600083018461202f565b92915050565b600060c082019050612237600083018961202f565b61224460208301886121d4565b61225160408301876120ba565b61225e60608301866120ba565b61226b608083018561202f565b61227860a08301846121d4565b979650505050505050565b6000602082019050612298600083018461209c565b92915050565b60006020820190506122b360008301846120ab565b92915050565b600060208201905081810360008301526122d381846120c9565b905092915050565b600060208201905081810360008301526122f481612102565b9050919050565b6000602082019050818103600083015261231481612125565b9050919050565b6000602082019050818103600083015261233481612148565b9050919050565b600060208201905081810360008301526123548161216b565b9050919050565b600060208201905081810360008301526123748161218e565b9050919050565b600060208201905061239060008301846121d4565b92915050565b600060a0820190506123ab60008301886121d4565b6123b860208301876120ba565b81810360408301526123ca818661203e565b90506123d9606083018561202f565b6123e660808301846121d4565b9695505050505050565b600060408201905061240560008301856121d4565b61241260208301846121d4565b9392505050565b600060208201905061242e60008301846121e3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061249f826125e7565b91506124aa836125e7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124df576124de612679565b5b828201905092915050565b60006124f5826125e7565b9150612500836125e7565b9250826125105761250f6126a8565b5b828204905092915050565b6000612526826125e7565b9150612531836125e7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561256a57612569612679565b5b828202905092915050565b6000612580826125e7565b915061258b836125e7565b92508282101561259e5761259d612679565b5b828203905092915050565b60006125b4826125c7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061260982612622565b9050919050565b600061261b826125e7565b9050919050565b600061262d82612634565b9050919050565b600061263f826125c7565b9050919050565b60005b83811015612664578082015181840152602081019050612649565b83811115612673576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b612870816125a9565b811461287b57600080fd5b50565b612887816125bb565b811461289257600080fd5b50565b61289e816125e7565b81146128a957600080fd5b5056fea2646970667358221220db50fa2be72b36093ddfa97a66063c33a7c4bb27767a1eba300aeae75ad30f9664736f6c63430008070033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb1461048f578063d3efadf3146104cc578063dd62ed3e146104e3578063e96fada214610520578063f1d5f5171461054b578063f887ea401461057457610156565b8063715018a6146103a5578063893d20e8146103bc578063942b9ae7146103e757806395d89b41146104105780639d0014b11461043b578063a8aa1b311461046457610156565b8063313ce56711610108578063313ce56714610293578063364333f4146102be578063571ac8b0146102d55780636c0a24eb146103125780636ddd17131461033d57806370a082311461036857610156565b80630445b6671461015b57806306fdde0314610186578063095ea7b3146101b157806318160ddd146101ee57806323b872dd146102195780632f54bf6e1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b5061017061059f565b60405161017d919061237b565b60405180910390f35b34801561019257600080fd5b5061019b6105a5565b6040516101a891906122b9565b60405180910390f35b3480156101bd57600080fd5b506101d860048036038101906101d39190611f1b565b6105e2565b6040516101e59190612283565b60405180910390f35b3480156101fa57600080fd5b506102036106d4565b604051610210919061237b565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190611ec8565b6106de565b60405161024d9190612283565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190611e2e565b6108de565b60405161028a9190612283565b60405180910390f35b34801561029f57600080fd5b506102a8610937565b6040516102b59190612419565b60405180910390f35b3480156102ca57600080fd5b506102d3610940565b005b3480156102e157600080fd5b506102fc60048036038101906102f79190611e2e565b6109ab565b6040516103099190612283565b60405180910390f35b34801561031e57600080fd5b506103276109de565b604051610334919061237b565b60405180910390f35b34801561034957600080fd5b506103526109e4565b60405161035f9190612283565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a9190611e2e565b6109f7565b60405161039c919061237b565b60405180910390f35b3480156103b157600080fd5b506103ba610a40565b005b3480156103c857600080fd5b506103d1610b03565b6040516103de9190612207565b60405180910390f35b3480156103f357600080fd5b5061040e60048036038101906104099190611f5b565b610b2c565b005b34801561041c57600080fd5b50610425610bbf565b60405161043291906122b9565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d9190611f88565b610bfc565b005b34801561047057600080fd5b50610479610c69565b6040516104869190612207565b60405180910390f35b34801561049b57600080fd5b506104b660048036038101906104b19190611f1b565b610c8f565b6040516104c39190612283565b60405180910390f35b3480156104d857600080fd5b506104e1610ca4565b005b3480156104ef57600080fd5b5061050a60048036038101906105059190611e88565b610cdc565b604051610517919061237b565b60405180910390f35b34801561052c57600080fd5b50610535610d63565b6040516105429190612207565b60405180910390f35b34801561055757600080fd5b50610572600480360381019061056d9190611f88565b610d89565b005b34801561058057600080fd5b50610589610df5565b604051610596919061229e565b60405180910390f35b60105481565b60606040518060400160405280600781526020017f44696e6f57544600000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106c2919061237b565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108ca57610849826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e1b9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108d5848484610e7f565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156109a8573d6000803e3d6000fd5b50565b60006109d7827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6105e2565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a49336108de565b610a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7f9061235b565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610af99190612207565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b35336108de565b610b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6b9061235b565b60405180910390fd5b8015610b9d576032600a81905550600a54600954610b929190612494565b600b81905550610bbc565b6000600a81905550600a54600954610bb59190612494565b600b819055505b50565b60606040518060400160405280600481526020017f44494e4f00000000000000000000000000000000000000000000000000000000815250905090565b610c05336108de565b610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b9061235b565b60405180910390fd5b80620186a0600354610c5691906124ea565b610c60919061251b565b60108190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c9c338484610e7f565b905092915050565b610cd930600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610cd4306109f7565b611248565b50565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d92336108de565b610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc89061235b565b60405180910390fd5b6103e881600354610de2919061251b565b610dec91906124ea565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5a91906122b9565b60405180910390fd5b5060008385610e729190612575565b9050809150509392505050565b6000601160009054906101000a900460ff1615610ea857610ea1848484611248565b9050611241565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f545750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561103d57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610ffd575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ffa9190612494565b11155b61103c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611033906122db565b60405180910390fd5b5b61104561141b565b15611053576110526114f2565b5b6110dc826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e1b9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061112a85611a5a565b611134578261113f565b61113e8584611ab1565b5b905061119381600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf590919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611233919061237b565b60405180910390a360019150505b9392505050565b60006112d3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e1b9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061136882600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611408919061237b565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156114885750601160009054906101000a900460ff16155b80156114a05750600f60149054906101000a900460ff165b80156114ed5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006115526002611544600b5461153660095487611c5390919063ffffffff16565b611cce90919063ffffffff16565b611cce90919063ffffffff16565b905060006115698284611d1890919063ffffffff16565b90506000600267ffffffffffffffff81111561158857611587612706565b5b6040519080825280602002602001820160405280156115b65781602001602082028036833780820191505090505b50905030816000815181106115ce576115cd6126d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561167057600080fd5b505afa158015611684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a89190611e5b565b816001815181106116bc576116bb6126d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161175f959493929190612396565b600060405180830381600087803b15801561177957600080fd5b505af115801561178d573d6000803e3d6000fd5b5050505060006117a68247611d1890919063ffffffff16565b905060006117d46117c36002600954611cce90919063ffffffff16565b600b54611d1890919063ffffffff16565b905060006118126002611804846117f660095488611c5390919063ffffffff16565b611cce90919063ffffffff16565b611cce90919063ffffffff16565b9050600061183d8361182f600a5487611c5390919063ffffffff16565b611cce90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161188b906121f2565b600060405180830381858888f193505050503d80600081146118c9576040519150601f19603f3d011682016040523d82523d6000602084013e6118ce565b606091505b5050905080611912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119099061231b565b60405180910390fd5b6000891115611a3357600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016119a496959493929190612222565b6060604051808303818588803b1580156119bd57600080fd5b505af11580156119d1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119f69190611fb5565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611a2a9291906123f0565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611add600c54611acf600b5486611c5390919063ffffffff16565b611cce90919063ffffffff16565b9050611b3181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf590919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bd1919061237b565b60405180910390a3611bec8184611d1890919063ffffffff16565b91505092915050565b6000808284611c049190612494565b905083811015611c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c40906122fb565b60405180910390fd5b8091505092915050565b600080831415611c665760009050611cc8565b60008284611c74919061251b565b9050828482611c8391906124ea565b14611cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cba9061233b565b60405180910390fd5b809150505b92915050565b6000611d1083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d62565b905092915050565b6000611d5a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e1b565b905092915050565b60008083118290611da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da091906122b9565b60405180910390fd5b5060008385611db891906124ea565b9050809150509392505050565b600081359050611dd481612867565b92915050565b600081519050611de981612867565b92915050565b600081359050611dfe8161287e565b92915050565b600081359050611e1381612895565b92915050565b600081519050611e2881612895565b92915050565b600060208284031215611e4457611e43612735565b5b6000611e5284828501611dc5565b91505092915050565b600060208284031215611e7157611e70612735565b5b6000611e7f84828501611dda565b91505092915050565b60008060408385031215611e9f57611e9e612735565b5b6000611ead85828601611dc5565b9250506020611ebe85828601611dc5565b9150509250929050565b600080600060608486031215611ee157611ee0612735565b5b6000611eef86828701611dc5565b9350506020611f0086828701611dc5565b9250506040611f1186828701611e04565b9150509250925092565b60008060408385031215611f3257611f31612735565b5b6000611f4085828601611dc5565b9250506020611f5185828601611e04565b9150509250929050565b600060208284031215611f7157611f70612735565b5b6000611f7f84828501611def565b91505092915050565b600060208284031215611f9e57611f9d612735565b5b6000611fac84828501611e04565b91505092915050565b600080600060608486031215611fce57611fcd612735565b5b6000611fdc86828701611e19565b9350506020611fed86828701611e19565b9250506040611ffe86828701611e19565b9150509250925092565b60006120148383612020565b60208301905092915050565b612029816125a9565b82525050565b612038816125a9565b82525050565b600061204982612444565b6120538185612467565b935061205e83612434565b8060005b8381101561208f5781516120768882612008565b97506120818361245a565b925050600181019050612062565b5085935050505092915050565b6120a5816125bb565b82525050565b6120b4816125fe565b82525050565b6120c381612610565b82525050565b60006120d48261244f565b6120de8185612483565b93506120ee818560208601612646565b6120f78161273a565b840191505092915050565b600061210f602583612483565b915061211a8261274b565b604082019050919050565b6000612132601b83612483565b915061213d8261279a565b602082019050919050565b6000612155601e83612483565b9150612160826127c3565b602082019050919050565b6000612178602183612483565b9150612183826127ec565b604082019050919050565b600061219b600683612483565b91506121a68261283b565b602082019050919050565b60006121be600083612478565b91506121c982612864565b600082019050919050565b6121dd816125e7565b82525050565b6121ec816125f1565b82525050565b60006121fd826121b1565b9150819050919050565b600060208201905061221c600083018461202f565b92915050565b600060c082019050612237600083018961202f565b61224460208301886121d4565b61225160408301876120ba565b61225e60608301866120ba565b61226b608083018561202f565b61227860a08301846121d4565b979650505050505050565b6000602082019050612298600083018461209c565b92915050565b60006020820190506122b360008301846120ab565b92915050565b600060208201905081810360008301526122d381846120c9565b905092915050565b600060208201905081810360008301526122f481612102565b9050919050565b6000602082019050818103600083015261231481612125565b9050919050565b6000602082019050818103600083015261233481612148565b9050919050565b600060208201905081810360008301526123548161216b565b9050919050565b600060208201905081810360008301526123748161218e565b9050919050565b600060208201905061239060008301846121d4565b92915050565b600060a0820190506123ab60008301886121d4565b6123b860208301876120ba565b81810360408301526123ca818661203e565b90506123d9606083018561202f565b6123e660808301846121d4565b9695505050505050565b600060408201905061240560008301856121d4565b61241260208301846121d4565b9392505050565b600060208201905061242e60008301846121e3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061249f826125e7565b91506124aa836125e7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124df576124de612679565b5b828201905092915050565b60006124f5826125e7565b9150612500836125e7565b9250826125105761250f6126a8565b5b828204905092915050565b6000612526826125e7565b9150612531836125e7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561256a57612569612679565b5b828202905092915050565b6000612580826125e7565b915061258b836125e7565b92508282101561259e5761259d612679565b5b828203905092915050565b60006125b4826125c7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061260982612622565b9050919050565b600061261b826125e7565b9050919050565b600061262d82612634565b9050919050565b600061263f826125c7565b9050919050565b60005b83811015612664578082015181840152602081019050612649565b83811115612673576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b612870816125a9565b811461287b57600080fd5b50565b612887816125bb565b811461289257600080fd5b50565b61289e816125e7565b81146128a957600080fd5b5056fea2646970667358221220db50fa2be72b36093ddfa97a66063c33a7c4bb27767a1eba300aeae75ad30f9664736f6c63430008070033

Deployed Bytecode Sourcemap

555:7929:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1559:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2670:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3082:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2406:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3586:366;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;265:101:4;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2498:78:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7607:116;;;;;;;;;;;;;:::i;:::-;;3300:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;936:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1523:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2836:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;371:128:4;;;;;;;;;;;;;:::i;:::-;;2754:76:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8159:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2582:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8013:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1497:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3426:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7729:133;;;;;;;;;;;;;:::i;:::-;;2945:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1380:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7868:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1467:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1559:56;;;;:::o;2670:78::-;2718:13;2741:5;;;;;;;;;;;;;;;;;2734:12;;2670:78;:::o;3082:212::-;3157:4;3208:6;3173:11;:23;3185:10;3173:23;;;;;;;;;;;;;;;:32;3197:7;3173:32;;;;;;;;;;;;;;;:41;;;;3250:7;3229:37;;3238:10;3229:37;;;3259:6;3229:37;;;;;;:::i;:::-;;;;;;;;3283:4;3276:11;;3082:212;;;;:::o;2406:86::-;2461:7;2478:12;;2471:19;;2406:86;:::o;3586:366::-;3686:4;3741:17;3706:11;:19;3718:6;3706:19;;;;;;;;;;;;;;;:31;3726:10;3706:31;;;;;;;;;;;;;;;;:52;3702:186;;3808:69;3844:6;3808:69;;;;;;;;;;;;;;;;;:11;:19;3820:6;3808:19;;;;;;;;;;;;;;;:31;3828:10;3808:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;3774:11;:19;3786:6;3774:19;;;;;;;;;;;;;;;:31;3794:10;3774:31;;;;;;;;;;;;;;;:103;;;;3702:186;3905:40;3919:6;3927:9;3938:6;3905:13;:40::i;:::-;3898:47;;3586:366;;;;;:::o;265:101:4:-;320:4;354:5;;;;;;;;;;;343:16;;:7;:16;;;336:23;;265:101;;;:::o;2498:78:0:-;2550:5;868:1;2558:16;;2498:78;:::o;7607:116::-;7663:20;;;;;;;;;;;7655:38;;:61;7694:21;7655:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7607:116::o;3300:120::-;3355:4;3378:35;3386:7;3395:17;3378:7;:35::i;:::-;3371:42;;3300:120;;;:::o;936:58::-;;;;:::o;1523:30::-;;;;;;;;;;;;;:::o;2836:103::-;2902:7;2919:9;:18;2929:7;2919:18;;;;;;;;;;;;;;;;2912:25;;2836:103;;;:::o;371:128:4:-;220:19;228:10;220:7;:19::i;:::-;212:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;443:1:::1;427:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;460:32;489:1;460:32;;;;;;:::i;:::-;;;;;;;;371:128::o:0;2754:76:0:-;2806:7;2823:5;;;;;;;;;;;2816:12;;2754:76;:::o;8159:261::-;220:19:4;228:10;220:7;:19::i;:::-;212:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8216:3:0::1;8212:202;;;8250:2;8235:12;:17;;;;8292:12;;8277;;:27;;;;:::i;:::-;8266:8;:38;;;;8212:202;;;8350:1;8335:12;:16;;;;8391:12;;8376;;:27;;;;:::i;:::-;8365:8;:38;;;;8212:202;8159:261:::0;:::o;2582:82::-;2632:13;2655:7;;;;;;;;;;;;;;;;;2648:14;;2582:82;:::o;8013:140::-;220:19:4;228:10;220:7;:19::i;:::-;212:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8132:14:0::1;8123:6;8108:12;;:21;;;;:::i;:::-;:38;;;;:::i;:::-;8092:13;:54;;;;8013:140:::0;:::o;1497:19::-;;;;;;;;;;;;;:::o;3426:154::-;3506:4;3529:44;3543:10;3555:9;3566:6;3529:13;:44::i;:::-;3522:51;;3426:154;;;;:::o;7729:133::-;7778:77;7801:4;7808:20;;;;;;;;;;;7830:24;7848:4;7830:9;:24::i;:::-;7778:14;:77::i;:::-;;7729:133::o;2945:131::-;3029:7;3046:11;:19;3058:6;3046:19;;;;;;;;;;;;;;;:28;3066:7;3046:28;;;;;;;;;;;;;;;;3039:35;;2945:131;;;;:::o;1380:80::-;;;;;;;;;;;;;:::o;7868:139::-;220:19:4;228:10;220:7;:19::i;:::-;212:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;7996:4:0::1;7979:13;7964:12;;:28;;;;:::i;:::-;7963:37;;;;:::i;:::-;7944:16;:56;;;;7868:139:::0;:::o;1467:24::-;;;;;;;;;;;;;:::o;399:186:5:-;485:7;517:1;512;:6;;520:12;504:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;543:9;559:1;555;:5;;;;:::i;:::-;543:17;;577:1;570:8;;;399:186;;;;;:::o;3958:793:0:-;4050:4;4070:6;;;;;;;;;;;4066:85;;;4099:41;4114:6;4122:9;4133:6;4099:14;:41::i;:::-;4092:48;;;;4066:85;4178:4;;;;;;;;;;;4165:17;;:9;:17;;;;:38;;;;;4199:4;;;;;;;;;;;4186:17;;:9;:17;;;;4165:38;4161:198;;;4227:15;:26;4243:9;4227:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;4290:16;;4280:6;4257:9;:20;4267:9;4257:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;4227:79;4219:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;4161:198;4363:16;:14;:16::i;:::-;4359:57;;;4395:10;:8;:10::i;:::-;4359:57;4446:53;4468:6;4446:53;;;;;;;;;;;;;;;;;:9;:17;4456:6;4446:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;4426:9;:17;4436:6;4426:17;;;;;;;;;;;;;;;:73;;;;4510:22;4535:21;4549:6;4535:13;:21::i;:::-;:56;;4585:6;4535:56;;;4559:23;4567:6;4575;4559:7;:23::i;:::-;4535:56;4510:81;;4624:40;4649:14;4624:9;:20;4634:9;4624:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;4601:9;:20;4611:9;4601:20;;;;;;;;;;;;;;;:63;;;;4697:9;4680:43;;4689:6;4680:43;;;4708:14;4680:43;;;;;;:::i;:::-;;;;;;;;4740:4;4733:11;;;3958:793;;;;;;:::o;4757:325::-;4850:4;4886:53;4908:6;4886:53;;;;;;;;;;;;;;;;;:9;:17;4896:6;4886:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;4866:9;:17;4876:6;4866:17;;;;;;;;;;;;;;;:73;;;;4972:32;4997:6;4972:9;:20;4982:9;4972:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4949:9;:20;4959:9;4949:20;;;;;;;;;;;;;;;:55;;;;5036:9;5019:35;;5028:6;5019:35;;;5047:6;5019:35;;;;;;:::i;:::-;;;;;;;;5071:4;5064:11;;4757:325;;;;;:::o;5536:192::-;5585:4;5622;;;;;;;;;;;5608:18;;:10;:18;;;;:37;;;;;5639:6;;;;;;;;;;;5638:7;5608:37;:60;;;;;5657:11;;;;;;;;;;;5608:60;:113;;;;;5708:13;;5680:9;:24;5698:4;5680:24;;;;;;;;;;;;;;;;:41;;5608:113;5601:120;;5536:192;:::o;5734:1501::-;1686:4;1677:6;;:13;;;;;;;;;;;;;;;;;;5782:28:::1;5813:13;;5782:44;;5836:23;5862:59;5919:1;5862:52;5905:8;;5862:38;5887:12;;5862:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;5836:85;;5931:20;5954:41;5979:15;5954:20;:24;;:41;;;;:::i;:::-;5931:64;;6006:21;6044:1;6030:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6006:40;;6074:4;6056;6061:1;6056:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6099:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6089:4;6094:1;6089:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6123:21;6147;6123:45;;6179:6;;;;;;;;;;;:57;;;6250:12;6276:1;6291:4;6317;6336:15;6179:182;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6371:17;6391:40;6417:13;6391:21;:25;;:40;;;;:::i;:::-;6371:60;;6441:19;6463:33;6476:19;6493:1;6476:12;;:16;;:19;;;;:::i;:::-;6463:8;;:12;;:33;;;;:::i;:::-;6441:55;;6506:26;6535:51;6584:1;6535:44;6567:11;6535:27;6549:12;;6535:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;6506:80;;6596:26;6625:44;6657:11;6625:27;6639:12;;6625:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;6596:73;;6682:21;6740:20;;;;;;;;;;;6732:34;;6775:18;6801:5;6732:79;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6681:130;;;6829:16;6821:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;6913:1;6895:15;:19;6891:338;;;6930:6;;;;;;;;;;;:22;;;6961:18;7006:4;7029:15;7062:1;7081::::0;7100:4:::1;;;;;;;;;;;7122:15;6930:221;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7170:48;7182:18;7202:15;7170:48;;;;;;;:::i;:::-;;;;;;;;6891:338;5772:1463;;;;;;;;;;1720:5:::0;1711:6;;:14;;;;;;;;;;;;;;;;;;5734:1501::o;5088:112::-;5150:4;5174:11;:19;5186:6;5174:19;;;;;;;;;;;;;;;;;;;;;;;;;5173:20;5166:27;;5088:112;;;:::o;5206:324::-;5273:7;5292:17;5312:40;5337:14;;5312:20;5323:8;;5312:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;5292:60;;5389:39;5418:9;5389;:24;5407:4;5389:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;5362:9;:24;5380:4;5362:24;;;;;;;;;;;;;;;:66;;;;5468:4;5443:42;;5452:6;5443:42;;;5475:9;5443:42;;;;;;:::i;:::-;;;;;;;;5502:21;5513:9;5502:6;:10;;:21;;;;:::i;:::-;5495:28;;;5206:324;;;;:::o;80:175:5:-;138:7;157:9;173:1;169;:5;;;;:::i;:::-;157:17;;197:1;192;:6;;184:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;247:1;240:8;;;80:175;;;;:::o;590:239::-;648:7;676:1;671;:6;667:45;;;700:1;693:8;;;;667:45;721:9;737:1;733;:5;;;;:::i;:::-;721:17;;765:1;760;756;:5;;;;:::i;:::-;:10;748:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;821:1;814:8;;;590:239;;;;;:::o;834:130::-;892:7;918:39;922:1;925;918:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;911:46;;834:130;;;;:::o;260:134::-;318:7;344:43;348:1;351;344:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;337:50;;260:134;;;;:::o;969:185::-;1055:7;1086:1;1082;:5;1089:12;1074:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1112:9;1128:1;1124;:5;;;;:::i;:::-;1112:17;;1146:1;1139:8;;;969:185;;;;;:::o;7:139:6:-;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;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:139::-;486:5;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;440:139;;;;:::o;585:143::-;642:5;673:6;667:13;658:22;;689:33;716:5;689:33;:::i;:::-;585:143;;;;:::o;734:329::-;793:6;842:2;830:9;821:7;817:23;813:32;810:119;;;848:79;;:::i;:::-;810:119;968:1;993:53;1038:7;1029:6;1018:9;1014:22;993:53;:::i;:::-;983:63;;939:117;734:329;;;;:::o;1069:351::-;1139:6;1188:2;1176:9;1167:7;1163:23;1159:32;1156:119;;;1194:79;;:::i;:::-;1156:119;1314:1;1339:64;1395:7;1386:6;1375:9;1371:22;1339:64;:::i;:::-;1329:74;;1285:128;1069:351;;;;:::o;1426:474::-;1494:6;1502;1551:2;1539:9;1530:7;1526:23;1522:32;1519:119;;;1557:79;;:::i;:::-;1519:119;1677:1;1702:53;1747:7;1738:6;1727:9;1723:22;1702:53;:::i;:::-;1692:63;;1648:117;1804:2;1830:53;1875:7;1866:6;1855:9;1851:22;1830:53;:::i;:::-;1820:63;;1775:118;1426:474;;;;;:::o;1906:619::-;1983:6;1991;1999;2048:2;2036:9;2027:7;2023:23;2019:32;2016:119;;;2054:79;;:::i;:::-;2016:119;2174:1;2199:53;2244:7;2235:6;2224:9;2220:22;2199:53;:::i;:::-;2189:63;;2145:117;2301:2;2327:53;2372:7;2363:6;2352:9;2348:22;2327:53;:::i;:::-;2317:63;;2272:118;2429:2;2455:53;2500:7;2491:6;2480:9;2476:22;2455:53;:::i;:::-;2445:63;;2400:118;1906:619;;;;;:::o;2531:474::-;2599:6;2607;2656:2;2644:9;2635:7;2631:23;2627:32;2624:119;;;2662:79;;:::i;:::-;2624:119;2782:1;2807:53;2852:7;2843:6;2832:9;2828:22;2807:53;:::i;:::-;2797:63;;2753:117;2909:2;2935:53;2980:7;2971:6;2960:9;2956:22;2935:53;:::i;:::-;2925:63;;2880:118;2531:474;;;;;:::o;3011:323::-;3067:6;3116:2;3104:9;3095:7;3091:23;3087:32;3084:119;;;3122:79;;:::i;:::-;3084:119;3242:1;3267:50;3309:7;3300:6;3289:9;3285:22;3267:50;:::i;:::-;3257:60;;3213:114;3011:323;;;;:::o;3340:329::-;3399:6;3448:2;3436:9;3427:7;3423:23;3419:32;3416:119;;;3454:79;;:::i;:::-;3416:119;3574:1;3599:53;3644:7;3635:6;3624:9;3620:22;3599:53;:::i;:::-;3589:63;;3545:117;3340:329;;;;:::o;3675:663::-;3763:6;3771;3779;3828:2;3816:9;3807:7;3803:23;3799:32;3796:119;;;3834:79;;:::i;:::-;3796:119;3954:1;3979:64;4035:7;4026:6;4015:9;4011:22;3979:64;:::i;:::-;3969:74;;3925:128;4092:2;4118:64;4174:7;4165:6;4154:9;4150:22;4118:64;:::i;:::-;4108:74;;4063:129;4231:2;4257:64;4313:7;4304:6;4293:9;4289:22;4257:64;:::i;:::-;4247:74;;4202:129;3675:663;;;;;:::o;4344:179::-;4413:10;4434:46;4476:3;4468:6;4434:46;:::i;:::-;4512:4;4507:3;4503:14;4489:28;;4344:179;;;;:::o;4529:108::-;4606:24;4624:5;4606:24;:::i;:::-;4601:3;4594:37;4529:108;;:::o;4643:118::-;4730:24;4748:5;4730:24;:::i;:::-;4725:3;4718:37;4643:118;;:::o;4797:732::-;4916:3;4945:54;4993:5;4945:54;:::i;:::-;5015:86;5094:6;5089:3;5015:86;:::i;:::-;5008:93;;5125:56;5175:5;5125:56;:::i;:::-;5204:7;5235:1;5220:284;5245:6;5242:1;5239:13;5220:284;;;5321:6;5315:13;5348:63;5407:3;5392:13;5348:63;:::i;:::-;5341:70;;5434:60;5487:6;5434:60;:::i;:::-;5424:70;;5280:224;5267:1;5264;5260:9;5255:14;;5220:284;;;5224:14;5520:3;5513:10;;4921:608;;;4797:732;;;;:::o;5535:109::-;5616:21;5631:5;5616:21;:::i;:::-;5611:3;5604:34;5535:109;;:::o;5650:169::-;5756:56;5806:5;5756:56;:::i;:::-;5751:3;5744:69;5650:169;;:::o;5825:147::-;5920:45;5959:5;5920:45;:::i;:::-;5915:3;5908:58;5825:147;;:::o;5978:364::-;6066:3;6094:39;6127:5;6094:39;:::i;:::-;6149:71;6213:6;6208:3;6149:71;:::i;:::-;6142:78;;6229:52;6274:6;6269:3;6262:4;6255:5;6251:16;6229:52;:::i;:::-;6306:29;6328:6;6306:29;:::i;:::-;6301:3;6297:39;6290:46;;6070:272;5978:364;;;;:::o;6348:366::-;6490:3;6511:67;6575:2;6570:3;6511:67;:::i;:::-;6504:74;;6587:93;6676:3;6587:93;:::i;:::-;6705:2;6700:3;6696:12;6689:19;;6348:366;;;:::o;6720:::-;6862:3;6883:67;6947:2;6942:3;6883:67;:::i;:::-;6876:74;;6959:93;7048:3;6959:93;:::i;:::-;7077:2;7072:3;7068:12;7061:19;;6720:366;;;:::o;7092:::-;7234:3;7255:67;7319:2;7314:3;7255:67;:::i;:::-;7248:74;;7331:93;7420:3;7331:93;:::i;:::-;7449:2;7444:3;7440:12;7433:19;;7092:366;;;:::o;7464:::-;7606:3;7627:67;7691:2;7686:3;7627:67;:::i;:::-;7620:74;;7703:93;7792:3;7703:93;:::i;:::-;7821:2;7816:3;7812:12;7805:19;;7464:366;;;:::o;7836:365::-;7978:3;7999:66;8063:1;8058:3;7999:66;:::i;:::-;7992:73;;8074:93;8163:3;8074:93;:::i;:::-;8192:2;8187:3;8183:12;8176:19;;7836:365;;;:::o;8207:398::-;8366:3;8387:83;8468:1;8463:3;8387:83;:::i;:::-;8380:90;;8479:93;8568:3;8479:93;:::i;:::-;8597:1;8592:3;8588:11;8581:18;;8207:398;;;:::o;8611:118::-;8698:24;8716:5;8698:24;:::i;:::-;8693:3;8686:37;8611:118;;:::o;8735:112::-;8818:22;8834:5;8818:22;:::i;:::-;8813:3;8806:35;8735:112;;:::o;8853:379::-;9037:3;9059:147;9202:3;9059:147;:::i;:::-;9052:154;;9223:3;9216:10;;8853:379;;;:::o;9238:222::-;9331:4;9369:2;9358:9;9354:18;9346:26;;9382:71;9450:1;9439:9;9435:17;9426:6;9382:71;:::i;:::-;9238:222;;;;:::o;9466:807::-;9715:4;9753:3;9742:9;9738:19;9730:27;;9767:71;9835:1;9824:9;9820:17;9811:6;9767:71;:::i;:::-;9848:72;9916:2;9905:9;9901:18;9892:6;9848:72;:::i;:::-;9930:80;10006:2;9995:9;9991:18;9982:6;9930:80;:::i;:::-;10020;10096:2;10085:9;10081:18;10072:6;10020:80;:::i;:::-;10110:73;10178:3;10167:9;10163:19;10154:6;10110:73;:::i;:::-;10193;10261:3;10250:9;10246:19;10237:6;10193:73;:::i;:::-;9466:807;;;;;;;;;:::o;10279:210::-;10366:4;10404:2;10393:9;10389:18;10381:26;;10417:65;10479:1;10468:9;10464:17;10455:6;10417:65;:::i;:::-;10279:210;;;;:::o;10495:260::-;10607:4;10645:2;10634:9;10630:18;10622:26;;10658:90;10745:1;10734:9;10730:17;10721:6;10658:90;:::i;:::-;10495:260;;;;:::o;10761:313::-;10874:4;10912:2;10901:9;10897:18;10889:26;;10961:9;10955:4;10951:20;10947:1;10936:9;10932:17;10925:47;10989:78;11062:4;11053:6;10989:78;:::i;:::-;10981:86;;10761:313;;;;:::o;11080:419::-;11246:4;11284:2;11273:9;11269:18;11261:26;;11333:9;11327:4;11323:20;11319:1;11308:9;11304:17;11297:47;11361:131;11487:4;11361:131;:::i;:::-;11353:139;;11080:419;;;:::o;11505:::-;11671:4;11709:2;11698:9;11694:18;11686:26;;11758:9;11752:4;11748:20;11744:1;11733:9;11729:17;11722:47;11786:131;11912:4;11786:131;:::i;:::-;11778:139;;11505:419;;;:::o;11930:::-;12096:4;12134:2;12123:9;12119:18;12111:26;;12183:9;12177:4;12173:20;12169:1;12158:9;12154:17;12147:47;12211:131;12337:4;12211:131;:::i;:::-;12203:139;;11930:419;;;:::o;12355:::-;12521:4;12559:2;12548:9;12544:18;12536:26;;12608:9;12602:4;12598:20;12594:1;12583:9;12579:17;12572:47;12636:131;12762:4;12636:131;:::i;:::-;12628:139;;12355:419;;;:::o;12780:::-;12946:4;12984:2;12973:9;12969:18;12961:26;;13033:9;13027:4;13023:20;13019:1;13008:9;13004:17;12997:47;13061:131;13187:4;13061:131;:::i;:::-;13053:139;;12780:419;;;:::o;13205:222::-;13298:4;13336:2;13325:9;13321:18;13313:26;;13349:71;13417:1;13406:9;13402:17;13393:6;13349:71;:::i;:::-;13205:222;;;;:::o;13433:831::-;13696:4;13734:3;13723:9;13719:19;13711:27;;13748:71;13816:1;13805:9;13801:17;13792:6;13748:71;:::i;:::-;13829:80;13905:2;13894:9;13890:18;13881:6;13829:80;:::i;:::-;13956:9;13950:4;13946:20;13941:2;13930:9;13926:18;13919:48;13984:108;14087:4;14078:6;13984:108;:::i;:::-;13976:116;;14102:72;14170:2;14159:9;14155:18;14146:6;14102:72;:::i;:::-;14184:73;14252:3;14241:9;14237:19;14228:6;14184:73;:::i;:::-;13433:831;;;;;;;;:::o;14270:332::-;14391:4;14429:2;14418:9;14414:18;14406:26;;14442:71;14510:1;14499:9;14495:17;14486:6;14442:71;:::i;:::-;14523:72;14591:2;14580:9;14576:18;14567:6;14523:72;:::i;:::-;14270:332;;;;;:::o;14608:214::-;14697:4;14735:2;14724:9;14720:18;14712:26;;14748:67;14812:1;14801:9;14797:17;14788:6;14748:67;:::i;:::-;14608:214;;;;:::o;14909:132::-;14976:4;14999:3;14991:11;;15029:4;15024:3;15020:14;15012:22;;14909:132;;;:::o;15047:114::-;15114:6;15148:5;15142:12;15132:22;;15047:114;;;:::o;15167:99::-;15219:6;15253:5;15247:12;15237:22;;15167:99;;;:::o;15272:113::-;15342:4;15374;15369:3;15365:14;15357:22;;15272:113;;;:::o;15391:184::-;15490:11;15524:6;15519:3;15512:19;15564:4;15559:3;15555:14;15540:29;;15391:184;;;;:::o;15581:147::-;15682:11;15719:3;15704:18;;15581:147;;;;:::o;15734:169::-;15818:11;15852:6;15847:3;15840:19;15892:4;15887:3;15883:14;15868:29;;15734:169;;;;:::o;15909:305::-;15949:3;15968:20;15986:1;15968:20;:::i;:::-;15963:25;;16002:20;16020:1;16002:20;:::i;:::-;15997:25;;16156:1;16088:66;16084:74;16081:1;16078:81;16075:107;;;16162:18;;:::i;:::-;16075:107;16206:1;16203;16199:9;16192:16;;15909:305;;;;:::o;16220:185::-;16260:1;16277:20;16295:1;16277:20;:::i;:::-;16272:25;;16311:20;16329:1;16311:20;:::i;:::-;16306:25;;16350:1;16340:35;;16355:18;;:::i;:::-;16340:35;16397:1;16394;16390:9;16385:14;;16220:185;;;;:::o;16411:348::-;16451:7;16474:20;16492:1;16474:20;:::i;:::-;16469:25;;16508:20;16526:1;16508:20;:::i;:::-;16503:25;;16696:1;16628:66;16624:74;16621:1;16618:81;16613:1;16606:9;16599:17;16595:105;16592:131;;;16703:18;;:::i;:::-;16592:131;16751:1;16748;16744:9;16733:20;;16411:348;;;;:::o;16765:191::-;16805:4;16825:20;16843:1;16825:20;:::i;:::-;16820:25;;16859:20;16877:1;16859:20;:::i;:::-;16854:25;;16898:1;16895;16892:8;16889:34;;;16903:18;;:::i;:::-;16889:34;16948:1;16945;16941:9;16933:17;;16765:191;;;;:::o;16962:96::-;16999:7;17028:24;17046:5;17028:24;:::i;:::-;17017:35;;16962:96;;;:::o;17064:90::-;17098:7;17141:5;17134:13;17127:21;17116:32;;17064:90;;;:::o;17160:126::-;17197:7;17237:42;17230:5;17226:54;17215:65;;17160:126;;;:::o;17292:77::-;17329:7;17358:5;17347:16;;17292:77;;;:::o;17375:86::-;17410:7;17450:4;17443:5;17439:16;17428:27;;17375:86;;;:::o;17467:145::-;17536:9;17569:37;17600:5;17569:37;:::i;:::-;17556:50;;17467:145;;;:::o;17618:121::-;17676:9;17709:24;17727:5;17709:24;:::i;:::-;17696:37;;17618:121;;;:::o;17745:126::-;17795:9;17828:37;17859:5;17828:37;:::i;:::-;17815:50;;17745:126;;;:::o;17877:113::-;17927:9;17960:24;17978:5;17960:24;:::i;:::-;17947:37;;17877:113;;;:::o;17996:307::-;18064:1;18074:113;18088:6;18085:1;18082:13;18074:113;;;18173:1;18168:3;18164:11;18158:18;18154:1;18149:3;18145:11;18138:39;18110:2;18107:1;18103:10;18098:15;;18074:113;;;18205:6;18202:1;18199:13;18196:101;;;18285:1;18276:6;18271:3;18267:16;18260:27;18196:101;18045:258;17996:307;;;:::o;18309:180::-;18357:77;18354:1;18347:88;18454:4;18451:1;18444:15;18478:4;18475:1;18468:15;18495:180;18543:77;18540:1;18533:88;18640:4;18637:1;18630:15;18664:4;18661:1;18654:15;18681:180;18729:77;18726:1;18719:88;18826:4;18823:1;18816:15;18850:4;18847:1;18840:15;18867:180;18915:77;18912:1;18905:88;19012:4;19009:1;19002:15;19036:4;19033:1;19026:15;19176:117;19285:1;19282;19275:12;19299:102;19340:6;19391:2;19387:7;19382:2;19375:5;19371:14;19367:28;19357:38;;19299:102;;;:::o;19407:224::-;19547:34;19543:1;19535:6;19531:14;19524:58;19616:7;19611:2;19603:6;19599:15;19592:32;19407:224;:::o;19637:177::-;19777:29;19773:1;19765:6;19761:14;19754:53;19637:177;:::o;19820:180::-;19960:32;19956:1;19948:6;19944:14;19937:56;19820:180;:::o;20006:220::-;20146:34;20142:1;20134:6;20130:14;20123:58;20215:3;20210:2;20202:6;20198:15;20191:28;20006:220;:::o;20232:156::-;20372:8;20368:1;20360:6;20356:14;20349:32;20232:156;:::o;20394:114::-;;:::o;20514:122::-;20587:24;20605:5;20587:24;:::i;:::-;20580:5;20577:35;20567:63;;20626:1;20623;20616:12;20567:63;20514:122;:::o;20642:116::-;20712:21;20727:5;20712:21;:::i;:::-;20705:5;20702:32;20692:60;;20748:1;20745;20738:12;20692:60;20642:116;:::o;20764:122::-;20837:24;20855:5;20837:24;:::i;:::-;20830:5;20827:35;20817:63;;20876:1;20873;20866:12;20817:63;20764:122;:::o

Swarm Source

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