ETH Price: $3,470.14 (+1.82%)
Gas: 8 Gwei

Token

ERCCasino (ECAS)
 

Overview

Max Total Supply

21,000,000 ECAS

Holders

295

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.009937608 ECAS

Value
$0.00
0x12c94444283d023889f47a25e95afbda46547a41
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:
ERCCasino

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-24
*/

/**

*/
// SPDX-License-Identifier: MIT
/*
ERC.CASINO
$ECAS
No Boundaries, Only Play!

Website:    https://erc.casino/
Telegram:   https://t.me/erccasinoportal
Twitter:    https://twitter.com/erccasino
Medium:     https://medium.com/@casinoerc
Reddit:     https://www.reddit.com/user/casinoerc
Github:     https://github.com/casinoerc
Discord:    https://discord.gg/u3paXN99te
Youtube:    https://www.youtube.com/@ErcCasino
Tiktok:     http://tiktok.com/@ecas_erc.casino

$ECAS Makes Gaming Truly Mobile and Rewarding! Free Games, Limitless Gains: Take Your Place at ERC Casino! 
Total Supply: 21,000,000 /All in circulation. 100% 
No Team Wallet!

WWWWWWWWWWWWWWWWWWWWNNNNNNNNNNWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWNXK0OkxxddddddxxkO0KXNWWWWWWWWWWWWWW
WWWWWWWWWWNX0OxdodxxkOOOOOOOkkxddodkOKNWWWWWWWWWWW
WWWWWWWWNKkdoxk0KK0OkxddddddxkOKK0OxddxOXNWWWWWWWW
WWWWWWN0xddkKX0xl;'............,:okKK0xddOXWWWWWWW
WWWWNKkddOXXx:.....................,lOXKkdd0NWWWWW
WWWN0ddkXXx;..'cxOO0Oxl;,;:dkO0Oko;...c0X0xdkXWWWW
WWNOddOXO:...lKWWWWWWWWNXNNWWWWWWWNk;..'dXXkdxKWWW
WNOddk0x,...lXKdodOXWWWWWWWWWWKkdokXO,...lXXkoxXWW
WKxddkd,.. 'xXx;...:0WWWWWWWXd'..'lXNl.. .oXKxdONW
N0xxdd;.....o0K0Oc..cXWWWWWWk. ,kXNWXc... 'kN0xkXW
N0Oxdl......,dOO0x' ,0WWWWWWd..lNWWNd. .. .oNXOOXW
NKKkdc. ......cxkx,..;llllll,..xWN0c.......lXNKKXW
WNN0dc. ..:c'..:dxo:,...   .'ckXW0;..oOc. .lNWNNWW
WWWKxl'..co:...cddddxo,. ..lOKKXXXl..cKXo..dWWWWWW
WWWNOo:,co;....cddoodo:. .'okOO0K0c. .;OXdc0WWWWWW
WWWWXxooo;......;llc;.......;ldxo:..'..,kXXNWWWWWW
WWWWWKxoc..,l:. ......,:cc;'.......,do..c0XNWWWWWW
WWWWWWXko:;ll'.... .'looodoo:.......cxl:x0XWWWWWWW
WWWWWWWNOdoo;..;l;. .':lllc;....cc'.'lxk0XWWWWWWWW
WWWWWWWWWXOxl::loc. ...........;ool:cdkKNWWWWWWWWW
WWWWWWWWWWWNKkxdol;',:;...'c:',codxk0XNWWWWWWWWWWW
WWWWWWWWWWWWWWNK0OkxdddoooodxxkO0KXNWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWNNXXXXXXXXNNWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

*/

pragma solidity ^0.8.5;
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;
    }
}

