ETH Price: $2,525.44 (+0.11%)

Token

blobcat (BLOBCAT)
 

Overview

Max Total Supply

0 BLOBCAT

Holders

23

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A

Other Info

Filtered by Token Holder
papabird.eth
Balance
2 BLOBCAT
0x5491ff4696fb0b5fe5b2ddc12c9feade724c7fe6
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BlobCat

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity Multiple files format)

File 1 of 4: blob.sol
// SPDX-License-Identifier: AGPL-3.0-only

pragma solidity ^0.8.0;

import "./erc721.sol";
import "./ownable.sol";
import "./erc2981.sol";


library Math {
    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }
}


library Strings {
    function toString(uint256 value) internal pure returns (string memory) {
        // Inspired by OraclizeAPI's implementation - MIT licence
        // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol

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

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

        assembly {
            // Transfer the ETH and store if it succeeded or not.
            callStatus := call(gas(), to, amount, 0, 0, 0, 0)
        }

        require(callStatus, "ETH_TRANSFER_FAILED");
    }
}

contract BlobCat is ERC721, Ownable, ERC2981 {
    string baseURI = "";
    uint256 totalSupply = 0;
    uint256 public activationTimestamp;


    // should be less than difference between stage amounts
    uint256 public immutable transactionLimit = 20;

    uint256 public blobCatPrice = 0.035 ether;

    uint256 public immutable totalBlobCats = 1000;

    constructor(uint256 _activationTimestamp) ERC721("blobcat", "BLOBCAT") {
        _royaltyRecipient = msg.sender;
        _royaltyFee = 700;
        activationTimestamp = _activationTimestamp;
    }

    function setPrice(uint256 newPrice) onlyOwner public {
        blobCatPrice = newPrice;
    }

    function setActivationTimestamp(uint256 _activationTimestamp) onlyOwner public {
        activationTimestamp = _activationTimestamp;
    }


    function setRoyaltyRecipient(address recipient) onlyOwner public {
        _royaltyRecipient = recipient;
    }

    function setRoyaltyFee(uint256 fee) onlyOwner public {
        _royaltyFee = fee;
    }

    function setBaseURI(string memory _newBaseURI) onlyOwner public {
        baseURI = _newBaseURI;
    }

    function mintBlobCat(uint256 amount) public payable {
        require(amount > 0, "blobblobBLOBBLOB blobblob blobblob BLOB blobBLOB BLOBBLOB blobBLOBblobblob blobBLOBblobblob");
        require(amount <= transactionLimit, "blobblobBLOBBLOB blobblob blobblob BLOB BLOBblobblobBLOB blobBLOBblob BLOBblobblobblob BLOBBLOBBLOBBLOBblob");
        require(totalSupply + amount <= totalBlobCats, "BLOBblobblobblob blobblob BLOB blobBLOB BLOBBLOB BLOBBLOBBLOBblob blobblobBLOBBLOB");
        require(activationTimestamp <= block.timestamp, "blobblobblobblob blobBLOBblob BLOBBLOBblobblob blobblobBLOBBLOB");
        require(msg.value >= blobCatPrice * amount, "blobblobBLOB blobBLOB blobblob blobblobBLOB BLOB blobblobBLOBBLOB blobblob blobblob BLOB blobblobblob blob BLOBBLOB blobBLOBblob blobBLOBBLOBBLOB");
        require(msg.value == blobCatPrice * amount, "blobblobBLOB blobBLOB blobblob blobblobBLOB BLOB blobblobBLOBBLOB blobblob blobblob BLOB blobBLOBblobBLOB BLOBBLOBblobblob blobblobblob blob");
        uint256 currentSupply = totalSupply;
        for(uint i; i < amount; i++) {
            _safeMint(msg.sender, currentSupply + i);
        }
        totalSupply += amount;
    }

    function withdraw() public {
        SafeTransferLib.safeTransferETH(owner(), address(this).balance);
    }

    function _baseURI() internal view virtual returns (string memory) {
        return baseURI;
    }

    function tokenURI(uint256 tokenId) public view override returns (string memory) {
        if (bytes(baseURI).length == 0) return "ipfs://QmUy84PeTDoTWSpLvtXpiiocA9AJL2DeCd2cGfj6UizY3L";
        return string(abi.encodePacked(baseURI, Strings.toString(tokenId)));

    }

    function supportsInterface(bytes4 interfaceId)
        public
        pure
        override(ERC721, ERC2981)
        returns (bool)
    {
        return ERC721.supportsInterface(interfaceId) || ERC2981.supportsInterface(interfaceId);
    }

}

File 2 of 4: erc2981.sol
// SPDX-License-Identifier: AGPL-3.0-only

pragma solidity >=0.8.0;

abstract contract ERC2981 {
    uint256 internal _royaltyFee;
    address internal _royaltyRecipient;

    function royaltyInfo(uint256 tokenId, uint256 salePrice) public view virtual returns (
        address receiver,
        uint256 royaltyAmount
    ) {
        receiver = _royaltyRecipient;
        royaltyAmount = (salePrice * _royaltyFee) / 10000;
    }

    function supportsInterface(bytes4 interfaceId) public pure virtual returns (bool) {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165
            interfaceId == 0x2a55205a; // ERC165 Interface ID for ERC2981
    }
}

