ETH Price: $3,276.63 (+0.95%)
Gas: 2 Gwei

Token

RIG Open Problems ($ROPs)
 

Overview

Max Total Supply

100,000,000 $ROPs

Holders

75

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 4 Decimals)

Balance
1,799,998.2 $ROPs

Value
$0.00
0x0505a2cdb6fe47627510fe1fa6eb3dca891a4d66
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:
DeusXMachina

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-20
*/

/*

*/

// SPDX-License-Identifier: none
pragma solidity ^0.8.17;

library SafeTransferLib {
    function safeTransferETH(address to, uint256 amount) internal {
        bool success;

        assembly {
            success := call(gas(), to, amount, 0, 0, 0, 0)
        }

        require(success, "ETH_TRANSFER_FAILED");
    }

    function safeTransfer(address token, address to, uint256 amount) internal {
        bool success;

        assembly {
            let freeMemoryPointer := mload(0x40)

            mstore(freeMemoryPointer, 0xa9059cbb00000000000000000000000000000000000000000000000000000000)
            mstore(add(freeMemoryPointer, 4), to)
            mstore(add(freeMemoryPointer, 36), amount)

            success := and(
                or(and(eq(mload(0), 1), gt(returndatasize(), 31)), iszero(returndatasize())),
                call(gas(), token, 0, freeMemoryPointer, 68, 0, 32)
            )
        }

        require(success, "TRANSFER_FAILED");
    }
}

abstract contract Auth {
    event OwnershipTransferred(address owner);
    mapping (address => bool) internal authorizations;

    address public owner;
    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "!OWNER");
        
        _;
    }

    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); 
        
        _;
    }

    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }
}

interface IDexFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