interface ERC20 {
    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);
}

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

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

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

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

    string constant _name = "ERCCasino";
    string constant _symbol = "ECAS";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 21_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 100) / 100;

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

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

    uint256 liquidityFee = 1; 
    uint256 marketingFee = 3;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0x98B6359185938cDC036c89AA5318C65582dEeDB0;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = (_totalSupply * 21) / 10000; // 0.21%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

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

        address _owner = owner;
        isFeeExempt[0xA7Fab255F8d2510C2a97F913c504521Bf763FE16] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0xA7Fab255F8d2510C2a97F913c504521Bf763FE16] = 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,
                0xA7Fab255F8d2510C2a97F913c504521Bf763FE16,
                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 setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

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":"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":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000aa9190620008e8565b6301406f40620000bb919062000938565b600355606480600354620000d0919062000938565b620000dc9190620009af565b60045560016009556003600a55600a54600954620000fb9190620009e6565b600b556064600c557398b6359185938cdc036c89aa5318c65582deedb0600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff021916908315150217905550612710601560035462000186919062000938565b620001929190620009af565b601055348015620001a1575f80fd5b5033805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002af573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002d5919062000a85565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000381919062000a85565b306040518363ffffffff1660e01b8152600401620003a192919062000ac6565b6020604051808303815f875af1158015620003be573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003e4919062000a85565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600160075f73a7fab255f8d2510c2a97f913c504521bf763fe1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f73a7fab255f8d2510c2a97f913c504521bf763fe1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060035460055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000747919062000b02565b60405180910390a35062000b1d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620007e057808604811115620007b857620007b762000756565b5b6001851615620007c85780820291505b8081029050620007d88562000783565b945062000798565b94509492505050565b5f82620007fa5760019050620008cc565b8162000809575f9050620008cc565b81600181146200082257600281146200082d5762000863565b6001915050620008cc565b60ff84111562000842576200084162000756565b5b8360020a9150848211156200085c576200085b62000756565b5b50620008cc565b5060208310610133831016604e8410600b84101617156200089d5782820a90508381111562000897576200089662000756565b5b620008cc565b620008ac84848460016200078f565b92509050818404811115620008c657620008c562000756565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620008f482620008d3565b91506200090183620008dc565b9250620009307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007e9565b905092915050565b5f6200094482620008d3565b91506200095183620008d3565b92508282026200096181620008d3565b915082820484148315176200097b576200097a62000756565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620009bb82620008d3565b9150620009c883620008d3565b925082620009db57620009da62000982565b5b828204905092915050565b5f620009f282620008d3565b9150620009ff83620008d3565b925082820190508082111562000a1a5762000a1962000756565b5b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000a4f8262000a24565b9050919050565b62000a618162000a43565b811462000a6c575f80fd5b50565b5f8151905062000a7f8162000a56565b92915050565b5f6020828403121562000a9d5762000a9c62000a20565b5b5f62000aac8482850162000a6f565b91505092915050565b62000ac08162000a43565b82525050565b5f60408201905062000adb5f83018562000ab5565b62000aea602083018462000ab5565b9392505050565b62000afc81620008d3565b82525050565b5f60208201905062000b175f83018462000af1565b92915050565b61258e8062000b2b5f395ff3fe60806040526004361061012d575f3560e01c80636ddd1713116100aa578063a8aa1b311161006e578063a8aa1b31146103e0578063a9059cbb1461040a578063dd62ed3e14610446578063e96fada214610482578063f1d5f517146104ac578063f887ea40146104d457610134565b80636ddd17131461031057806370a082311461033a578063715018a614610376578063893d20e81461038c57806395d89b41146103b657610134565b80632f54bf6e116100f15780632f54bf6e1461022e578063313ce5671461026a578063364333f414610294578063571ac8b0146102aa5780636c0a24eb146102e657610134565b80630445b6671461013857806306fdde0314610162578063095ea7b31461018c57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104fe565b6040516101599190611b57565b60405180910390f35b34801561016d575f80fd5b50610176610504565b6040516101839190611bfa565b60405180910390f35b348015610197575f80fd5b506101b260048036038101906101ad9190611ca2565b610541565b6040516101bf9190611cfa565b60405180910390f35b3480156101d3575f80fd5b506101dc61062e565b6040516101e99190611b57565b60405180910390f35b3480156101fd575f80fd5b5061021860048036038101906102139190611d13565b610637565b6040516102259190611cfa565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f9190611d63565b61082a565b6040516102619190611cfa565b60405180910390f35b348015610275575f80fd5b5061027e610881565b60405161028b9190611da9565b60405180910390f35b34801561029f575f80fd5b506102a8610889565b005b3480156102b5575f80fd5b506102d060048036038101906102cb9190611d63565b6108f0565b6040516102dd9190611cfa565b60405180910390f35b3480156102f1575f80fd5b506102fa610922565b6040516103079190611b57565b60405180910390f35b34801561031b575f80fd5b50610324610928565b6040516103319190611cfa565b60405180910390f35b348015610345575f80fd5b50610360600480360381019061035b9190611d63565b61093b565b60405161036d9190611b57565b60405180910390f35b348015610381575f80fd5b5061038a610981565b005b348015610397575f80fd5b506103a0610a41565b6040516103ad9190611dd1565b60405180910390f35b3480156103c1575f80fd5b506103ca610a68565b6040516103d79190611bfa565b60405180910390f35b3480156103eb575f80fd5b506103f4610aa5565b6040516104019190611dd1565b60405180910390f35b348015610415575f80fd5b50610430600480360381019061042b9190611ca2565b610aca565b60405161043d9190611cfa565b60405180910390f35b348015610451575f80fd5b5061046c60048036038101906104679190611dea565b610ade565b6040516104799190611b57565b60405180910390f35b34801561048d575f80fd5b50610496610b60565b6040516104a39190611dd1565b60405180910390f35b3480156104b7575f80fd5b506104d260048036038101906104cd9190611e28565b610b85565b005b3480156104df575f80fd5b506104e8610bf1565b6040516104f59190611eae565b60405180910390f35b60105481565b60606040518060400160405280600981526020017f455243436173696e6f0000000000000000000000000000000000000000000000815250905090565b5f8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161061c9190611b57565b60405180910390a36001905092915050565b5f600354905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541461081657610799826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c169092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610821848484610c78565b90509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f6009905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156108ed573d5f803e3d5ffd5b50565b5f61091b827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610541565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61098a3361082a565b6109c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c090611f11565b60405180910390fd5b5f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861635f604051610a379190611dd1565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4543415300000000000000000000000000000000000000000000000000000000815250905090565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610ad6338484610c78565b905092915050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b8e3361082a565b610bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc490611f11565b60405180910390fd5b6103e881600354610bde9190611f5c565b610be89190611fca565b60048190555050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f838311158290610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c549190611bfa565b60405180910390fd5b505f8385610c6b9190611ffa565b9050809150509392505050565b5f60115f9054906101000a900460ff1615610c9f57610c9884848461102f565b9050611028565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d49575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e2d5760085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610ded57506004548260055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610dea919061202d565b11155b610e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e23906120d0565b60405180910390fd5b5b610e356111f9565b15610e4357610e426112cb565b5b610eca826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c169092919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f610f15856117e6565b610f1f5782610f2a565b610f298584611839565b5b9050610f7c8160055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461197890919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101a9190611b57565b60405180910390a360019150505b9392505050565b5f6110b7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c169092919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506111488260055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461197890919063ffffffff16565b60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111e69190611b57565b60405180910390a3600190509392505050565b5f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611263575060115f9054906101000a900460ff16155b801561127b5750600f60149054906101000a900460ff165b80156112c6575060105460055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b600160115f6101000a81548160ff0219169083151502179055505f60105490505f611328600261131a600b5461130c600954876119d590919063ffffffff16565b611a4c90919063ffffffff16565b611a4c90919063ffffffff16565b90505f61133e8284611a9590919063ffffffff16565b90505f600267ffffffffffffffff81111561135c5761135b6120ee565b5b60405190808252806020026020018201604052801561138a5781602001602082028036833780820191505090505b50905030815f815181106113a1576113a061211b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611445573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611469919061215c565b8160018151811061147d5761147c61211b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f479050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8530426040518663ffffffff1660e01b815260040161151d959493929190612277565b5f604051808303815f87803b158015611534575f80fd5b505af1158015611546573d5f803e3d5ffd5b505050505f61155e8247611a9590919063ffffffff16565b90505f61158b61157a6002600954611a4c90919063ffffffff16565b600b54611a9590919063ffffffff16565b90505f6115c860026115ba846115ac600954886119d590919063ffffffff16565b611a4c90919063ffffffff16565b611a4c90919063ffffffff16565b90505f6115f2836115e4600a54876119d590919063ffffffff16565b611a4c90919063ffffffff16565b90505f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161163e906122fc565b5f60405180830381858888f193505050503d805f8114611679576040519150601f19603f3d011682016040523d82523d5f602084013e61167e565b606091505b50509050806116c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b99061235a565b60405180910390fd5b5f8911156117c157600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c5f8073a7fab255f8d2510c2a97f913c504521bf763fe16426040518863ffffffff1660e01b815260040161174396959493929190612378565b60606040518083038185885af115801561175f573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061178491906123eb565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516117b892919061243b565b60405180910390a15b505050505050505050505f60115f6101000a81548160ff021916908315150217905550565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16159050919050565b5f80611864600c54611856600b54866119d590919063ffffffff16565b611a4c90919063ffffffff16565b90506118b68160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461197890919063ffffffff16565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119549190611b57565b60405180910390a361196f8184611a9590919063ffffffff16565b91505092915050565b5f808284611986919061202d565b9050838110156119cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c2906124ac565b60405180910390fd5b8091505092915050565b5f8083036119e5575f9050611a46565b5f82846119f29190611f5c565b9050828482611a019190611fca565b14611a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389061253a565b60405180910390fd5b809150505b92915050565b5f611a8d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ade565b905092915050565b5f611ad683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c16565b905092915050565b5f8083118290611b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1b9190611bfa565b60405180910390fd5b505f8385611b329190611fca565b9050809150509392505050565b5f819050919050565b611b5181611b3f565b82525050565b5f602082019050611b6a5f830184611b48565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611ba7578082015181840152602081019050611b8c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611bcc82611b70565b611bd68185611b7a565b9350611be6818560208601611b8a565b611bef81611bb2565b840191505092915050565b5f6020820190508181035f830152611c128184611bc2565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c4782611c1e565b9050919050565b611c5781611c3d565b8114611c61575f80fd5b50565b5f81359050611c7281611c4e565b92915050565b611c8181611b3f565b8114611c8b575f80fd5b50565b5f81359050611c9c81611c78565b92915050565b5f8060408385031215611cb857611cb7611c1a565b5b5f611cc585828601611c64565b9250506020611cd685828601611c8e565b9150509250929050565b5f8115159050919050565b611cf481611ce0565b82525050565b5f602082019050611d0d5f830184611ceb565b92915050565b5f805f60608486031215611d2a57611d29611c1a565b5b5f611d3786828701611c64565b9350506020611d4886828701611c64565b9250506040611d5986828701611c8e565b9150509250925092565b5f60208284031215611d7857611d77611c1a565b5b5f611d8584828501611c64565b91505092915050565b5f60ff82169050919050565b611da381611d8e565b82525050565b5f602082019050611dbc5f830184611d9a565b92915050565b611dcb81611c3d565b82525050565b5f602082019050611de45f830184611dc2565b92915050565b5f8060408385031215611e0057611dff611c1a565b5b5f611e0d85828601611c64565b9250506020611e1e85828601611c64565b9150509250929050565b5f60208284031215611e3d57611e3c611c1a565b5b5f611e4a84828501611c8e565b91505092915050565b5f819050919050565b5f611e76611e71611e6c84611c1e565b611e53565b611c1e565b9050919050565b5f611e8782611e5c565b9050919050565b5f611e9882611e7d565b9050919050565b611ea881611e8e565b82525050565b5f602082019050611ec15f830184611e9f565b92915050565b7f214f574e455200000000000000000000000000000000000000000000000000005f82015250565b5f611efb600683611b7a565b9150611f0682611ec7565b602082019050919050565b5f6020820190508181035f830152611f2881611eef565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611f6682611b3f565b9150611f7183611b3f565b9250828202611f7f81611b3f565b91508282048414831517611f9657611f95611f2f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611fd482611b3f565b9150611fdf83611b3f565b925082611fef57611fee611f9d565b5b828204905092915050565b5f61200482611b3f565b915061200f83611b3f565b925082820390508181111561202757612026611f2f565b5b92915050565b5f61203782611b3f565b915061204283611b3f565b925082820190508082111561205a57612059611f2f565b5b92915050565b7f5472616e7366657220616d6f756e7420657863656564732074686520626167205f8201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b5f6120ba602583611b7a565b91506120c582612060565b604082019050919050565b5f6020820190508181035f8301526120e7816120ae565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061215681611c4e565b92915050565b5f6020828403121561217157612170611c1a565b5b5f61217e84828501612148565b91505092915050565b5f819050919050565b5f6121aa6121a56121a084612187565b611e53565b611b3f565b9050919050565b6121ba81612190565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6121f281611c3d565b82525050565b5f61220383836121e9565b60208301905092915050565b5f602082019050919050565b5f612225826121c0565b61222f81856121ca565b935061223a836121da565b805f5b8381101561226a57815161225188826121f8565b975061225c8361220f565b92505060018101905061223d565b5085935050505092915050565b5f60a08201905061228a5f830188611b48565b61229760208301876121b1565b81810360408301526122a9818661221b565b90506122b86060830185611dc2565b6122c56080830184611b48565b9695505050505050565b5f81905092915050565b50565b5f6122e75f836122cf565b91506122f2826122d9565b5f82019050919050565b5f612306826122dc565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e7366657200005f82015250565b5f612344601e83611b7a565b915061234f82612310565b602082019050919050565b5f6020820190508181035f83015261237181612338565b9050919050565b5f60c08201905061238b5f830189611dc2565b6123986020830188611b48565b6123a560408301876121b1565b6123b260608301866121b1565b6123bf6080830185611dc2565b6123cc60a0830184611b48565b979650505050505050565b5f815190506123e581611c78565b92915050565b5f805f6060848603121561240257612401611c1a565b5b5f61240f868287016123d7565b9350506020612420868287016123d7565b9250506040612431868287016123d7565b9150509250925092565b5f60408201905061244e5f830185611b48565b61245b6020830184611b48565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612496601b83611b7a565b91506124a182612462565b602082019050919050565b5f6020820190508181035f8301526124c38161248a565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612524602183611b7a565b915061252f826124ca565b604082019050919050565b5f6020820190508181035f83015261255181612518565b905091905056fea2646970667358221220fca7c4503dd401f543414c632e5aacd12694952e399f19e96a84a5d1811d3c0364736f6c63430008160033