File 3 of 4: erc721.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern, minimalist, and gas efficient ERC-721 implementation.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)
abstract contract ERC721 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

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

    event Approval(address indexed owner, address indexed spender, uint256 indexed id);

    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    /*//////////////////////////////////////////////////////////////
                         METADATA STORAGE/LOGIC
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    function tokenURI(uint256 id) public view virtual returns (string memory);

    /*//////////////////////////////////////////////////////////////
                      ERC721 BALANCE/OWNER STORAGE
    //////////////////////////////////////////////////////////////*/

    mapping(uint256 => address) internal _ownerOf;

    mapping(address => uint256) internal _balanceOf;

    function ownerOf(uint256 id) public view virtual returns (address owner) {
        require((owner = _ownerOf[id]) != address(0), "NOT_MINTED");
    }

    function balanceOf(address owner) public view virtual returns (uint256) {
        require(owner != address(0), "ZERO_ADDRESS");

        return _balanceOf[owner];
    }

    /*//////////////////////////////////////////////////////////////
                         ERC721 APPROVAL STORAGE
    //////////////////////////////////////////////////////////////*/

    mapping(uint256 => address) public getApproved;

    mapping(address => mapping(address => bool)) public isApprovedForAll;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(string memory _name, string memory _symbol) {
        name = _name;
        symbol = _symbol;
    }

    /*//////////////////////////////////////////////////////////////
                              ERC721 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 id) public virtual {
        address owner = _ownerOf[id];

        require(msg.sender == owner || isApprovedForAll[owner][msg.sender], "NOT_AUTHORIZED");

        getApproved[id] = spender;

        emit Approval(owner, spender, id);
    }

    function setApprovalForAll(address operator, bool approved) public virtual {
        isApprovedForAll[msg.sender][operator] = approved;

        emit ApprovalForAll(msg.sender, operator, approved);
    }

    function transferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        require(from == _ownerOf[id], "WRONG_FROM");

        require(to != address(0), "INVALID_RECIPIENT");

        require(
            msg.sender == from || isApprovedForAll[from][msg.sender] || msg.sender == getApproved[id],
            "NOT_AUTHORIZED"
        );

        // Underflow of the sender's balance is impossible because we check for
        // ownership above and the recipient's balance can't realistically overflow.
        unchecked {
            _balanceOf[from]--;

            _balanceOf[to]++;
        }

        _ownerOf[id] = to;

        delete getApproved[id];

        emit Transfer(from, to, id);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        bytes calldata data
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    /*//////////////////////////////////////////////////////////////
                              ERC165 LOGIC
    //////////////////////////////////////////////////////////////*/

    function supportsInterface(bytes4 interfaceId) public pure virtual returns (bool) {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165
            interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721
            interfaceId == 0x5b5e139f; // ERC165 Interface ID for ERC721Metadata
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 id) internal virtual {
        require(to != address(0), "INVALID_RECIPIENT");

        require(_ownerOf[id] == address(0), "ALREADY_MINTED");

        // Counter overflow is incredibly unrealistic.
        unchecked {
            _balanceOf[to]++;
        }

        _ownerOf[id] = to;

        emit Transfer(address(0), to, id);
    }

    function _burn(uint256 id) internal virtual {
        address owner = _ownerOf[id];

        require(owner != address(0), "NOT_MINTED");

        // Ownership check above ensures no underflow.
        unchecked {
            _balanceOf[owner]--;
        }

        delete _ownerOf[id];

        delete getApproved[id];

        emit Transfer(owner, address(0), id);
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL SAFE MINT LOGIC
    //////////////////////////////////////////////////////////////*/

    function _safeMint(address to, uint256 id) internal virtual {
        _mint(to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function _safeMint(
        address to,
        uint256 id,
        bytes memory data
    ) internal virtual {
        _mint(to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }
}

/// @notice A generic interface for a contract which properly accepts ERC721 tokens.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)
abstract contract ERC721TokenReceiver {
    function onERC721Received(
        address,
        address,
        uint256,
        bytes calldata
    ) external virtual returns (bytes4) {
        return ERC721TokenReceiver.onERC721Received.selector;
    }
}

File 4 of 4: ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)

pragma solidity ^0.8.0;

abstract contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(msg.sender);
    }

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

    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_activationTimestamp","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":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"activationTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blobCatPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintBlobCat","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_activationTimestamp","type":"uint256"}],"name":"setActivationTimestamp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setRoyaltyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"setRoyaltyRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBlobCats","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transactionLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405260405180602001604052806000815250600990805190602001906200002b9291906200024f565b506000600a556014608090815250667c585087238000600c556103e860a0908152503480156200005a57600080fd5b5060405162003ba038038062003ba0833981810160405281019062000080919062000316565b6040518060400160405280600781526020017f626c6f62636174000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f424c4f42434154000000000000000000000000000000000000000000000000008152508160009080519060200190620001049291906200024f565b5080600190805190602001906200011d9291906200024f565b50505062000131336200018960201b60201c565b33600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102bc60078190555080600b8190555050620003d6565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200025d9062000352565b90600052602060002090601f016020900481019282620002815760008555620002cd565b82601f106200029c57805160ff1916838001178555620002cd565b82800160010185558215620002cd579182015b82811115620002cc578251825591602001919060010190620002af565b5b509050620002dc9190620002e0565b5090565b5b80821115620002fb576000816000905550600101620002e1565b5090565b6000815190506200031081620003bc565b92915050565b6000602082840312156200032f576200032e620003b7565b5b60006200033f84828501620002ff565b91505092915050565b6000819050919050565b600060028204905060018216806200036b57607f821691505b6020821081141562000382576200038162000388565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b620003c78162000348565b8114620003d357600080fd5b50565b60805160a0516137966200040a60003960008181610e1c0152611ad0015260008181610db901526119bb01526137966000f3fe6080604052600436106101b75760003560e01c80636352211e116100ec578063a22cb4651161008a578063e985e9c511610064578063e985e9c5146105e6578063f19605d614610623578063f2fde38b1461064e578063f60d3b3214610677576101b7565b8063a22cb46514610557578063b88d4fde14610580578063c87b56dd146105a9576101b7565b8063715018a6116100c6578063715018a6146104c15780638da5cb5b146104d857806391b7f5ed1461050357806395d89b411461052c576101b7565b80636352211e1461041c5780636b4cfd751461045957806370a0823114610484576101b7565b80632a55205a1161015957806341e42f301161013357806341e42f301461037857806342842e0e146103a157806355f804b3146103ca5780635ffc1de4146103f3576101b7565b80632a55205a146102fa5780633ccfd60b146103385780633e4086e51461034f576101b7565b8063081812fc11610195578063081812fc1461024f578063095ea7b31461028c57806323b872dd146102b557806326da6e23146102de576101b7565b806301ffc9a7146101bc5780630423c7de146101f957806306fdde0314610224575b600080fd5b3480156101c857600080fd5b506101e360048036038101906101de9190612553565b6106a2565b6040516101f09190612af9565b60405180910390f35b34801561020557600080fd5b5061020e6106c4565b60405161021b9190612d36565b60405180910390f35b34801561023057600080fd5b506102396106ca565b6040516102469190612b14565b60405180910390f35b34801561025b57600080fd5b50610276600480360381019061027191906125f6565b610758565b6040516102839190612a1d565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190612513565b61078b565b005b3480156102c157600080fd5b506102dc60048036038101906102d791906123f8565b610974565b005b6102f860048036038101906102f391906125f6565b610d74565b005b34801561030657600080fd5b50610321600480360381019061031c9190612623565b610fc6565b60405161032f929190612ad0565b60405180910390f35b34801561034457600080fd5b5061034d611012565b005b34801561035b57600080fd5b50610376600480360381019061037191906125f6565b611025565b005b34801561038457600080fd5b5061039f600480360381019061039a919061238b565b6110a4565b005b3480156103ad57600080fd5b506103c860048036038101906103c391906123f8565b61115d565b005b3480156103d657600080fd5b506103f160048036038101906103ec91906125ad565b6112a4565b005b3480156103ff57600080fd5b5061041a600480360381019061041591906125f6565b611333565b005b34801561042857600080fd5b50610443600480360381019061043e91906125f6565b6113b2565b6040516104509190612a1d565b60405180910390f35b34801561046557600080fd5b5061046e61145e565b60405161047b9190612d36565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a6919061238b565b611464565b6040516104b89190612d36565b60405180910390f35b3480156104cd57600080fd5b506104d661151c565b005b3480156104e457600080fd5b506104ed61159d565b6040516104fa9190612a1d565b60405180910390f35b34801561050f57600080fd5b5061052a600480360381019061052591906125f6565b6115c7565b005b34801561053857600080fd5b50610541611646565b60405161054e9190612b14565b60405180910390f35b34801561056357600080fd5b5061057e600480360381019061057991906124d3565b6116d4565b005b34801561058c57600080fd5b506105a760048036038101906105a2919061244b565b6117d1565b005b3480156105b557600080fd5b506105d060048036038101906105cb91906125f6565b61191e565b6040516105dd9190612b14565b60405180910390f35b3480156105f257600080fd5b5061060d600480360381019061060891906123b8565b61198a565b60405161061a9190612af9565b60405180910390f35b34801561062f57600080fd5b506106386119b9565b6040516106459190612d36565b60405180910390f35b34801561065a57600080fd5b506106756004803603810190610670919061238b565b6119dd565b005b34801561068357600080fd5b5061068c611ace565b6040516106999190612d36565b60405180910390f35b60006106ad82611af2565b806106bd57506106bc82611b84565b5b9050919050565b600b5481565b600080546106d790612fbf565b80601f016020809104026020016040519081016040528092919081815260200182805461070390612fbf565b80156107505780601f1061072557610100808354040283529160200191610750565b820191906000526020600020905b81548152906001019060200180831161073357829003601f168201915b505050505081565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108835750600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990612cd6565b60405180910390fd5b826004600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90612d16565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612bd6565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b455750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80610bae57506004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490612cd6565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008111610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae90612b96565b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1190612c76565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081600a54610e499190612df4565b1115610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8190612b76565b60405180910390fd5b42600b541115610ecf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec690612b36565b60405180910390fd5b80600c54610edd9190612e7b565b341015610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690612bb6565b60405180910390fd5b80600c54610f2d9190612e7b565b3414610f6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6590612c16565b60405180910390fd5b6000600a54905060005b82811015610fa857610f95338284610f909190612df4565b611be6565b8080610fa090613022565b915050610f78565b5081600a6000828254610fbb9190612df4565b925050819055505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915061271060075484610fff9190612e7b565b6110099190612e4a565b90509250929050565b61102361101d61159d565b47611d2c565b565b3373ffffffffffffffffffffffffffffffffffffffff1661104461159d565b73ffffffffffffffffffffffffffffffffffffffff161461109a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109190612c56565b60405180910390fd5b8060078190555050565b3373ffffffffffffffffffffffffffffffffffffffff166110c361159d565b73ffffffffffffffffffffffffffffffffffffffff1614611119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111090612c56565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611168838383610974565b60008273ffffffffffffffffffffffffffffffffffffffff163b1480611260575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a023386856040518463ffffffff1660e01b81526004016111ed93929190612a86565b602060405180830381600087803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f9190612580565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b61129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129690612c36565b60405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff166112c361159d565b73ffffffffffffffffffffffffffffffffffffffff1614611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090612c56565b60405180910390fd5b806009908051906020019061132f9291906121b9565b5050565b3373ffffffffffffffffffffffffffffffffffffffff1661135261159d565b73ffffffffffffffffffffffffffffffffffffffff16146113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f90612c56565b60405180910390fd5b80600b8190555050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff161415611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612cf6565b60405180910390fd5b919050565b600c5481565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cc90612bf6565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661153b61159d565b73ffffffffffffffffffffffffffffffffffffffff1614611591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158890612c56565b60405180910390fd5b61159b6000611d7f565b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff166115e661159d565b73ffffffffffffffffffffffffffffffffffffffff161461163c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163390612c56565b60405180910390fd5b80600c8190555050565b6001805461165390612fbf565b80601f016020809104026020016040519081016040528092919081815260200182805461167f90612fbf565b80156116cc5780601f106116a1576101008083540402835291602001916116cc565b820191906000526020600020905b8154815290600101906020018083116116af57829003601f168201915b505050505081565b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516117c59190612af9565b60405180910390a35050565b6117dc858585610974565b60008473ffffffffffffffffffffffffffffffffffffffff163b14806118d8575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663150b7a0233888787876040518663ffffffff1660e01b8152600401611865959493929190612a38565b602060405180830381600087803b15801561187f57600080fd5b505af1158015611893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b79190612580565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b611917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190e90612c36565b60405180910390fd5b5050505050565b606060006009805461192f90612fbf565b905014156119575760405180606001604052806035815260200161372c603591399050611985565b600961196283611e45565b6040516020016119739291906129f9565b60405160208183030381529060405290505b919050565b60056020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff166119fc61159d565b73ffffffffffffffffffffffffffffffffffffffff1614611a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4990612c56565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab990612b56565b60405180910390fd5b611acb81611d7f565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b4d57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611b7d5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611bdf5750632a55205a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b611bf08282611fa6565b60008273ffffffffffffffffffffffffffffffffffffffff163b1480611ce9575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a02336000856040518463ffffffff1660e01b8152600401611c7693929190612a86565b602060405180830381600087803b158015611c9057600080fd5b505af1158015611ca4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc89190612580565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f90612c36565b60405180910390fd5b5050565b600080600080600085875af1905080611d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7190612c96565b60405180910390fd5b505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60606000821415611e8d576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611fa1565b600082905060005b60008214611ebf578080611ea890613022565b915050600a82611eb89190612e4a565b9150611e95565b60008167ffffffffffffffff811115611edb57611eda613158565b5b6040519080825280601f01601f191660200182016040528015611f0d5781602001600182028036833780820191505090505b5090505b60008514611f9a57600182611f269190612ed5565b9150600a85611f35919061306b565b6030611f419190612df4565b60f81b818381518110611f5757611f56613129565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611f939190612e4a565b9450611f11565b8093505050505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200d90612bd6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120af90612cb6565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b8280546121c590612fbf565b90600052602060002090601f0160209004810192826121e7576000855561222e565b82601f1061220057805160ff191683800117855561222e565b8280016001018555821561222e579182015b8281111561222d578251825591602001919060010190612212565b5b50905061223b919061223f565b5090565b5b80821115612258576000816000905550600101612240565b5090565b600061226f61226a84612d76565b612d51565b90508281526020810184848401111561228b5761228a613196565b5b612296848285612f7d565b509392505050565b6000813590506122ad816136cf565b92915050565b6000813590506122c2816136e6565b92915050565b6000813590506122d7816136fd565b92915050565b6000815190506122ec816136fd565b92915050565b60008083601f8401126123085761230761318c565b5b8235905067ffffffffffffffff81111561232557612324613187565b5b60208301915083600182028301111561234157612340613191565b5b9250929050565b600082601f83011261235d5761235c61318c565b5b813561236d84826020860161225c565b91505092915050565b60008135905061238581613714565b92915050565b6000602082840312156123a1576123a06131a0565b5b60006123af8482850161229e565b91505092915050565b600080604083850312156123cf576123ce6131a0565b5b60006123dd8582860161229e565b92505060206123ee8582860161229e565b9150509250929050565b600080600060608486031215612411576124106131a0565b5b600061241f8682870161229e565b93505060206124308682870161229e565b925050604061244186828701612376565b9150509250925092565b600080600080600060808688031215612467576124666131a0565b5b60006124758882890161229e565b95505060206124868882890161229e565b945050604061249788828901612376565b935050606086013567ffffffffffffffff8111156124b8576124b761319b565b5b6124c4888289016122f2565b92509250509295509295909350565b600080604083850312156124ea576124e96131a0565b5b60006124f88582860161229e565b9250506020612509858286016122b3565b9150509250929050565b6000806040838503121561252a576125296131a0565b5b60006125388582860161229e565b925050602061254985828601612376565b9150509250929050565b600060208284031215612569576125686131a0565b5b6000612577848285016122c8565b91505092915050565b600060208284031215612596576125956131a0565b5b60006125a4848285016122dd565b91505092915050565b6000602082840312156125c3576125c26131a0565b5b600082013567ffffffffffffffff8111156125e1576125e061319b565b5b6125ed84828501612348565b91505092915050565b60006020828403121561260c5761260b6131a0565b5b600061261a84828501612376565b91505092915050565b6000806040838503121561263a576126396131a0565b5b600061264885828601612376565b925050602061265985828601612376565b9150509250929050565b61266c81612f09565b82525050565b61267b81612f1b565b82525050565b600061268d8385612dc7565b935061269a838584612f7d565b6126a3836131a5565b840190509392505050565b60006126b982612dbc565b6126c38185612dd8565b93506126d3818560208601612f8c565b6126dc816131a5565b840191505092915050565b60006126f282612dbc565b6126fc8185612de9565b935061270c818560208601612f8c565b80840191505092915050565b6000815461272581612fbf565b61272f8186612de9565b9450600182166000811461274a576001811461275b5761278e565b60ff1983168652818601935061278e565b61276485612da7565b60005b8381101561278657815481890152600182019150602081019050612767565b838801955050505b50505092915050565b60006127a4603f83612dd8565b91506127af826131b6565b604082019050919050565b60006127c7602683612dd8565b91506127d282613205565b604082019050919050565b60006127ea605283612dd8565b91506127f582613254565b606082019050919050565b600061280d605b83612dd8565b9150612818826132c9565b606082019050919050565b6000612830609183612dd8565b915061283b8261333e565b60a082019050919050565b6000612853601183612dd8565b915061285e826133ff565b602082019050919050565b6000612876600c83612dd8565b915061288182613428565b602082019050919050565b6000612899608c83612dd8565b91506128a482613451565b60a082019050919050565b60006128bc601083612dd8565b91506128c782613512565b602082019050919050565b60006128df602083612dd8565b91506128ea8261353b565b602082019050919050565b6000612902606b83612dd8565b915061290d82613564565b608082019050919050565b6000612925600083612dc7565b9150612930826135ff565b600082019050919050565b6000612948601383612dd8565b915061295382613602565b602082019050919050565b600061296b600e83612dd8565b91506129768261362b565b602082019050919050565b600061298e600e83612dd8565b915061299982613654565b602082019050919050565b60006129b1600a83612dd8565b91506129bc8261367d565b602082019050919050565b60006129d4600a83612dd8565b91506129df826136a6565b602082019050919050565b6129f381612f73565b82525050565b6000612a058285612718565b9150612a1182846126e7565b91508190509392505050565b6000602082019050612a326000830184612663565b92915050565b6000608082019050612a4d6000830188612663565b612a5a6020830187612663565b612a6760408301866129ea565b8181036060830152612a7a818486612681565b90509695505050505050565b6000608082019050612a9b6000830186612663565b612aa86020830185612663565b612ab560408301846129ea565b8181036060830152612ac681612918565b9050949350505050565b6000604082019050612ae56000830185612663565b612af260208301846129ea565b9392505050565b6000602082019050612b0e6000830184612672565b92915050565b60006020820190508181036000830152612b2e81846126ae565b905092915050565b60006020820190508181036000830152612b4f81612797565b9050919050565b60006020820190508181036000830152612b6f816127ba565b9050919050565b60006020820190508181036000830152612b8f816127dd565b9050919050565b60006020820190508181036000830152612baf81612800565b9050919050565b60006020820190508181036000830152612bcf81612823565b9050919050565b60006020820190508181036000830152612bef81612846565b9050919050565b60006020820190508181036000830152612c0f81612869565b9050919050565b60006020820190508181036000830152612c2f8161288c565b9050919050565b60006020820190508181036000830152612c4f816128af565b9050919050565b60006020820190508181036000830152612c6f816128d2565b9050919050565b60006020820190508181036000830152612c8f816128f5565b9050919050565b60006020820190508181036000830152612caf8161293b565b9050919050565b60006020820190508181036000830152612ccf8161295e565b9050919050565b60006020820190508181036000830152612cef81612981565b9050919050565b60006020820190508181036000830152612d0f816129a4565b9050919050565b60006020820190508181036000830152612d2f816129c7565b9050919050565b6000602082019050612d4b60008301846129ea565b92915050565b6000612d5b612d6c565b9050612d678282612ff1565b919050565b6000604051905090565b600067ffffffffffffffff821115612d9157612d90613158565b5b612d9a826131a5565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000612dff82612f73565b9150612e0a83612f73565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e3f57612e3e61309c565b5b828201905092915050565b6000612e5582612f73565b9150612e6083612f73565b925082612e7057612e6f6130cb565b5b828204905092915050565b6000612e8682612f73565b9150612e9183612f73565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612eca57612ec961309c565b5b828202905092915050565b6000612ee082612f73565b9150612eeb83612f73565b925082821015612efe57612efd61309c565b5b828203905092915050565b6000612f1482612f53565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612faa578082015181840152602081019050612f8f565b83811115612fb9576000848401525b50505050565b60006002820490506001821680612fd757607f821691505b60208210811415612feb57612fea6130fa565b5b50919050565b612ffa826131a5565b810181811067ffffffffffffffff8211171561301957613018613158565b5b80604052505050565b600061302d82612f73565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156130605761305f61309c565b5b600182019050919050565b600061307682612f73565b915061308183612f73565b925082613091576130906130cb565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f626c6f62626c6f62626c6f62626c6f6220626c6f62424c4f42626c6f6220424c60008201527f4f42424c4f42626c6f62626c6f6220626c6f62626c6f62424c4f42424c4f4200602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f424c4f42626c6f62626c6f62626c6f6220626c6f62626c6f6220424c4f42206260008201527f6c6f62424c4f4220424c4f42424c4f4220424c4f42424c4f42424c4f42626c6f60208201527f6220626c6f62626c6f62424c4f42424c4f420000000000000000000000000000604082015250565b7f626c6f62626c6f62424c4f42424c4f4220626c6f62626c6f6220626c6f62626c60008201527f6f6220424c4f4220626c6f62424c4f4220424c4f42424c4f4220626c6f62424c60208201527f4f42626c6f62626c6f6220626c6f62424c4f42626c6f62626c6f620000000000604082015250565b7f626c6f62626c6f62424c4f4220626c6f62424c4f4220626c6f62626c6f62206260008201527f6c6f62626c6f62424c4f4220424c4f4220626c6f62626c6f62424c4f42424c4f60208201527f4220626c6f62626c6f6220626c6f62626c6f6220424c4f4220626c6f62626c6f60408201527f62626c6f6220626c6f6220424c4f42424c4f4220626c6f62424c4f42626c6f6260608201527f20626c6f62424c4f42424c4f42424c4f42000000000000000000000000000000608082015250565b7f494e56414c49445f524543495049454e54000000000000000000000000000000600082015250565b7f5a45524f5f414444524553530000000000000000000000000000000000000000600082015250565b7f626c6f62626c6f62424c4f4220626c6f62424c4f4220626c6f62626c6f62206260008201527f6c6f62626c6f62424c4f4220424c4f4220626c6f62626c6f62424c4f42424c4f60208201527f4220626c6f62626c6f6220626c6f62626c6f6220424c4f4220626c6f62424c4f60408201527f42626c6f62424c4f4220424c4f42424c4f42626c6f62626c6f6220626c6f626260608201527f6c6f62626c6f6220626c6f620000000000000000000000000000000000000000608082015250565b7f554e534146455f524543495049454e5400000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f626c6f62626c6f62424c4f42424c4f4220626c6f62626c6f6220626c6f62626c60008201527f6f6220424c4f4220424c4f42626c6f62626c6f62424c4f4220626c6f62424c4f60208201527f42626c6f6220424c4f42626c6f62626c6f62626c6f6220424c4f42424c4f424260408201527f4c4f42424c4f42626c6f62000000000000000000000000000000000000000000606082015250565b50565b7f4554485f5452414e534645525f4641494c454400000000000000000000000000600082015250565b7f414c52454144595f4d494e544544000000000000000000000000000000000000600082015250565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b7f4e4f545f4d494e54454400000000000000000000000000000000000000000000600082015250565b7f57524f4e475f46524f4d00000000000000000000000000000000000000000000600082015250565b6136d881612f09565b81146136e357600080fd5b50565b6136ef81612f1b565b81146136fa57600080fd5b50565b61370681612f27565b811461371157600080fd5b50565b61371d81612f73565b811461372857600080fd5b5056fe697066733a2f2f516d55793834506554446f545753704c7674587069696f634139414a4c3244654364326347666a3655697a59334ca2646970667358221220d8c46c100a84b02e7c233303a18166e6a99018f30bdc181ddda5f6de6cf91bb464736f6c634300080700330000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101b75760003560e01c80636352211e116100ec578063a22cb4651161008a578063e985e9c511610064578063e985e9c5146105e6578063f19605d614610623578063f2fde38b1461064e578063f60d3b3214610677576101b7565b8063a22cb46514610557578063b88d4fde14610580578063c87b56dd146105a9576101b7565b8063715018a6116100c6578063715018a6146104c15780638da5cb5b146104d857806391b7f5ed1461050357806395d89b411461052c576101b7565b80636352211e1461041c5780636b4cfd751461045957806370a0823114610484576101b7565b80632a55205a1161015957806341e42f301161013357806341e42f301461037857806342842e0e146103a157806355f804b3146103ca5780635ffc1de4146103f3576101b7565b80632a55205a146102fa5780633ccfd60b146103385780633e4086e51461034f576101b7565b8063081812fc11610195578063081812fc1461024f578063095ea7b31461028c57806323b872dd146102b557806326da6e23146102de576101b7565b806301ffc9a7146101bc5780630423c7de146101f957806306fdde0314610224575b600080fd5b3480156101c857600080fd5b506101e360048036038101906101de9190612553565b6106a2565b6040516101f09190612af9565b60405180910390f35b34801561020557600080fd5b5061020e6106c4565b60405161021b9190612d36565b60405180910390f35b34801561023057600080fd5b506102396106ca565b6040516102469190612b14565b60405180910390f35b34801561025b57600080fd5b50610276600480360381019061027191906125f6565b610758565b6040516102839190612a1d565b60405180910390f35b34801561029857600080fd5b506102b360048036038101906102ae9190612513565b61078b565b005b3480156102c157600080fd5b506102dc60048036038101906102d791906123f8565b610974565b005b6102f860048036038101906102f391906125f6565b610d74565b005b34801561030657600080fd5b50610321600480360381019061031c9190612623565b610fc6565b60405161032f929190612ad0565b60405180910390f35b34801561034457600080fd5b5061034d611012565b005b34801561035b57600080fd5b50610376600480360381019061037191906125f6565b611025565b005b34801561038457600080fd5b5061039f600480360381019061039a919061238b565b6110a4565b005b3480156103ad57600080fd5b506103c860048036038101906103c391906123f8565b61115d565b005b3480156103d657600080fd5b506103f160048036038101906103ec91906125ad565b6112a4565b005b3480156103ff57600080fd5b5061041a600480360381019061041591906125f6565b611333565b005b34801561042857600080fd5b50610443600480360381019061043e91906125f6565b6113b2565b6040516104509190612a1d565b60405180910390f35b34801561046557600080fd5b5061046e61145e565b60405161047b9190612d36565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a6919061238b565b611464565b6040516104b89190612d36565b60405180910390f35b3480156104cd57600080fd5b506104d661151c565b005b3480156104e457600080fd5b506104ed61159d565b6040516104fa9190612a1d565b60405180910390f35b34801561050f57600080fd5b5061052a600480360381019061052591906125f6565b6115c7565b005b34801561053857600080fd5b50610541611646565b60405161054e9190612b14565b60405180910390f35b34801561056357600080fd5b5061057e600480360381019061057991906124d3565b6116d4565b005b34801561058c57600080fd5b506105a760048036038101906105a2919061244b565b6117d1565b005b3480156105b557600080fd5b506105d060048036038101906105cb91906125f6565b61191e565b6040516105dd9190612b14565b60405180910390f35b3480156105f257600080fd5b5061060d600480360381019061060891906123b8565b61198a565b60405161061a9190612af9565b60405180910390f35b34801561062f57600080fd5b506106386119b9565b6040516106459190612d36565b60405180910390f35b34801561065a57600080fd5b506106756004803603810190610670919061238b565b6119dd565b005b34801561068357600080fd5b5061068c611ace565b6040516106999190612d36565b60405180910390f35b60006106ad82611af2565b806106bd57506106bc82611b84565b5b9050919050565b600b5481565b600080546106d790612fbf565b80601f016020809104026020016040519081016040528092919081815260200182805461070390612fbf565b80156107505780601f1061072557610100808354040283529160200191610750565b820191906000526020600020905b81548152906001019060200180831161073357829003601f168201915b505050505081565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108835750600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990612cd6565b60405180910390fd5b826004600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90612d16565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612bd6565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b455750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80610bae57506004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be490612cd6565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008111610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae90612b96565b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000014811115610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1190612c76565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000003e881600a54610e499190612df4565b1115610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8190612b76565b60405180910390fd5b42600b541115610ecf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec690612b36565b60405180910390fd5b80600c54610edd9190612e7b565b341015610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690612bb6565b60405180910390fd5b80600c54610f2d9190612e7b565b3414610f6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6590612c16565b60405180910390fd5b6000600a54905060005b82811015610fa857610f95338284610f909190612df4565b611be6565b8080610fa090613022565b915050610f78565b5081600a6000828254610fbb9190612df4565b925050819055505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915061271060075484610fff9190612e7b565b6110099190612e4a565b90509250929050565b61102361101d61159d565b47611d2c565b565b3373ffffffffffffffffffffffffffffffffffffffff1661104461159d565b73ffffffffffffffffffffffffffffffffffffffff161461109a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109190612c56565b60405180910390fd5b8060078190555050565b3373ffffffffffffffffffffffffffffffffffffffff166110c361159d565b73ffffffffffffffffffffffffffffffffffffffff1614611119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111090612c56565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611168838383610974565b60008273ffffffffffffffffffffffffffffffffffffffff163b1480611260575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a023386856040518463ffffffff1660e01b81526004016111ed93929190612a86565b602060405180830381600087803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f9190612580565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b61129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129690612c36565b60405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff166112c361159d565b73ffffffffffffffffffffffffffffffffffffffff1614611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090612c56565b60405180910390fd5b806009908051906020019061132f9291906121b9565b5050565b3373ffffffffffffffffffffffffffffffffffffffff1661135261159d565b73ffffffffffffffffffffffffffffffffffffffff16146113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f90612c56565b60405180910390fd5b80600b8190555050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff161415611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090612cf6565b60405180910390fd5b919050565b600c5481565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cc90612bf6565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661153b61159d565b73ffffffffffffffffffffffffffffffffffffffff1614611591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158890612c56565b60405180910390fd5b61159b6000611d7f565b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff166115e661159d565b73ffffffffffffffffffffffffffffffffffffffff161461163c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163390612c56565b60405180910390fd5b80600c8190555050565b6001805461165390612fbf565b80601f016020809104026020016040519081016040528092919081815260200182805461167f90612fbf565b80156116cc5780601f106116a1576101008083540402835291602001916116cc565b820191906000526020600020905b8154815290600101906020018083116116af57829003601f168201915b505050505081565b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516117c59190612af9565b60405180910390a35050565b6117dc858585610974565b60008473ffffffffffffffffffffffffffffffffffffffff163b14806118d8575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663150b7a0233888787876040518663ffffffff1660e01b8152600401611865959493929190612a38565b602060405180830381600087803b15801561187f57600080fd5b505af1158015611893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b79190612580565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b611917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190e90612c36565b60405180910390fd5b5050505050565b606060006009805461192f90612fbf565b905014156119575760405180606001604052806035815260200161372c603591399050611985565b600961196283611e45565b6040516020016119739291906129f9565b60405160208183030381529060405290505b919050565b60056020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000001481565b3373ffffffffffffffffffffffffffffffffffffffff166119fc61159d565b73ffffffffffffffffffffffffffffffffffffffff1614611a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4990612c56565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab990612b56565b60405180910390fd5b611acb81611d7f565b50565b7f00000000000000000000000000000000000000000000000000000000000003e881565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b4d57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611b7d5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611bdf5750632a55205a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b611bf08282611fa6565b60008273ffffffffffffffffffffffffffffffffffffffff163b1480611ce9575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a02336000856040518463ffffffff1660e01b8152600401611c7693929190612a86565b602060405180830381600087803b158015611c9057600080fd5b505af1158015611ca4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc89190612580565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f90612c36565b60405180910390fd5b5050565b600080600080600085875af1905080611d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7190612c96565b60405180910390fd5b505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60606000821415611e8d576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611fa1565b600082905060005b60008214611ebf578080611ea890613022565b915050600a82611eb89190612e4a565b9150611e95565b60008167ffffffffffffffff811115611edb57611eda613158565b5b6040519080825280601f01601f191660200182016040528015611f0d5781602001600182028036833780820191505090505b5090505b60008514611f9a57600182611f269190612ed5565b9150600a85611f35919061306b565b6030611f419190612df4565b60f81b818381518110611f5757611f56613129565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611f939190612e4a565b9450611f11565b8093505050505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200d90612bd6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120af90612cb6565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b8280546121c590612fbf565b90600052602060002090601f0160209004810192826121e7576000855561222e565b82601f1061220057805160ff191683800117855561222e565b8280016001018555821561222e579182015b8281111561222d578251825591602001919060010190612212565b5b50905061223b919061223f565b5090565b5b80821115612258576000816000905550600101612240565b5090565b600061226f61226a84612d76565b612d51565b90508281526020810184848401111561228b5761228a613196565b5b612296848285612f7d565b509392505050565b6000813590506122ad816136cf565b92915050565b6000813590506122c2816136e6565b92915050565b6000813590506122d7816136fd565b92915050565b6000815190506122ec816136fd565b92915050565b60008083601f8401126123085761230761318c565b5b8235905067ffffffffffffffff81111561232557612324613187565b5b60208301915083600182028301111561234157612340613191565b5b9250929050565b600082601f83011261235d5761235c61318c565b5b813561236d84826020860161225c565b91505092915050565b60008135905061238581613714565b92915050565b6000602082840312156123a1576123a06131a0565b5b60006123af8482850161229e565b91505092915050565b600080604083850312156123cf576123ce6131a0565b5b60006123dd8582860161229e565b92505060206123ee8582860161229e565b9150509250929050565b600080600060608486031215612411576124106131a0565b5b600061241f8682870161229e565b93505060206124308682870161229e565b925050604061244186828701612376565b9150509250925092565b600080600080600060808688031215612467576124666131a0565b5b60006124758882890161229e565b95505060206124868882890161229e565b945050604061249788828901612376565b935050606086013567ffffffffffffffff8111156124b8576124b761319b565b5b6124c4888289016122f2565b92509250509295509295909350565b600080604083850312156124ea576124e96131a0565b5b60006124f88582860161229e565b9250506020612509858286016122b3565b9150509250929050565b6000806040838503121561252a576125296131a0565b5b60006125388582860161229e565b925050602061254985828601612376565b9150509250929050565b600060208284031215612569576125686131a0565b5b6000612577848285016122c8565b91505092915050565b600060208284031215612596576125956131a0565b5b60006125a4848285016122dd565b91505092915050565b6000602082840312156125c3576125c26131a0565b5b600082013567ffffffffffffffff8111156125e1576125e061319b565b5b6125ed84828501612348565b91505092915050565b60006020828403121561260c5761260b6131a0565b5b600061261a84828501612376565b91505092915050565b6000806040838503121561263a576126396131a0565b5b600061264885828601612376565b925050602061265985828601612376565b9150509250929050565b61266c81612f09565b82525050565b61267b81612f1b565b82525050565b600061268d8385612dc7565b935061269a838584612f7d565b6126a3836131a5565b840190509392505050565b60006126b982612dbc565b6126c38185612dd8565b93506126d3818560208601612f8c565b6126dc816131a5565b840191505092915050565b60006126f282612dbc565b6126fc8185612de9565b935061270c818560208601612f8c565b80840191505092915050565b6000815461272581612fbf565b61272f8186612de9565b9450600182166000811461274a576001811461275b5761278e565b60ff1983168652818601935061278e565b61276485612da7565b60005b8381101561278657815481890152600182019150602081019050612767565b838801955050505b50505092915050565b60006127a4603f83612dd8565b91506127af826131b6565b604082019050919050565b60006127c7602683612dd8565b91506127d282613205565b604082019050919050565b60006127ea605283612dd8565b91506127f582613254565b606082019050919050565b600061280d605b83612dd8565b9150612818826132c9565b606082019050919050565b6000612830609183612dd8565b915061283b8261333e565b60a082019050919050565b6000612853601183612dd8565b915061285e826133ff565b602082019050919050565b6000612876600c83612dd8565b915061288182613428565b602082019050919050565b6000612899608c83612dd8565b91506128a482613451565b60a082019050919050565b60006128bc601083612dd8565b91506128c782613512565b602082019050919050565b60006128df602083612dd8565b91506128ea8261353b565b602082019050919050565b6000612902606b83612dd8565b915061290d82613564565b608082019050919050565b6000612925600083612dc7565b9150612930826135ff565b600082019050919050565b6000612948601383612dd8565b915061295382613602565b602082019050919050565b600061296b600e83612dd8565b91506129768261362b565b602082019050919050565b600061298e600e83612dd8565b915061299982613654565b602082019050919050565b60006129b1600a83612dd8565b91506129bc8261367d565b602082019050919050565b60006129d4600a83612dd8565b91506129df826136a6565b602082019050919050565b6129f381612f73565b82525050565b6000612a058285612718565b9150612a1182846126e7565b91508190509392505050565b6000602082019050612a326000830184612663565b92915050565b6000608082019050612a4d6000830188612663565b612a5a6020830187612663565b612a6760408301866129ea565b8181036060830152612a7a818486612681565b90509695505050505050565b6000608082019050612a9b6000830186612663565b612aa86020830185612663565b612ab560408301846129ea565b8181036060830152612ac681612918565b9050949350505050565b6000604082019050612ae56000830185612663565b612af260208301846129ea565b9392505050565b6000602082019050612b0e6000830184612672565b92915050565b60006020820190508181036000830152612b2e81846126ae565b905092915050565b60006020820190508181036000830152612b4f81612797565b9050919050565b60006020820190508181036000830152612b6f816127ba565b9050919050565b60006020820190508181036000830152612b8f816127dd565b9050919050565b60006020820190508181036000830152612baf81612800565b9050919050565b60006020820190508181036000830152612bcf81612823565b9050919050565b60006020820190508181036000830152612bef81612846565b9050919050565b60006020820190508181036000830152612c0f81612869565b9050919050565b60006020820190508181036000830152612c2f8161288c565b9050919050565b60006020820190508181036000830152612c4f816128af565b9050919050565b60006020820190508181036000830152612c6f816128d2565b9050919050565b60006020820190508181036000830152612c8f816128f5565b9050919050565b60006020820190508181036000830152612caf8161293b565b9050919050565b60006020820190508181036000830152612ccf8161295e565b9050919050565b60006020820190508181036000830152612cef81612981565b9050919050565b60006020820190508181036000830152612d0f816129a4565b9050919050565b60006020820190508181036000830152612d2f816129c7565b9050919050565b6000602082019050612d4b60008301846129ea565b92915050565b6000612d5b612d6c565b9050612d678282612ff1565b919050565b6000604051905090565b600067ffffffffffffffff821115612d9157612d90613158565b5b612d9a826131a5565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000612dff82612f73565b9150612e0a83612f73565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e3f57612e3e61309c565b5b828201905092915050565b6000612e5582612f73565b9150612e6083612f73565b925082612e7057612e6f6130cb565b5b828204905092915050565b6000612e8682612f73565b9150612e9183612f73565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612eca57612ec961309c565b5b828202905092915050565b6000612ee082612f73565b9150612eeb83612f73565b925082821015612efe57612efd61309c565b5b828203905092915050565b6000612f1482612f53565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612faa578082015181840152602081019050612f8f565b83811115612fb9576000848401525b50505050565b60006002820490506001821680612fd757607f821691505b60208210811415612feb57612fea6130fa565b5b50919050565b612ffa826131a5565b810181811067ffffffffffffffff8211171561301957613018613158565b5b80604052505050565b600061302d82612f73565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156130605761305f61309c565b5b600182019050919050565b600061307682612f73565b915061308183612f73565b925082613091576130906130cb565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f626c6f62626c6f62626c6f62626c6f6220626c6f62424c4f42626c6f6220424c60008201527f4f42424c4f42626c6f62626c6f6220626c6f62626c6f62424c4f42424c4f4200602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f424c4f42626c6f62626c6f62626c6f6220626c6f62626c6f6220424c4f42206260008201527f6c6f62424c4f4220424c4f42424c4f4220424c4f42424c4f42424c4f42626c6f60208201527f6220626c6f62626c6f62424c4f42424c4f420000000000000000000000000000604082015250565b7f626c6f62626c6f62424c4f42424c4f4220626c6f62626c6f6220626c6f62626c60008201527f6f6220424c4f4220626c6f62424c4f4220424c4f42424c4f4220626c6f62424c60208201527f4f42626c6f62626c6f6220626c6f62424c4f42626c6f62626c6f620000000000604082015250565b7f626c6f62626c6f62424c4f4220626c6f62424c4f4220626c6f62626c6f62206260008201527f6c6f62626c6f62424c4f4220424c4f4220626c6f62626c6f62424c4f42424c4f60208201527f4220626c6f62626c6f6220626c6f62626c6f6220424c4f4220626c6f62626c6f60408201527f62626c6f6220626c6f6220424c4f42424c4f4220626c6f62424c4f42626c6f6260608201527f20626c6f62424c4f42424c4f42424c4f42000000000000000000000000000000608082015250565b7f494e56414c49445f524543495049454e54000000000000000000000000000000600082015250565b7f5a45524f5f414444524553530000000000000000000000000000000000000000600082015250565b7f626c6f62626c6f62424c4f4220626c6f62424c4f4220626c6f62626c6f62206260008201527f6c6f62626c6f62424c4f4220424c4f4220626c6f62626c6f62424c4f42424c4f60208201527f4220626c6f62626c6f6220626c6f62626c6f6220424c4f4220626c6f62424c4f60408201527f42626c6f62424c4f4220424c4f42424c4f42626c6f62626c6f6220626c6f626260608201527f6c6f62626c6f6220626c6f620000000000000000000000000000000000000000608082015250565b7f554e534146455f524543495049454e5400000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f626c6f62626c6f62424c4f42424c4f4220626c6f62626c6f6220626c6f62626c60008201527f6f6220424c4f4220424c4f42626c6f62626c6f62424c4f4220626c6f62424c4f60208201527f42626c6f6220424c4f42626c6f62626c6f62626c6f6220424c4f42424c4f424260408201527f4c4f42424c4f42626c6f62000000000000000000000000000000000000000000606082015250565b50565b7f4554485f5452414e534645525f4641494c454400000000000000000000000000600082015250565b7f414c52454144595f4d494e544544000000000000000000000000000000000000600082015250565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b7f4e4f545f4d494e54454400000000000000000000000000000000000000000000600082015250565b7f57524f4e475f46524f4d00000000000000000000000000000000000000000000600082015250565b6136d881612f09565b81146136e357600080fd5b50565b6136ef81612f1b565b81146136fa57600080fd5b50565b61370681612f27565b811461371157600080fd5b50565b61371d81612f73565b811461372857600080fd5b5056fe697066733a2f2f516d55793834506554446f545753704c7674587069696f634139414a4c3244654364326347666a3655697a59334ca2646970667358221220d8c46c100a84b02e7c233303a18166e6a99018f30bdc181ddda5f6de6cf91bb464736f6c63430008070033

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

0000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _activationTimestamp (uint256): 0

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

1337:3047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4142:239;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1442:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;896:18:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1841:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2450:282;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2947:741;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2462:1183:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;176:253:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3651:107:0;;;;;;;;;;;;;:::i;:::-;;2261:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2144:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3694:396:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2354:102:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1999:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1324:149:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1597:41:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1479:168:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;542:101:3;;;;;;;;;;;;;:::i;:::-;;330:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1900:93:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;921:20:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2738:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4096:427;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3867:269:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1894:68:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1544:46:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;649:198:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1645:45:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4142:239;4268:4;4295:37;4320:11;4295:24;:37::i;:::-;:79;;;;4336:38;4362:11;4336:25;:38::i;:::-;4295:79;4288:86;;4142:239;;;:::o;1442:34::-;;;;:::o;896:18:2:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1841:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;2450:282::-;2521:13;2537:8;:12;2546:2;2537:12;;;;;;;;;;;;;;;;;;;;;2521:28;;2582:5;2568:19;;:10;:19;;;:58;;;;2591:16;:23;2608:5;2591:23;;;;;;;;;;;;;;;:35;2615:10;2591:35;;;;;;;;;;;;;;;;;;;;;;;;;2568:58;2560:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;2674:7;2656:11;:15;2668:2;2656:15;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;2722:2;2713:7;2697:28;;2706:5;2697:28;;;;;;;;;;;;2511:221;2450:282;;:::o;2947:741::-;3078:8;:12;3087:2;3078:12;;;;;;;;;;;;;;;;;;;;;3070:20;;:4;:20;;;3062:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;3138:1;3124:16;;:2;:16;;;;3116:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3208:4;3194:18;;:10;:18;;;:56;;;;3216:16;:22;3233:4;3216:22;;;;;;;;;;;;;;;:34;3239:10;3216:34;;;;;;;;;;;;;;;;;;;;;;;;;3194:56;:89;;;;3268:11;:15;3280:2;3268:15;;;;;;;;;;;;;;;;;;;;;3254:29;;:10;:29;;;3194:89;3173:150;;;;;;;;;;;;:::i;:::-;;;;;;;;;3523:10;:16;3534:4;3523:16;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;3556:10;:14;3567:2;3556:14;;;;;;;;;;;;;;;;:16;;;;;;;;;;;;;3608:2;3593:8;:12;3602:2;3593:12;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;3628:11;:15;3640:2;3628:15;;;;;;;;;;;;3621:22;;;;;;;;;;;3678:2;3674;3659:22;;3668:4;3659:22;;;;;;;;;;;;2947:741;;;:::o;2462:1183:0:-;2541:1;2532:6;:10;2524:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;2666:16;2656:6;:26;;2648:146;;;;;;;;;;;;:::i;:::-;;;;;;;;;2836:13;2826:6;2812:11;;:20;;;;:::i;:::-;:37;;2804:132;;;;;;;;;;;;:::i;:::-;;;;;;;;;2977:15;2954:19;;:38;;2946:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;3106:6;3091:12;;:21;;;;:::i;:::-;3078:9;:34;;3070:192;;;;;;;;;;;;:::i;:::-;;;;;;;;;3308:6;3293:12;;:21;;;;:::i;:::-;3280:9;:34;3272:187;;;;;;;;;;;;:::i;:::-;;;;;;;;;3469:21;3493:11;;3469:35;;3518:6;3514:94;3530:6;3526:1;:10;3514:94;;;3557:40;3567:10;3595:1;3579:13;:17;;;;:::i;:::-;3557:9;:40::i;:::-;3538:3;;;;;:::i;:::-;;;;3514:94;;;;3632:6;3617:11;;:21;;;;;;;:::i;:::-;;;;;;;;2514:1131;2462:1183;:::o;176:253:1:-;271:16;297:21;346:17;;;;;;;;;;;335:28;;417:5;402:11;;390:9;:23;;;;:::i;:::-;389:33;;;;:::i;:::-;373:49;;176:253;;;;;:::o;3651:107:0:-;3688:63;3720:7;:5;:7::i;:::-;3729:21;3688:31;:63::i;:::-;3651:107::o;2261:87::-;471:10:3;460:21;;:7;:5;:7::i;:::-;:21;;;452:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2338:3:0::1;2324:11;:17;;;;2261:87:::0;:::o;2144:111::-;471:10:3;460:21;;:7;:5;:7::i;:::-;:21;;;452:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2239:9:0::1;2219:17;;:29;;;;;;;;;;;;;;;;;;2144:111:::0;:::o;3694:396:2:-;3813:26;3826:4;3832:2;3836;3813:12;:26::i;:::-;3889:1;3871:2;:14;;;:19;:170;;;;3996:45;;;3910:131;;;3930:2;3910:40;;;3951:10;3963:4;3969:2;3910:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:131;;;;3871:170;3850:233;;;;;;;;;;;;:::i;:::-;;;;;;;;;3694:396;;;:::o;2354:102:0:-;471:10:3;460:21;;:7;:5;:7::i;:::-;:21;;;452:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2438:11:0::1;2428:7;:21;;;;;;;;;;;;:::i;:::-;;2354:102:::0;:::o;1999:138::-;471:10:3;460:21;;:7;:5;:7::i;:::-;:21;;;452:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:20:0::1;2088:19;:42;;;;1999:138:::0;:::o;1324:149:2:-;1382:13;1449:1;1415:36;;1424:8;:12;1433:2;1424:12;;;;;;;;;;;;;;;;;;;;;1416:20;;;1415:36;;;;1407:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;1324:149;;;:::o;1597:41:0:-;;;;:::o;1479:168:2:-;1542:7;1586:1;1569:19;;:5;:19;;;;1561:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1623:10;:17;1634:5;1623:17;;;;;;;;;;;;;;;;1616:24;;1479:168;;;:::o;542:101:3:-;471:10;460:21;;:7;:5;:7::i;:::-;:21;;;452:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;606:30:::1;633:1;606:18;:30::i;:::-;542:101::o:0;330:85::-;376:7;402:6;;;;;;;;;;;395:13;;330:85;:::o;1900:93:0:-;471:10:3;460:21;;:7;:5;:7::i;:::-;:21;;;452:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1978:8:0::1;1963:12;:23;;;;1900:93:::0;:::o;921:20:2:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2738:203::-;2864:8;2823:16;:28;2840:10;2823:28;;;;;;;;;;;;;;;:38;2852:8;2823:38;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;2915:8;2888:46;;2903:10;2888:46;;;2925:8;2888:46;;;;;;:::i;:::-;;;;;;;;2738:203;;:::o;4096:427::-;4244:26;4257:4;4263:2;4267;4244:12;:26::i;:::-;4320:1;4302:2;:14;;;:19;:172;;;;4429:45;;;4341:133;;;4361:2;4341:40;;;4382:10;4394:4;4400:2;4404:4;;4341:68;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:133;;;;4302:172;4281:235;;;;;;;;;;;;:::i;:::-;;;;;;;;;4096:427;;;;;:::o;3867:269:0:-;3932:13;3986:1;3967:7;3961:21;;;;;:::i;:::-;;;:26;3957:94;;;3989:62;;;;;;;;;;;;;;;;;;;;;3957:94;4092:7;4101:25;4118:7;4101:16;:25::i;:::-;4075:52;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4061:67;;3867:269;;;;:::o;1894:68:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1544:46:0:-;;;:::o;649:198:3:-;471:10;460:21;;:7;:5;:7::i;:::-;:21;;;452:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;757:1:::1;737:22;;:8;:22;;;;729:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;812:28;831:8;812:18;:28::i;:::-;649:198:::0;:::o;1645:45:0:-;;;:::o;4711:335:2:-;4787:4;4837:10;4822:25;;:11;:25;;;;:100;;;;4912:10;4897:25;;:11;:25;;;;4822:100;:175;;;;4987:10;4972:25;;:11;:25;;;;4822:175;4803:194;;4711:335;;;:::o;435:253:1:-;511:4;561:10;546:25;;:11;:25;;;;:100;;;;636:10;621:25;;:11;:25;;;;546:100;527:119;;435:253;;;:::o;6182:340:2:-;6252:13;6258:2;6262;6252:5;:13::i;:::-;6315:1;6297:2;:14;;;:19;:176;;;;6428:45;;;6336:137;;;6356:2;6336:40;;;6377:10;6397:1;6401:2;6336:72;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:137;;;;6297:176;6276:239;;;;;;;;;;;;:::i;:::-;;;;;;;;;6182:340;;:::o;1028:305:0:-;1100:15;1262:1;1259;1256;1253;1245:6;1241:2;1234:5;1229:35;1215:49;;1292:10;1284:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;1090:243;1028:305;;:::o;853:187:3:-;926:16;945:6;;;;;;;;;;;926:25;;970:8;961:6;;:17;;;;;;;;;;;;;;;;;;1024:8;993:40;;1014:8;993:40;;;;;;;;;;;;916:124;853:187;:::o;291:703:0:-;347:13;573:1;564:5;:10;560:51;;;590:10;;;;;;;;;;;;;;;;;;;;;560:51;620:12;635:5;620:20;;650:14;674:75;689:1;681:4;:9;674:75;;706:8;;;;;:::i;:::-;;;;736:2;728:10;;;;;:::i;:::-;;;674:75;;;758:19;790:6;780:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:39;;807:150;823:1;814:5;:10;807:150;;850:1;840:11;;;;;:::i;:::-;;;916:2;908:5;:10;;;;:::i;:::-;895:2;:24;;;;:::i;:::-;882:39;;865:6;872;865:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;944:2;935:11;;;;;:::i;:::-;;;807:150;;;980:6;966:21;;;;;291:703;;;;:::o;5240:371:2:-;5328:1;5314:16;;:2;:16;;;;5306:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;5395:1;5371:26;;:8;:12;5380:2;5371:12;;;;;;;;;;;;;;;;;;;;;:26;;;5363:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;5506:10;:14;5517:2;5506:14;;;;;;;;;;;;;;;;:16;;;;;;;;;;;;;5558:2;5543:8;:12;5552:2;5543:12;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;5601:2;5597;5576:28;;5593:1;5576:28;;;;;;;;;;;;5240:371;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:4:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;425:139::-;471:5;509:6;496:20;487:29;;525:33;552:5;525:33;:::i;:::-;425:139;;;;:::o;570:133::-;613:5;651:6;638:20;629:29;;667:30;691:5;667:30;:::i;:::-;570:133;;;;:::o;709:137::-;754:5;792:6;779:20;770:29;;808:32;834:5;808:32;:::i;:::-;709:137;;;;:::o;852:141::-;908:5;939:6;933:13;924:22;;955:32;981:5;955:32;:::i;:::-;852:141;;;;:::o;1012:552::-;1069:8;1079:6;1129:3;1122:4;1114:6;1110:17;1106:27;1096:122;;1137:79;;:::i;:::-;1096:122;1250:6;1237:20;1227:30;;1280:18;1272:6;1269:30;1266:117;;;1302:79;;:::i;:::-;1266:117;1416:4;1408:6;1404:17;1392:29;;1470:3;1462:4;1454:6;1450:17;1440:8;1436:32;1433:41;1430:128;;;1477:79;;:::i;:::-;1430:128;1012:552;;;;;:::o;1584:340::-;1640:5;1689:3;1682:4;1674:6;1670:17;1666:27;1656:122;;1697:79;;:::i;:::-;1656:122;1814:6;1801:20;1839:79;1914:3;1906:6;1899:4;1891:6;1887:17;1839:79;:::i;:::-;1830:88;;1646:278;1584:340;;;;:::o;1930:139::-;1976:5;2014:6;2001:20;1992:29;;2030:33;2057:5;2030:33;:::i;:::-;1930:139;;;;:::o;2075:329::-;2134:6;2183:2;2171:9;2162:7;2158:23;2154:32;2151:119;;;2189:79;;:::i;:::-;2151:119;2309:1;2334:53;2379:7;2370:6;2359:9;2355:22;2334:53;:::i;:::-;2324:63;;2280:117;2075:329;;;;:::o;2410:474::-;2478:6;2486;2535:2;2523:9;2514:7;2510:23;2506:32;2503:119;;;2541:79;;:::i;:::-;2503:119;2661:1;2686:53;2731:7;2722:6;2711:9;2707:22;2686:53;:::i;:::-;2676:63;;2632:117;2788:2;2814:53;2859:7;2850:6;2839:9;2835:22;2814:53;:::i;:::-;2804:63;;2759:118;2410:474;;;;;:::o;2890:619::-;2967:6;2975;2983;3032:2;3020:9;3011:7;3007:23;3003:32;3000:119;;;3038:79;;:::i;:::-;3000:119;3158:1;3183:53;3228:7;3219:6;3208:9;3204:22;3183:53;:::i;:::-;3173:63;;3129:117;3285:2;3311:53;3356:7;3347:6;3336:9;3332:22;3311:53;:::i;:::-;3301:63;;3256:118;3413:2;3439:53;3484:7;3475:6;3464:9;3460:22;3439:53;:::i;:::-;3429:63;;3384:118;2890:619;;;;;:::o;3515:963::-;3612:6;3620;3628;3636;3644;3693:3;3681:9;3672:7;3668:23;3664:33;3661:120;;;3700:79;;:::i;:::-;3661:120;3820:1;3845:53;3890:7;3881:6;3870:9;3866:22;3845:53;:::i;:::-;3835:63;;3791:117;3947:2;3973:53;4018:7;4009:6;3998:9;3994:22;3973:53;:::i;:::-;3963:63;;3918:118;4075:2;4101:53;4146:7;4137:6;4126:9;4122:22;4101:53;:::i;:::-;4091:63;;4046:118;4231:2;4220:9;4216:18;4203:32;4262:18;4254:6;4251:30;4248:117;;;4284:79;;:::i;:::-;4248:117;4397:64;4453:7;4444:6;4433:9;4429:22;4397:64;:::i;:::-;4379:82;;;;4174:297;3515:963;;;;;;;;:::o;4484:468::-;4549:6;4557;4606:2;4594:9;4585:7;4581:23;4577:32;4574:119;;;4612:79;;:::i;:::-;4574:119;4732:1;4757:53;4802:7;4793:6;4782:9;4778:22;4757:53;:::i;:::-;4747:63;;4703:117;4859:2;4885:50;4927:7;4918:6;4907:9;4903:22;4885:50;:::i;:::-;4875:60;;4830:115;4484:468;;;;;:::o;4958:474::-;5026:6;5034;5083:2;5071:9;5062:7;5058:23;5054:32;5051:119;;;5089:79;;:::i;:::-;5051:119;5209:1;5234:53;5279:7;5270:6;5259:9;5255:22;5234:53;:::i;:::-;5224:63;;5180:117;5336:2;5362:53;5407:7;5398:6;5387:9;5383:22;5362:53;:::i;:::-;5352:63;;5307:118;4958:474;;;;;:::o;5438:327::-;5496:6;5545:2;5533:9;5524:7;5520:23;5516:32;5513:119;;;5551:79;;:::i;:::-;5513:119;5671:1;5696:52;5740:7;5731:6;5720:9;5716:22;5696:52;:::i;:::-;5686:62;;5642:116;5438:327;;;;:::o;5771:349::-;5840:6;5889:2;5877:9;5868:7;5864:23;5860:32;5857:119;;;5895:79;;:::i;:::-;5857:119;6015:1;6040:63;6095:7;6086:6;6075:9;6071:22;6040:63;:::i;:::-;6030:73;;5986:127;5771:349;;;;:::o;6126:509::-;6195:6;6244:2;6232:9;6223:7;6219:23;6215:32;6212:119;;;6250:79;;:::i;:::-;6212:119;6398:1;6387:9;6383:17;6370:31;6428:18;6420:6;6417:30;6414:117;;;6450:79;;:::i;:::-;6414:117;6555:63;6610:7;6601:6;6590:9;6586:22;6555:63;:::i;:::-;6545:73;;6341:287;6126:509;;;;:::o;6641:329::-;6700:6;6749:2;6737:9;6728:7;6724:23;6720:32;6717:119;;;6755:79;;:::i;:::-;6717:119;6875:1;6900:53;6945:7;6936:6;6925:9;6921:22;6900:53;:::i;:::-;6890:63;;6846:117;6641:329;;;;:::o;6976:474::-;7044:6;7052;7101:2;7089:9;7080:7;7076:23;7072:32;7069:119;;;7107:79;;:::i;:::-;7069:119;7227:1;7252:53;7297:7;7288:6;7277:9;7273:22;7252:53;:::i;:::-;7242:63;;7198:117;7354:2;7380:53;7425:7;7416:6;7405:9;7401:22;7380:53;:::i;:::-;7370:63;;7325:118;6976:474;;;;;:::o;7456:118::-;7543:24;7561:5;7543:24;:::i;:::-;7538:3;7531:37;7456:118;;:::o;7580:109::-;7661:21;7676:5;7661:21;:::i;:::-;7656:3;7649:34;7580:109;;:::o;7717:301::-;7813:3;7834:70;7897:6;7892:3;7834:70;:::i;:::-;7827:77;;7914:43;7950:6;7945:3;7938:5;7914:43;:::i;:::-;7982:29;8004:6;7982:29;:::i;:::-;7977:3;7973:39;7966:46;;7717:301;;;;;:::o;8024:364::-;8112:3;8140:39;8173:5;8140:39;:::i;:::-;8195:71;8259:6;8254:3;8195:71;:::i;:::-;8188:78;;8275:52;8320:6;8315:3;8308:4;8301:5;8297:16;8275:52;:::i;:::-;8352:29;8374:6;8352:29;:::i;:::-;8347:3;8343:39;8336:46;;8116:272;8024:364;;;;:::o;8394:377::-;8500:3;8528:39;8561:5;8528:39;:::i;:::-;8583:89;8665:6;8660:3;8583:89;:::i;:::-;8576:96;;8681:52;8726:6;8721:3;8714:4;8707:5;8703:16;8681:52;:::i;:::-;8758:6;8753:3;8749:16;8742:23;;8504:267;8394:377;;;;:::o;8801:845::-;8904:3;8941:5;8935:12;8970:36;8996:9;8970:36;:::i;:::-;9022:89;9104:6;9099:3;9022:89;:::i;:::-;9015:96;;9142:1;9131:9;9127:17;9158:1;9153:137;;;;9304:1;9299:341;;;;9120:520;;9153:137;9237:4;9233:9;9222;9218:25;9213:3;9206:38;9273:6;9268:3;9264:16;9257:23;;9153:137;;9299:341;9366:38;9398:5;9366:38;:::i;:::-;9426:1;9440:154;9454:6;9451:1;9448:13;9440:154;;;9528:7;9522:14;9518:1;9513:3;9509:11;9502:35;9578:1;9569:7;9565:15;9554:26;;9476:4;9473:1;9469:12;9464:17;;9440:154;;;9623:6;9618:3;9614:16;9607:23;;9306:334;;9120:520;;8908:738;;8801:845;;;;:::o;9652:366::-;9794:3;9815:67;9879:2;9874:3;9815:67;:::i;:::-;9808:74;;9891:93;9980:3;9891:93;:::i;:::-;10009:2;10004:3;10000:12;9993:19;;9652:366;;;:::o;10024:::-;10166:3;10187:67;10251:2;10246:3;10187:67;:::i;:::-;10180:74;;10263:93;10352:3;10263:93;:::i;:::-;10381:2;10376:3;10372:12;10365:19;;10024:366;;;:::o;10396:::-;10538:3;10559:67;10623:2;10618:3;10559:67;:::i;:::-;10552:74;;10635:93;10724:3;10635:93;:::i;:::-;10753:2;10748:3;10744:12;10737:19;;10396:366;;;:::o;10768:::-;10910:3;10931:67;10995:2;10990:3;10931:67;:::i;:::-;10924:74;;11007:93;11096:3;11007:93;:::i;:::-;11125:2;11120:3;11116:12;11109:19;;10768:366;;;:::o;11140:368::-;11282:3;11303:68;11367:3;11362;11303:68;:::i;:::-;11296:75;;11380:93;11469:3;11380:93;:::i;:::-;11498:3;11493;11489:13;11482:20;;11140:368;;;:::o;11514:366::-;11656:3;11677:67;11741:2;11736:3;11677:67;:::i;:::-;11670:74;;11753:93;11842:3;11753:93;:::i;:::-;11871:2;11866:3;11862:12;11855:19;;11514:366;;;:::o;11886:::-;12028:3;12049:67;12113:2;12108:3;12049:67;:::i;:::-;12042:74;;12125:93;12214:3;12125:93;:::i;:::-;12243:2;12238:3;12234:12;12227:19;;11886:366;;;:::o;12258:368::-;12400:3;12421:68;12485:3;12480;12421:68;:::i;:::-;12414:75;;12498:93;12587:3;12498:93;:::i;:::-;12616:3;12611;12607:13;12600:20;;12258:368;;;:::o;12632:366::-;12774:3;12795:67;12859:2;12854:3;12795:67;:::i;:::-;12788:74;;12871:93;12960:3;12871:93;:::i;:::-;12989:2;12984:3;12980:12;12973:19;;12632:366;;;:::o;13004:::-;13146:3;13167:67;13231:2;13226:3;13167:67;:::i;:::-;13160:74;;13243:93;13332:3;13243:93;:::i;:::-;13361:2;13356:3;13352:12;13345:19;;13004:366;;;:::o;13376:368::-;13518:3;13539:68;13603:3;13598;13539:68;:::i;:::-;13532:75;;13616:93;13705:3;13616:93;:::i;:::-;13734:3;13729;13725:13;13718:20;;13376:368;;;:::o;13750:362::-;13891:3;13912:65;13975:1;13970:3;13912:65;:::i;:::-;13905:72;;13986:93;14075:3;13986:93;:::i;:::-;14104:1;14099:3;14095:11;14088:18;;13750:362;;;:::o;14118:366::-;14260:3;14281:67;14345:2;14340:3;14281:67;:::i;:::-;14274:74;;14357:93;14446:3;14357:93;:::i;:::-;14475:2;14470:3;14466:12;14459:19;;14118:366;;;:::o;14490:::-;14632:3;14653:67;14717:2;14712:3;14653:67;:::i;:::-;14646:74;;14729:93;14818:3;14729:93;:::i;:::-;14847:2;14842:3;14838:12;14831:19;;14490:366;;;:::o;14862:::-;15004:3;15025:67;15089:2;15084:3;15025:67;:::i;:::-;15018:74;;15101:93;15190:3;15101:93;:::i;:::-;15219:2;15214:3;15210:12;15203:19;;14862:366;;;:::o;15234:::-;15376:3;15397:67;15461:2;15456:3;15397:67;:::i;:::-;15390:74;;15473:93;15562:3;15473:93;:::i;:::-;15591:2;15586:3;15582:12;15575:19;;15234:366;;;:::o;15606:::-;15748:3;15769:67;15833:2;15828:3;15769:67;:::i;:::-;15762:74;;15845:93;15934:3;15845:93;:::i;:::-;15963:2;15958:3;15954:12;15947:19;;15606:366;;;:::o;15978:118::-;16065:24;16083:5;16065:24;:::i;:::-;16060:3;16053:37;15978:118;;:::o;16102:429::-;16279:3;16301:92;16389:3;16380:6;16301:92;:::i;:::-;16294:99;;16410:95;16501:3;16492:6;16410:95;:::i;:::-;16403:102;;16522:3;16515:10;;16102:429;;;;;:::o;16537:222::-;16630:4;16668:2;16657:9;16653:18;16645:26;;16681:71;16749:1;16738:9;16734:17;16725:6;16681:71;:::i;:::-;16537:222;;;;:::o;16765:660::-;16970:4;17008:3;16997:9;16993:19;16985:27;;17022:71;17090:1;17079:9;17075:17;17066:6;17022:71;:::i;:::-;17103:72;17171:2;17160:9;17156:18;17147:6;17103:72;:::i;:::-;17185;17253:2;17242:9;17238:18;17229:6;17185:72;:::i;:::-;17304:9;17298:4;17294:20;17289:2;17278:9;17274:18;17267:48;17332:86;17413:4;17404:6;17396;17332:86;:::i;:::-;17324:94;;16765:660;;;;;;;;:::o;17431:748::-;17680:4;17718:3;17707:9;17703:19;17695:27;;17732:71;17800:1;17789:9;17785:17;17776:6;17732:71;:::i;:::-;17813:72;17881:2;17870:9;17866:18;17857:6;17813:72;:::i;:::-;17895;17963:2;17952:9;17948:18;17939:6;17895:72;:::i;:::-;18014:9;18008:4;18004:20;17999:2;17988:9;17984:18;17977:48;18042:130;18167:4;18042:130;:::i;:::-;18034:138;;17431:748;;;;;;:::o;18185:332::-;18306:4;18344:2;18333:9;18329:18;18321:26;;18357:71;18425:1;18414:9;18410:17;18401:6;18357:71;:::i;:::-;18438:72;18506:2;18495:9;18491:18;18482:6;18438:72;:::i;:::-;18185:332;;;;;:::o;18523:210::-;18610:4;18648:2;18637:9;18633:18;18625:26;;18661:65;18723:1;18712:9;18708:17;18699:6;18661:65;:::i;:::-;18523:210;;;;:::o;18739:313::-;18852:4;18890:2;18879:9;18875:18;18867:26;;18939:9;18933:4;18929:20;18925:1;18914:9;18910:17;18903:47;18967:78;19040:4;19031:6;18967:78;:::i;:::-;18959:86;;18739:313;;;;:::o;19058:419::-;19224:4;19262:2;19251:9;19247:18;19239:26;;19311:9;19305:4;19301:20;19297:1;19286:9;19282:17;19275:47;19339:131;19465:4;19339:131;:::i;:::-;19331:139;;19058:419;;;:::o;19483:::-;19649:4;19687:2;19676:9;19672:18;19664:26;;19736:9;19730:4;19726:20;19722:1;19711:9;19707:17;19700:47;19764:131;19890:4;19764:131;:::i;:::-;19756:139;;19483:419;;;:::o;19908:::-;20074:4;20112:2;20101:9;20097:18;20089:26;;20161:9;20155:4;20151:20;20147:1;20136:9;20132:17;20125:47;20189:131;20315:4;20189:131;:::i;:::-;20181:139;;19908:419;;;:::o;20333:::-;20499:4;20537:2;20526:9;20522:18;20514:26;;20586:9;20580:4;20576:20;20572:1;20561:9;20557:17;20550:47;20614:131;20740:4;20614:131;:::i;:::-;20606:139;;20333:419;;;:::o;20758:::-;20924:4;20962:2;20951:9;20947:18;20939:26;;21011:9;21005:4;21001:20;20997:1;20986:9;20982:17;20975:47;21039:131;21165:4;21039:131;:::i;:::-;21031:139;;20758:419;;;:::o;21183:::-;21349:4;21387:2;21376:9;21372:18;21364:26;;21436:9;21430:4;21426:20;21422:1;21411:9;21407:17;21400:47;21464:131;21590:4;21464:131;:::i;:::-;21456:139;;21183:419;;;:::o;21608:::-;21774:4;21812:2;21801:9;21797:18;21789:26;;21861:9;21855:4;21851:20;21847:1;21836:9;21832:17;21825:47;21889:131;22015:4;21889:131;:::i;:::-;21881:139;;21608:419;;;:::o;22033:::-;22199:4;22237:2;22226:9;22222:18;22214:26;;22286:9;22280:4;22276:20;22272:1;22261:9;22257:17;22250:47;22314:131;22440:4;22314:131;:::i;:::-;22306:139;;22033:419;;;:::o;22458:::-;22624:4;22662:2;22651:9;22647:18;22639:26;;22711:9;22705:4;22701:20;22697:1;22686:9;22682:17;22675:47;22739:131;22865:4;22739:131;:::i;:::-;22731:139;;22458:419;;;:::o;22883:::-;23049:4;23087:2;23076:9;23072:18;23064:26;;23136:9;23130:4;23126:20;23122:1;23111:9;23107:17;23100:47;23164:131;23290:4;23164:131;:::i;:::-;23156:139;;22883:419;;;:::o;23308:::-;23474:4;23512:2;23501:9;23497:18;23489:26;;23561:9;23555:4;23551:20;23547:1;23536:9;23532:17;23525:47;23589:131;23715:4;23589:131;:::i;:::-;23581:139;;23308:419;;;:::o;23733:::-;23899:4;23937:2;23926:9;23922:18;23914:26;;23986:9;23980:4;23976:20;23972:1;23961:9;23957:17;23950:47;24014:131;24140:4;24014:131;:::i;:::-;24006:139;;23733:419;;;:::o;24158:::-;24324:4;24362:2;24351:9;24347:18;24339:26;;24411:9;24405:4;24401:20;24397:1;24386:9;24382:17;24375:47;24439:131;24565:4;24439:131;:::i;:::-;24431:139;;24158:419;;;:::o;24583:::-;24749:4;24787:2;24776:9;24772:18;24764:26;;24836:9;24830:4;24826:20;24822:1;24811:9;24807:17;24800:47;24864:131;24990:4;24864:131;:::i;:::-;24856:139;;24583:419;;;:::o;25008:::-;25174:4;25212:2;25201:9;25197:18;25189:26;;25261:9;25255:4;25251:20;25247:1;25236:9;25232:17;25225:47;25289:131;25415:4;25289:131;:::i;:::-;25281:139;;25008:419;;;:::o;25433:::-;25599:4;25637:2;25626:9;25622:18;25614:26;;25686:9;25680:4;25676:20;25672:1;25661:9;25657:17;25650:47;25714:131;25840:4;25714:131;:::i;:::-;25706:139;;25433:419;;;:::o;25858:222::-;25951:4;25989:2;25978:9;25974:18;25966:26;;26002:71;26070:1;26059:9;26055:17;26046:6;26002:71;:::i;:::-;25858:222;;;;:::o;26086:129::-;26120:6;26147:20;;:::i;:::-;26137:30;;26176:33;26204:4;26196:6;26176:33;:::i;:::-;26086:129;;;:::o;26221:75::-;26254:6;26287:2;26281:9;26271:19;;26221:75;:::o;26302:308::-;26364:4;26454:18;26446:6;26443:30;26440:56;;;26476:18;;:::i;:::-;26440:56;26514:29;26536:6;26514:29;:::i;:::-;26506:37;;26598:4;26592;26588:15;26580:23;;26302:308;;;:::o;26616:141::-;26665:4;26688:3;26680:11;;26711:3;26708:1;26701:14;26745:4;26742:1;26732:18;26724:26;;26616:141;;;:::o;26763:99::-;26815:6;26849:5;26843:12;26833:22;;26763:99;;;:::o;26868:168::-;26951:11;26985:6;26980:3;26973:19;27025:4;27020:3;27016:14;27001:29;;26868:168;;;;:::o;27042:169::-;27126:11;27160:6;27155:3;27148:19;27200:4;27195:3;27191:14;27176:29;;27042:169;;;;:::o;27217:148::-;27319:11;27356:3;27341:18;;27217:148;;;;:::o;27371:305::-;27411:3;27430:20;27448:1;27430:20;:::i;:::-;27425:25;;27464:20;27482:1;27464:20;:::i;:::-;27459:25;;27618:1;27550:66;27546:74;27543:1;27540:81;27537:107;;;27624:18;;:::i;:::-;27537:107;27668:1;27665;27661:9;27654:16;;27371:305;;;;:::o;27682:185::-;27722:1;27739:20;27757:1;27739:20;:::i;:::-;27734:25;;27773:20;27791:1;27773:20;:::i;:::-;27768:25;;27812:1;27802:35;;27817:18;;:::i;:::-;27802:35;27859:1;27856;27852:9;27847:14;;27682:185;;;;:::o;27873:348::-;27913:7;27936:20;27954:1;27936:20;:::i;:::-;27931:25;;27970:20;27988:1;27970:20;:::i;:::-;27965:25;;28158:1;28090:66;28086:74;28083:1;28080:81;28075:1;28068:9;28061:17;28057:105;28054:131;;;28165:18;;:::i;:::-;28054:131;28213:1;28210;28206:9;28195:20;;27873:348;;;;:::o;28227:191::-;28267:4;28287:20;28305:1;28287:20;:::i;:::-;28282:25;;28321:20;28339:1;28321:20;:::i;:::-;28316:25;;28360:1;28357;28354:8;28351:34;;;28365:18;;:::i;:::-;28351:34;28410:1;28407;28403:9;28395:17;;28227:191;;;;:::o;28424:96::-;28461:7;28490:24;28508:5;28490:24;:::i;:::-;28479:35;;28424:96;;;:::o;28526:90::-;28560:7;28603:5;28596:13;28589:21;28578:32;;28526:90;;;:::o;28622:149::-;28658:7;28698:66;28691:5;28687:78;28676:89;;28622:149;;;:::o;28777:126::-;28814:7;28854:42;28847:5;28843:54;28832:65;;28777:126;;;:::o;28909:77::-;28946:7;28975:5;28964:16;;28909:77;;;:::o;28992:154::-;29076:6;29071:3;29066;29053:30;29138:1;29129:6;29124:3;29120:16;29113:27;28992:154;;;:::o;29152:307::-;29220:1;29230:113;29244:6;29241:1;29238:13;29230:113;;;29329:1;29324:3;29320:11;29314:18;29310:1;29305:3;29301:11;29294:39;29266:2;29263:1;29259:10;29254:15;;29230:113;;;29361:6;29358:1;29355:13;29352:101;;;29441:1;29432:6;29427:3;29423:16;29416:27;29352:101;29201:258;29152:307;;;:::o;29465:320::-;29509:6;29546:1;29540:4;29536:12;29526:22;;29593:1;29587:4;29583:12;29614:18;29604:81;;29670:4;29662:6;29658:17;29648:27;;29604:81;29732:2;29724:6;29721:14;29701:18;29698:38;29695:84;;;29751:18;;:::i;:::-;29695:84;29516:269;29465:320;;;:::o;29791:281::-;29874:27;29896:4;29874:27;:::i;:::-;29866:6;29862:40;30004:6;29992:10;29989:22;29968:18;29956:10;29953:34;29950:62;29947:88;;;30015:18;;:::i;:::-;29947:88;30055:10;30051:2;30044:22;29834:238;29791:281;;:::o;30078:233::-;30117:3;30140:24;30158:5;30140:24;:::i;:::-;30131:33;;30186:66;30179:5;30176:77;30173:103;;;30256:18;;:::i;:::-;30173:103;30303:1;30296:5;30292:13;30285:20;;30078:233;;;:::o;30317:176::-;30349:1;30366:20;30384:1;30366:20;:::i;:::-;30361:25;;30400:20;30418:1;30400:20;:::i;:::-;30395:25;;30439:1;30429:35;;30444:18;;:::i;:::-;30429:35;30485:1;30482;30478:9;30473:14;;30317:176;;;;:::o;30499:180::-;30547:77;30544:1;30537:88;30644:4;30641:1;30634:15;30668:4;30665:1;30658:15;30685:180;30733:77;30730:1;30723:88;30830:4;30827:1;30820:15;30854:4;30851:1;30844:15;30871:180;30919:77;30916:1;30909:88;31016:4;31013:1;31006:15;31040:4;31037:1;31030:15;31057:180;31105:77;31102:1;31095:88;31202:4;31199:1;31192:15;31226:4;31223:1;31216:15;31243:180;31291:77;31288:1;31281:88;31388:4;31385:1;31378:15;31412:4;31409:1;31402:15;31429:117;31538:1;31535;31528:12;31552:117;31661:1;31658;31651:12;31675:117;31784:1;31781;31774:12;31798:117;31907:1;31904;31897:12;31921:117;32030:1;32027;32020:12;32044:117;32153:1;32150;32143:12;32167:102;32208:6;32259:2;32255:7;32250:2;32243:5;32239:14;32235:28;32225:38;;32167:102;;;:::o;32275:250::-;32415:34;32411:1;32403:6;32399:14;32392:58;32484:33;32479:2;32471:6;32467:15;32460:58;32275:250;:::o;32531:225::-;32671:34;32667:1;32659:6;32655:14;32648:58;32740:8;32735:2;32727:6;32723:15;32716:33;32531:225;:::o;32762:306::-;32902:34;32898:1;32890:6;32886:14;32879:58;32971:34;32966:2;32958:6;32954:15;32947:59;33040:20;33035:2;33027:6;33023:15;33016:45;32762:306;:::o;33074:315::-;33214:34;33210:1;33202:6;33198:14;33191:58;33283:34;33278:2;33270:6;33266:15;33259:59;33352:29;33347:2;33339:6;33335:15;33328:54;33074:315;:::o;33395:444::-;33535:34;33531:1;33523:6;33519:14;33512:58;33604:34;33599:2;33591:6;33587:15;33580:59;33673:34;33668:2;33660:6;33656:15;33649:59;33742:34;33737:2;33729:6;33725:15;33718:59;33812:19;33806:3;33798:6;33794:16;33787:45;33395:444;:::o;33845:167::-;33985:19;33981:1;33973:6;33969:14;33962:43;33845:167;:::o;34018:162::-;34158:14;34154:1;34146:6;34142:14;34135:38;34018:162;:::o;34186:439::-;34326:34;34322:1;34314:6;34310:14;34303:58;34395:34;34390:2;34382:6;34378:15;34371:59;34464:34;34459:2;34451:6;34447:15;34440:59;34533:34;34528:2;34520:6;34516:15;34509:59;34603:14;34597:3;34589:6;34585:16;34578:40;34186:439;:::o;34631:166::-;34771:18;34767:1;34759:6;34755:14;34748:42;34631:166;:::o;34803:182::-;34943:34;34939:1;34931:6;34927:14;34920:58;34803:182;:::o;34991:368::-;35131:34;35127:1;35119:6;35115:14;35108:58;35200:34;35195:2;35187:6;35183:15;35176:59;35269:34;35264:2;35256:6;35252:15;35245:59;35338:13;35333:2;35325:6;35321:15;35314:38;34991:368;:::o;35365:114::-;;:::o;35485:169::-;35625:21;35621:1;35613:6;35609:14;35602:45;35485:169;:::o;35660:164::-;35800:16;35796:1;35788:6;35784:14;35777:40;35660:164;:::o;35830:::-;35970:16;35966:1;35958:6;35954:14;35947:40;35830:164;:::o;36000:160::-;36140:12;36136:1;36128:6;36124:14;36117:36;36000:160;:::o;36166:::-;36306:12;36302:1;36294:6;36290:14;36283:36;36166:160;:::o;36332:122::-;36405:24;36423:5;36405:24;:::i;:::-;36398:5;36395:35;36385:63;;36444:1;36441;36434:12;36385:63;36332:122;:::o;36460:116::-;36530:21;36545:5;36530:21;:::i;:::-;36523:5;36520:32;36510:60;;36566:1;36563;36556:12;36510:60;36460:116;:::o;36582:120::-;36654:23;36671:5;36654:23;:::i;:::-;36647:5;36644:34;36634:62;;36692:1;36689;36682:12;36634:62;36582:120;:::o;36708:122::-;36781:24;36799:5;36781:24;:::i;:::-;36774:5;36771:35;36761:63;;36820:1;36817;36810:12;36761:63;36708:122;:::o

Swarm Source

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