contract DeusXMachina is Auth {
    event Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    address WRAP;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public name = "RIG Open Problems";
    string public symbol = "$ROPs";
    uint8 constant public decimals = 4;

    uint256 public totalSupply = 100_000_000 * (10 ** decimals);
    uint256 public max_tx = totalSupply * 10 / 1000;     // 1% of Total Supply initially
    uint256 public max_wallet = totalSupply * 20 / 1000; // 2% of Total Supply initially

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    mapping (address => bool) public isPair;
    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isLimitExempt;
    
    uint256 public buybackFee = 0;         // 0%
    uint256 public marketingFee = 40;      // 4%
    uint256 public liquidityFee = 60;      // 6%
    uint256 public totalFee;
    uint256 public feeDenominator = 1000;  // 100%
    
    address public liquidityReceiver;
    address public marketingReceiver;

    uint256 launchedAt = 0;

    address public router;
    address public factory;
    address public main_pair;
    address[] public pairs;

    uint256 public smallSwapThreshold = totalSupply / 1000; //0,1%
    uint256 public largeSwapThreshold = totalSupply / 500;  //0,2%
    uint256 public swapThreshold = smallSwapThreshold;
    bool public swapEnabled = true;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        if (block.chainid == 56) { //BSC
            router = 0x10ED43C718714eb63d5aA57B78B54704E256024E; //pancake
            factory = 0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73; //pancake
            WRAP = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c; //WBNB
        } else if (block.chainid == 97) { //BSC TESTNET
            router = 0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3; //pancake testnet
            factory = 0xB7926C0430Afb07AA7DEfDE6DA862aE0Bde767bc; //pancake testnet
            WRAP = 0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd; //WBNB testnet
        } else if (block.chainid == 1) { //ETHEREUM
            router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //Uniswap
            factory = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f; //Uniswap
            WRAP = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; //ETH
        } else revert();
        allowance[address(this)][address(router)] = type(uint256).max;
        
        main_pair = IDexFactory(factory).createPair(WRAP, address(this));
        pairs.push(main_pair);
        isPair[main_pair] = true;
        
        address deployer = msg.sender;
        marketingReceiver = deployer;
        liquidityReceiver = deployer;
        totalFee = buybackFee + liquidityFee + marketingFee;

        isFeeExempt[deployer] = true;
        isFeeExempt[address(this)] = true;
        isLimitExempt[deployer] = true;
        isLimitExempt[address(this)] = true;
        isLimitExempt[DEAD] = true;
        isLimitExempt[ZERO] = true;
        
        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[deployer] += totalSupply;
        }
        emit Transfer(address(0), deployer, totalSupply);
    }

    receive() external payable {}

    function getCirculatingSupply() public view returns (uint256) {
        return totalSupply - balanceOf[DEAD] - balanceOf[ZERO];
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////// TRANSFER //////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual returns (bool) {
        uint256 allowed = allowance[sender][msg.sender];

        if (allowed != type(uint256).max) allowance[sender][msg.sender] = allowed - amount;

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (!launched() && isPair[recipient]) {
            require(balanceOf[sender] > 0);
            require(sender == owner, "Only the owner can be the first to add liquidity.");
            launch();
        }
        if (inSwap) return _basicTransfer(sender, recipient, amount);

        checkTxLimit(sender, recipient, amount);
        if (shouldSwapBack()) swapBack(recipient);

        balanceOf[sender] -= amount;
        uint256 amountReceived = amount;
        
        if (isPair[sender] || isPair[recipient]) {
            amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        }
        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[recipient] += amountReceived;
        }

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[recipient] += amount;
        }

        emit Transfer(msg.sender, recipient, amount);
        return true;
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////// LIMITS //////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    function checkTxLimit(address sender, address recipient, uint256 amount) internal view {
        //verify sender max_tx
        require(amount <= max_tx || isPair[sender] && isLimitExempt[recipient] || isLimitExempt[sender], "TRANSACTION_LIMIT_EXCEEDED");

        //verify recipient max_wallet
        if (recipient != owner && !isLimitExempt[recipient] && !isPair[recipient]) {
            uint256 newBalance = balanceOf[recipient] + amount;
            require(newBalance <= max_wallet, "WALLET_LIMIT_EXCEEDED");
        }
    }

    function changeMaxTx(uint256 percent, uint256 denominator) external authorized { 
        require(percent >= 1 && denominator <= 1000, "Max tx must be greater than 0.1%");
        max_tx = totalSupply * percent / denominator;
    }
    
    function changeMaxWallet(uint256 percent, uint256 denominator) external authorized {
        require(percent >= 5 && denominator <= 1000, "Max wallet must be greater than 0.5%");
        max_wallet = totalSupply * percent / denominator;
    }

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setIsLimitExempt(address holder, bool exempt) external authorized {
        isLimitExempt[holder] = exempt;
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////// FEE ///////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient] && totalFee > 0;
    }

    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = 0;
        
        //normal fee
        feeAmount = amount * totalFee / feeDenominator;
        
        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[address(this)] += feeAmount;
        }

        emit Transfer(sender, address(this), feeAmount);
        return amount - feeAmount;
    }

    function resetFees() external authorized {
        buybackFee = 0;         //0%
        liquidityFee = 60;      //6%
        marketingFee = 40;      //4%
        totalFee = buybackFee + liquidityFee + marketingFee;
        feeDenominator = 1000;  //100%
    }

    function adjustFees(uint256 _buybackFee, uint256 _liquidityFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized {
        buybackFee = _buybackFee;
        liquidityFee = _liquidityFee;
        marketingFee = _marketingFee;
        totalFee = _buybackFee + _liquidityFee + _marketingFee;
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 5); // totalFee must be less than 20%
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver) external authorized {
        liquidityReceiver = _autoLiquidityReceiver;
        marketingReceiver = _marketingFeeReceiver;
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////////// CONTRCT SWAP ////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

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

    function swapBack(address pair_factory) internal swapping {
        if (pair_factory == main_pair) {
            uint256 amountToLiquify = swapThreshold * liquidityFee / totalFee / 2;
            uint256 amountToSwap = swapThreshold - amountToLiquify;

            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = WRAP;

            (bool success,) = router.call{gas : gasleft()}(
                //swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)
                abi.encodeWithSelector(
                    0x791ac947,
                    amountToSwap,
                    0,
                    path,
                    address(this),
                    block.timestamp
                )
            );

            uint256 amountBNB = address(this).balance;
            uint256 amountBNBLiquidity = amountBNB / 3;
            
            if (amountToLiquify > 0) {
                (success,) = router.call{gas : gasleft(), value: amountBNBLiquidity}(
                    //addLiquidityETH(address,uint256,uint256,uint256,address,uint256)
                    abi.encodeWithSelector(
                        0xf305d719,
                        address(this),
                        amountToLiquify,
                        0,
                        0,
                        liquidityReceiver,
                        block.timestamp
                    )
                );

                require(success, "SWAPBACK_FAILED");
            }

            SafeTransferLib.safeTransferETH(marketingReceiver, address(this).balance);
        }

        swapThreshold = swapThreshold == smallSwapThreshold ? largeSwapThreshold : smallSwapThreshold;
    }

    function setSwapBackSettings(bool _enabled, uint256 _smallAmount, uint256 _largeAmount) external authorized {
        require(_smallAmount <= totalSupply * 25 / 10000, "Small swap threshold must be lower"); // smallSwapThreshold  <= 0,25% of Total Supply initially
        require(_largeAmount <= totalSupply * 5 / 1000, "Large swap threshold must be lower");   // largeSwapThreshold  <= 0,5% of Total Supply initially

        swapEnabled = _enabled;
        smallSwapThreshold = _smallAmount;
        largeSwapThreshold = _largeAmount;
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////// OTHERS /////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    function updateTokenDetails(string memory newName, string memory newSymbol) external authorized {
        name = newName;
        symbol = newSymbol;
    }

	function rescue() external authorized {
        SafeTransferLib.safeTransferETH(marketingReceiver, address(this).balance);
    }

    function rescueToken(address _token) external authorized {
        require(_token != address(this), "STOP");

        (, bytes memory balance) = address(_token).call(abi.encodeWithSignature('balanceOf(address)', address(this)));
        uint256 amount = abi.decode(balance, (uint256));

        require(amount > 0, "No tokens");
        SafeTransferLib.safeTransfer(_token, marketingReceiver, amount);
    }

    function createPair(address token) external authorized {
        address new_pair = IDexFactory(factory).createPair(token, address(this));
        isPair[main_pair] = true;

        pairs.push(new_pair);
    }

    function showPairList() public view returns(address[] memory){
        return pairs;
    }
}

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":"amount","type":"uint256"}],"name":"Approval","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"adjustFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buybackFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"name":"changeMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"name":"changeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"largeSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"main_pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_tx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_wallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rescue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"rescueToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resetFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_smallAmount","type":"uint256"},{"internalType":"uint256","name":"_largeAmount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"showPairList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"smallSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newName","type":"string"},{"internalType":"string","name":"newSymbol","type":"string"}],"name":"updateTokenDetails","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280601181526020017f524947204f70656e2050726f626c656d73000000000000000000000000000000815250600390816200004a919062000dfd565b506040518060400160405280600581526020017f24524f50730000000000000000000000000000000000000000000000000000008152506004908162000091919062000dfd565b506004600a620000a2919062001074565b6305f5e100620000b39190620010c5565b6005556103e8600a600554620000ca9190620010c5565b620000d691906200113f565b6006556103e86014600554620000ed9190620010c5565b620000f991906200113f565b6007556000600d556028600e55603c600f556103e860115560006014556103e86005546200012891906200113f565b6019556101f46005546200013d91906200113f565b601a55601954601b556001601c60006101000a81548160ff0219169083151502179055503480156200016e57600080fd5b503380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550506038460362000317577310ed43c718714eb63d5aa57b78b54704e256024e601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ca143ce32fe78f1f7019d7d551a6402fc5350c73601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200053a565b606146036200042557739ac64cc6e4415144c455bd8e4837fea55603e5c3601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b7926c0430afb07aa7defde6da862ae0bde767bc601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ae13d989dac2f0debff460ac112a837c89baa7cd600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000539565b600146036200053357737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000538565b600080fd5b5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200067e929190620011bc565b6020604051808303816000875af11580156200069e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006c491906200121f565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506018601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600033905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e54600f54600d546200089f919062001251565b620008ab919062001251565b6010819055506001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600554600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055460405162000b7491906200129d565b60405180910390a350620012ba565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c0557607f821691505b60208210810362000c1b5762000c1a62000bbd565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c46565b62000c91868362000c46565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000cde62000cd862000cd28462000ca9565b62000cb3565b62000ca9565b9050919050565b6000819050919050565b62000cfa8362000cbd565b62000d1262000d098262000ce5565b84845462000c53565b825550505050565b600090565b62000d2962000d1a565b62000d3681848462000cef565b505050565b5b8181101562000d5e5762000d5260008262000d1f565b60018101905062000d3c565b5050565b601f82111562000dad5762000d778162000c21565b62000d828462000c36565b8101602085101562000d92578190505b62000daa62000da18562000c36565b83018262000d3b565b50505b505050565b600082821c905092915050565b600062000dd26000198460080262000db2565b1980831691505092915050565b600062000ded838362000dbf565b9150826002028217905092915050565b62000e088262000b83565b67ffffffffffffffff81111562000e245762000e2362000b8e565b5b62000e30825462000bec565b62000e3d82828562000d62565b600060209050601f83116001811462000e75576000841562000e60578287015190505b62000e6c858262000ddf565b86555062000edc565b601f19841662000e858662000c21565b60005b8281101562000eaf5784890151825560018201915060208501945060208101905062000e88565b8683101562000ecf578489015162000ecb601f89168262000dbf565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000f725780860481111562000f4a5762000f4962000ee4565b5b600185161562000f5a5780820291505b808102905062000f6a8562000f13565b945062000f2a565b94509492505050565b60008262000f8d576001905062001060565b8162000f9d576000905062001060565b816001811462000fb6576002811462000fc15762000ff7565b600191505062001060565b60ff84111562000fd65762000fd562000ee4565b5b8360020a91508482111562000ff05762000fef62000ee4565b5b5062001060565b5060208310610133831016604e8410600b8410161715620010315782820a9050838111156200102b576200102a62000ee4565b5b62001060565b62001040848484600162000f20565b925090508184048111156200105a576200105962000ee4565b5b81810290505b9392505050565b600060ff82169050919050565b6000620010818262000ca9565b91506200108e8362001067565b9250620010bd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f7b565b905092915050565b6000620010d28262000ca9565b9150620010df8362000ca9565b9250828202620010ef8162000ca9565b9150828204841483151762001109576200110862000ee4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200114c8262000ca9565b9150620011598362000ca9565b9250826200116c576200116b62001110565b5b828204905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620011a48262001177565b9050919050565b620011b68162001197565b82525050565b6000604082019050620011d36000830185620011ab565b620011e26020830184620011ab565b9392505050565b600080fd5b620011f98162001197565b81146200120557600080fd5b50565b6000815190506200121981620011ee565b92915050565b600060208284031215620012385762001237620011e9565b5b6000620012488482850162001208565b91505092915050565b60006200125e8262000ca9565b91506200126b8362000ca9565b925082820190508082111562001286576200128562000ee4565b5b92915050565b620012978162000ca9565b82525050565b6000602082019050620012b460008301846200128c565b92915050565b61458b80620012ca6000396000f3fe6080604052600436106102b25760003560e01c806379426c0611610175578063c150eda0116100dc578063e5e31b1311610095578063f2fde38b1161006f578063f2fde38b14610ac3578063f75282e114610aec578063f887ea4014610b15578063fe9fbb8014610b40576102b9565b8063e5e31b1314610a32578063e717fc3014610a6f578063f0b37c0414610a9a576102b9565b8063c150eda014610924578063c45a01551461094f578063d0291d661461097a578063d0889358146109a3578063d962cf58146109cc578063dd62ed3e146109f5576102b9565b8063a5949bcf1161012e578063a5949bcf146107f0578063a9059cbb1461081b578063b0c150af14610858578063b6a5d7de14610895578063b91ac788146108be578063bae19235146108fb576102b9565b806379426c06146106f25780638da5cb5b1461071d57806395d89b411461074857806398118cb4146107735780639ccb07441461079e578063a4b45c00146107c7576102b9565b80632b112e49116102195780634460d3cf116101d25780634460d3cf146105e2578063658d4b7f1461060b5780636b67c4df146106345780636ddd17131461065f57806370a082311461068a57806370fbc712146106c7576102b9565b80632b112e49146104bc5780632f54bf6e146104e7578063313ce567146105245780633b2d081c1461054f5780633f4218e01461057a578063414683a8146105b7576102b9565b806318160ddd1161026b57806318160ddd146103bc5780631ab33ba1146103e75780631df4ccfc146104125780631fbe19791461043d57806323b872dd14610454578063264d26dd14610491576102b9565b80630445b667146102be57806306fdde03146102e9578063095ea7b3146103145780630ec4c6191461035157806317e1df5b14610368578063180b0d7e14610391576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610b7d565b6040516102e09190613091565b60405180910390f35b3480156102f557600080fd5b506102fe610b83565b60405161030b919061313c565b60405180910390f35b34801561032057600080fd5b5061033b600480360381019061033691906131fc565b610c11565b6040516103489190613257565b60405180910390f35b34801561035d57600080fd5b50610366610d03565b005b34801561037457600080fd5b5061038f600480360381019061038a9190613272565b610d91565b005b34801561039d57600080fd5b506103a6610e34565b6040516103b39190613091565b60405180910390f35b3480156103c857600080fd5b506103d1610e3a565b6040516103de9190613091565b60405180910390f35b3480156103f357600080fd5b506103fc610e40565b6040516104099190613397565b60405180910390f35b34801561041e57600080fd5b50610427610ece565b6040516104349190613091565b60405180910390f35b34801561044957600080fd5b50610452610ed4565b005b34801561046057600080fd5b5061047b600480360381019061047691906133b9565b610f4a565b6040516104889190613257565b60405180910390f35b34801561049d57600080fd5b506104a6611095565b6040516104b3919061341b565b60405180910390f35b3480156104c857600080fd5b506104d16110bb565b6040516104de9190613091565b60405180910390f35b3480156104f357600080fd5b5061050e60048036038101906105099190613436565b61115b565b60405161051b9190613257565b60405180910390f35b34801561053057600080fd5b506105396111b5565b604051610546919061347f565b60405180910390f35b34801561055b57600080fd5b506105646111ba565b6040516105719190613091565b60405180910390f35b34801561058657600080fd5b506105a1600480360381019061059c9190613436565b6111c0565b6040516105ae9190613257565b60405180910390f35b3480156105c357600080fd5b506105cc6111e0565b6040516105d99190613091565b60405180910390f35b3480156105ee57600080fd5b5061060960048036038101906106049190613436565b6111e6565b005b34801561061757600080fd5b50610632600480360381019061062d91906134c6565b611423565b005b34801561064057600080fd5b506106496114c6565b6040516106569190613091565b60405180910390f35b34801561066b57600080fd5b506106746114cc565b6040516106819190613257565b60405180910390f35b34801561069657600080fd5b506106b160048036038101906106ac9190613436565b6114df565b6040516106be9190613091565b60405180910390f35b3480156106d357600080fd5b506106dc6114f7565b6040516106e99190613091565b60405180910390f35b3480156106fe57600080fd5b506107076114fd565b6040516107149190613091565b60405180910390f35b34801561072957600080fd5b50610732611503565b60405161073f919061341b565b60405180910390f35b34801561075457600080fd5b5061075d611529565b60405161076a919061313c565b60405180910390f35b34801561077f57600080fd5b506107886115b7565b6040516107959190613091565b60405180910390f35b3480156107aa57600080fd5b506107c560048036038101906107c09190613436565b6115bd565b005b3480156107d357600080fd5b506107ee60048036038101906107e99190613506565b61178a565b005b3480156107fc57600080fd5b50610805611858565b604051610812919061341b565b60405180910390f35b34801561082757600080fd5b50610842600480360381019061083d91906131fc565b61187e565b60405161084f9190613257565b60405180910390f35b34801561086457600080fd5b5061087f600480360381019061087a9190613436565b611893565b60405161088c9190613257565b60405180910390f35b3480156108a157600080fd5b506108bc60048036038101906108b79190613436565b6118b3565b005b3480156108ca57600080fd5b506108e560048036038101906108e09190613546565b61199d565b6040516108f2919061341b565b60405180910390f35b34801561090757600080fd5b50610922600480360381019061091d9190613573565b6119dc565b005b34801561093057600080fd5b50610939611a99565b604051610946919061341b565b60405180910390f35b34801561095b57600080fd5b50610964611abf565b604051610971919061341b565b60405180910390f35b34801561098657600080fd5b506109a1600480360381019061099c91906136e8565b611ae5565b005b3480156109af57600080fd5b506109ca60048036038101906109c59190613760565b611b51565b005b3480156109d857600080fd5b506109f360048036038101906109ee91906134c6565b611c81565b005b348015610a0157600080fd5b50610a1c6004803603810190610a179190613506565b611d24565b604051610a299190613091565b60405180910390f35b348015610a3e57600080fd5b50610a596004803603810190610a549190613436565b611d49565b604051610a669190613257565b60405180910390f35b348015610a7b57600080fd5b50610a84611d69565b604051610a919190613091565b60405180910390f35b348015610aa657600080fd5b50610ac16004803603810190610abc9190613436565b611d6f565b005b348015610acf57600080fd5b50610aea6004803603810190610ae591906137f1565b611e59565b005b348015610af857600080fd5b50610b136004803603810190610b0e9190613573565b611fbb565b005b348015610b2157600080fd5b50610b2a612078565b604051610b37919061341b565b60405180910390f35b348015610b4c57600080fd5b50610b676004803603810190610b629190613436565b61209e565b604051610b749190613257565b60405180910390f35b601b5481565b60038054610b909061384d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbc9061384d565b8015610c095780601f10610bde57610100808354040283529160200191610c09565b820191906000526020600020905b815481529060010190602001808311610bec57829003601f168201915b505050505081565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610cf19190613091565b60405180910390a36001905092915050565b610d0c3361209e565b610d4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d42906138ca565b60405180910390fd5b6000600d81905550603c600f819055506028600e81905550600e54600f54600d54610d769190613919565b610d809190613919565b6010819055506103e8601181905550565b610d9a3361209e565b610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd0906138ca565b60405180910390fd5b83600d8190555082600f8190555081600e81905550818385610dfb9190613919565b610e059190613919565b601081905550806011819055506005601154610e21919061397c565b60105410610e2e57600080fd5b50505050565b60115481565b60055481565b60606018805480602002602001604051908101604052809291908181526020018280548015610ec457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610e7a575b5050505050905090565b60105481565b610edd3361209e565b610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f13906138ca565b60405180910390fd5b610f48601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16476120f3565b565b600080600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611080578281610fff91906139ad565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61108b858585612146565b9150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055461114c91906139ad565b61115691906139ad565b905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600481565b600d5481565b600b6020528060005260406000206000915054906101000a900460ff1681565b601a5481565b6111ef3361209e565b61122e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611225906138ca565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361129c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129390613a2d565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16306040516024016112c6919061341b565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516113509190613a94565b6000604051808303816000865af19150503d806000811461138d576040519150601f19603f3d011682016040523d82523d6000602084013e611392565b606091505b509150506000818060200190518101906113ac9190613ac0565b9050600081116113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890613b39565b60405180910390fd5b61141e83601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836124bc565b505050565b61142c3361209e565b61146b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611462906138ca565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600e5481565b601c60009054906101000a900460ff1681565b60086020528060005260406000206000915090505481565b60065481565b60195481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600480546115369061384d565b80601f01602080910402602001604051908101604052809291908181526020018280546115629061384d565b80156115af5780601f10611584576101008083540402835291602001916115af565b820191906000526020600020905b81548152906001019060200180831161159257829003601f168201915b505050505081565b600f5481565b6115c63361209e565b611605576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fc906138ca565b60405180910390fd5b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c6539683306040518363ffffffff1660e01b8152600401611664929190613b59565b6020604051808303816000875af1158015611683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a79190613b97565b90506001600a6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506018819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6117933361209e565b6117d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c9906138ca565b60405180910390fd5b81601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061188b338484612146565b905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a90613c10565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601881815481106119ad57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119e53361209e565b611a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1b906138ca565b60405180910390fd5b60058210158015611a3757506103e88111155b611a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6d90613ca2565b60405180910390fd5b8082600554611a859190613cc2565b611a8f919061397c565b6007819055505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611aee3361209e565b611b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b24906138ca565b60405180910390fd5b8160039081611b3c9190613eb0565b508060049081611b4c9190613eb0565b505050565b611b5a3361209e565b611b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b90906138ca565b60405180910390fd5b6127106019600554611bab9190613cc2565b611bb5919061397c565b821115611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee90613ff4565b60405180910390fd5b6103e860058054611c089190613cc2565b611c12919061397c565b811115611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4b90614086565b60405180910390fd5b82601c60006101000a81548160ff0219169083151502179055508160198190555080601a81905550505050565b611c8a3361209e565b611cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc0906138ca565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6009602052816000526040600020602052806000526040600020600091509150505481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df690613c10565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee090613c10565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051611fb091906140fb565b60405180910390a150565b611fc43361209e565b612003576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffa906138ca565b60405180910390fd5b6001821015801561201657506103e88111155b612055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204c90614162565b60405180910390fd5b80826005546120649190613cc2565b61206e919061397c565b6006819055505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080600080600085875af1905080612141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612138906141ce565b60405180910390fd5b505050565b6000612150612554565b1580156121a65750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612290576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116121f757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227e90614260565b60405180910390fd5b61228f612561565b5b601c60019054906101000a900460ff16156122b7576122b084848461256a565b90506124b5565b6122c284848461267f565b6122ca61295f565b156122d9576122d883612a40565b5b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461232891906139ad565b925050819055506000829050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123d55750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156123fd576123e48585612ed0565b6123ee57826123fa565b6123f9858585612f8c565b5b90505b80600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124a79190613091565b60405180910390a360019150505b9392505050565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d116001600051141617169150508061254e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612545906142cc565b60405180910390fd5b50505050565b6000806014541415905090565b43601481905550565b600081600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125bb91906139ad565b9250508190555081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161266c9190613091565b60405180910390a3600190509392505050565b6006548111158061272e5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561272d5750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b806127825750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6127c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b890614338565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156128695750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128bf5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561295a57600081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129119190613919565b9050600754811115612958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294f906143a4565b60405180910390fd5b505b505050565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129c85750601c60019054906101000a900460ff16155b80156129e05750601c60009054906101000a900460ff165b80156129ee57506000601054115b8015612a3b5750601b54600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601c60016101000a81548160ff021916908315150217905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612e955760006002601054600f54601b54612ac79190613cc2565b612ad1919061397c565b612adb919061397c565b9050600081601b54612aed91906139ad565b90506000600267ffffffffffffffff811115612b0c57612b0b6135bd565b5b604051908082528060200260200182016040528015612b3a5781602001602082028036833780820191505090505b5090503081600081518110612b5257612b516143c4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612bc357612bc26143c4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165a63791ac947856000863042604051602401612c5895949392919061442e565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612ca69190613a94565b60006040518083038160008787f1925050503d8060008114612ce4576040519150601f19603f3d011682016040523d82523d6000602084013e612ce9565b606091505b5050905060004790506000600382612d01919061397c565b90506000861115612e6257601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165a8263f305d719308a600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051602401612d8a96959493929190614488565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612dd89190613a94565b600060405180830381858888f193505050503d8060008114612e16576040519150601f19603f3d011682016040523d82523d6000602084013e612e1b565b606091505b50508093505082612e61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5890614535565b60405180910390fd5b5b612e8e601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16476120f3565b5050505050505b601954601b5414612ea857601954612eac565b601a545b601b819055506000601c60016101000a81548160ff02191690831515021790555050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612f765750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612f8457506000601054115b905092915050565b6000806000905060115460105484612fa49190613cc2565b612fae919061397c565b905080600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161305a9190613091565b60405180910390a3808361306e91906139ad565b9150509392505050565b6000819050919050565b61308b81613078565b82525050565b60006020820190506130a66000830184613082565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156130e65780820151818401526020810190506130cb565b60008484015250505050565b6000601f19601f8301169050919050565b600061310e826130ac565b61311881856130b7565b93506131288185602086016130c8565b613131816130f2565b840191505092915050565b600060208201905081810360008301526131568184613103565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061319d82613172565b9050919050565b6131ad81613192565b81146131b857600080fd5b50565b6000813590506131ca816131a4565b92915050565b6131d981613078565b81146131e457600080fd5b50565b6000813590506131f6816131d0565b92915050565b6000806040838503121561321357613212613168565b5b6000613221858286016131bb565b9250506020613232858286016131e7565b9150509250929050565b60008115159050919050565b6132518161323c565b82525050565b600060208201905061326c6000830184613248565b92915050565b6000806000806080858703121561328c5761328b613168565b5b600061329a878288016131e7565b94505060206132ab878288016131e7565b93505060406132bc878288016131e7565b92505060606132cd878288016131e7565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61330e81613192565b82525050565b60006133208383613305565b60208301905092915050565b6000602082019050919050565b6000613344826132d9565b61334e81856132e4565b9350613359836132f5565b8060005b8381101561338a5781516133718882613314565b975061337c8361332c565b92505060018101905061335d565b5085935050505092915050565b600060208201905081810360008301526133b18184613339565b905092915050565b6000806000606084860312156133d2576133d1613168565b5b60006133e0868287016131bb565b93505060206133f1868287016131bb565b9250506040613402868287016131e7565b9150509250925092565b61341581613192565b82525050565b6000602082019050613430600083018461340c565b92915050565b60006020828403121561344c5761344b613168565b5b600061345a848285016131bb565b91505092915050565b600060ff82169050919050565b61347981613463565b82525050565b60006020820190506134946000830184613470565b92915050565b6134a38161323c565b81146134ae57600080fd5b50565b6000813590506134c08161349a565b92915050565b600080604083850312156134dd576134dc613168565b5b60006134eb858286016131bb565b92505060206134fc858286016134b1565b9150509250929050565b6000806040838503121561351d5761351c613168565b5b600061352b858286016131bb565b925050602061353c858286016131bb565b9150509250929050565b60006020828403121561355c5761355b613168565b5b600061356a848285016131e7565b91505092915050565b6000806040838503121561358a57613589613168565b5b6000613598858286016131e7565b92505060206135a9858286016131e7565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6135f5826130f2565b810181811067ffffffffffffffff82111715613614576136136135bd565b5b80604052505050565b600061362761315e565b905061363382826135ec565b919050565b600067ffffffffffffffff821115613653576136526135bd565b5b61365c826130f2565b9050602081019050919050565b82818337600083830152505050565b600061368b61368684613638565b61361d565b9050828152602081018484840111156136a7576136a66135b8565b5b6136b2848285613669565b509392505050565b600082601f8301126136cf576136ce6135b3565b5b81356136df848260208601613678565b91505092915050565b600080604083850312156136ff576136fe613168565b5b600083013567ffffffffffffffff81111561371d5761371c61316d565b5b613729858286016136ba565b925050602083013567ffffffffffffffff81111561374a5761374961316d565b5b613756858286016136ba565b9150509250929050565b60008060006060848603121561377957613778613168565b5b6000613787868287016134b1565b9350506020613798868287016131e7565b92505060406137a9868287016131e7565b9150509250925092565b60006137be82613172565b9050919050565b6137ce816137b3565b81146137d957600080fd5b50565b6000813590506137eb816137c5565b92915050565b60006020828403121561380757613806613168565b5b6000613815848285016137dc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061386557607f821691505b6020821081036138785761387761381e565b5b50919050565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b60006138b4600b836130b7565b91506138bf8261387e565b602082019050919050565b600060208201905081810360008301526138e3816138a7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061392482613078565b915061392f83613078565b9250828201905080821115613947576139466138ea565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061398782613078565b915061399283613078565b9250826139a2576139a161394d565b5b828204905092915050565b60006139b882613078565b91506139c383613078565b92508282039050818111156139db576139da6138ea565b5b92915050565b7f53544f5000000000000000000000000000000000000000000000000000000000600082015250565b6000613a176004836130b7565b9150613a22826139e1565b602082019050919050565b60006020820190508181036000830152613a4681613a0a565b9050919050565b600081519050919050565b600081905092915050565b6000613a6e82613a4d565b613a788185613a58565b9350613a888185602086016130c8565b80840191505092915050565b6000613aa08284613a63565b915081905092915050565b600081519050613aba816131d0565b92915050565b600060208284031215613ad657613ad5613168565b5b6000613ae484828501613aab565b91505092915050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000613b236009836130b7565b9150613b2e82613aed565b602082019050919050565b60006020820190508181036000830152613b5281613b16565b9050919050565b6000604082019050613b6e600083018561340c565b613b7b602083018461340c565b9392505050565b600081519050613b91816131a4565b92915050565b600060208284031215613bad57613bac613168565b5b6000613bbb84828501613b82565b91505092915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000613bfa6006836130b7565b9150613c0582613bc4565b602082019050919050565b60006020820190508181036000830152613c2981613bed565b9050919050565b7f4d61782077616c6c6574206d7573742062652067726561746572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613c8c6024836130b7565b9150613c9782613c30565b604082019050919050565b60006020820190508181036000830152613cbb81613c7f565b9050919050565b6000613ccd82613078565b9150613cd883613078565b9250828202613ce681613078565b91508282048414831517613cfd57613cfc6138ea565b5b5092915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613d667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613d29565b613d708683613d29565b95508019841693508086168417925050509392505050565b6000819050919050565b6000613dad613da8613da384613078565b613d88565b613078565b9050919050565b6000819050919050565b613dc783613d92565b613ddb613dd382613db4565b848454613d36565b825550505050565b600090565b613df0613de3565b613dfb818484613dbe565b505050565b5b81811015613e1f57613e14600082613de8565b600181019050613e01565b5050565b601f821115613e6457613e3581613d04565b613e3e84613d19565b81016020851015613e4d578190505b613e61613e5985613d19565b830182613e00565b50505b505050565b600082821c905092915050565b6000613e8760001984600802613e69565b1980831691505092915050565b6000613ea08383613e76565b9150826002028217905092915050565b613eb9826130ac565b67ffffffffffffffff811115613ed257613ed16135bd565b5b613edc825461384d565b613ee7828285613e23565b600060209050601f831160018114613f1a5760008415613f08578287015190505b613f128582613e94565b865550613f7a565b601f198416613f2886613d04565b60005b82811015613f5057848901518255600182019150602085019450602081019050613f2b565b86831015613f6d5784890151613f69601f891682613e76565b8355505b6001600288020188555050505b505050505050565b7f536d616c6c2073776170207468726573686f6c64206d757374206265206c6f7760008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000613fde6022836130b7565b9150613fe982613f82565b604082019050919050565b6000602082019050818103600083015261400d81613fd1565b9050919050565b7f4c617267652073776170207468726573686f6c64206d757374206265206c6f7760008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006140706022836130b7565b915061407b82614014565b604082019050919050565b6000602082019050818103600083015261409f81614063565b9050919050565b60006140c16140bc6140b784613172565b613d88565b613172565b9050919050565b60006140d3826140a6565b9050919050565b60006140e5826140c8565b9050919050565b6140f5816140da565b82525050565b600060208201905061411060008301846140ec565b92915050565b7f4d6178207478206d7573742062652067726561746572207468616e20302e3125600082015250565b600061414c6020836130b7565b915061415782614116565b602082019050919050565b6000602082019050818103600083015261417b8161413f565b9050919050565b7f4554485f5452414e534645525f4641494c454400000000000000000000000000600082015250565b60006141b86013836130b7565b91506141c382614182565b602082019050919050565b600060208201905081810360008301526141e7816141ab565b9050919050565b7f4f6e6c7920746865206f776e65722063616e206265207468652066697273742060008201527f746f20616464206c69717569646974792e000000000000000000000000000000602082015250565b600061424a6031836130b7565b9150614255826141ee565b604082019050919050565b600060208201905081810360008301526142798161423d565b9050919050565b7f5452414e534645525f4641494c45440000000000000000000000000000000000600082015250565b60006142b6600f836130b7565b91506142c182614280565b602082019050919050565b600060208201905081810360008301526142e5816142a9565b9050919050565b7f5452414e53414354494f4e5f4c494d49545f4558434545444544000000000000600082015250565b6000614322601a836130b7565b915061432d826142ec565b602082019050919050565b6000602082019050818103600083015261435181614315565b9050919050565b7f57414c4c45545f4c494d49545f45584345454445440000000000000000000000600082015250565b600061438e6015836130b7565b915061439982614358565b602082019050919050565b600060208201905081810360008301526143bd81614381565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061441861441361440e846143f3565b613d88565b613463565b9050919050565b614428816143fd565b82525050565b600060a0820190506144436000830188613082565b614450602083018761441f565b81810360408301526144628186613339565b9050614471606083018561340c565b61447e6080830184613082565b9695505050505050565b600060c08201905061449d600083018961340c565b6144aa6020830188613082565b6144b7604083018761441f565b6144c4606083018661441f565b6144d1608083018561340c565b6144de60a0830184613082565b979650505050505050565b7f535741504241434b5f4641494c45440000000000000000000000000000000000600082015250565b600061451f600f836130b7565b915061452a826144e9565b602082019050919050565b6000602082019050818103600083015261454e81614512565b905091905056fea2646970667358221220c6e5a7b9da329d99e139ee8c7f18b78f5dee9134298434bd01bb0dbd8272848964736f6c63430008110033