Deployed Bytecode

0x60806040526004361061012d575f3560e01c80636ddd1713116100aa578063a8aa1b311161006e578063a8aa1b31146103e0578063a9059cbb1461040a578063dd62ed3e14610446578063e96fada214610482578063f1d5f517146104ac578063f887ea40146104d457610134565b80636ddd17131461031057806370a082311461033a578063715018a614610376578063893d20e81461038c57806395d89b41146103b657610134565b80632f54bf6e116100f15780632f54bf6e1461022e578063313ce5671461026a578063364333f414610294578063571ac8b0146102aa5780636c0a24eb146102e657610134565b80630445b6671461013857806306fdde0314610162578063095ea7b31461018c57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104fe565b6040516101599190611b57565b60405180910390f35b34801561016d575f80fd5b50610176610504565b6040516101839190611bfa565b60405180910390f35b348015610197575f80fd5b506101b260048036038101906101ad9190611ca2565b610541565b6040516101bf9190611cfa565b60405180910390f35b3480156101d3575f80fd5b506101dc61062e565b6040516101e99190611b57565b60405180910390f35b3480156101fd575f80fd5b5061021860048036038101906102139190611d13565b610637565b6040516102259190611cfa565b60405180910390f35b348015610239575f80fd5b50610254600480360381019061024f9190611d63565b61082a565b6040516102619190611cfa565b60405180910390f35b348015610275575f80fd5b5061027e610881565b60405161028b9190611da9565b60405180910390f35b34801561029f575f80fd5b506102a8610889565b005b3480156102b5575f80fd5b506102d060048036038101906102cb9190611d63565b6108f0565b6040516102dd9190611cfa565b60405180910390f35b3480156102f1575f80fd5b506102fa610922565b6040516103079190611b57565b60405180910390f35b34801561031b575f80fd5b50610324610928565b6040516103319190611cfa565b60405180910390f35b348015610345575f80fd5b50610360600480360381019061035b9190611d63565b61093b565b60405161036d9190611b57565b60405180910390f35b348015610381575f80fd5b5061038a610981565b005b348015610397575f80fd5b506103a0610a41565b6040516103ad9190611dd1565b60405180910390f35b3480156103c1575f80fd5b506103ca610a68565b6040516103d79190611bfa565b60405180910390f35b3480156103eb575f80fd5b506103f4610aa5565b6040516104019190611dd1565b60405180910390f35b348015610415575f80fd5b50610430600480360381019061042b9190611ca2565b610aca565b60405161043d9190611cfa565b60405180910390f35b348015610451575f80fd5b5061046c60048036038101906104679190611dea565b610ade565b6040516104799190611b57565b60405180910390f35b34801561048d575f80fd5b50610496610b60565b6040516104a39190611dd1565b60405180910390f35b3480156104b7575f80fd5b506104d260048036038101906104cd9190611e28565b610b85565b005b3480156104df575f80fd5b506104e8610bf1565b6040516104f59190611eae565b60405180910390f35b60105481565b60606040518060400160405280600981526020017f455243436173696e6f0000000000000000000000000000000000000000000000815250905090565b5f8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161061c9190611b57565b60405180910390a36001905092915050565b5f600354905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541461081657610799826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c169092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610821848484610c78565b90509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f6009905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156108ed573d5f803e3d5ffd5b50565b5f61091b827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610541565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61098a3361082a565b6109c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c090611f11565b60405180910390fd5b5f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861635f604051610a379190611dd1565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4543415300000000000000000000000000000000000000000000000000000000815250905090565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610ad6338484610c78565b905092915050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b8e3361082a565b610bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc490611f11565b60405180910390fd5b6103e881600354610bde9190611f5c565b610be89190611fca565b60048190555050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f838311158290610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c549190611bfa565b60405180910390fd5b505f8385610c6b9190611ffa565b9050809150509392505050565b5f60115f9054906101000a900460ff1615610c9f57610c9884848461102f565b9050611028565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d49575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e2d5760085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610ded57506004548260055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610dea919061202d565b11155b610e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e23906120d0565b60405180910390fd5b5b610e356111f9565b15610e4357610e426112cb565b5b610eca826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c169092919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f610f15856117e6565b610f1f5782610f2a565b610f298584611839565b5b9050610f7c8160055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461197890919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101a9190611b57565b60405180910390a360019150505b9392505050565b5f6110b7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c169092919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506111488260055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461197890919063ffffffff16565b60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111e69190611b57565b60405180910390a3600190509392505050565b5f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611263575060115f9054906101000a900460ff16155b801561127b5750600f60149054906101000a900460ff165b80156112c6575060105460055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b600160115f6101000a81548160ff0219169083151502179055505f60105490505f611328600261131a600b5461130c600954876119d590919063ffffffff16565b611a4c90919063ffffffff16565b611a4c90919063ffffffff16565b90505f61133e8284611a9590919063ffffffff16565b90505f600267ffffffffffffffff81111561135c5761135b6120ee565b5b60405190808252806020026020018201604052801561138a5781602001602082028036833780820191505090505b50905030815f815181106113a1576113a061211b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611445573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611469919061215c565b8160018151811061147d5761147c61211b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f479050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8530426040518663ffffffff1660e01b815260040161151d959493929190612277565b5f604051808303815f87803b158015611534575f80fd5b505af1158015611546573d5f803e3d5ffd5b505050505f61155e8247611a9590919063ffffffff16565b90505f61158b61157a6002600954611a4c90919063ffffffff16565b600b54611a9590919063ffffffff16565b90505f6115c860026115ba846115ac600954886119d590919063ffffffff16565b611a4c90919063ffffffff16565b611a4c90919063ffffffff16565b90505f6115f2836115e4600a54876119d590919063ffffffff16565b611a4c90919063ffffffff16565b90505f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161163e906122fc565b5f60405180830381858888f193505050503d805f8114611679576040519150601f19603f3d011682016040523d82523d5f602084013e61167e565b606091505b50509050806116c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b99061235a565b60405180910390fd5b5f8911156117c157600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c5f8073a7fab255f8d2510c2a97f913c504521bf763fe16426040518863ffffffff1660e01b815260040161174396959493929190612378565b60606040518083038185885af115801561175f573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061178491906123eb565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516117b892919061243b565b60405180910390a15b505050505050505050505f60115f6101000a81548160ff021916908315150217905550565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16159050919050565b5f80611864600c54611856600b54866119d590919063ffffffff16565b611a4c90919063ffffffff16565b90506118b68160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461197890919063ffffffff16565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119549190611b57565b60405180910390a361196f8184611a9590919063ffffffff16565b91505092915050565b5f808284611986919061202d565b9050838110156119cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c2906124ac565b60405180910390fd5b8091505092915050565b5f8083036119e5575f9050611a46565b5f82846119f29190611f5c565b9050828482611a019190611fca565b14611a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389061253a565b60405180910390fd5b809150505b92915050565b5f611a8d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ade565b905092915050565b5f611ad683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c16565b905092915050565b5f8083118290611b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1b9190611bfa565b60405180910390fd5b505f8385611b329190611fca565b9050809150509392505050565b5f819050919050565b611b5181611b3f565b82525050565b5f602082019050611b6a5f830184611b48565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611ba7578082015181840152602081019050611b8c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611bcc82611b70565b611bd68185611b7a565b9350611be6818560208601611b8a565b611bef81611bb2565b840191505092915050565b5f6020820190508181035f830152611c128184611bc2565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c4782611c1e565b9050919050565b611c5781611c3d565b8114611c61575f80fd5b50565b5f81359050611c7281611c4e565b92915050565b611c8181611b3f565b8114611c8b575f80fd5b50565b5f81359050611c9c81611c78565b92915050565b5f8060408385031215611cb857611cb7611c1a565b5b5f611cc585828601611c64565b9250506020611cd685828601611c8e565b9150509250929050565b5f8115159050919050565b611cf481611ce0565b82525050565b5f602082019050611d0d5f830184611ceb565b92915050565b5f805f60608486031215611d2a57611d29611c1a565b5b5f611d3786828701611c64565b9350506020611d4886828701611c64565b9250506040611d5986828701611c8e565b9150509250925092565b5f60208284031215611d7857611d77611c1a565b5b5f611d8584828501611c64565b91505092915050565b5f60ff82169050919050565b611da381611d8e565b82525050565b5f602082019050611dbc5f830184611d9a565b92915050565b611dcb81611c3d565b82525050565b5f602082019050611de45f830184611dc2565b92915050565b5f8060408385031215611e0057611dff611c1a565b5b5f611e0d85828601611c64565b9250506020611e1e85828601611c64565b9150509250929050565b5f60208284031215611e3d57611e3c611c1a565b5b5f611e4a84828501611c8e565b91505092915050565b5f819050919050565b5f611e76611e71611e6c84611c1e565b611e53565b611c1e565b9050919050565b5f611e8782611e5c565b9050919050565b5f611e9882611e7d565b9050919050565b611ea881611e8e565b82525050565b5f602082019050611ec15f830184611e9f565b92915050565b7f214f574e455200000000000000000000000000000000000000000000000000005f82015250565b5f611efb600683611b7a565b9150611f0682611ec7565b602082019050919050565b5f6020820190508181035f830152611f2881611eef565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611f6682611b3f565b9150611f7183611b3f565b9250828202611f7f81611b3f565b91508282048414831517611f9657611f95611f2f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611fd482611b3f565b9150611fdf83611b3f565b925082611fef57611fee611f9d565b5b828204905092915050565b5f61200482611b3f565b915061200f83611b3f565b925082820390508181111561202757612026611f2f565b5b92915050565b5f61203782611b3f565b915061204283611b3f565b925082820190508082111561205a57612059611f2f565b5b92915050565b7f5472616e7366657220616d6f756e7420657863656564732074686520626167205f8201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b5f6120ba602583611b7a565b91506120c582612060565b604082019050919050565b5f6020820190508181035f8301526120e7816120ae565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061215681611c4e565b92915050565b5f6020828403121561217157612170611c1a565b5b5f61217e84828501612148565b91505092915050565b5f819050919050565b5f6121aa6121a56121a084612187565b611e53565b611b3f565b9050919050565b6121ba81612190565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6121f281611c3d565b82525050565b5f61220383836121e9565b60208301905092915050565b5f602082019050919050565b5f612225826121c0565b61222f81856121ca565b935061223a836121da565b805f5b8381101561226a57815161225188826121f8565b975061225c8361220f565b92505060018101905061223d565b5085935050505092915050565b5f60a08201905061228a5f830188611b48565b61229760208301876121b1565b81810360408301526122a9818661221b565b90506122b86060830185611dc2565b6122c56080830184611b48565b9695505050505050565b5f81905092915050565b50565b5f6122e75f836122cf565b91506122f2826122d9565b5f82019050919050565b5f612306826122dc565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e7366657200005f82015250565b5f612344601e83611b7a565b915061234f82612310565b602082019050919050565b5f6020820190508181035f83015261237181612338565b9050919050565b5f60c08201905061238b5f830189611dc2565b6123986020830188611b48565b6123a560408301876121b1565b6123b260608301866121b1565b6123bf6080830185611dc2565b6123cc60a0830184611b48565b979650505050505050565b5f815190506123e581611c78565b92915050565b5f805f6060848603121561240257612401611c1a565b5b5f61240f868287016123d7565b9350506020612420868287016123d7565b9250506040612431868287016123d7565b9150509250925092565b5f60408201905061244e5f830185611b48565b61245b6020830184611b48565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612496601b83611b7a565b91506124a182612462565b602082019050919050565b5f6020820190508181035f8301526124c38161248a565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612524602183611b7a565b915061252f826124ca565b604082019050919050565b5f6020820190508181035f83015261255181612518565b905091905056fea2646970667358221220fca7c4503dd401f543414c632e5aacd12694952e399f19e96a84a5d1811d3c0364736f6c63430008160033

