BNB Price: $694.99 (-2.11%)
Gas: 1 GWei
 

Overview

Max Total Supply

228,619,895.806727BMON

Holders

71,681

Market

Price

$0.0042 @ 0.000006 BNB (-1.86%)

Onchain Market Cap

$954,993.31

Circulating Supply Market Cap

$710,365.00

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
USD Coin: USDC Token
Balance
230 BMON

Value
$0.96 ( ~0.00138132128357536 BNB) [0.0001%]
0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Binamon is a metaverse of digital monsters that live on the Binance Smart Chain (BSC), which allows millions of people to join the NFT and blockchain-based gaming world in an easy, creative and fun way.

Market

Volume (24H):$975.65
Market Capitalization:$710,365.00
Circulating Supply:170,194,929.00 BMON
Market Data Source: Coinmarketcap


Update? Click here to update the token ICO / general information

Contract Source Code Verified (Exact Match)

Contract Name:
BMON

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license, Audited

Contract Source Code (Solidity)Audit Report

/**
 *Submitted for verification at BscScan.com on 2021-06-11
*/

pragma solidity >=0.7.0 <0.9.0;

// SPDX-License-Identifier: Unlicensed
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 Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Ownable {
    address private _owner;
    address private _previousOwner;
    uint256 private _lockTime;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

contract BMON is IERC20, Ownable {

    string private constant _name = "Binamon";
    string private constant _symbol = "BMON";
    uint8 private constant _decimals = 18;  
    uint256 private _totalSupply = 300 * 10**6 * 10**18;
    
    address public seedAndPresale;

    mapping(address => uint256) private balances;
    mapping(address => mapping (address => uint256)) private allowed;
    mapping(address => address) private boosterBuyingAllowed;
    
    // listing restrictions
    uint256 private restrictionLiftTime;
    uint256 private maxRestrictionAmount = 300 * 10**6 * 10**18;
    mapping (address => bool) private isWhitelisted;
    mapping (address => uint256) private lastTx;
    // end restrictions
    
    using SafeMath for uint256;
    
    enum State {
        Locked,
        Restricted, // Bot protection for liquidity pool
        Unlocked
    }
    State public state;
    
    constructor() {  
        state = State.Locked;
        balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }  
    
    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    
    function totalSupply() public override view returns (uint256) {
	    return _totalSupply;
    }
    
    function balanceOf(address tokenOwner) public override view returns (uint256) {
        return balances[tokenOwner];
    }

    function transfer(address receiver, uint256 numTokens) public override launchRestrict(msg.sender, receiver, numTokens) returns (bool) {
        require(numTokens > 0, "Transfer amount must be greater than zero");
        require(numTokens <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(numTokens);
        balances[receiver] = balances[receiver].add(numTokens);
        emit Transfer(msg.sender, receiver, numTokens);
        return true;
    }

    function approve(address delegate, uint256 numTokens) public override returns (bool) {
        allowed[msg.sender][delegate] = numTokens;
        emit Approval(msg.sender, delegate, numTokens);
        return true;
    }

    function allowance(address owner, address delegate) public override view returns (uint256) {
        return allowed[owner][delegate];
    }

    function transferFrom(address owner, address receiver, uint256 numTokens) public override launchRestrict(owner, receiver, numTokens) returns (bool) {
        require(numTokens <= balances[owner]);    
        require(boosterBuyingAllowed[owner] == msg.sender || numTokens <= allowed[owner][msg.sender]);
    
        balances[owner] = balances[owner].sub(numTokens);
        if (boosterBuyingAllowed[owner] != msg.sender) {
            allowed[owner][msg.sender] = allowed[owner][msg.sender].sub(numTokens);
            balances[receiver] = balances[receiver].add(numTokens);
            emit Transfer(owner, receiver, numTokens);
        } else {
            _totalSupply = _totalSupply.sub(numTokens);
            emit Transfer(owner, address(0), numTokens);
        }
        return true;
    }
    
    function boosterBuyingAllowance(address owner) public view returns (bool) {
        return boosterBuyingAllowance(owner, msg.sender);
    }
    
    function boosterBuyingAllowance(address owner, address delegate) public view returns (bool) {
        if (boosterBuyingAllowed[owner] == delegate) return true;
        else return false;
    }
    
    function allowBuyingBoosters(address bmonc) public returns (bool) {
        boosterBuyingAllowed[msg.sender] = bmonc;
        return true;
    }
    
    function setSeedAndPresale(address seedAndPresale_) public onlyOwner() {
        seedAndPresale = seedAndPresale_;
    }
    
    modifier ownerOrPresale {
        require(owner() == msg.sender || seedAndPresale == msg.sender, "Cannot burn tokens");
        _;
    }
    
    function burn(uint256 numTokens) public ownerOrPresale() returns(bool) {
        require(numTokens <= balances[msg.sender]);
        balances[msg.sender] = balances[msg.sender].sub(numTokens);
        _totalSupply = _totalSupply.sub(numTokens);
        emit Transfer(msg.sender, address(0), numTokens);
        return true;
    }
    
    // Security from bots

    // enable/disable works only once, token never returns to Locked
    function setBotProtection(bool enable) public onlyOwner() {
        if (enable && state == State.Locked) state = State.Restricted;
        if (!enable) state = State.Unlocked;
    }

    function setRestrictionAmount(uint256 amount) public onlyOwner() {
        maxRestrictionAmount = amount;
    }

    function whitelistAccount(address account) public onlyOwner() {
        isWhitelisted[account] = true;
    }

    modifier launchRestrict(address sender, address recipient, uint256 amount) {
        if (state == State.Locked) {
            require(sender == owner() || sender == seedAndPresale || isWhitelisted[sender], "Tokens are locked");
        }
        if (state == State.Restricted) {
            require(amount <= maxRestrictionAmount, "BMON: amount greater than max limit in restricted mode");
            if (!isWhitelisted[sender] && !isWhitelisted[recipient]) {
                require(lastTx[sender].add(60) <= block.timestamp && lastTx[recipient].add(60) <= block.timestamp, "BMON: only one tx/min in restricted mode");
                lastTx[sender] = block.timestamp;
                lastTx[recipient] = block.timestamp;
            } else if (!isWhitelisted[recipient]) {
                require(lastTx[recipient].add(60) <= block.timestamp, "BMON: only one tx/min in restricted mode");
                lastTx[recipient] = block.timestamp;
            } else if (!isWhitelisted[sender]) {
                require(lastTx[sender].add(60) <= block.timestamp, "BMON: only one tx/min in restricted mode");
                lastTx[sender] = block.timestamp;
            }
        }
        _;
    }

    // Bot security end
}

contract BMONSeedAndPreSale is Ownable {

    uint256 constant public SEED_MAX_BUY = 5 ether;
    uint256 constant public SEED_MIN_BUY = 1 ether;
    uint256 constant public SEED_PRICE = 0.0000283 ether;
    uint256 constant public SEED_TOKENS = 53 * 10**6 * 10**18;
    
    uint256 constant public PRESALE_MAX_BUY = 5 ether;
    uint256 constant public PRESALE_MIN_BUY = 1 ether;
    uint256 constant public PRESALE_PRICE = 0.00003846 ether;
    uint256 constant public PRESALE_TOKENS = 65 * 10**6 * 10**18;
    
    uint256 constant public SEED_DURATION = 24 hours;
    uint256 constant public DELAY_BEFORE_PRESALE = 21 hours;
    uint256 constant public PRESALE_DURATION = 24 hours;

    BMON public token;
    address public benificiary;
    uint256 public startTime;
    
    // Sales
    mapping (address => uint256) public salesAtSeed;
    mapping (address => uint256) public salesAtPresale;
    uint256 public totalSeedTokensSold;
    uint256 public totalPresaleTokensSold;
    uint256 public totalSeedBnbCollected;
    uint256 public totalPresaleBnbCollected;

    enum State {
        Pending,
        Seed,
        Delay,
        Presale,
        Completed
    }
    
    constructor(address token_, address beneficiary_) {
        token = BMON(token_);
        benificiary = beneficiary_;
    }
    
    function setStartTime(uint256 time) public onlyOwner() {
        startTime = time;
    }
    
    receive() external payable {
        buyTokens();
    }
    
    function getState() public view returns(State) {
        if (block.timestamp < startTime) return State.Pending;
        else if (block.timestamp >= startTime && block.timestamp < startTime + SEED_DURATION) {
            if (totalSeedTokensSold * 100 >= 99 * SEED_TOKENS) return State.Delay;
            else return State.Seed;
        }
        else if (block.timestamp >= startTime + SEED_DURATION && block.timestamp < startTime + SEED_DURATION + DELAY_BEFORE_PRESALE) return State.Delay;
        else if (block.timestamp >= startTime + SEED_DURATION + DELAY_BEFORE_PRESALE &&
                block.timestamp < startTime + SEED_DURATION + DELAY_BEFORE_PRESALE + PRESALE_DURATION) {
            if (totalPresaleTokensSold * 100 >= 99 * PRESALE_TOKENS) return State.Completed;
            else return State.Presale;
        } 
        else if (block.timestamp >= startTime + SEED_DURATION + DELAY_BEFORE_PRESALE + PRESALE_DURATION) return State.Completed;
        else return State.Completed;
    }
    
    function getSalesAtSeed(address account) public view returns(uint256) {
        return salesAtSeed[account];
    }
    
    function getSalesAtPresale(address account) public view returns(uint256) {
        return salesAtPresale[account];
    }

    function buyTokens() public payable {
        State state = getState();
        require(state == State.Seed || state == State.Presale, "Presale is not active");
        
        uint256 tokenAmount;
        if (state == State.Seed) {
            require(msg.value >= SEED_MIN_BUY && msg.value <= SEED_MAX_BUY, "Incorrect transaction amount");
			tokenAmount = (msg.value * 10**18) / SEED_PRICE;
            totalSeedTokensSold += tokenAmount;
            totalSeedBnbCollected += msg.value;
            salesAtSeed[msg.sender] += msg.value;
            require(salesAtSeed[msg.sender] <= SEED_MAX_BUY, "Buy limit exceeded for account");
            
            token.transfer(msg.sender, tokenAmount);
            payable(benificiary).transfer(msg.value);
        }
        if (state == State.Presale) {
            require(msg.value >= PRESALE_MIN_BUY && msg.value <= PRESALE_MAX_BUY, "Incorrect transaction amount");
			tokenAmount = (msg.value * 10**18) / PRESALE_PRICE;
            totalPresaleTokensSold += tokenAmount;
            totalPresaleBnbCollected += msg.value;
            salesAtPresale[msg.sender] += msg.value;
            require(salesAtPresale[msg.sender] <= PRESALE_MAX_BUY, "Buy limit exceeded for account");
            
            token.transfer(msg.sender, tokenAmount);
            payable(benificiary).transfer(msg.value);
        }

        require(totalSeedTokensSold <= SEED_TOKENS && totalPresaleTokensSold <= PRESALE_TOKENS, "Out of tokens");
    }
    
    function closePreSale() public onlyOwner() {
        State state = getState();
        require(state == State.Completed, "Presale is not yet finished");
        
        token.burn(token.balanceOf(address(this)));
        if (address(this).balance > 0) payable(benificiary).transfer(address(this).balance);
    }
}

library SafeMath { 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
      assert(b <= a);
      return a - b;
    }
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
      uint256 c = a + b;
      assert(c >= a);
      return c;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"bmonc","type":"address"}],"name":"allowBuyingBoosters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"delegate","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegate","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"delegate","type":"address"}],"name":"boosterBuyingAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"boosterBuyingAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"seedAndPresale","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"setBotProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setRestrictionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"seedAndPresale_","type":"address"}],"name":"setSeedAndPresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"state","outputs":[{"internalType":"enum BMON.State","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"whitelistAccount","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526af8277896582678ac0000006003556af8277896582678ac0000006009553480156200002f57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600c60006101000a81548160ff0219169083600281111562000118577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b0217905550600354600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620001c59190620001e4565b60405180910390a36200020b565b620001de8162000201565b82525050565b6000602082019050620001fb6000830184620001d3565b92915050565b6000819050919050565b61303c806200021b6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806383af0403116100b8578063c19d93fb1161007c578063c19d93fb1461038d578063d2ae8530146103ab578063dd62ed3e146103db578063ddef907a1461040b578063f2f8271214610427578063f2fde38b1461044357610142565b806383af0403146102d35780638b35bf50146103035780638da5cb5b1461032157806395d89b411461033f578063a9059cbb1461035d57610142565b806342966c681161010a57806342966c681461020157806345e8dbe21461023157806363e0c2f81461024d5780636b4d9b781461026957806370a0823114610299578063715018a6146102c957610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd1461019557806323b872dd146101b3578063313ce567146101e3575b600080fd5b61014f61045f565b60405161015c9190612afc565b60405180910390f35b61017f600480360381019061017a91906128a4565b61049c565b60405161018c9190612ac6565b60405180910390f35b61019d61058e565b6040516101aa9190612bfe565b60405180910390f35b6101cd60048036038101906101c89190612855565b610598565b6040516101da9190612ac6565b60405180910390f35b6101eb6111c9565b6040516101f89190612c19565b60405180910390f35b61021b60048036038101906102169190612909565b6111d2565b6040516102289190612ac6565b60405180910390f35b61024b600480360381019061024691906127f0565b61140c565b005b610267600480360381019061026291906127f0565b6114de565b005b610283600480360381019061027e9190612819565b6115c7565b6040516102909190612ac6565b60405180910390f35b6102b360048036038101906102ae91906127f0565b611670565b6040516102c09190612bfe565b60405180910390f35b6102d16116b9565b005b6102ed60048036038101906102e891906127f0565b611805565b6040516102fa9190612ac6565b60405180910390f35b61030b61188e565b6040516103189190612aab565b60405180910390f35b6103296118b4565b6040516103369190612aab565b60405180910390f35b6103476118dd565b6040516103549190612afc565b60405180910390f35b610377600480360381019061037291906128a4565b61191a565b6040516103849190612ac6565b60405180910390f35b610395612247565b6040516103a29190612ae1565b60405180910390f35b6103c560048036038101906103c091906127f0565b61225a565b6040516103d29190612ac6565b60405180910390f35b6103f560048036038101906103f09190612819565b61226d565b6040516104029190612bfe565b60405180910390f35b610425600480360381019061042091906128e0565b6122f4565b005b610441600480360381019061043c9190612909565b6124bf565b005b61045d600480360381019061045891906127f0565b612557565b005b60606040518060400160405280600781526020017f42696e616d6f6e00000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161057c9190612bfe565b60405180910390a36001905092915050565b6000600354905090565b6000838383600060028111156105d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff16600281111561061f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156107475761062d6118b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806106b35750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806107075750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073d90612bbe565b60405180910390fd5b5b60016002811115610781577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff1660028111156107c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415610c9a57600954811115610814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080b90612b9e565b60405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156108b85750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15610a3d5742610911603c600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115801561097157504261096e603c600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b11155b6109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a790612b3e565b60405180910390fd5b42600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c99565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b6c5742610ae2603c600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115610b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1a90612b3e565b60405180910390fd5b42600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c98565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c975742610c11603c600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4990612b3e565b60405180910390fd5b42600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054851115610ce657600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610dfb5750600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511155b610e0457600080fd5b610e5685600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276490919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461113957610fba85600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276490919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061108c85600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161112c9190612bfe565b60405180910390a36111bb565b61114e8560035461276490919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516111b29190612bfe565b60405180910390a35b600193505050509392505050565b60006012905090565b60003373ffffffffffffffffffffffffffffffffffffffff166111f36118b4565b73ffffffffffffffffffffffffffffffffffffffff16148061126257503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6112a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129890612bde565b60405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156112ed57600080fd5b61133f82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276490919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113978260035461276490919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113fb9190612bfe565b60405180910390a360019050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461149a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149190612b5e565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461156c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156390612b5e565b60405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008173ffffffffffffffffffffffffffffffffffffffff16600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611665576001905061166a565b600090505b92915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e90612b5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f424d4f4e00000000000000000000000000000000000000000000000000000000815250905090565b600033838360006002811115611959577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff1660028111156119a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415611ac9576119af6118b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611a355750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611a895750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abf90612bbe565b60405180910390fd5b5b60016002811115611b03577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff166002811115611b4b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b141561201c57600954811115611b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8d90612b9e565b60405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c3a5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dbf5742611c93603c600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b11158015611cf3575042611cf0603c600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b11155b611d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2990612b3e565b60405180910390fd5b42600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201b565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611eee5742611e64603c600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115611ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9c90612b3e565b60405180910390fd5b42600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201a565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166120195742611f93603c600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb90612b3e565b60405180910390fd5b42600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b6000851161205f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205690612b7e565b60405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511156120ab57600080fd5b6120fd85600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276490919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061219285600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516122329190612bfe565b60405180910390a36001935050505092915050565b600c60009054906101000a900460ff1681565b600061226682336115c7565b9050919050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612382576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237990612b5e565b60405180910390fd5b80801561240e5750600060028111156123c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff16600281111561240c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b145b15612465576001600c60006101000a81548160ff0219169083600281111561245f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055505b806124bc576002600c60006101000a81548160ff021916908360028111156124b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055505b50565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461254d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254490612b5e565b60405180910390fd5b8060098190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dc90612b5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264c90612b1e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082846127219190612c50565b90508381101561275a577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8091505092915050565b60008282111561279d577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b81836127a99190612ca6565b905092915050565b6000813590506127c081612fc1565b92915050565b6000813590506127d581612fd8565b92915050565b6000813590506127ea81612fef565b92915050565b60006020828403121561280257600080fd5b6000612810848285016127b1565b91505092915050565b6000806040838503121561282c57600080fd5b600061283a858286016127b1565b925050602061284b858286016127b1565b9150509250929050565b60008060006060848603121561286a57600080fd5b6000612878868287016127b1565b9350506020612889868287016127b1565b925050604061289a868287016127db565b9150509250925092565b600080604083850312156128b757600080fd5b60006128c5858286016127b1565b92505060206128d6858286016127db565b9150509250929050565b6000602082840312156128f257600080fd5b6000612900848285016127c6565b91505092915050565b60006020828403121561291b57600080fd5b6000612929848285016127db565b91505092915050565b61293b81612cda565b82525050565b61294a81612cec565b82525050565b61295981612d42565b82525050565b600061296a82612c34565b6129748185612c3f565b9350612984818560208601612d54565b61298d81612de5565b840191505092915050565b60006129a5602683612c3f565b91506129b082612df6565b604082019050919050565b60006129c8602883612c3f565b91506129d382612e45565b604082019050919050565b60006129eb602083612c3f565b91506129f682612e94565b602082019050919050565b6000612a0e602983612c3f565b9150612a1982612ebd565b604082019050919050565b6000612a31603683612c3f565b9150612a3c82612f0c565b604082019050919050565b6000612a54601183612c3f565b9150612a5f82612f5b565b602082019050919050565b6000612a77601283612c3f565b9150612a8282612f84565b602082019050919050565b612a9681612d2b565b82525050565b612aa581612d35565b82525050565b6000602082019050612ac06000830184612932565b92915050565b6000602082019050612adb6000830184612941565b92915050565b6000602082019050612af66000830184612950565b92915050565b60006020820190508181036000830152612b16818461295f565b905092915050565b60006020820190508181036000830152612b3781612998565b9050919050565b60006020820190508181036000830152612b57816129bb565b9050919050565b60006020820190508181036000830152612b77816129de565b9050919050565b60006020820190508181036000830152612b9781612a01565b9050919050565b60006020820190508181036000830152612bb781612a24565b9050919050565b60006020820190508181036000830152612bd781612a47565b9050919050565b60006020820190508181036000830152612bf781612a6a565b9050919050565b6000602082019050612c136000830184612a8d565b92915050565b6000602082019050612c2e6000830184612a9c565b92915050565b600081519050919050565b600082825260208201905092915050565b6000612c5b82612d2b565b9150612c6683612d2b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c9b57612c9a612d87565b5b828201905092915050565b6000612cb182612d2b565b9150612cbc83612d2b565b925082821015612ccf57612cce612d87565b5b828203905092915050565b6000612ce582612d0b565b9050919050565b60008115159050919050565b6000819050612d0682612fad565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d4d82612cf8565b9050919050565b60005b83811015612d72578082015181840152602081019050612d57565b83811115612d81576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f424d4f4e3a206f6e6c79206f6e652074782f6d696e20696e207265737472696360008201527f746564206d6f6465000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f424d4f4e3a20616d6f756e742067726561746572207468616e206d6178206c6960008201527f6d697420696e2072657374726963746564206d6f646500000000000000000000602082015250565b7f546f6b656e7320617265206c6f636b6564000000000000000000000000000000600082015250565b7f43616e6e6f74206275726e20746f6b656e730000000000000000000000000000600082015250565b60038110612fbe57612fbd612db6565b5b50565b612fca81612cda565b8114612fd557600080fd5b50565b612fe181612cec565b8114612fec57600080fd5b50565b612ff881612d2b565b811461300357600080fd5b5056fea26469706673582212201f630684f2ad86e71c9354a6fc69392e33476422e4d81e625de4b98db0ebb65864736f6c63430008040033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806383af0403116100b8578063c19d93fb1161007c578063c19d93fb1461038d578063d2ae8530146103ab578063dd62ed3e146103db578063ddef907a1461040b578063f2f8271214610427578063f2fde38b1461044357610142565b806383af0403146102d35780638b35bf50146103035780638da5cb5b1461032157806395d89b411461033f578063a9059cbb1461035d57610142565b806342966c681161010a57806342966c681461020157806345e8dbe21461023157806363e0c2f81461024d5780636b4d9b781461026957806370a0823114610299578063715018a6146102c957610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd1461019557806323b872dd146101b3578063313ce567146101e3575b600080fd5b61014f61045f565b60405161015c9190612afc565b60405180910390f35b61017f600480360381019061017a91906128a4565b61049c565b60405161018c9190612ac6565b60405180910390f35b61019d61058e565b6040516101aa9190612bfe565b60405180910390f35b6101cd60048036038101906101c89190612855565b610598565b6040516101da9190612ac6565b60405180910390f35b6101eb6111c9565b6040516101f89190612c19565b60405180910390f35b61021b60048036038101906102169190612909565b6111d2565b6040516102289190612ac6565b60405180910390f35b61024b600480360381019061024691906127f0565b61140c565b005b610267600480360381019061026291906127f0565b6114de565b005b610283600480360381019061027e9190612819565b6115c7565b6040516102909190612ac6565b60405180910390f35b6102b360048036038101906102ae91906127f0565b611670565b6040516102c09190612bfe565b60405180910390f35b6102d16116b9565b005b6102ed60048036038101906102e891906127f0565b611805565b6040516102fa9190612ac6565b60405180910390f35b61030b61188e565b6040516103189190612aab565b60405180910390f35b6103296118b4565b6040516103369190612aab565b60405180910390f35b6103476118dd565b6040516103549190612afc565b60405180910390f35b610377600480360381019061037291906128a4565b61191a565b6040516103849190612ac6565b60405180910390f35b610395612247565b6040516103a29190612ae1565b60405180910390f35b6103c560048036038101906103c091906127f0565b61225a565b6040516103d29190612ac6565b60405180910390f35b6103f560048036038101906103f09190612819565b61226d565b6040516104029190612bfe565b60405180910390f35b610425600480360381019061042091906128e0565b6122f4565b005b610441600480360381019061043c9190612909565b6124bf565b005b61045d600480360381019061045891906127f0565b612557565b005b60606040518060400160405280600781526020017f42696e616d6f6e00000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161057c9190612bfe565b60405180910390a36001905092915050565b6000600354905090565b6000838383600060028111156105d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff16600281111561061f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156107475761062d6118b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806106b35750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806107075750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073d90612bbe565b60405180910390fd5b5b60016002811115610781577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff1660028111156107c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415610c9a57600954811115610814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080b90612b9e565b60405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156108b85750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15610a3d5742610911603c600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115801561097157504261096e603c600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b11155b6109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a790612b3e565b60405180910390fd5b42600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c99565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b6c5742610ae2603c600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115610b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1a90612b3e565b60405180910390fd5b42600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c98565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c975742610c11603c600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4990612b3e565b60405180910390fd5b42600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054851115610ce657600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610dfb5750600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511155b610e0457600080fd5b610e5685600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276490919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461113957610fba85600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276490919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061108c85600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161112c9190612bfe565b60405180910390a36111bb565b61114e8560035461276490919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516111b29190612bfe565b60405180910390a35b600193505050509392505050565b60006012905090565b60003373ffffffffffffffffffffffffffffffffffffffff166111f36118b4565b73ffffffffffffffffffffffffffffffffffffffff16148061126257503373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6112a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129890612bde565b60405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156112ed57600080fd5b61133f82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276490919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113978260035461276490919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113fb9190612bfe565b60405180910390a360019050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461149a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149190612b5e565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461156c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156390612b5e565b60405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008173ffffffffffffffffffffffffffffffffffffffff16600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611665576001905061166a565b600090505b92915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e90612b5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f424d4f4e00000000000000000000000000000000000000000000000000000000815250905090565b600033838360006002811115611959577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff1660028111156119a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415611ac9576119af6118b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611a355750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611a895750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abf90612bbe565b60405180910390fd5b5b60016002811115611b03577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff166002811115611b4b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b141561201c57600954811115611b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8d90612b9e565b60405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c3a5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dbf5742611c93603c600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b11158015611cf3575042611cf0603c600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b11155b611d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2990612b3e565b60405180910390fd5b42600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201b565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611eee5742611e64603c600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115611ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9c90612b3e565b60405180910390fd5b42600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201a565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166120195742611f93603c600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b1115611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb90612b3e565b60405180910390fd5b42600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b6000851161205f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205690612b7e565b60405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511156120ab57600080fd5b6120fd85600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276490919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061219285600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461271290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516122329190612bfe565b60405180910390a36001935050505092915050565b600c60009054906101000a900460ff1681565b600061226682336115c7565b9050919050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612382576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237990612b5e565b60405180910390fd5b80801561240e5750600060028111156123c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600c60009054906101000a900460ff16600281111561240c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b145b15612465576001600c60006101000a81548160ff0219169083600281111561245f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055505b806124bc576002600c60006101000a81548160ff021916908360028111156124b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055505b50565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461254d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254490612b5e565b60405180910390fd5b8060098190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dc90612b5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264c90612b1e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082846127219190612c50565b90508381101561275a577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8091505092915050565b60008282111561279d577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b81836127a99190612ca6565b905092915050565b6000813590506127c081612fc1565b92915050565b6000813590506127d581612fd8565b92915050565b6000813590506127ea81612fef565b92915050565b60006020828403121561280257600080fd5b6000612810848285016127b1565b91505092915050565b6000806040838503121561282c57600080fd5b600061283a858286016127b1565b925050602061284b858286016127b1565b9150509250929050565b60008060006060848603121561286a57600080fd5b6000612878868287016127b1565b9350506020612889868287016127b1565b925050604061289a868287016127db565b9150509250925092565b600080604083850312156128b757600080fd5b60006128c5858286016127b1565b92505060206128d6858286016127db565b9150509250929050565b6000602082840312156128f257600080fd5b6000612900848285016127c6565b91505092915050565b60006020828403121561291b57600080fd5b6000612929848285016127db565b91505092915050565b61293b81612cda565b82525050565b61294a81612cec565b82525050565b61295981612d42565b82525050565b600061296a82612c34565b6129748185612c3f565b9350612984818560208601612d54565b61298d81612de5565b840191505092915050565b60006129a5602683612c3f565b91506129b082612df6565b604082019050919050565b60006129c8602883612c3f565b91506129d382612e45565b604082019050919050565b60006129eb602083612c3f565b91506129f682612e94565b602082019050919050565b6000612a0e602983612c3f565b9150612a1982612ebd565b604082019050919050565b6000612a31603683612c3f565b9150612a3c82612f0c565b604082019050919050565b6000612a54601183612c3f565b9150612a5f82612f5b565b602082019050919050565b6000612a77601283612c3f565b9150612a8282612f84565b602082019050919050565b612a9681612d2b565b82525050565b612aa581612d35565b82525050565b6000602082019050612ac06000830184612932565b92915050565b6000602082019050612adb6000830184612941565b92915050565b6000602082019050612af66000830184612950565b92915050565b60006020820190508181036000830152612b16818461295f565b905092915050565b60006020820190508181036000830152612b3781612998565b9050919050565b60006020820190508181036000830152612b57816129bb565b9050919050565b60006020820190508181036000830152612b77816129de565b9050919050565b60006020820190508181036000830152612b9781612a01565b9050919050565b60006020820190508181036000830152612bb781612a24565b9050919050565b60006020820190508181036000830152612bd781612a47565b9050919050565b60006020820190508181036000830152612bf781612a6a565b9050919050565b6000602082019050612c136000830184612a8d565b92915050565b6000602082019050612c2e6000830184612a9c565b92915050565b600081519050919050565b600082825260208201905092915050565b6000612c5b82612d2b565b9150612c6683612d2b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c9b57612c9a612d87565b5b828201905092915050565b6000612cb182612d2b565b9150612cbc83612d2b565b925082821015612ccf57612cce612d87565b5b828203905092915050565b6000612ce582612d0b565b9050919050565b60008115159050919050565b6000819050612d0682612fad565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d4d82612cf8565b9050919050565b60005b83811015612d72578082015181840152602081019050612d57565b83811115612d81576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f424d4f4e3a206f6e6c79206f6e652074782f6d696e20696e207265737472696360008201527f746564206d6f6465000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f424d4f4e3a20616d6f756e742067726561746572207468616e206d6178206c6960008201527f6d697420696e2072657374726963746564206d6f646500000000000000000000602082015250565b7f546f6b656e7320617265206c6f636b6564000000000000000000000000000000600082015250565b7f43616e6e6f74206275726e20746f6b656e730000000000000000000000000000600082015250565b60038110612fbe57612fbd612db6565b5b50565b612fca81612cda565b8114612fd557600080fd5b50565b612fe181612cec565b8114612fec57600080fd5b50565b612ff881612d2b565b811461300357600080fd5b5056fea26469706673582212201f630684f2ad86e71c9354a6fc69392e33476422e4d81e625de4b98db0ebb65864736f6c63430008040033