Deployed Bytecode

0x6080604052600436106102b25760003560e01c806379426c0611610175578063c150eda0116100dc578063e5e31b1311610095578063f2fde38b1161006f578063f2fde38b14610ac3578063f75282e114610aec578063f887ea4014610b15578063fe9fbb8014610b40576102b9565b8063e5e31b1314610a32578063e717fc3014610a6f578063f0b37c0414610a9a576102b9565b8063c150eda014610924578063c45a01551461094f578063d0291d661461097a578063d0889358146109a3578063d962cf58146109cc578063dd62ed3e146109f5576102b9565b8063a5949bcf1161012e578063a5949bcf146107f0578063a9059cbb1461081b578063b0c150af14610858578063b6a5d7de14610895578063b91ac788146108be578063bae19235146108fb576102b9565b806379426c06146106f25780638da5cb5b1461071d57806395d89b411461074857806398118cb4146107735780639ccb07441461079e578063a4b45c00146107c7576102b9565b80632b112e49116102195780634460d3cf116101d25780634460d3cf146105e2578063658d4b7f1461060b5780636b67c4df146106345780636ddd17131461065f57806370a082311461068a57806370fbc712146106c7576102b9565b80632b112e49146104bc5780632f54bf6e146104e7578063313ce567146105245780633b2d081c1461054f5780633f4218e01461057a578063414683a8146105b7576102b9565b806318160ddd1161026b57806318160ddd146103bc5780631ab33ba1146103e75780631df4ccfc146104125780631fbe19791461043d57806323b872dd14610454578063264d26dd14610491576102b9565b80630445b667146102be57806306fdde03146102e9578063095ea7b3146103145780630ec4c6191461035157806317e1df5b14610368578063180b0d7e14610391576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610b7d565b6040516102e09190613091565b60405180910390f35b3480156102f557600080fd5b506102fe610b83565b60405161030b919061313c565b60405180910390f35b34801561032057600080fd5b5061033b600480360381019061033691906131fc565b610c11565b6040516103489190613257565b60405180910390f35b34801561035d57600080fd5b50610366610d03565b005b34801561037457600080fd5b5061038f600480360381019061038a9190613272565b610d91565b005b34801561039d57600080fd5b506103a6610e34565b6040516103b39190613091565b60405180910390f35b3480156103c857600080fd5b506103d1610e3a565b6040516103de9190613091565b60405180910390f35b3480156103f357600080fd5b506103fc610e40565b6040516104099190613397565b60405180910390f35b34801561041e57600080fd5b50610427610ece565b6040516104349190613091565b60405180910390f35b34801561044957600080fd5b50610452610ed4565b005b34801561046057600080fd5b5061047b600480360381019061047691906133b9565b610f4a565b6040516104889190613257565b60405180910390f35b34801561049d57600080fd5b506104a6611095565b6040516104b3919061341b565b60405180910390f35b3480156104c857600080fd5b506104d16110bb565b6040516104de9190613091565b60405180910390f35b3480156104f357600080fd5b5061050e60048036038101906105099190613436565b61115b565b60405161051b9190613257565b60405180910390f35b34801561053057600080fd5b506105396111b5565b604051610546919061347f565b60405180910390f35b34801561055b57600080fd5b506105646111ba565b6040516105719190613091565b60405180910390f35b34801561058657600080fd5b506105a1600480360381019061059c9190613436565b6111c0565b6040516105ae9190613257565b60405180910390f35b3480156105c357600080fd5b506105cc6111e0565b6040516105d99190613091565b60405180910390f35b3480156105ee57600080fd5b5061060960048036038101906106049190613436565b6111e6565b005b34801561061757600080fd5b50610632600480360381019061062d91906134c6565b611423565b005b34801561064057600080fd5b506106496114c6565b6040516106569190613091565b60405180910390f35b34801561066b57600080fd5b506106746114cc565b6040516106819190613257565b60405180910390f35b34801561069657600080fd5b506106b160048036038101906106ac9190613436565b6114df565b6040516106be9190613091565b60405180910390f35b3480156106d357600080fd5b506106dc6114f7565b6040516106e99190613091565b60405180910390f35b3480156106fe57600080fd5b506107076114fd565b6040516107149190613091565b60405180910390f35b34801561072957600080fd5b50610732611503565b60405161073f919061341b565b60405180910390f35b34801561075457600080fd5b5061075d611529565b60405161076a919061313c565b60405180910390f35b34801561077f57600080fd5b506107886115b7565b6040516107959190613091565b60405180910390f35b3480156107aa57600080fd5b506107c560048036038101906107c09190613436565b6115bd565b005b3480156107d357600080fd5b506107ee60048036038101906107e99190613506565b61178a565b005b3480156107fc57600080fd5b50610805611858565b604051610812919061341b565b60405180910390f35b34801561082757600080fd5b50610842600480360381019061083d91906131fc565b61187e565b60405161084f9190613257565b60405180910390f35b34801561086457600080fd5b5061087f600480360381019061087a9190613436565b611893565b60405161088c9190613257565b60405180910390f35b3480156108a157600080fd5b506108bc60048036038101906108b79190613436565b6118b3565b005b3480156108ca57600080fd5b506108e560048036038101906108e09190613546565b61199d565b6040516108f2919061341b565b60405180910390f35b34801561090757600080fd5b50610922600480360381019061091d9190613573565b6119dc565b005b34801561093057600080fd5b50610939611a99565b604051610946919061341b565b60405180910390f35b34801561095b57600080fd5b50610964611abf565b604051610971919061341b565b60405180910390f35b34801561098657600080fd5b506109a1600480360381019061099c91906136e8565b611ae5565b005b3480156109af57600080fd5b506109ca60048036038101906109c59190613760565b611b51565b005b3480156109d857600080fd5b506109f360048036038101906109ee91906134c6565b611c81565b005b348015610a0157600080fd5b50610a1c6004803603810190610a179190613506565b611d24565b604051610a299190613091565b60405180910390f35b348015610a3e57600080fd5b50610a596004803603810190610a549190613436565b611d49565b604051610a669190613257565b60405180910390f35b348015610a7b57600080fd5b50610a84611d69565b604051610a919190613091565b60405180910390f35b348015610aa657600080fd5b50610ac16004803603810190610abc9190613436565b611d6f565b005b348015610acf57600080fd5b50610aea6004803603810190610ae591906137f1565b611e59565b005b348015610af857600080fd5b50610b136004803603810190610b0e9190613573565b611fbb565b005b348015610b2157600080fd5b50610b2a612078565b604051610b37919061341b565b60405180910390f35b348015610b4c57600080fd5b50610b676004803603810190610b629190613436565b61209e565b604051610b749190613257565b60405180910390f35b601b5481565b60038054610b909061384d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbc9061384d565b8015610c095780601f10610bde57610100808354040283529160200191610c09565b820191906000526020600020905b815481529060010190602001808311610bec57829003601f168201915b505050505081565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610cf19190613091565b60405180910390a36001905092915050565b610d0c3361209e565b610d4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d42906138ca565b60405180910390fd5b6000600d81905550603c600f819055506028600e81905550600e54600f54600d54610d769190613919565b610d809190613919565b6010819055506103e8601181905550565b610d9a3361209e565b610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd0906138ca565b60405180910390fd5b83600d8190555082600f8190555081600e81905550818385610dfb9190613919565b610e059190613919565b601081905550806011819055506005601154610e21919061397c565b60105410610e2e57600080fd5b50505050565b60115481565b60055481565b60606018805480602002602001604051908101604052809291908181526020018280548015610ec457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610e7a575b5050505050905090565b60105481565b610edd3361209e565b610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f13906138ca565b60405180910390fd5b610f48601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16476120f3565b565b600080600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611080578281610fff91906139ad565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61108b858585612146565b9150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055461114c91906139ad565b61115691906139ad565b905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600481565b600d5481565b600b6020528060005260406000206000915054906101000a900460ff1681565b601a5481565b6111ef3361209e565b61122e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611225906138ca565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361129c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129390613a2d565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16306040516024016112c6919061341b565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516113509190613a94565b6000604051808303816000865af19150503d806000811461138d576040519150601f19603f3d011682016040523d82523d6000602084013e611392565b606091505b509150506000818060200190518101906113ac9190613ac0565b9050600081116113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890613b39565b60405180910390fd5b61141e83601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836124bc565b505050565b61142c3361209e565b61146b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611462906138ca565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600e5481565b601c60009054906101000a900460ff1681565b60086020528060005260406000206000915090505481565b60065481565b60195481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600480546115369061384d565b80601f01602080910402602001604051908101604052809291908181526020018280546115629061384d565b80156115af5780601f10611584576101008083540402835291602001916115af565b820191906000526020600020905b81548152906001019060200180831161159257829003601f168201915b505050505081565b600f5481565b6115c63361209e565b611605576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fc906138ca565b60405180910390fd5b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c6539683306040518363ffffffff1660e01b8152600401611664929190613b59565b6020604051808303816000875af1158015611683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a79190613b97565b90506001600a6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506018819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6117933361209e565b6117d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c9906138ca565b60405180910390fd5b81601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061188b338484612146565b905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a90613c10565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601881815481106119ad57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119e53361209e565b611a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1b906138ca565b60405180910390fd5b60058210158015611a3757506103e88111155b611a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6d90613ca2565b60405180910390fd5b8082600554611a859190613cc2565b611a8f919061397c565b6007819055505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611aee3361209e565b611b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b24906138ca565b60405180910390fd5b8160039081611b3c9190613eb0565b508060049081611b4c9190613eb0565b505050565b611b5a3361209e565b611b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b90906138ca565b60405180910390fd5b6127106019600554611bab9190613cc2565b611bb5919061397c565b821115611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee90613ff4565b60405180910390fd5b6103e860058054611c089190613cc2565b611c12919061397c565b811115611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4b90614086565b60405180910390fd5b82601c60006101000a81548160ff0219169083151502179055508160198190555080601a81905550505050565b611c8a3361209e565b611cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc0906138ca565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6009602052816000526040600020602052806000526040600020600091509150505481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df690613c10565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee090613c10565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051611fb091906140fb565b60405180910390a150565b611fc43361209e565b612003576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffa906138ca565b60405180910390fd5b6001821015801561201657506103e88111155b612055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204c90614162565b60405180910390fd5b80826005546120649190613cc2565b61206e919061397c565b6006819055505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080600080600085875af1905080612141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612138906141ce565b60405180910390fd5b505050565b6000612150612554565b1580156121a65750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612290576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116121f757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227e90614260565b60405180910390fd5b61228f612561565b5b601c60019054906101000a900460ff16156122b7576122b084848461256a565b90506124b5565b6122c284848461267f565b6122ca61295f565b156122d9576122d883612a40565b5b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461232891906139ad565b925050819055506000829050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123d55750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156123fd576123e48585612ed0565b6123ee57826123fa565b6123f9858585612f8c565b5b90505b80600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124a79190613091565b60405180910390a360019150505b9392505050565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d116001600051141617169150508061254e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612545906142cc565b60405180910390fd5b50505050565b6000806014541415905090565b43601481905550565b600081600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125bb91906139ad565b9250508190555081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161266c9190613091565b60405180910390a3600190509392505050565b6006548111158061272e5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561272d5750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b806127825750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6127c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b890614338565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156128695750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128bf5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561295a57600081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129119190613919565b9050600754811115612958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294f906143a4565b60405180910390fd5b505b505050565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129c85750601c60019054906101000a900460ff16155b80156129e05750601c60009054906101000a900460ff165b80156129ee57506000601054115b8015612a3b5750601b54600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601c60016101000a81548160ff021916908315150217905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612e955760006002601054600f54601b54612ac79190613cc2565b612ad1919061397c565b612adb919061397c565b9050600081601b54612aed91906139ad565b90506000600267ffffffffffffffff811115612b0c57612b0b6135bd565b5b604051908082528060200260200182016040528015612b3a5781602001602082028036833780820191505090505b5090503081600081518110612b5257612b516143c4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612bc357612bc26143c4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165a63791ac947856000863042604051602401612c5895949392919061442e565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612ca69190613a94565b60006040518083038160008787f1925050503d8060008114612ce4576040519150601f19603f3d011682016040523d82523d6000602084013e612ce9565b606091505b5050905060004790506000600382612d01919061397c565b90506000861115612e6257601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165a8263f305d719308a600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051602401612d8a96959493929190614488565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612dd89190613a94565b600060405180830381858888f193505050503d8060008114612e16576040519150601f19603f3d011682016040523d82523d6000602084013e612e1b565b606091505b50508093505082612e61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5890614535565b60405180910390fd5b5b612e8e601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16476120f3565b5050505050505b601954601b5414612ea857601954612eac565b601a545b601b819055506000601c60016101000a81548160ff02191690831515021790555050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612f765750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612f8457506000601054115b905092915050565b6000806000905060115460105484612fa49190613cc2565b612fae919061397c565b905080600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161305a9190613091565b60405180910390a3808361306e91906139ad565b9150509392505050565b6000819050919050565b61308b81613078565b82525050565b60006020820190506130a66000830184613082565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156130e65780820151818401526020810190506130cb565b60008484015250505050565b6000601f19601f8301169050919050565b600061310e826130ac565b61311881856130b7565b93506131288185602086016130c8565b613131816130f2565b840191505092915050565b600060208201905081810360008301526131568184613103565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061319d82613172565b9050919050565b6131ad81613192565b81146131b857600080fd5b50565b6000813590506131ca816131a4565b92915050565b6131d981613078565b81146131e457600080fd5b50565b6000813590506131f6816131d0565b92915050565b6000806040838503121561321357613212613168565b5b6000613221858286016131bb565b9250506020613232858286016131e7565b9150509250929050565b60008115159050919050565b6132518161323c565b82525050565b600060208201905061326c6000830184613248565b92915050565b6000806000806080858703121561328c5761328b613168565b5b600061329a878288016131e7565b94505060206132ab878288016131e7565b93505060406132bc878288016131e7565b92505060606132cd878288016131e7565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61330e81613192565b82525050565b60006133208383613305565b60208301905092915050565b6000602082019050919050565b6000613344826132d9565b61334e81856132e4565b9350613359836132f5565b8060005b8381101561338a5781516133718882613314565b975061337c8361332c565b92505060018101905061335d565b5085935050505092915050565b600060208201905081810360008301526133b18184613339565b905092915050565b6000806000606084860312156133d2576133d1613168565b5b60006133e0868287016131bb565b93505060206133f1868287016131bb565b9250506040613402868287016131e7565b9150509250925092565b61341581613192565b82525050565b6000602082019050613430600083018461340c565b92915050565b60006020828403121561344c5761344b613168565b5b600061345a848285016131bb565b91505092915050565b600060ff82169050919050565b61347981613463565b82525050565b60006020820190506134946000830184613470565b92915050565b6134a38161323c565b81146134ae57600080fd5b50565b6000813590506134c08161349a565b92915050565b600080604083850312156134dd576134dc613168565b5b60006134eb858286016131bb565b92505060206134fc858286016134b1565b9150509250929050565b6000806040838503121561351d5761351c613168565b5b600061352b858286016131bb565b925050602061353c858286016131bb565b9150509250929050565b60006020828403121561355c5761355b613168565b5b600061356a848285016131e7565b91505092915050565b6000806040838503121561358a57613589613168565b5b6000613598858286016131e7565b92505060206135a9858286016131e7565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6135f5826130f2565b810181811067ffffffffffffffff82111715613614576136136135bd565b5b80604052505050565b600061362761315e565b905061363382826135ec565b919050565b600067ffffffffffffffff821115613653576136526135bd565b5b61365c826130f2565b9050602081019050919050565b82818337600083830152505050565b600061368b61368684613638565b61361d565b9050828152602081018484840111156136a7576136a66135b8565b5b6136b2848285613669565b509392505050565b600082601f8301126136cf576136ce6135b3565b5b81356136df848260208601613678565b91505092915050565b600080604083850312156136ff576136fe613168565b5b600083013567ffffffffffffffff81111561371d5761371c61316d565b5b613729858286016136ba565b925050602083013567ffffffffffffffff81111561374a5761374961316d565b5b613756858286016136ba565b9150509250929050565b60008060006060848603121561377957613778613168565b5b6000613787868287016134b1565b9350506020613798868287016131e7565b92505060406137a9868287016131e7565b9150509250925092565b60006137be82613172565b9050919050565b6137ce816137b3565b81146137d957600080fd5b50565b6000813590506137eb816137c5565b92915050565b60006020828403121561380757613806613168565b5b6000613815848285016137dc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061386557607f821691505b6020821081036138785761387761381e565b5b50919050565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b60006138b4600b836130b7565b91506138bf8261387e565b602082019050919050565b600060208201905081810360008301526138e3816138a7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061392482613078565b915061392f83613078565b9250828201905080821115613947576139466138ea565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061398782613078565b915061399283613078565b9250826139a2576139a161394d565b5b828204905092915050565b60006139b882613078565b91506139c383613078565b92508282039050818111156139db576139da6138ea565b5b92915050565b7f53544f5000000000000000000000000000000000000000000000000000000000600082015250565b6000613a176004836130b7565b9150613a22826139e1565b602082019050919050565b60006020820190508181036000830152613a4681613a0a565b9050919050565b600081519050919050565b600081905092915050565b6000613a6e82613a4d565b613a788185613a58565b9350613a888185602086016130c8565b80840191505092915050565b6000613aa08284613a63565b915081905092915050565b600081519050613aba816131d0565b92915050565b600060208284031215613ad657613ad5613168565b5b6000613ae484828501613aab565b91505092915050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000613b236009836130b7565b9150613b2e82613aed565b602082019050919050565b60006020820190508181036000830152613b5281613b16565b9050919050565b6000604082019050613b6e600083018561340c565b613b7b602083018461340c565b9392505050565b600081519050613b91816131a4565b92915050565b600060208284031215613bad57613bac613168565b5b6000613bbb84828501613b82565b91505092915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000613bfa6006836130b7565b9150613c0582613bc4565b602082019050919050565b60006020820190508181036000830152613c2981613bed565b9050919050565b7f4d61782077616c6c6574206d7573742062652067726561746572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613c8c6024836130b7565b9150613c9782613c30565b604082019050919050565b60006020820190508181036000830152613cbb81613c7f565b9050919050565b6000613ccd82613078565b9150613cd883613078565b9250828202613ce681613078565b91508282048414831517613cfd57613cfc6138ea565b5b5092915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613d667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613d29565b613d708683613d29565b95508019841693508086168417925050509392505050565b6000819050919050565b6000613dad613da8613da384613078565b613d88565b613078565b9050919050565b6000819050919050565b613dc783613d92565b613ddb613dd382613db4565b848454613d36565b825550505050565b600090565b613df0613de3565b613dfb818484613dbe565b505050565b5b81811015613e1f57613e14600082613de8565b600181019050613e01565b5050565b601f821115613e6457613e3581613d04565b613e3e84613d19565b81016020851015613e4d578190505b613e61613e5985613d19565b830182613e00565b50505b505050565b600082821c905092915050565b6000613e8760001984600802613e69565b1980831691505092915050565b6000613ea08383613e76565b9150826002028217905092915050565b613eb9826130ac565b67ffffffffffffffff811115613ed257613ed16135bd565b5b613edc825461384d565b613ee7828285613e23565b600060209050601f831160018114613f1a5760008415613f08578287015190505b613f128582613e94565b865550613f7a565b601f198416613f2886613d04565b60005b82811015613f5057848901518255600182019150602085019450602081019050613f2b565b86831015613f6d5784890151613f69601f891682613e76565b8355505b6001600288020188555050505b505050505050565b7f536d616c6c2073776170207468726573686f6c64206d757374206265206c6f7760008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000613fde6022836130b7565b9150613fe982613f82565b604082019050919050565b6000602082019050818103600083015261400d81613fd1565b9050919050565b7f4c617267652073776170207468726573686f6c64206d757374206265206c6f7760008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006140706022836130b7565b915061407b82614014565b604082019050919050565b6000602082019050818103600083015261409f81614063565b9050919050565b60006140c16140bc6140b784613172565b613d88565b613172565b9050919050565b60006140d3826140a6565b9050919050565b60006140e5826140c8565b9050919050565b6140f5816140da565b82525050565b600060208201905061411060008301846140ec565b92915050565b7f4d6178207478206d7573742062652067726561746572207468616e20302e3125600082015250565b600061414c6020836130b7565b915061415782614116565b602082019050919050565b6000602082019050818103600083015261417b8161413f565b9050919050565b7f4554485f5452414e534645525f4641494c454400000000000000000000000000600082015250565b60006141b86013836130b7565b91506141c382614182565b602082019050919050565b600060208201905081810360008301526141e7816141ab565b9050919050565b7f4f6e6c7920746865206f776e65722063616e206265207468652066697273742060008201527f746f20616464206c69717569646974792e000000000000000000000000000000602082015250565b600061424a6031836130b7565b9150614255826141ee565b604082019050919050565b600060208201905081810360008301526142798161423d565b9050919050565b7f5452414e534645525f4641494c45440000000000000000000000000000000000600082015250565b60006142b6600f836130b7565b91506142c182614280565b602082019050919050565b600060208201905081810360008301526142e5816142a9565b9050919050565b7f5452414e53414354494f4e5f4c494d49545f4558434545444544000000000000600082015250565b6000614322601a836130b7565b915061432d826142ec565b602082019050919050565b6000602082019050818103600083015261435181614315565b9050919050565b7f57414c4c45545f4c494d49545f45584345454445440000000000000000000000600082015250565b600061438e6015836130b7565b915061439982614358565b602082019050919050565b600060208201905081810360008301526143bd81614381565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061441861441361440e846143f3565b613d88565b613463565b9050919050565b614428816143fd565b82525050565b600060a0820190506144436000830188613082565b614450602083018761441f565b81810360408301526144628186613339565b9050614471606083018561340c565b61447e6080830184613082565b9695505050505050565b600060c08201905061449d600083018961340c565b6144aa6020830188613082565b6144b7604083018761441f565b6144c4606083018661441f565b6144d1608083018561340c565b6144de60a0830184613082565b979650505050505050565b7f535741504241434b5f4641494c45440000000000000000000000000000000000600082015250565b600061451f600f836130b7565b915061452a826144e9565b602082019050919050565b6000602082019050818103600083015261454e81614512565b905091905056fea2646970667358221220c6e5a7b9da329d99e139ee8c7f18b78f5dee9134298434bd01bb0dbd8272848964736f6c63430008110033