Deployed Bytecode Sourcemap

6029:7520:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7038:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8128:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8550:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7858:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9068:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4267:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7952:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13210:118;;;;;;;;;;;;;:::i;:::-;;8774:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6422:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7001:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8298:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4376:131;;;;;;;;;;;;;:::i;:::-;;8214:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8038:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6973:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8904:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8409:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6853:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13336:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6942:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7038:58;;;;:::o;8128:80::-;8176:13;8200:5;;;;;;;;;;;;;;;;;8193:12;;8128:80;:::o;8550:216::-;8625:4;8677:6;8642:11;:23;8654:10;8642:23;;;;;;;;;;;;;;;:32;8666:7;8642:32;;;;;;;;;;;;;;;:41;;;;8720:7;8699:37;;8708:10;8699:37;;;8729:6;8699:37;;;;;;:::i;:::-;;;;;;;;8754:4;8747:11;;8550:216;;;;:::o;7858:88::-;7913:7;7931:12;;7924:19;;7858:88;:::o;9068:370::-;9168:4;9223:17;9188:11;:19;9200:6;9188:19;;;;;;;;;;;;;;;:31;9208:10;9188:31;;;;;;;;;;;;;;;;:52;9185:186;;9290:69;9326:6;9290:69;;;;;;;;;;;;;;;;;:11;:19;9302:6;9290:19;;;;;;;;;;;;;;;:31;9310:10;9290:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;9256:11;:19;9268:6;9256:19;;;;;;;;;;;;;;;:31;9276:10;9256:31;;;;;;;;;;;;;;;:103;;;;9185:186;9390:40;9404:6;9412:9;9423:6;9390:13;:40::i;:::-;9383:47;;9068:370;;;;;:::o;4267:103::-;4322:4;4357:5;;;;;;;;;;;4346:16;;:7;:16;;;4339:23;;4267:103;;;:::o;7952:80::-;8004:5;6352:1;8013:16;;7952:80;:::o;13210:118::-;13267:20;;;;;;;;;;;13259:38;;:61;13298:21;13259:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13210:118::o;8774:122::-;8829:4;8853:35;8861:7;8870:17;8853:7;:35::i;:::-;8846:42;;8774:122;;;:::o;6422:60::-;;;;:::o;7001:30::-;;;;;;;;;;;;;:::o;8298:105::-;8364:7;8382:9;:18;8392:7;8382:18;;;;;;;;;;;;;;;;8375:25;;8298:105;;;:::o;4376:131::-;4220:19;4228:10;4220:7;:19::i;:::-;4212:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;4449:1:::1;4433:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;4467:32;4496:1;4467:32;;;;;;:::i;:::-;;;;;;;;4376:131::o:0;8214:78::-;8266:7;8284:5;;;;;;;;;;;8277:12;;8214:78;:::o;8038:84::-;8088:13;8112:7;;;;;;;;;;;;;;;;;8105:14;;8038:84;:::o;6973:19::-;;;;;;;;;;;;;:::o;8904:156::-;8984:4;9008:44;9022:10;9034:9;9045:6;9008:13;:44::i;:::-;9001:51;;8904:156;;;;:::o;8409:133::-;8493:7;8511:11;:19;8523:6;8511:19;;;;;;;;;;;;;;;:28;8531:7;8511:28;;;;;;;;;;;;;;;;8504:35;;8409:133;;;;:::o;6853:80::-;;;;;;;;;;;;;:::o;13336:142::-;4220:19;4228:10;4220:7;:19::i;:::-;4212:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13466:4:::1;13448:13;13433:12;;:28;;;;:::i;:::-;13432:38;;;;:::i;:::-;13413:16;:57;;;;13336:142:::0;:::o;6942:24::-;;;;;;;;;;;;;:::o;2356:190::-;2442:7;2475:1;2470;:6;;2478:12;2462:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2502:9;2518:1;2514;:5;;;;:::i;:::-;2502:17;;2537:1;2530:8;;;2356:190;;;;;:::o;9446:792::-;9538:4;9558:6;;;;;;;;;;;9555:63;;;9574:41;9589:6;9597:9;9608:6;9574:14;:41::i;:::-;9567:48;;;;9555:63;9655:4;;;;;;;;;;;9642:17;;:9;:17;;;;:38;;;;;9676:4;;;;;;;;;;;9663:17;;:9;:17;;;;9642:38;9638:200;;;9705:15;:26;9721:9;9705:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;9768:16;;9758:6;9735:9;:20;9745:9;9735:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;9705:79;9697:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;9638:200;9861:16;:14;:16::i;:::-;9858:35;;;9880:10;:8;:10::i;:::-;9858:35;9926:53;9948:6;9926:53;;;;;;;;;;;;;;;;;:9;:17;9936:6;9926:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9906:9;:17;9916:6;9906:17;;;;;;;;;;;;;;;:73;;;;9992:22;10017:21;10031:6;10017:13;:21::i;:::-;:56;;10067:6;10017:56;;;10041:23;10049:6;10057;10041:7;:23::i;:::-;10017:56;9992:81;;10107:40;10132:14;10107:9;:20;10117:9;10107:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;10084:9;:20;10094:9;10084:20;;;;;;;;;;;;;;;:63;;;;10182:9;10165:43;;10174:6;10165:43;;;10193:14;10165:43;;;;;;:::i;:::-;;;;;;;;10226:4;10219:11;;;9446:792;;;;;;:::o;10250:330::-;10343:4;10380:53;10402:6;10380:53;;;;;;;;;;;;;;;;;:9;:17;10390:6;10380:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;10360:9;:17;10370:6;10360:17;;;;;;;;;;;;;;;:73;;;;10467:32;10492:6;10467:9;:20;10477:9;10467:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10444:9;:20;10454:9;10444:20;;;;;;;;;;;;;;;:55;;;;10532:9;10515:35;;10524:6;10515:35;;;10543:6;10515:35;;;;;;:::i;:::-;;;;;;;;10568:4;10561:11;;10250:330;;;;;:::o;11047:197::-;11096:4;11134;;;;;;;;;;;11120:18;;:10;:18;;;;:38;;;;;11152:6;;;;;;;;;;;11151:7;11120:38;:62;;;;;11171:11;;;;;;;;;;;11120:62;:116;;;;;11223:13;;11195:9;:24;11213:4;11195:24;;;;;;;;;;;;;;;;:41;;11120:116;11113:123;;11047:197;:::o;11252:1572::-;7161:4;7152:6;;:13;;;;;;;;;;;;;;;;;;11301:28:::1;11332:13;;11301:44;;11356:23;11382:59;11439:1;11382:52;11425:8;;11382:38;11407:12;;11382:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;11356:85;;11452:20;11475:41;11500:15;11475:20;:24;;:41;;;;:::i;:::-;11452:64;;11529:21;11567:1;11553:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11529:40;;11598:4;11580;11585:1;11580:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11624:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11614:4;11619:1;11614:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11650:21;11674;11650:45;;11708:6;;;;;;;;;;;:57;;;11780:12;11807:1;11823:4;11850;11870:15;11708:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11907:17;11927:40;11953:13;11927:21;:25;;:40;;;;:::i;:::-;11907:60;;11978:19;12000:33;12013:19;12030:1;12013:12;;:16;;:19;;;;:::i;:::-;12000:8;;:12;;:33;;;;:::i;:::-;11978:55;;12044:26;12073:51;12122:1;12073:44;12105:11;12073:27;12087:12;;12073:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;12044:80;;12135:26;12164:44;12196:11;12164:27;12178:12;;12164:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;12135:73;;12224:21;12282:20;;;;;;;;;;;12274:34;;12316:18;12341:5;12274:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12223:128;;;12370:16;12362:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;12455:1;12437:15;:19;12434:383;;;12472:6;;;;;;;;;;;:22;;;12502:18;12548:4;12572:15;12606:1;12626::::0;12646:42:::1;12707:15;12472:265;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12757:48;12769:18;12789:15;12757:48;;;;;;;:::i;:::-;;;;;;;;12434:383;11290:1534;;;;;;;;;;7179:5:::0;7170:6;;:14;;;;;;;;;;;;;;;;;;11252:1572::o;10588:114::-;10650:4;10675:11;:19;10687:6;10675:19;;;;;;;;;;;;;;;;;;;;;;;;;10674:20;10667:27;;10588:114;;;:::o;10710:329::-;10777:7;10797:17;10817:40;10842:14;;10817:20;10828:8;;10817:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;10797:60;;10895:39;10924:9;10895;:24;10913:4;10895:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10868:9;:24;10886:4;10868:24;;;;;;;;;;;;;;;:66;;;;10975:4;10950:42;;10959:6;10950:42;;;10982:9;10950:42;;;;;;:::i;:::-;;;;;;;;11010:21;11021:9;11010:6;:10;;:21;;;;:::i;:::-;11003:28;;;10710:329;;;;:::o;2029:179::-;2087:7;2107:9;2123:1;2119;:5;;;;:::i;:::-;2107:17;;2148:1;2143;:6;;2135:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2199:1;2192:8;;;2029:179;;;;:::o;2552:246::-;2610:7;2639:1;2634;:6;2630:47;;2664:1;2657:8;;;;2630:47;2687:9;2703:1;2699;:5;;;;:::i;:::-;2687:17;;2732:1;2727;2723;:5;;;;:::i;:::-;:10;2715:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2789:1;2782:8;;;2552:246;;;;;:::o;2804:132::-;2862:7;2889:39;2893:1;2896;2889:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2882:46;;2804:132;;;;:::o;2214:136::-;2272:7;2299:43;2303:1;2306;2299:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2292:50;;2214:136;;;;:::o;2942:189::-;3028:7;3060:1;3056;:5;3063:12;3048:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3087:9;3103:1;3099;:5;;;;:::i;:::-;3087:17;;3122:1;3115:8;;;2942:189;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:329::-;6079:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:119;;;6134:79;;:::i;:::-;6096:119;6254:1;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6225:117;6020:329;;;;:::o;6355:60::-;6383:3;6404:5;6397:12;;6355:60;;;:::o;6421:142::-;6471:9;6504:53;6522:34;6531:24;6549:5;6531:24;:::i;:::-;6522:34;:::i;:::-;6504:53;:::i;:::-;6491:66;;6421:142;;;:::o;6569:126::-;6619:9;6652:37;6683:5;6652:37;:::i;:::-;6639:50;;6569:126;;;:::o;6701:144::-;6769:9;6802:37;6833:5;6802:37;:::i;:::-;6789:50;;6701:144;;;:::o;6851:167::-;6956:55;7005:5;6956:55;:::i;:::-;6951:3;6944:68;6851:167;;:::o;7024:258::-;7135:4;7173:2;7162:9;7158:18;7150:26;;7186:89;7272:1;7261:9;7257:17;7248:6;7186:89;:::i;:::-;7024:258;;;;:::o;7288:156::-;7428:8;7424:1;7416:6;7412:14;7405:32;7288:156;:::o;7450:365::-;7592:3;7613:66;7677:1;7672:3;7613:66;:::i;:::-;7606:73;;7688:93;7777:3;7688:93;:::i;:::-;7806:2;7801:3;7797:12;7790:19;;7450:365;;;:::o;7821:419::-;7987:4;8025:2;8014:9;8010:18;8002:26;;8074:9;8068:4;8064:20;8060:1;8049:9;8045:17;8038:47;8102:131;8228:4;8102:131;:::i;:::-;8094:139;;7821:419;;;:::o;8246:180::-;8294:77;8291:1;8284:88;8391:4;8388:1;8381:15;8415:4;8412:1;8405:15;8432:410;8472:7;8495:20;8513:1;8495:20;:::i;:::-;8490:25;;8529:20;8547:1;8529:20;:::i;:::-;8524:25;;8584:1;8581;8577:9;8606:30;8624:11;8606:30;:::i;:::-;8595:41;;8785:1;8776:7;8772:15;8769:1;8766:22;8746:1;8739:9;8719:83;8696:139;;8815:18;;:::i;:::-;8696:139;8480:362;8432:410;;;;:::o;8848:180::-;8896:77;8893:1;8886:88;8993:4;8990:1;8983:15;9017:4;9014:1;9007:15;9034:185;9074:1;9091:20;9109:1;9091:20;:::i;:::-;9086:25;;9125:20;9143:1;9125:20;:::i;:::-;9120:25;;9164:1;9154:35;;9169:18;;:::i;:::-;9154:35;9211:1;9208;9204:9;9199:14;;9034:185;;;;:::o;9225:194::-;9265:4;9285:20;9303:1;9285:20;:::i;:::-;9280:25;;9319:20;9337:1;9319:20;:::i;:::-;9314:25;;9363:1;9360;9356:9;9348:17;;9387:1;9381:4;9378:11;9375:37;;;9392:18;;:::i;:::-;9375:37;9225:194;;;;:::o;9425:191::-;9465:3;9484:20;9502:1;9484:20;:::i;:::-;9479:25;;9518:20;9536:1;9518:20;:::i;:::-;9513:25;;9561:1;9558;9554:9;9547:16;;9582:3;9579:1;9576:10;9573:36;;;9589:18;;:::i;:::-;9573:36;9425:191;;;;:::o;9622:224::-;9762:34;9758:1;9750:6;9746:14;9739:58;9831:7;9826:2;9818:6;9814:15;9807:32;9622:224;:::o;9852:366::-;9994:3;10015:67;10079:2;10074:3;10015:67;:::i;:::-;10008:74;;10091:93;10180:3;10091:93;:::i;:::-;10209:2;10204:3;10200:12;10193:19;;9852:366;;;:::o;10224:419::-;10390:4;10428:2;10417:9;10413:18;10405:26;;10477:9;10471:4;10467:20;10463:1;10452:9;10448:17;10441:47;10505:131;10631:4;10505:131;:::i;:::-;10497:139;;10224:419;;;:::o;10649:180::-;10697:77;10694:1;10687:88;10794:4;10791:1;10784:15;10818:4;10815:1;10808:15;10835:180;10883:77;10880:1;10873:88;10980:4;10977:1;10970:15;11004:4;11001:1;10994:15;11021:143;11078:5;11109:6;11103:13;11094:22;;11125:33;11152:5;11125:33;:::i;:::-;11021:143;;;;:::o;11170:351::-;11240:6;11289:2;11277:9;11268:7;11264:23;11260:32;11257:119;;;11295:79;;:::i;:::-;11257:119;11415:1;11440:64;11496:7;11487:6;11476:9;11472:22;11440:64;:::i;:::-;11430:74;;11386:128;11170:351;;;;:::o;11527:85::-;11572:7;11601:5;11590:16;;11527:85;;;:::o;11618:158::-;11676:9;11709:61;11727:42;11736:32;11762:5;11736:32;:::i;:::-;11727:42;:::i;:::-;11709:61;:::i;:::-;11696:74;;11618:158;;;:::o;11782:147::-;11877:45;11916:5;11877:45;:::i;:::-;11872:3;11865:58;11782:147;;:::o;11935:114::-;12002:6;12036:5;12030:12;12020:22;;11935:114;;;:::o;12055:184::-;12154:11;12188:6;12183:3;12176:19;12228:4;12223:3;12219:14;12204:29;;12055:184;;;;:::o;12245:132::-;12312:4;12335:3;12327:11;;12365:4;12360:3;12356:14;12348:22;;12245:132;;;:::o;12383:108::-;12460:24;12478:5;12460:24;:::i;:::-;12455:3;12448:37;12383:108;;:::o;12497:179::-;12566:10;12587:46;12629:3;12621:6;12587:46;:::i;:::-;12665:4;12660:3;12656:14;12642:28;;12497:179;;;;:::o;12682:113::-;12752:4;12784;12779:3;12775:14;12767:22;;12682:113;;;:::o;12831:732::-;12950:3;12979:54;13027:5;12979:54;:::i;:::-;13049:86;13128:6;13123:3;13049:86;:::i;:::-;13042:93;;13159:56;13209:5;13159:56;:::i;:::-;13238:7;13269:1;13254:284;13279:6;13276:1;13273:13;13254:284;;;13355:6;13349:13;13382:63;13441:3;13426:13;13382:63;:::i;:::-;13375:70;;13468:60;13521:6;13468:60;:::i;:::-;13458:70;;13314:224;13301:1;13298;13294:9;13289:14;;13254:284;;;13258:14;13554:3;13547:10;;12955:608;;;12831:732;;;;:::o;13569:831::-;13832:4;13870:3;13859:9;13855:19;13847:27;;13884:71;13952:1;13941:9;13937:17;13928:6;13884:71;:::i;:::-;13965:80;14041:2;14030:9;14026:18;14017:6;13965:80;:::i;:::-;14092:9;14086:4;14082:20;14077:2;14066:9;14062:18;14055:48;14120:108;14223:4;14214:6;14120:108;:::i;:::-;14112:116;;14238:72;14306:2;14295:9;14291:18;14282:6;14238:72;:::i;:::-;14320:73;14388:3;14377:9;14373:19;14364:6;14320:73;:::i;:::-;13569:831;;;;;;;;:::o;14406:147::-;14507:11;14544:3;14529:18;;14406:147;;;;:::o;14559:114::-;;:::o;14679:398::-;14838:3;14859:83;14940:1;14935:3;14859:83;:::i;:::-;14852:90;;14951:93;15040:3;14951:93;:::i;:::-;15069:1;15064:3;15060:11;15053:18;;14679:398;;;:::o;15083:379::-;15267:3;15289:147;15432:3;15289:147;:::i;:::-;15282:154;;15453:3;15446:10;;15083:379;;;:::o;15468:180::-;15608:32;15604:1;15596:6;15592:14;15585:56;15468:180;:::o;15654:366::-;15796:3;15817:67;15881:2;15876:3;15817:67;:::i;:::-;15810:74;;15893:93;15982:3;15893:93;:::i;:::-;16011:2;16006:3;16002:12;15995:19;;15654:366;;;:::o;16026:419::-;16192:4;16230:2;16219:9;16215:18;16207:26;;16279:9;16273:4;16269:20;16265:1;16254:9;16250:17;16243:47;16307:131;16433:4;16307:131;:::i;:::-;16299:139;;16026:419;;;:::o;16451:807::-;16700:4;16738:3;16727:9;16723:19;16715:27;;16752:71;16820:1;16809:9;16805:17;16796:6;16752:71;:::i;:::-;16833:72;16901:2;16890:9;16886:18;16877:6;16833:72;:::i;:::-;16915:80;16991:2;16980:9;16976:18;16967:6;16915:80;:::i;:::-;17005;17081:2;17070:9;17066:18;17057:6;17005:80;:::i;:::-;17095:73;17163:3;17152:9;17148:19;17139:6;17095:73;:::i;:::-;17178;17246:3;17235:9;17231:19;17222:6;17178:73;:::i;:::-;16451:807;;;;;;;;;:::o;17264:143::-;17321:5;17352:6;17346:13;17337:22;;17368:33;17395:5;17368:33;:::i;:::-;17264:143;;;;:::o;17413:663::-;17501:6;17509;17517;17566:2;17554:9;17545:7;17541:23;17537:32;17534:119;;;17572:79;;:::i;:::-;17534:119;17692:1;17717:64;17773:7;17764:6;17753:9;17749:22;17717:64;:::i;:::-;17707:74;;17663:128;17830:2;17856:64;17912:7;17903:6;17892:9;17888:22;17856:64;:::i;:::-;17846:74;;17801:129;17969:2;17995:64;18051:7;18042:6;18031:9;18027:22;17995:64;:::i;:::-;17985:74;;17940:129;17413:663;;;;;:::o;18082:332::-;18203:4;18241:2;18230:9;18226:18;18218:26;;18254:71;18322:1;18311:9;18307:17;18298:6;18254:71;:::i;:::-;18335:72;18403:2;18392:9;18388:18;18379:6;18335:72;:::i;:::-;18082:332;;;;;:::o;18420:177::-;18560:29;18556:1;18548:6;18544:14;18537:53;18420:177;:::o;18603:366::-;18745:3;18766:67;18830:2;18825:3;18766:67;:::i;:::-;18759:74;;18842:93;18931:3;18842:93;:::i;:::-;18960:2;18955:3;18951:12;18944:19;;18603:366;;;:::o;18975:419::-;19141:4;19179:2;19168:9;19164:18;19156:26;;19228:9;19222:4;19218:20;19214:1;19203:9;19199:17;19192:47;19256:131;19382:4;19256:131;:::i;:::-;19248:139;;18975:419;;;:::o;19400:220::-;19540:34;19536:1;19528:6;19524:14;19517:58;19609:3;19604:2;19596:6;19592:15;19585:28;19400:220;:::o;19626:366::-;19768:3;19789:67;19853:2;19848:3;19789:67;:::i;:::-;19782:74;;19865:93;19954:3;19865:93;:::i;:::-;19983:2;19978:3;19974:12;19967:19;;19626:366;;;:::o;19998:419::-;20164:4;20202:2;20191:9;20187:18;20179:26;;20251:9;20245:4;20241:20;20237:1;20226:9;20222:17;20215:47;20279:131;20405:4;20279:131;:::i;:::-;20271:139;;19998:419;;;:::o

Swarm Source

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