Deployed Bytecode Sourcemap

1714:6258:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2827:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3843:224;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3108:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4224:811;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3013:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5851:335;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5566:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6610:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5200:195;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3217:124;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1307:148;;;:::i;:::-;;5407:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1961:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1095:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2918:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3349:486;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2619:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5047:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4075;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6297:184;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6489:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1463:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2827:83;2864:13;2897:5;;;;;;;;;;;;;;;;;2890:12;;2827:83;:::o;3843:224::-;3922:4;3971:9;3939:7;:19;3947:10;3939:19;;;;;;;;;;;;;;;:29;3959:8;3939:29;;;;;;;;;;;;;;;:41;;;;4017:8;3996:41;;4005:10;3996:41;;;4027:9;3996:41;;;;;;:::i;:::-;;;;;;;;4055:4;4048:11;;3843:224;;;;:::o;3108:97::-;3161:7;3185:12;;3178:19;;3108:97;:::o;4224:811::-;4366:4;4329:5;4336:8;4346:9;6827:12;6818:21;;;;;;;;;;;;;;;;:5;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;6814:154;;;6874:7;:5;:7::i;:::-;6864:17;;:6;:17;;;:45;;;;6895:14;;;;;;;;;;;6885:24;;:6;:24;;;6864:45;:70;;;;6913:13;:21;6927:6;6913:21;;;;;;;;;;;;;;;;;;;;;;;;;6864:70;6856:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;6814:154;6991:16;6982:25;;;;;;;;;;;;;;;;:5;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;6978:945;;;7042:20;;7032:6;:30;;7024:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;7141:13;:21;7155:6;7141:21;;;;;;;;;;;;;;;;;;;;;;;;;7140:22;:51;;;;;7167:13;:24;7181:9;7167:24;;;;;;;;;;;;;;;;;;;;;;;;;7166:25;7140:51;7136:776;;;7246:15;7220:22;7239:2;7220:6;:14;7227:6;7220:14;;;;;;;;;;;;;;;;:18;;:22;;;;:::i;:::-;:41;;:89;;;;;7294:15;7265:25;7287:2;7265:6;:17;7272:9;7265:17;;;;;;;;;;;;;;;;:21;;:25;;;;:::i;:::-;:44;;7220:89;7212:142;;;;;;;;;;;;:::i;:::-;;;;;;;;;7390:15;7373:6;:14;7380:6;7373:14;;;;;;;;;;;;;;;:32;;;;7444:15;7424:6;:17;7431:9;7424:17;;;;;;;;;;;;;;;:35;;;;7136:776;;;7486:13;:24;7500:9;7486:24;;;;;;;;;;;;;;;;;;;;;;;;;7481:431;;7568:15;7539:25;7561:2;7539:6;:17;7546:9;7539:17;;;;;;;;;;;;;;;;:21;;:25;;;;:::i;:::-;:44;;7531:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;7667:15;7647:6;:17;7654:9;7647:17;;;;;;;;;;;;;;;:35;;;;7481:431;;;7709:13;:21;7723:6;7709:21;;;;;;;;;;;;;;;;;;;;;;;;;7704:208;;7785:15;7759:22;7778:2;7759:6;:14;7766:6;7759:14;;;;;;;;;;;;;;;;:18;;:22;;;;:::i;:::-;:41;;7751:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;7881:15;7864:6;:14;7871:6;7864:14;;;;;;;;;;;;;;;:32;;;;7704:208;7481:431;7136:776;6978:945;4404:8:::1;:15;4413:5;4404:15;;;;;;;;;;;;;;;;4391:9;:28;;4383:37;;;::::0;::::1;;4474:10;4443:41;;:20;:27;4464:5;4443:27;;;;;;;;;;;;;;;;;;;;;;;;;:41;;;:84;;;;4501:7;:14;4509:5;4501:14;;;;;;;;;;;;;;;:26;4516:10;4501:26;;;;;;;;;;;;;;;;4488:9;:39;;4443:84;4435:93;;;::::0;::::1;;4563:30;4583:9;4563:8;:15;4572:5;4563:15;;;;;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;4545:8;:15;4554:5;4545:15;;;;;;;;;;;;;;;:48;;;;4639:10;4608:41;;:20;:27;4629:5;4608:27;;;;;;;;;;;;;;;;;;;;;;;;;:41;;;4604:402;;4695:41;4726:9;4695:7;:14;4703:5;4695:14;;;;;;;;;;;;;;;:26;4710:10;4695:26;;;;;;;;;;;;;;;;:30;;:41;;;;:::i;:::-;4666:7;:14;4674:5;4666:14;;;;;;;;;;;;;;;:26;4681:10;4666:26;;;;;;;;;;;;;;;:70;;;;4772:33;4795:9;4772:8;:18;4781:8;4772:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;4751:8;:18;4760:8;4751:18;;;;;;;;;;;;;;;:54;;;;4841:8;4825:36;;4834:5;4825:36;;;4851:9;4825:36;;;;;;:::i;:::-;;;;;;;;4604:402;;;4909:27;4926:9;4909:12;;:16;;:27;;;;:::i;:::-;4894:12;:42;;;;4980:1;4956:38;;4965:5;4956:38;;;4984:9;4956:38;;;;;;:::i;:::-;;;;;;;;4604:402;5023:4;5016:11;;4224:811:::0;;;;;;;;:::o;3013:83::-;3054:5;1886:2;3072:16;;3013:83;:::o;5851:335::-;5916:4;5754:10;5743:21;;:7;:5;:7::i;:::-;:21;;;:53;;;;5786:10;5768:28;;:14;;;;;;;;;;;:28;;;5743:53;5735:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;5954:8:::1;:20;5963:10;5954:20;;;;;;;;;;;;;;;;5941:9;:33;;5933:42;;;::::0;::::1;;6009:35;6034:9;6009:8;:20;6018:10;6009:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;5986:8;:20;5995:10;5986:20;;;;;;;;;;;;;;;:58;;;;6070:27;6087:9;6070:12;;:16;;:27;;;;:::i;:::-;6055:12;:42;;;;6142:1;6113:43;;6122:10;6113:43;;;6146:9;6113:43;;;;;;:::i;:::-;;;;;;;;6174:4;6167:11;;5851:335:::0;;;:::o;5566:122::-;1232:10;1222:20;;:6;;;;;;;;;;:20;;;1214:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;5665:15:::1;5648:14;;:32;;;;;;;;;;;;;;;;;;5566:122:::0;:::o;6610:110::-;1232:10;1222:20;;:6;;;;;;;;;;:20;;;1214:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;6708:4:::1;6683:13;:22;6697:7;6683:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;6610:110:::0;:::o;5200:195::-;5286:4;5338:8;5307:39;;:20;:27;5328:5;5307:27;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;5303:84;;;5355:4;5348:11;;;;5303:84;5382:5;5375:12;;5200:195;;;;;:::o;3217:124::-;3286:7;3313:8;:20;3322:10;3313:20;;;;;;;;;;;;;;;;3306:27;;3217:124;;;:::o;1307:148::-;1232:10;1222:20;;:6;;;;;;;;;;:20;;;1214:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1414:1:::1;1377:40;;1398:6;::::0;::::1;;;;;;;;1377:40;;;;;;;;;;;;1445:1;1428:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1307:148::o:0;5407:147::-;5467:4;5519:5;5484:20;:32;5505:10;5484:32;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;5542:4;5535:11;;5407:147;;;:::o;1961:29::-;;;;;;;;;;;;;:::o;1095:79::-;1133:7;1160:6;;;;;;;;;;;1153:13;;1095:79;:::o;2918:87::-;2957:13;2990:7;;;;;;;;;;;;;;;;;2983:14;;2918:87;:::o;3349:486::-;3477:4;3435:10;3447:8;3457:9;6827:12;6818:21;;;;;;;;;;;;;;;;:5;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;6814:154;;;6874:7;:5;:7::i;:::-;6864:17;;:6;:17;;;:45;;;;6895:14;;;;;;;;;;;6885:24;;:6;:24;;;6864:45;:70;;;;6913:13;:21;6927:6;6913:21;;;;;;;;;;;;;;;;;;;;;;;;;6864:70;6856:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;6814:154;6991:16;6982:25;;;;;;;;;;;;;;;;:5;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;6978:945;;;7042:20;;7032:6;:30;;7024:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;7141:13;:21;7155:6;7141:21;;;;;;;;;;;;;;;;;;;;;;;;;7140:22;:51;;;;;7167:13;:24;7181:9;7167:24;;;;;;;;;;;;;;;;;;;;;;;;;7166:25;7140:51;7136:776;;;7246:15;7220:22;7239:2;7220:6;:14;7227:6;7220:14;;;;;;;;;;;;;;;;:18;;:22;;;;:::i;:::-;:41;;:89;;;;;7294:15;7265:25;7287:2;7265:6;:17;7272:9;7265:17;;;;;;;;;;;;;;;;:21;;:25;;;;:::i;:::-;:44;;7220:89;7212:142;;;;;;;;;;;;:::i;:::-;;;;;;;;;7390:15;7373:6;:14;7380:6;7373:14;;;;;;;;;;;;;;;:32;;;;7444:15;7424:6;:17;7431:9;7424:17;;;;;;;;;;;;;;;:35;;;;7136:776;;;7486:13;:24;7500:9;7486:24;;;;;;;;;;;;;;;;;;;;;;;;;7481:431;;7568:15;7539:25;7561:2;7539:6;:17;7546:9;7539:17;;;;;;;;;;;;;;;;:21;;:25;;;;:::i;:::-;:44;;7531:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;7667:15;7647:6;:17;7654:9;7647:17;;;;;;;;;;;;;;;:35;;;;7481:431;;;7709:13;:21;7723:6;7709:21;;;;;;;;;;;;;;;;;;;;;;;;;7704:208;;7785:15;7759:22;7778:2;7759:6;:14;7766:6;7759:14;;;;;;;;;;;;;;;;:18;;:22;;;;:::i;:::-;:41;;7751:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;7881:15;7864:6;:14;7871:6;7864:14;;;;;;;;;;;;;;;:32;;;;7704:208;7481:431;7136:776;6978:945;3514:1:::1;3502:9;:13;3494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3593:8;:20;3602:10;3593:20;;;;;;;;;;;;;;;;3580:9;:33;;3572:42;;;::::0;::::1;;3648:35;3673:9;3648:8;:20;3657:10;3648:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;3625:8;:20;3634:10;3625:20;;;;;;;;;;;;;;;:58;;;;3715:33;3738:9;3715:8;:18;3724:8;3715:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;3694:8;:18;3703:8;3694:18;;;;;;;;;;;;;;;:54;;;;3785:8;3764:41;;3773:10;3764:41;;;3795:9;3764:41;;;;;;:::i;:::-;;;;;;;;3823:4;3816:11;;3349:486:::0;;;;;;;:::o;2619:18::-;;;;;;;;;;;;;:::o;5047:141::-;5115:4;5139:41;5162:5;5169:10;5139:22;:41::i;:::-;5132:48;;5047:141;;;:::o;4075:::-;4157:7;4184;:14;4192:5;4184:14;;;;;;;;;;;;;;;:24;4199:8;4184:24;;;;;;;;;;;;;;;;4177:31;;4075:141;;;;:::o;6297:184::-;1232:10;1222:20;;:6;;;;;;;;;;:20;;;1214:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;6370:6:::1;:31;;;;;6389:12;6380:21;;;;;;;;;;;;;;;;:5;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;6370:31;6366:61;;;6411:16;6403:5;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6366:61;6443:6;6438:35;;6459:14;6451:5;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6438:35;6297:184:::0;:::o;6489:113::-;1232:10;1222:20;;:6;;;;;;;;;;:20;;;1214:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;6588:6:::1;6565:20;:29;;;;6489:113:::0;:::o;1463:244::-;1232:10;1222:20;;:6;;;;;;;;;;:20;;;1214:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1572:1:::1;1552:22;;:8;:22;;;;1544:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1662:8;1633:38;;1654:6;::::0;::::1;;;;;;;;1633:38;;;;;;;;;;;;1691:8;1682:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1463:244:::0;:::o;12790:141::-;12848:7;12866:9;12882:1;12878;:5;;;;:::i;:::-;12866:17;;12904:1;12899;:6;;12892:14;;;;;;;;;;;;12922:1;12915:8;;;12790:141;;;;:::o;12659:119::-;12717:7;12747:1;12742;:6;;12735:14;;;;;;;;;;;;12769:1;12765;:5;;;;:::i;:::-;12758:12;;12659:119;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;337:5;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:262::-;495:6;544:2;532:9;523:7;519:23;515:32;512:2;;;560:1;557;550:12;512:2;603:1;628:53;673:7;664:6;653:9;649:22;628:53;:::i;:::-;618:63;;574:117;502:196;;;;:::o;704:407::-;772:6;780;829:2;817:9;808:7;804:23;800:32;797:2;;;845:1;842;835:12;797:2;888:1;913:53;958:7;949:6;938:9;934:22;913:53;:::i;:::-;903:63;;859:117;1015:2;1041:53;1086:7;1077:6;1066:9;1062:22;1041:53;:::i;:::-;1031:63;;986:118;787:324;;;;;:::o;1117:552::-;1194:6;1202;1210;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1275:1;1272;1265:12;1227:2;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1573:2;1599:53;1644:7;1635:6;1624:9;1620:22;1599:53;:::i;:::-;1589:63;;1544:118;1217:452;;;;;:::o;1675:407::-;1743:6;1751;1800:2;1788:9;1779:7;1775:23;1771:32;1768:2;;;1816:1;1813;1806:12;1768:2;1859:1;1884:53;1929:7;1920:6;1909:9;1905:22;1884:53;:::i;:::-;1874:63;;1830:117;1986:2;2012:53;2057:7;2048:6;2037:9;2033:22;2012:53;:::i;:::-;2002:63;;1957:118;1758:324;;;;;:::o;2088:256::-;2144:6;2193:2;2181:9;2172:7;2168:23;2164:32;2161:2;;;2209:1;2206;2199:12;2161:2;2252:1;2277:50;2319:7;2310:6;2299:9;2295:22;2277:50;:::i;:::-;2267:60;;2223:114;2151:193;;;;:::o;2350:262::-;2409:6;2458:2;2446:9;2437:7;2433:23;2429:32;2426:2;;;2474:1;2471;2464:12;2426:2;2517:1;2542:53;2587:7;2578:6;2567:9;2563:22;2542:53;:::i;:::-;2532:63;;2488:117;2416:196;;;;:::o;2618:118::-;2705:24;2723:5;2705:24;:::i;:::-;2700:3;2693:37;2683:53;;:::o;2742:109::-;2823:21;2838:5;2823:21;:::i;:::-;2818:3;2811:34;2801:50;;:::o;2857:145::-;2951:44;2989:5;2951:44;:::i;:::-;2946:3;2939:57;2929:73;;:::o;3008:364::-;3096:3;3124:39;3157:5;3124:39;:::i;:::-;3179:71;3243:6;3238:3;3179:71;:::i;:::-;3172:78;;3259:52;3304:6;3299:3;3292:4;3285:5;3281:16;3259:52;:::i;:::-;3336:29;3358:6;3336:29;:::i;:::-;3331:3;3327:39;3320:46;;3100:272;;;;;:::o;3378:366::-;3520:3;3541:67;3605:2;3600:3;3541:67;:::i;:::-;3534:74;;3617:93;3706:3;3617:93;:::i;:::-;3735:2;3730:3;3726:12;3719:19;;3524:220;;;:::o;3750:366::-;3892:3;3913:67;3977:2;3972:3;3913:67;:::i;:::-;3906:74;;3989:93;4078:3;3989:93;:::i;:::-;4107:2;4102:3;4098:12;4091:19;;3896:220;;;:::o;4122:366::-;4264:3;4285:67;4349:2;4344:3;4285:67;:::i;:::-;4278:74;;4361:93;4450:3;4361:93;:::i;:::-;4479:2;4474:3;4470:12;4463:19;;4268:220;;;:::o;4494:366::-;4636:3;4657:67;4721:2;4716:3;4657:67;:::i;:::-;4650:74;;4733:93;4822:3;4733:93;:::i;:::-;4851:2;4846:3;4842:12;4835:19;;4640:220;;;:::o;4866:366::-;5008:3;5029:67;5093:2;5088:3;5029:67;:::i;:::-;5022:74;;5105:93;5194:3;5105:93;:::i;:::-;5223:2;5218:3;5214:12;5207:19;;5012:220;;;:::o;5238:366::-;5380:3;5401:67;5465:2;5460:3;5401:67;:::i;:::-;5394:74;;5477:93;5566:3;5477:93;:::i;:::-;5595:2;5590:3;5586:12;5579:19;;5384:220;;;:::o;5610:366::-;5752:3;5773:67;5837:2;5832:3;5773:67;:::i;:::-;5766:74;;5849:93;5938:3;5849:93;:::i;:::-;5967:2;5962:3;5958:12;5951:19;;5756:220;;;:::o;5982:118::-;6069:24;6087:5;6069:24;:::i;:::-;6064:3;6057:37;6047:53;;:::o;6106:112::-;6189:22;6205:5;6189:22;:::i;:::-;6184:3;6177:35;6167:51;;:::o;6224:222::-;6317:4;6355:2;6344:9;6340:18;6332:26;;6368:71;6436:1;6425:9;6421:17;6412:6;6368:71;:::i;:::-;6322:124;;;;:::o;6452:210::-;6539:4;6577:2;6566:9;6562:18;6554:26;;6590:65;6652:1;6641:9;6637:17;6628:6;6590:65;:::i;:::-;6544:118;;;;:::o;6668:236::-;6768:4;6806:2;6795:9;6791:18;6783:26;;6819:78;6894:1;6883:9;6879:17;6870:6;6819:78;:::i;:::-;6773:131;;;;:::o;6910:313::-;7023:4;7061:2;7050:9;7046:18;7038:26;;7110:9;7104:4;7100:20;7096:1;7085:9;7081:17;7074:47;7138:78;7211:4;7202:6;7138:78;:::i;:::-;7130:86;;7028:195;;;;:::o;7229:419::-;7395:4;7433:2;7422:9;7418:18;7410:26;;7482:9;7476:4;7472:20;7468:1;7457:9;7453:17;7446:47;7510:131;7636:4;7510:131;:::i;:::-;7502:139;;7400:248;;;:::o;7654:419::-;7820:4;7858:2;7847:9;7843:18;7835:26;;7907:9;7901:4;7897:20;7893:1;7882:9;7878:17;7871:47;7935:131;8061:4;7935:131;:::i;:::-;7927:139;;7825:248;;;:::o;8079:419::-;8245:4;8283:2;8272:9;8268:18;8260:26;;8332:9;8326:4;8322:20;8318:1;8307:9;8303:17;8296:47;8360:131;8486:4;8360:131;:::i;:::-;8352:139;;8250:248;;;:::o;8504:419::-;8670:4;8708:2;8697:9;8693:18;8685:26;;8757:9;8751:4;8747:20;8743:1;8732:9;8728:17;8721:47;8785:131;8911:4;8785:131;:::i;:::-;8777:139;;8675:248;;;:::o;8929:419::-;9095:4;9133:2;9122:9;9118:18;9110:26;;9182:9;9176:4;9172:20;9168:1;9157:9;9153:17;9146:47;9210:131;9336:4;9210:131;:::i;:::-;9202:139;;9100:248;;;:::o;9354:419::-;9520:4;9558:2;9547:9;9543:18;9535:26;;9607:9;9601:4;9597:20;9593:1;9582:9;9578:17;9571:47;9635:131;9761:4;9635:131;:::i;:::-;9627:139;;9525:248;;;:::o;9779:419::-;9945:4;9983:2;9972:9;9968:18;9960:26;;10032:9;10026:4;10022:20;10018:1;10007:9;10003:17;9996:47;10060:131;10186:4;10060:131;:::i;:::-;10052:139;;9950:248;;;:::o;10204:222::-;10297:4;10335:2;10324:9;10320:18;10312:26;;10348:71;10416:1;10405:9;10401:17;10392:6;10348:71;:::i;:::-;10302:124;;;;:::o;10432:214::-;10521:4;10559:2;10548:9;10544:18;10536:26;;10572:67;10636:1;10625:9;10621:17;10612:6;10572:67;:::i;:::-;10526:120;;;;:::o;10652:99::-;10704:6;10738:5;10732:12;10722:22;;10711:40;;;:::o;10757:169::-;10841:11;10875:6;10870:3;10863:19;10915:4;10910:3;10906:14;10891:29;;10853:73;;;;:::o;10932:305::-;10972:3;10991:20;11009:1;10991:20;:::i;:::-;10986:25;;11025:20;11043:1;11025:20;:::i;:::-;11020:25;;11179:1;11111:66;11107:74;11104:1;11101:81;11098:2;;;11185:18;;:::i;:::-;11098:2;11229:1;11226;11222:9;11215:16;;10976:261;;;;:::o;11243:191::-;11283:4;11303:20;11321:1;11303:20;:::i;:::-;11298:25;;11337:20;11355:1;11337:20;:::i;:::-;11332:25;;11376:1;11373;11370:8;11367:2;;;11381:18;;:::i;:::-;11367:2;11426:1;11423;11419:9;11411:17;;11288:146;;;;:::o;11440:96::-;11477:7;11506:24;11524:5;11506:24;:::i;:::-;11495:35;;11485:51;;;:::o;11542:90::-;11576:7;11619:5;11612:13;11605:21;11594:32;;11584:48;;;:::o;11638:129::-;11684:7;11713:5;11702:16;;11719:42;11755:5;11719:42;:::i;:::-;11692:75;;;:::o;11773:126::-;11810:7;11850:42;11843:5;11839:54;11828:65;;11818:81;;;:::o;11905:77::-;11942:7;11971:5;11960:16;;11950:32;;;:::o;11988:86::-;12023:7;12063:4;12056:5;12052:16;12041:27;;12031:43;;;:::o;12080:129::-;12137:9;12170:33;12197:5;12170:33;:::i;:::-;12157:46;;12147:62;;;:::o;12215:307::-;12283:1;12293:113;12307:6;12304:1;12301:13;12293:113;;;12392:1;12387:3;12383:11;12377:18;12373:1;12368:3;12364:11;12357:39;12329:2;12326:1;12322:10;12317:15;;12293:113;;;12424:6;12421:1;12418:13;12415:2;;;12504:1;12495:6;12490:3;12486:16;12479:27;12415:2;12264:258;;;;:::o;12528:180::-;12576:77;12573:1;12566:88;12673:4;12670:1;12663:15;12697:4;12694:1;12687:15;12714:180;12762:77;12759:1;12752:88;12859:4;12856:1;12849:15;12883:4;12880:1;12873:15;12900:102;12941:6;12992:2;12988:7;12983:2;12976:5;12972:14;12968:28;12958:38;;12948:54;;;:::o;13008:225::-;13148:34;13144:1;13136:6;13132:14;13125:58;13217:8;13212:2;13204:6;13200:15;13193:33;13114:119;:::o;13239:227::-;13379:34;13375:1;13367:6;13363:14;13356:58;13448:10;13443:2;13435:6;13431:15;13424:35;13345:121;:::o;13472:182::-;13612:34;13608:1;13600:6;13596:14;13589:58;13578:76;:::o;13660:228::-;13800:34;13796:1;13788:6;13784:14;13777:58;13869:11;13864:2;13856:6;13852:15;13845:36;13766:122;:::o;13894:241::-;14034:34;14030:1;14022:6;14018:14;14011:58;14103:24;14098:2;14090:6;14086:15;14079:49;14000:135;:::o;14141:167::-;14281:19;14277:1;14269:6;14265:14;14258:43;14247:61;:::o;14314:168::-;14454:20;14450:1;14442:6;14438:14;14431:44;14420:62;:::o;14488:114::-;14570:1;14563:5;14560:12;14550:2;;14576:18;;:::i;:::-;14550:2;14540:62;:::o;14608:122::-;14681:24;14699:5;14681:24;:::i;:::-;14674:5;14671:35;14661:2;;14720:1;14717;14710:12;14661:2;14651:79;:::o;14736:116::-;14806:21;14821:5;14806:21;:::i;:::-;14799:5;14796:32;14786:2;;14842:1;14839;14832:12;14786:2;14776:76;:::o;14858:122::-;14931:24;14949:5;14931:24;:::i;:::-;14924:5;14921:35;14911:2;;14970:1;14967;14960:12;14911:2;14901:79;:::o

Swarm Source

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