Deployed Bytecode Sourcemap

2437:14676:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4064:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2807:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6818:223;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11804:265;;;;;;;;;;;;;:::i;:::-;;12077:444;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3640:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2934:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17018:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3610:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16235:130;;;;;;;;;;;;;:::i;:::-;;7210:324;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3698:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6121:135;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1727:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2891:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3460:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3350:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3996:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16373:415;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10445:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3510:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4120:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3182:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3000:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3928:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1156:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2854:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3560:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16796:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12529:221;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3737:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7049:153;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3401:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1520:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3897:22;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10192:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3866:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3837:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16072:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15137:550;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10573:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3233:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3304:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3090:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1622:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1953:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9946:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3809:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1838:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4064:49;;;;:::o;2807:40::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6818:223::-;6892:4;6942:6;6909:9;:21;6919:10;6909:21;;;;;;;;;;;;;;;:30;6931:7;6909:30;;;;;;;;;;;;;;;:39;;;;6995:7;6974:37;;6983:10;6974:37;;;7004:6;6974:37;;;;;;:::i;:::-;;;;;;;;7029:4;7022:11;;6818:223;;;;:::o;11804:265::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11869:1:::1;11856:10;:14;;;;11909:2;11894:12;:17;;;;11947:2;11932:12;:17;;;;12009:12;;11994;;11981:10;;:25;;;;:::i;:::-;:40;;;;:::i;:::-;11970:8;:51;;;;12049:4;12032:14;:21;;;;11804:265::o:0;12077:444::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12233:11:::1;12220:10;:24;;;;12270:13;12255:12;:28;;;;12309:13;12294:12;:28;;;;12374:13;12358;12344:11;:27;;;;:::i;:::-;:43;;;;:::i;:::-;12333:8;:54;;;;12415:15;12398:14;:32;;;;12477:1;12460:14;;:18;;;;:::i;:::-;12449:8;;:29;12441:38;;;::::0;::::1;;12077:444:::0;;;;:::o;3640:36::-;;;;:::o;2934:59::-;;;;:::o;17018:92::-;17062:16;17097:5;17090:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17018:92;:::o;3610:23::-;;;;:::o;16235:130::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;16284:73:::1;16316:17;;;;;;;;;;;16335:21;16284:31;:73::i;:::-;16235:130::o:0;7210:324::-;7307:4;7324:15;7342:9;:17;7352:6;7342:17;;;;;;;;;;;;;;;:29;7360:10;7342:29;;;;;;;;;;;;;;;;7324:47;;7399:17;7388:7;:28;7384:82;;7460:6;7450:7;:16;;;;:::i;:::-;7418:9;:17;7428:6;7418:17;;;;;;;;;;;;;;;:29;7436:10;7418:29;;;;;;;;;;;;;;;:48;;;;7384:82;7486:40;7500:6;7508:9;7519:6;7486:13;:40::i;:::-;7479:47;;;7210:324;;;;;:::o;3698:32::-;;;;;;;;;;;;;:::o;6121:135::-;6174:7;6233:9;:15;2756:42;6233:15;;;;;;;;;;;;;;;;6215:9;:15;2683:42;6215:15;;;;;;;;;;;;;;;;6201:11;;:29;;;;:::i;:::-;:47;;;;:::i;:::-;6194:54;;6121:135;:::o;1727:103::-;1782:4;1817:5;;;;;;;;;;;1806:16;;:7;:16;;;1799:23;;1727:103;;;:::o;2891:34::-;2924:1;2891:34;:::o;3460:29::-;;;;:::o;3350:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;3996:53::-;;;;:::o;16373:415::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;16467:4:::1;16449:23;;:6;:23;;::::0;16441:40:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16497:20;16529:6;16521:20;;16596:4;16542:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16521:82;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16494:109;;;16614:14;16642:7;16631:30;;;;;;;;;;;;:::i;:::-;16614:47;;16691:1;16682:6;:10;16674:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;16717:63;16746:6;16754:17;;;;;;;;;;;16773:6;16717:28;:63::i;:::-;16430:358;;16373:415:::0;:::o;10445:120::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10551:6:::1;10529:11;:19;10541:6;10529:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;10445:120:::0;;:::o;3510:32::-;;;;:::o;4120:30::-;;;;;;;;;;;;;:::o;3182:44::-;;;;;;;;;;;;;;;;;:::o;3000:47::-;;;;:::o;3928:54::-;;;;:::o;1156:20::-;;;;;;;;;;;;;:::o;2854:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3560:32::-;;;;:::o;16796:214::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;16862:16:::1;16893:7;;;;;;;;;;;16881:31;;;16913:5;16928:4;16881:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16862:72;;16965:4;16945:6;:17;16952:9;;;;;;;;;;;16945:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;16982:5;16993:8;16982:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16851:159;16796:214:::0;:::o;12529:221::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12668:22:::1;12648:17;;:42;;;;;;;;;;;;;;;;;;12721:21;12701:17;;:41;;;;;;;;;;;;;;;;;;12529:221:::0;;:::o;3737:32::-;;;;;;;;;;;;;:::o;7049:153::-;7126:4;7150:44;7164:10;7176:9;7187:6;7150:13;:44::i;:::-;7143:51;;7049:153;;;;:::o;3401:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;1520:94::-;1346:5;;;;;;;;;;;1332:19;;:10;:19;;;1324:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1602:4:::1;1580:14;:19:::0;1595:3:::1;1580:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;1520:94:::0;:::o;3897:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10192:245::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10305:1:::1;10294:7;:12;;:35;;;;;10325:4;10310:11;:19;;10294:35;10286:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;10418:11;10408:7;10394:11;;:21;;;;:::i;:::-;:35;;;;:::i;:::-;10381:10;:48;;;;10192:245:::0;;:::o;3866:24::-;;;;;;;;;;;;;:::o;3837:22::-;;;;;;;;;;;;;:::o;16072:158::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;16186:7:::1;16179:4;:14;;;;;;:::i;:::-;;16213:9;16204:6;:18;;;;;;:::i;:::-;;16072:158:::0;;:::o;15137:550::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15299:5:::1;15294:2;15280:11;;:16;;;;:::i;:::-;:24;;;;:::i;:::-;15264:12;:40;;15256:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;15454:4;15450:1;15436:11:::0;::::1;:15;;;;:::i;:::-;:22;;;;:::i;:::-;15420:12;:38;;15412:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;15583:8;15569:11;;:22;;;;;;;;;;;;;;;;;;15623:12;15602:18;:33;;;;15667:12;15646:18;:33;;;;15137:550:::0;;;:::o;10573:124::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10683:6:::1;10659:13;:21;10673:6;10659:21;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;10573:124:::0;;:::o;3233:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3304:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;3090:51::-;;;;:::o;1622:97::-;1346:5;;;;;;;;;;;1332:19;;:10;:19;;;1324:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1706:5:::1;1684:14:::0;:19:::1;1699:3;1684:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1622:97:::0;:::o;1953:173::-;1346:5;;;;;;;;;;;1332:19;;:10;:19;;;1324:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2037:3:::1;2029:5;;:11;;;;;;;;;;;;;;;;;;2073:4;2051:14;:19:::0;2066:3:::1;2051:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;2093:25;2114:3;2093:25;;;;;;:::i;:::-;;;;;;;;1953:173:::0;:::o;9946:234::-;1441:24;1454:10;1441:12;:24::i;:::-;1433:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10056:1:::1;10045:7;:12;;:35;;;;;10076:4;10061:11;:19;;10045:35;10037:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;10161:11;10151:7;10137:11;;:21;;;;:::i;:::-;:35;;;;:::i;:::-;10128:6;:44;;;;9946:234:::0;;:::o;3809:21::-;;;;;;;;;;;;;:::o;1838:107::-;1894:4;1918:14;:19;1933:3;1918:19;;;;;;;;;;;;;;;;;;;;;;;;;1911:26;;1838:107;;;:::o;105:238::-;178:12;271:1;268;265;262;254:6;250:2;243:5;238:35;227:46;;304:7;296:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;167:176;105:238;;:::o;7542:1047::-;7634:4;7656:10;:8;:10::i;:::-;7655:11;:32;;;;;7670:6;:17;7677:9;7670:17;;;;;;;;;;;;;;;;;;;;;;;;;7655:32;7651:210;;;7732:1;7712:9;:17;7722:6;7712:17;;;;;;;;;;;;;;;;:21;7704:30;;;;;;7767:5;;;;;;;;;;;7757:15;;:6;:15;;;7749:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;7841:8;:6;:8::i;:::-;7651:210;7875:6;;;;;;;;;;;7871:60;;;7890:41;7905:6;7913:9;7924:6;7890:14;:41::i;:::-;7883:48;;;;7871:60;7944:39;7957:6;7965:9;7976:6;7944:12;:39::i;:::-;7998:16;:14;:16::i;:::-;7994:41;;;8016:19;8025:9;8016:8;:19::i;:::-;7994:41;8069:6;8048:9;:17;8058:6;8048:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;8086:22;8111:6;8086:31;;8142:6;:14;8149:6;8142:14;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;;8160:6;:17;8167:9;8160:17;;;;;;;;;;;;;;;;;;;;;;;;;8142:35;8138:163;;;8211:32;8225:6;8233:9;8211:13;:32::i;:::-;:78;;8283:6;8211:78;;;8246:34;8254:6;8262:9;8273:6;8246:7;:34::i;:::-;8211:78;8194:95;;8138:163;8473:14;8449:9;:20;8459:9;8449:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;8533:9;8516:43;;8525:6;8516:43;;;8544:14;8516:43;;;;;;:::i;:::-;;;;;;;;8577:4;8570:11;;;7542:1047;;;;;;:::o;351:662::-;436:12;516:4;510:11;563:66;544:17;537:93;678:2;674:1;655:17;651:25;644:37;730:6;725:2;706:17;702:26;695:42;929:2;926:1;922:2;903:17;900:1;893:5;886;881:51;844:16;837:24;831:2;813:16;810:24;806:1;802;796:8;793:15;789:46;786:76;764:183;753:194;;470:488;978:7;970:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;425:588;351:662;;;:::o;6264:90::-;6307:4;6345:1;6331:10;;:15;;6324:22;;6264:90;:::o;6362:71::-;6413:12;6400:10;:25;;;;6362:71::o;8597:416::-;8690:4;8728:6;8707:9;:17;8717:6;8707:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;8909:6;8885:9;:20;8895:9;8885:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;8965:9;8944:39;;8953:10;8944:39;;;8976:6;8944:39;;;;;;:::i;:::-;;;;;;;;9001:4;8994:11;;8597:416;;;;;:::o;9398:540::-;9546:6;;9536;:16;;:62;;;;9556:6;:14;9563:6;9556:14;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;9574:13;:24;9588:9;9574:24;;;;;;;;;;;;;;;;;;;;;;;;;9556:42;9536:62;:87;;;;9602:13;:21;9616:6;9602:21;;;;;;;;;;;;;;;;;;;;;;;;;9536:87;9528:126;;;;;;;;;;;;:::i;:::-;;;;;;;;;9723:5;;;;;;;;;;;9710:18;;:9;:18;;;;:47;;;;;9733:13;:24;9747:9;9733:24;;;;;;;;;;;;;;;;;;;;;;;;;9732:25;9710:47;:69;;;;;9762:6;:17;9769:9;9762:17;;;;;;;;;;;;;;;;;;;;;;;;;9761:18;9710:69;9706:225;;;9796:18;9840:6;9817:9;:20;9827:9;9817:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;9796:50;;9883:10;;9869;:24;;9861:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9781:150;9706:225;9398:540;;;:::o;13135:187::-;13184:4;13209:6;:18;13216:10;13209:18;;;;;;;;;;;;;;;;;;;;;;;;;13208:19;:30;;;;;13232:6;;;;;;;;;;;13231:7;13208:30;:45;;;;;13242:11;;;;;;;;;;;13208:45;:61;;;;;13268:1;13257:8;;:12;13208:61;:106;;;;;13301:13;;13273:9;:24;13291:4;13273:24;;;;;;;;;;;;;;;;:41;;13208:106;13201:113;;13135:187;:::o;13330:1799::-;4206:4;4197:6;;:13;;;;;;;;;;;;;;;;;;13419:9:::1;;;;;;;;;;;13403:25;;:12;:25;;::::0;13399:1617:::1;;13445:23;13513:1;13502:8;;13487:12;;13471:13;;:28;;;;:::i;:::-;:39;;;;:::i;:::-;:43;;;;:::i;:::-;13445:69;;13529:20;13568:15;13552:13;;:31;;;;:::i;:::-;13529:54;;13600:21;13638:1;13624:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13600:40;;13673:4;13655;13660:1;13655:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13703:4;;;;;;;;;;;13693;13698:1;13693:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;13725:12;13742:6;;;;;;;;;;;:11;;13760:9;13947:10;13980:12;14015:1;14039:4;14074;14102:15;13902:234;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13742:409;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13724:427;;;14168:17;14188:21;14168:41;;14224:26;14265:1;14253:9;:13;;;;:::i;:::-;14224:42;;14317:1;14299:15;:19;14295:620;;;14352:6;;;;;;;;;;;:11;;14370:9;14388:18;14567:10;14612:4;14644:15;14686:1;14714::::0;14742:17:::1;;;;;;;;;;;14786:15;14518:306;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14352:491;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14339:504;;;;;14872:7;14864:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;14295:620;14931:73;14963:17;;;;;;;;;;;14982:21;14931:31;:73::i;:::-;13430:1586;;;;;;13399:1617;15061:18;;15044:13;;:35;:77;;15103:18;;15044:77;;;15082:18;;15044:77;15028:13;:93;;;;4224:5:::0;4215:6;;:14;;;;;;;;;;;;;;;;;;13330:1799;:::o;11086:176::-;11167:4;11192:11;:19;11204:6;11192:19;;;;;;;;;;;;;;;;;;;;;;;;;11191:20;:47;;;;;11216:11;:22;11228:9;11216:22;;;;;;;;;;;;;;;;;;;;;;;;;11215:23;11191:47;:63;;;;;11253:1;11242:8;;:12;11191:63;11184:70;;11086:176;;;;:::o;11270:526::-;11355:7;11375:17;11395:1;11375:21;;11471:14;;11460:8;;11451:6;:17;;;;:::i;:::-;:34;;;;:::i;:::-;11439:46;;11672:9;11644;:24;11662:4;11644:24;;;;;;;;;;;;;;;;:37;;;;;;;;;;;11735:4;11710:42;;11719:6;11710:42;;;11742:9;11710:42;;;;;;:::i;:::-;;;;;;;;11779:9;11770:6;:18;;;;:::i;:::-;11763:25;;;11270:526;;;;;:::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;1784:75::-;1817:6;1850:2;1844:9;1834:19;;1784:75;:::o;1865:117::-;1974:1;1971;1964:12;1988:117;2097:1;2094;2087: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:765::-;3884:6;3892;3900;3908;3957:3;3945:9;3936:7;3932:23;3928:33;3925:120;;;3964:79;;:::i;:::-;3925:120;4084:1;4109:53;4154:7;4145:6;4134:9;4130:22;4109:53;:::i;:::-;4099:63;;4055:117;4211:2;4237:53;4282:7;4273:6;4262:9;4258:22;4237:53;:::i;:::-;4227:63;;4182:118;4339:2;4365:53;4410:7;4401:6;4390:9;4386:22;4365:53;:::i;:::-;4355:63;;4310:118;4467:2;4493:53;4538:7;4529:6;4518:9;4514:22;4493:53;:::i;:::-;4483:63;;4438:118;3798:765;;;;;;;:::o;4569:114::-;4636:6;4670:5;4664:12;4654:22;;4569:114;;;:::o;4689:184::-;4788:11;4822:6;4817:3;4810:19;4862:4;4857:3;4853:14;4838:29;;4689:184;;;;:::o;4879:132::-;4946:4;4969:3;4961:11;;4999:4;4994:3;4990:14;4982:22;;4879:132;;;:::o;5017:108::-;5094:24;5112:5;5094:24;:::i;:::-;5089:3;5082:37;5017:108;;:::o;5131:179::-;5200:10;5221:46;5263:3;5255:6;5221:46;:::i;:::-;5299:4;5294:3;5290:14;5276:28;;5131:179;;;;:::o;5316:113::-;5386:4;5418;5413:3;5409:14;5401:22;;5316:113;;;:::o;5465:732::-;5584:3;5613:54;5661:5;5613:54;:::i;:::-;5683:86;5762:6;5757:3;5683:86;:::i;:::-;5676:93;;5793:56;5843:5;5793:56;:::i;:::-;5872:7;5903:1;5888:284;5913:6;5910:1;5907:13;5888:284;;;5989:6;5983:13;6016:63;6075:3;6060:13;6016:63;:::i;:::-;6009:70;;6102:60;6155:6;6102:60;:::i;:::-;6092:70;;5948:224;5935:1;5932;5928:9;5923:14;;5888:284;;;5892:14;6188:3;6181:10;;5589:608;;;5465:732;;;;:::o;6203:373::-;6346:4;6384:2;6373:9;6369:18;6361:26;;6433:9;6427:4;6423:20;6419:1;6408:9;6404:17;6397:47;6461:108;6564:4;6555:6;6461:108;:::i;:::-;6453:116;;6203:373;;;;:::o;6582:619::-;6659:6;6667;6675;6724:2;6712:9;6703:7;6699:23;6695:32;6692:119;;;6730:79;;:::i;:::-;6692:119;6850:1;6875:53;6920:7;6911:6;6900:9;6896:22;6875:53;:::i;:::-;6865:63;;6821:117;6977:2;7003:53;7048:7;7039:6;7028:9;7024:22;7003:53;:::i;:::-;6993:63;;6948:118;7105:2;7131:53;7176:7;7167:6;7156:9;7152:22;7131:53;:::i;:::-;7121:63;;7076:118;6582:619;;;;;:::o;7207:118::-;7294:24;7312:5;7294:24;:::i;:::-;7289:3;7282:37;7207:118;;:::o;7331:222::-;7424:4;7462:2;7451:9;7447:18;7439:26;;7475:71;7543:1;7532:9;7528:17;7519:6;7475:71;:::i;:::-;7331:222;;;;:::o;7559:329::-;7618:6;7667:2;7655:9;7646:7;7642:23;7638:32;7635:119;;;7673:79;;:::i;:::-;7635:119;7793:1;7818:53;7863:7;7854:6;7843:9;7839:22;7818:53;:::i;:::-;7808:63;;7764:117;7559:329;;;;:::o;7894:86::-;7929:7;7969:4;7962:5;7958:16;7947:27;;7894:86;;;:::o;7986:112::-;8069:22;8085:5;8069:22;:::i;:::-;8064:3;8057:35;7986:112;;:::o;8104:214::-;8193:4;8231:2;8220:9;8216:18;8208:26;;8244:67;8308:1;8297:9;8293:17;8284:6;8244:67;:::i;:::-;8104:214;;;;:::o;8324:116::-;8394:21;8409:5;8394:21;:::i;:::-;8387:5;8384:32;8374:60;;8430:1;8427;8420:12;8374:60;8324:116;:::o;8446:133::-;8489:5;8527:6;8514:20;8505:29;;8543:30;8567:5;8543:30;:::i;:::-;8446:133;;;;:::o;8585:468::-;8650:6;8658;8707:2;8695:9;8686:7;8682:23;8678:32;8675:119;;;8713:79;;:::i;:::-;8675:119;8833:1;8858:53;8903:7;8894:6;8883:9;8879:22;8858:53;:::i;:::-;8848:63;;8804:117;8960:2;8986:50;9028:7;9019:6;9008:9;9004:22;8986:50;:::i;:::-;8976:60;;8931:115;8585:468;;;;;:::o;9059:474::-;9127:6;9135;9184:2;9172:9;9163:7;9159:23;9155:32;9152:119;;;9190:79;;:::i;:::-;9152:119;9310:1;9335:53;9380:7;9371:6;9360:9;9356:22;9335:53;:::i;:::-;9325:63;;9281:117;9437:2;9463:53;9508:7;9499:6;9488:9;9484:22;9463:53;:::i;:::-;9453:63;;9408:118;9059:474;;;;;:::o;9539:329::-;9598:6;9647:2;9635:9;9626:7;9622:23;9618:32;9615:119;;;9653:79;;:::i;:::-;9615:119;9773:1;9798:53;9843:7;9834:6;9823:9;9819:22;9798:53;:::i;:::-;9788:63;;9744:117;9539:329;;;;:::o;9874:474::-;9942:6;9950;9999:2;9987:9;9978:7;9974:23;9970:32;9967:119;;;10005:79;;:::i;:::-;9967:119;10125:1;10150:53;10195:7;10186:6;10175:9;10171:22;10150:53;:::i;:::-;10140:63;;10096:117;10252:2;10278:53;10323:7;10314:6;10303:9;10299:22;10278:53;:::i;:::-;10268:63;;10223:118;9874:474;;;;;:::o;10354:117::-;10463:1;10460;10453:12;10477:117;10586:1;10583;10576:12;10600:180;10648:77;10645:1;10638:88;10745:4;10742:1;10735:15;10769:4;10766:1;10759:15;10786:281;10869:27;10891:4;10869:27;:::i;:::-;10861:6;10857:40;10999:6;10987:10;10984:22;10963:18;10951:10;10948:34;10945:62;10942:88;;;11010:18;;:::i;:::-;10942:88;11050:10;11046:2;11039:22;10829:238;10786:281;;:::o;11073:129::-;11107:6;11134:20;;:::i;:::-;11124:30;;11163:33;11191:4;11183:6;11163:33;:::i;:::-;11073:129;;;:::o;11208:308::-;11270:4;11360:18;11352:6;11349:30;11346:56;;;11382:18;;:::i;:::-;11346:56;11420:29;11442:6;11420:29;:::i;:::-;11412:37;;11504:4;11498;11494:15;11486:23;;11208:308;;;:::o;11522:146::-;11619:6;11614:3;11609;11596:30;11660:1;11651:6;11646:3;11642:16;11635:27;11522:146;;;:::o;11674:425::-;11752:5;11777:66;11793:49;11835:6;11793:49;:::i;:::-;11777:66;:::i;:::-;11768:75;;11866:6;11859:5;11852:21;11904:4;11897:5;11893:16;11942:3;11933:6;11928:3;11924:16;11921:25;11918:112;;;11949:79;;:::i;:::-;11918:112;12039:54;12086:6;12081:3;12076;12039:54;:::i;:::-;11758:341;11674:425;;;;;:::o;12119:340::-;12175:5;12224:3;12217:4;12209:6;12205:17;12201:27;12191:122;;12232:79;;:::i;:::-;12191:122;12349:6;12336:20;12374:79;12449:3;12441:6;12434:4;12426:6;12422:17;12374:79;:::i;:::-;12365:88;;12181:278;12119:340;;;;:::o;12465:834::-;12553:6;12561;12610:2;12598:9;12589:7;12585:23;12581:32;12578:119;;;12616:79;;:::i;:::-;12578:119;12764:1;12753:9;12749:17;12736:31;12794:18;12786:6;12783:30;12780:117;;;12816:79;;:::i;:::-;12780:117;12921:63;12976:7;12967:6;12956:9;12952:22;12921:63;:::i;:::-;12911:73;;12707:287;13061:2;13050:9;13046:18;13033:32;13092:18;13084:6;13081:30;13078:117;;;13114:79;;:::i;:::-;13078:117;13219:63;13274:7;13265:6;13254:9;13250:22;13219:63;:::i;:::-;13209:73;;13004:288;12465:834;;;;;:::o;13305:613::-;13379:6;13387;13395;13444:2;13432:9;13423:7;13419:23;13415:32;13412:119;;;13450:79;;:::i;:::-;13412:119;13570:1;13595:50;13637:7;13628:6;13617:9;13613:22;13595:50;:::i;:::-;13585:60;;13541:114;13694:2;13720:53;13765:7;13756:6;13745:9;13741:22;13720:53;:::i;:::-;13710:63;;13665:118;13822:2;13848:53;13893:7;13884:6;13873:9;13869:22;13848:53;:::i;:::-;13838:63;;13793:118;13305:613;;;;;:::o;13924:104::-;13969:7;13998:24;14016:5;13998:24;:::i;:::-;13987:35;;13924:104;;;:::o;14034:138::-;14115:32;14141:5;14115:32;:::i;:::-;14108:5;14105:43;14095:71;;14162:1;14159;14152:12;14095:71;14034:138;:::o;14178:155::-;14232:5;14270:6;14257:20;14248:29;;14286:41;14321:5;14286:41;:::i;:::-;14178:155;;;;:::o;14339:345::-;14406:6;14455:2;14443:9;14434:7;14430:23;14426:32;14423:119;;;14461:79;;:::i;:::-;14423:119;14581:1;14606:61;14659:7;14650:6;14639:9;14635:22;14606:61;:::i;:::-;14596:71;;14552:125;14339:345;;;;:::o;14690:180::-;14738:77;14735:1;14728:88;14835:4;14832:1;14825:15;14859:4;14856:1;14849:15;14876:320;14920:6;14957:1;14951:4;14947:12;14937:22;;15004:1;14998:4;14994:12;15025:18;15015:81;;15081:4;15073:6;15069:17;15059:27;;15015:81;15143:2;15135:6;15132:14;15112:18;15109:38;15106:84;;15162:18;;:::i;:::-;15106:84;14927:269;14876:320;;;:::o;15202:161::-;15342:13;15338:1;15330:6;15326:14;15319:37;15202:161;:::o;15369:366::-;15511:3;15532:67;15596:2;15591:3;15532:67;:::i;:::-;15525:74;;15608:93;15697:3;15608:93;:::i;:::-;15726:2;15721:3;15717:12;15710:19;;15369:366;;;:::o;15741:419::-;15907:4;15945:2;15934:9;15930:18;15922:26;;15994:9;15988:4;15984:20;15980:1;15969:9;15965:17;15958:47;16022:131;16148:4;16022:131;:::i;:::-;16014:139;;15741:419;;;:::o;16166:180::-;16214:77;16211:1;16204:88;16311:4;16308:1;16301:15;16335:4;16332:1;16325:15;16352:191;16392:3;16411:20;16429:1;16411:20;:::i;:::-;16406:25;;16445:20;16463:1;16445:20;:::i;:::-;16440:25;;16488:1;16485;16481:9;16474:16;;16509:3;16506:1;16503:10;16500:36;;;16516:18;;:::i;:::-;16500:36;16352:191;;;;:::o;16549:180::-;16597:77;16594:1;16587:88;16694:4;16691:1;16684:15;16718:4;16715:1;16708:15;16735:185;16775:1;16792:20;16810:1;16792:20;:::i;:::-;16787:25;;16826:20;16844:1;16826:20;:::i;:::-;16821:25;;16865:1;16855:35;;16870:18;;:::i;:::-;16855:35;16912:1;16909;16905:9;16900:14;;16735:185;;;;:::o;16926:194::-;16966:4;16986:20;17004:1;16986:20;:::i;:::-;16981:25;;17020:20;17038:1;17020:20;:::i;:::-;17015:25;;17064:1;17061;17057:9;17049:17;;17088:1;17082:4;17079:11;17076:37;;;17093:18;;:::i;:::-;17076:37;16926:194;;;;:::o;17126:154::-;17266:6;17262:1;17254:6;17250:14;17243:30;17126:154;:::o;17286:365::-;17428:3;17449:66;17513:1;17508:3;17449:66;:::i;:::-;17442:73;;17524:93;17613:3;17524:93;:::i;:::-;17642:2;17637:3;17633:12;17626:19;;17286:365;;;:::o;17657:419::-;17823:4;17861:2;17850:9;17846:18;17838:26;;17910:9;17904:4;17900:20;17896:1;17885:9;17881:17;17874:47;17938:131;18064:4;17938:131;:::i;:::-;17930:139;;17657:419;;;:::o;18082:98::-;18133:6;18167:5;18161:12;18151:22;;18082:98;;;:::o;18186:147::-;18287:11;18324:3;18309:18;;18186:147;;;;:::o;18339:386::-;18443:3;18471:38;18503:5;18471:38;:::i;:::-;18525:88;18606:6;18601:3;18525:88;:::i;:::-;18518:95;;18622:65;18680:6;18675:3;18668:4;18661:5;18657:16;18622:65;:::i;:::-;18712:6;18707:3;18703:16;18696:23;;18447:278;18339:386;;;;:::o;18731:271::-;18861:3;18883:93;18972:3;18963:6;18883:93;:::i;:::-;18876:100;;18993:3;18986:10;;18731:271;;;;:::o;19008:143::-;19065:5;19096:6;19090:13;19081:22;;19112:33;19139:5;19112:33;:::i;:::-;19008:143;;;;:::o;19157:351::-;19227:6;19276:2;19264:9;19255:7;19251:23;19247:32;19244:119;;;19282:79;;:::i;:::-;19244:119;19402:1;19427:64;19483:7;19474:6;19463:9;19459:22;19427:64;:::i;:::-;19417:74;;19373:128;19157:351;;;;:::o;19514:159::-;19654:11;19650:1;19642:6;19638:14;19631:35;19514:159;:::o;19679:365::-;19821:3;19842:66;19906:1;19901:3;19842:66;:::i;:::-;19835:73;;19917:93;20006:3;19917:93;:::i;:::-;20035:2;20030:3;20026:12;20019:19;;19679:365;;;:::o;20050:419::-;20216:4;20254:2;20243:9;20239:18;20231:26;;20303:9;20297:4;20293:20;20289:1;20278:9;20274:17;20267:47;20331:131;20457:4;20331:131;:::i;:::-;20323:139;;20050:419;;;:::o;20475:332::-;20596:4;20634:2;20623:9;20619:18;20611:26;;20647:71;20715:1;20704:9;20700:17;20691:6;20647:71;:::i;:::-;20728:72;20796:2;20785:9;20781:18;20772:6;20728:72;:::i;:::-;20475:332;;;;;:::o;20813:143::-;20870:5;20901:6;20895:13;20886:22;;20917:33;20944:5;20917:33;:::i;:::-;20813:143;;;;:::o;20962:351::-;21032:6;21081:2;21069:9;21060:7;21056:23;21052:32;21049:119;;;21087:79;;:::i;:::-;21049:119;21207:1;21232:64;21288:7;21279:6;21268:9;21264:22;21232:64;:::i;:::-;21222:74;;21178:128;20962:351;;;;:::o;21319:156::-;21459:8;21455:1;21447:6;21443:14;21436:32;21319:156;:::o;21481:365::-;21623:3;21644:66;21708:1;21703:3;21644:66;:::i;:::-;21637:73;;21719:93;21808:3;21719:93;:::i;:::-;21837:2;21832:3;21828:12;21821:19;;21481:365;;;:::o;21852:419::-;22018:4;22056:2;22045:9;22041:18;22033:26;;22105:9;22099:4;22095:20;22091:1;22080:9;22076:17;22069:47;22133:131;22259:4;22133:131;:::i;:::-;22125:139;;21852:419;;;:::o;22277:223::-;22417:34;22413:1;22405:6;22401:14;22394:58;22486:6;22481:2;22473:6;22469:15;22462:31;22277:223;:::o;22506:366::-;22648:3;22669:67;22733:2;22728:3;22669:67;:::i;:::-;22662:74;;22745:93;22834:3;22745:93;:::i;:::-;22863:2;22858:3;22854:12;22847:19;;22506:366;;;:::o;22878:419::-;23044:4;23082:2;23071:9;23067:18;23059:26;;23131:9;23125:4;23121:20;23117:1;23106:9;23102:17;23095:47;23159:131;23285:4;23159:131;:::i;:::-;23151:139;;22878:419;;;:::o;23303:410::-;23343:7;23366:20;23384:1;23366:20;:::i;:::-;23361:25;;23400:20;23418:1;23400:20;:::i;:::-;23395:25;;23455:1;23452;23448:9;23477:30;23495:11;23477:30;:::i;:::-;23466:41;;23656:1;23647:7;23643:15;23640:1;23637:22;23617:1;23610:9;23590:83;23567:139;;23686:18;;:::i;:::-;23567:139;23351:362;23303:410;;;;:::o;23719:141::-;23768:4;23791:3;23783:11;;23814:3;23811:1;23804:14;23848:4;23845:1;23835:18;23827:26;;23719:141;;;:::o;23866:93::-;23903:6;23950:2;23945;23938:5;23934:14;23930:23;23920:33;;23866:93;;;:::o;23965:107::-;24009:8;24059:5;24053:4;24049:16;24028:37;;23965:107;;;;:::o;24078:393::-;24147:6;24197:1;24185:10;24181:18;24220:97;24250:66;24239:9;24220:97;:::i;:::-;24338:39;24368:8;24357:9;24338:39;:::i;:::-;24326:51;;24410:4;24406:9;24399:5;24395:21;24386:30;;24459:4;24449:8;24445:19;24438:5;24435:30;24425:40;;24154:317;;24078:393;;;;;:::o;24477:60::-;24505:3;24526:5;24519:12;;24477:60;;;:::o;24543:142::-;24593:9;24626:53;24644:34;24653:24;24671:5;24653:24;:::i;:::-;24644:34;:::i;:::-;24626:53;:::i;:::-;24613:66;;24543:142;;;:::o;24691:75::-;24734:3;24755:5;24748:12;;24691:75;;;:::o;24772:269::-;24882:39;24913:7;24882:39;:::i;:::-;24943:91;24992:41;25016:16;24992:41;:::i;:::-;24984:6;24977:4;24971:11;24943:91;:::i;:::-;24937:4;24930:105;24848:193;24772:269;;;:::o;25047:73::-;25092:3;25047:73;:::o;25126:189::-;25203:32;;:::i;:::-;25244:65;25302:6;25294;25288:4;25244:65;:::i;:::-;25179:136;25126:189;;:::o;25321:186::-;25381:120;25398:3;25391:5;25388:14;25381:120;;;25452:39;25489:1;25482:5;25452:39;:::i;:::-;25425:1;25418:5;25414:13;25405:22;;25381:120;;;25321:186;;:::o;25513:543::-;25614:2;25609:3;25606:11;25603:446;;;25648:38;25680:5;25648:38;:::i;:::-;25732:29;25750:10;25732:29;:::i;:::-;25722:8;25718:44;25915:2;25903:10;25900:18;25897:49;;;25936:8;25921:23;;25897:49;25959:80;26015:22;26033:3;26015:22;:::i;:::-;26005:8;26001:37;25988:11;25959:80;:::i;:::-;25618:431;;25603:446;25513:543;;;:::o;26062:117::-;26116:8;26166:5;26160:4;26156:16;26135:37;;26062:117;;;;:::o;26185:169::-;26229:6;26262:51;26310:1;26306:6;26298:5;26295:1;26291:13;26262:51;:::i;:::-;26258:56;26343:4;26337;26333:15;26323:25;;26236:118;26185:169;;;;:::o;26359:295::-;26435:4;26581:29;26606:3;26600:4;26581:29;:::i;:::-;26573:37;;26643:3;26640:1;26636:11;26630:4;26627:21;26619:29;;26359:295;;;;:::o;26659:1395::-;26776:37;26809:3;26776:37;:::i;:::-;26878:18;26870:6;26867:30;26864:56;;;26900:18;;:::i;:::-;26864:56;26944:38;26976:4;26970:11;26944:38;:::i;:::-;27029:67;27089:6;27081;27075:4;27029:67;:::i;:::-;27123:1;27147:4;27134:17;;27179:2;27171:6;27168:14;27196:1;27191:618;;;;27853:1;27870:6;27867:77;;;27919:9;27914:3;27910:19;27904:26;27895:35;;27867:77;27970:67;28030:6;28023:5;27970:67;:::i;:::-;27964:4;27957:81;27826:222;27161:887;;27191:618;27243:4;27239:9;27231:6;27227:22;27277:37;27309:4;27277:37;:::i;:::-;27336:1;27350:208;27364:7;27361:1;27358:14;27350:208;;;27443:9;27438:3;27434:19;27428:26;27420:6;27413:42;27494:1;27486:6;27482:14;27472:24;;27541:2;27530:9;27526:18;27513:31;;27387:4;27384:1;27380:12;27375:17;;27350:208;;;27586:6;27577:7;27574:19;27571:179;;;27644:9;27639:3;27635:19;27629:26;27687:48;27729:4;27721:6;27717:17;27706:9;27687:48;:::i;:::-;27679:6;27672:64;27594:156;27571:179;27796:1;27792;27784:6;27780:14;27776:22;27770:4;27763:36;27198:611;;;27161:887;;26751:1303;;;26659:1395;;:::o;28060:221::-;28200:34;28196:1;28188:6;28184:14;28177:58;28269:4;28264:2;28256:6;28252:15;28245:29;28060:221;:::o;28287:366::-;28429:3;28450:67;28514:2;28509:3;28450:67;:::i;:::-;28443:74;;28526:93;28615:3;28526:93;:::i;:::-;28644:2;28639:3;28635:12;28628:19;;28287:366;;;:::o;28659:419::-;28825:4;28863:2;28852:9;28848:18;28840:26;;28912:9;28906:4;28902:20;28898:1;28887:9;28883:17;28876:47;28940:131;29066:4;28940:131;:::i;:::-;28932:139;;28659:419;;;:::o;29084:221::-;29224:34;29220:1;29212:6;29208:14;29201:58;29293:4;29288:2;29280:6;29276:15;29269:29;29084:221;:::o;29311:366::-;29453:3;29474:67;29538:2;29533:3;29474:67;:::i;:::-;29467:74;;29550:93;29639:3;29550:93;:::i;:::-;29668:2;29663:3;29659:12;29652:19;;29311:366;;;:::o;29683:419::-;29849:4;29887:2;29876:9;29872:18;29864:26;;29936:9;29930:4;29926:20;29922:1;29911:9;29907:17;29900:47;29964:131;30090:4;29964:131;:::i;:::-;29956:139;;29683:419;;;:::o;30108:142::-;30158:9;30191:53;30209:34;30218:24;30236:5;30218:24;:::i;:::-;30209:34;:::i;:::-;30191:53;:::i;:::-;30178:66;;30108:142;;;:::o;30256:126::-;30306:9;30339:37;30370:5;30339:37;:::i;:::-;30326:50;;30256:126;;;:::o;30388:134::-;30446:9;30479:37;30510:5;30479:37;:::i;:::-;30466:50;;30388:134;;;:::o;30528:147::-;30623:45;30662:5;30623:45;:::i;:::-;30618:3;30611:58;30528:147;;:::o;30681:238::-;30782:4;30820:2;30809:9;30805:18;30797:26;;30833:79;30909:1;30898:9;30894:17;30885:6;30833:79;:::i;:::-;30681:238;;;;:::o;30925:182::-;31065:34;31061:1;31053:6;31049:14;31042:58;30925:182;:::o;31113:366::-;31255:3;31276:67;31340:2;31335:3;31276:67;:::i;:::-;31269:74;;31352:93;31441:3;31352:93;:::i;:::-;31470:2;31465:3;31461:12;31454:19;;31113:366;;;:::o;31485:419::-;31651:4;31689:2;31678:9;31674:18;31666:26;;31738:9;31732:4;31728:20;31724:1;31713:9;31709:17;31702:47;31766:131;31892:4;31766:131;:::i;:::-;31758:139;;31485:419;;;:::o;31910:169::-;32050:21;32046:1;32038:6;32034:14;32027:45;31910:169;:::o;32085:366::-;32227:3;32248:67;32312:2;32307:3;32248:67;:::i;:::-;32241:74;;32324:93;32413:3;32324:93;:::i;:::-;32442:2;32437:3;32433:12;32426:19;;32085:366;;;:::o;32457:419::-;32623:4;32661:2;32650:9;32646:18;32638:26;;32710:9;32704:4;32700:20;32696:1;32685:9;32681:17;32674:47;32738:131;32864:4;32738:131;:::i;:::-;32730:139;;32457:419;;;:::o;32882:236::-;33022:34;33018:1;33010:6;33006:14;32999:58;33091:19;33086:2;33078:6;33074:15;33067:44;32882:236;:::o;33124:366::-;33266:3;33287:67;33351:2;33346:3;33287:67;:::i;:::-;33280:74;;33363:93;33452:3;33363:93;:::i;:::-;33481:2;33476:3;33472:12;33465:19;;33124:366;;;:::o;33496:419::-;33662:4;33700:2;33689:9;33685:18;33677:26;;33749:9;33743:4;33739:20;33735:1;33724:9;33720:17;33713:47;33777:131;33903:4;33777:131;:::i;:::-;33769:139;;33496:419;;;:::o;33921:165::-;34061:17;34057:1;34049:6;34045:14;34038:41;33921:165;:::o;34092:366::-;34234:3;34255:67;34319:2;34314:3;34255:67;:::i;:::-;34248:74;;34331:93;34420:3;34331:93;:::i;:::-;34449:2;34444:3;34440:12;34433:19;;34092:366;;;:::o;34464:419::-;34630:4;34668:2;34657:9;34653:18;34645:26;;34717:9;34711:4;34707:20;34703:1;34692:9;34688:17;34681:47;34745:131;34871:4;34745:131;:::i;:::-;34737:139;;34464:419;;;:::o;34889:176::-;35029:28;35025:1;35017:6;35013:14;35006:52;34889:176;:::o;35071:366::-;35213:3;35234:67;35298:2;35293:3;35234:67;:::i;:::-;35227:74;;35310:93;35399:3;35310:93;:::i;:::-;35428:2;35423:3;35419:12;35412:19;;35071:366;;;:::o;35443:419::-;35609:4;35647:2;35636:9;35632:18;35624:26;;35696:9;35690:4;35686:20;35682:1;35671:9;35667:17;35660:47;35724:131;35850:4;35724:131;:::i;:::-;35716:139;;35443:419;;;:::o;35868:171::-;36008:23;36004:1;35996:6;35992:14;35985:47;35868:171;:::o;36045:366::-;36187:3;36208:67;36272:2;36267:3;36208:67;:::i;:::-;36201:74;;36284:93;36373:3;36284:93;:::i;:::-;36402:2;36397:3;36393:12;36386:19;;36045:366;;;:::o;36417:419::-;36583:4;36621:2;36610:9;36606:18;36598:26;;36670:9;36664:4;36660:20;36656:1;36645:9;36641:17;36634:47;36698:131;36824:4;36698:131;:::i;:::-;36690:139;;36417:419;;;:::o;36842:180::-;36890:77;36887:1;36880:88;36987:4;36984:1;36977:15;37011:4;37008:1;37001:15;37028:85;37073:7;37102:5;37091:16;;37028:85;;;:::o;37119:154::-;37175:9;37208:59;37224:42;37233:32;37259:5;37233:32;:::i;:::-;37224:42;:::i;:::-;37208:59;:::i;:::-;37195:72;;37119:154;;;:::o;37279:143::-;37372:43;37409:5;37372:43;:::i;:::-;37367:3;37360:56;37279:143;;:::o;37428:827::-;37689:4;37727:3;37716:9;37712:19;37704:27;;37741:71;37809:1;37798:9;37794:17;37785:6;37741:71;:::i;:::-;37822:78;37896:2;37885:9;37881:18;37872:6;37822:78;:::i;:::-;37947:9;37941:4;37937:20;37932:2;37921:9;37917:18;37910:48;37975:108;38078:4;38069:6;37975:108;:::i;:::-;37967:116;;38093:72;38161:2;38150:9;38146:18;38137:6;38093:72;:::i;:::-;38175:73;38243:3;38232:9;38228:19;38219:6;38175:73;:::i;:::-;37428:827;;;;;;;;:::o;38261:799::-;38506:4;38544:3;38533:9;38529:19;38521:27;;38558:71;38626:1;38615:9;38611:17;38602:6;38558:71;:::i;:::-;38639:72;38707:2;38696:9;38692:18;38683:6;38639:72;:::i;:::-;38721:78;38795:2;38784:9;38780:18;38771:6;38721:78;:::i;:::-;38809;38883:2;38872:9;38868:18;38859:6;38809:78;:::i;:::-;38897:73;38965:3;38954:9;38950:19;38941:6;38897:73;:::i;:::-;38980;39048:3;39037:9;39033:19;39024:6;38980:73;:::i;:::-;38261:799;;;;;;;;;:::o;39066:165::-;39206:17;39202:1;39194:6;39190:14;39183:41;39066:165;:::o;39237:366::-;39379:3;39400:67;39464:2;39459:3;39400:67;:::i;:::-;39393:74;;39476:93;39565:3;39476:93;:::i;:::-;39594:2;39589:3;39585:12;39578:19;;39237:366;;;:::o;39609:419::-;39775:4;39813:2;39802:9;39798:18;39790:26;;39862:9;39856:4;39852:20;39848:1;39837:9;39833:17;39826:47;39890:131;40016:4;39890:131;:::i;:::-;39882:139;;39609:419;;;:::o

Swarm Source

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