ETH Price: $2,668.90 (+1.18%)
Gas: 8 Gwei

Token

Vether (VETH)
 

Overview

Max Total Supply

1,000,000 VETH

Holders

215 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap: VETH
Balance
332.336027181057146927 VETH

Value
$0.00
0x506d07722744e4a390cd7506a2ba1a8157e63745
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

VETH token contract has migrated to 0x01217729940055011F17BeFE6270e6E59B7d0337.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Vether

Compiler Version
v0.6.4+commit.1dca32f3

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-05-12
*/

pragma solidity 0.6.4;
//ERC20 Interface
interface ERC20 {
    function totalSupply() external view returns (uint);
    function balanceOf(address account) external view returns (uint);
    function transfer(address, uint) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address, uint) external returns (bool);
    function transferFrom(address, address, uint) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
    }
// Uniswap Factory Interface
interface UniswapFactory {
    function getExchange(address token) external view returns (address exchange);
    }
// Uniswap Exchange Interface
interface UniswapExchange {
    function tokenToEthTransferInput(uint tokens_sold,uint min_eth,uint deadline, address recipient) external returns (uint  eth_bought);
    }
    //======================================VETHER=========================================//
contract Vether is ERC20 {
    // ERC-20 Parameters
    string public name; string public symbol;
    uint public decimals; uint public override totalSupply;
    // ERC-20 Mappings
    mapping(address => uint) public override balanceOf;
    mapping(address => mapping(address => uint)) public override allowance;
    // Public Parameters
    uint coin; uint public emission;
    uint public currentEra; uint public currentDay;
    uint public daysPerEra; uint public secondsPerDay;
    uint public genesis; uint public nextEraTime; uint public nextDayTime;
    address payable public burnAddress;
    address public registryAddress;
    uint public totalFees; uint public totalBurnt;
    // Public Mappings
    mapping(uint=>uint) public mapEra_Emission;                                             // Era->Emission
    mapping(uint=>mapping(uint=>uint)) public mapEraDay_Units;                              // Era,Days->Units
    mapping(uint=>mapping(uint=>uint)) public mapEraDay_UnitsRemaining;                     // Era,Days->TotalUnits
    mapping(uint=>mapping(uint=>uint)) public mapEraDay_Emission;                           // Era,Days->Emission
    mapping(uint=>mapping(uint=>uint)) public mapEraDay_EmissionRemaining;                  // Era,Days->Emission
    mapping(uint=>mapping(uint=>mapping(address=>uint))) public mapEraDay_MemberUnits;      // Era,Days,Member->Units
    mapping(address=>mapping(uint=>uint[])) public mapMemberEra_Days;                       // Member,Era->Days[]
    mapping(address=>bool) public mapAddress_Excluded;                                      // Address->Excluded
    // Events
    event NewEra(uint era, uint emission, uint time);
    event NewDay(uint era, uint day, uint time);
    event Burn(address indexed payer, address indexed member, uint era, uint day, uint units);
    event Withdrawal(address indexed caller, address indexed member, uint era, uint day, uint value);

    //=====================================CREATION=========================================//
    // Constructor
    constructor() public {
        name = "Vether"; symbol = "VETH"; decimals = 18; 
        coin = 1*10**decimals; totalSupply = 1000000*coin;                                  // Set Supply
        emission = 2048*coin; currentEra = 1; currentDay = 1;                               // Set emission, Era and Day
        genesis = now; daysPerEra = 244; secondsPerDay = 84200;                             // Set genesis time
        burnAddress = 0x0111011001100001011011000111010101100101;                           // Set Burn Address
        registryAddress = 0xc0a47dFe034B400B47bDaD5FecDa2621de6c4d95;                       // Set UniSwap V1 Mainnet
        
        balanceOf[address(this)] = totalSupply; 
        emit Transfer(burnAddress, address(this), totalSupply);                             // Mint the total supply to this address
        nextEraTime = genesis + (secondsPerDay * daysPerEra);                               // Set next time for coin era
        nextDayTime = genesis + secondsPerDay;                                              // Set next time for coin day
        mapAddress_Excluded[address(this)] = true;                                          // Add this address to be excluded from fees
        mapEra_Emission[currentEra] = emission;                                             // Map Starting emission
        mapEraDay_EmissionRemaining[currentEra][currentDay] = emission; 
        mapEraDay_Emission[currentEra][currentDay] = emission;
    }
    //========================================ERC20=========================================//
    // ERC20 Transfer function
    function transfer(address to, uint value) public override returns (bool success) {
        _transfer(msg.sender, to, value);
        return true;
    }
    // ERC20 Approve function
    function approve(address spender, uint value) public override returns (bool success) {
        allowance[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }
    // ERC20 TransferFrom function
    function transferFrom(address from, address to, uint value) public override returns (bool success) {
        require(value <= allowance[from][msg.sender], 'Must not send more than allowance');
        allowance[from][msg.sender] -= value;
        _transfer(from, to, value);
        return true;
    }
    // Internal transfer function which includes the Fee
    function _transfer(address _from, address _to, uint _value) private {
        require(balanceOf[_from] >= _value, 'Must not send more than balance');
        require(balanceOf[_to] + _value >= balanceOf[_to], 'Balance overflow');
        balanceOf[_from] -= _value;
        uint _fee = _getFee(_from, _to, _value);                                            // Get fee amount
        balanceOf[_to] += (_value - _fee);                                                  // Add to receiver
        balanceOf[address(this)] += _fee;                                                   // Add fee to self
        totalFees += _fee;                                                                  // Track fees collected
        emit Transfer(_from, _to, (_value - _fee));                                         // Transfer event
        if (!mapAddress_Excluded[_from] && !mapAddress_Excluded[_to]) {
            emit Transfer(_from, address(this), _fee);                                      // Fee Transfer event
        }
    }
    // Calculate Fee amount
    function _getFee(address _from, address _to, uint _value) private view returns (uint) {
        if (mapAddress_Excluded[_from] || mapAddress_Excluded[_to]) {
           return 0;                                                                        // No fee if excluded
        } else {
            return (_value / 1000);                                                         // Fee amount = 0.1%
        }
    }
    //==================================PROOF-OF-VALUE======================================//
    // Calls when sending Ether
    receive() external payable {
        burnAddress.call.value(msg.value)("");                                              // Burn ether
        _recordBurn(msg.sender, msg.sender, currentEra, currentDay, msg.value);             // Record Burn
    }
    // Burn ether for nominated member
    function burnEtherForMember(address member) external payable {
        burnAddress.call.value(msg.value)("");                                              // Burn ether
        _recordBurn(msg.sender, member, currentEra, currentDay, msg.value);                 // Record Burn
    }
    // Burn ERC-20 Tokens
    function burnTokens(address token, uint amount) external {
        _burnTokens(token, amount, msg.sender);                                             // Record Burn
    }
    // Burn tokens for nominated member
    function burnTokensForMember(address token, uint amount, address member) external {
        _burnTokens(token, amount, member);                                                 // Record Burn
    }
    // Calls when sending Tokens
    function _burnTokens (address _token, uint _amount, address _member) private {
        uint _eth; address _ex = getExchange(_token);                                       // Get exchange
        if (_ex == address(0)) {                                                            // Handle Token without Exchange
            uint _startGas = gasleft();                                                     // Start counting gas
            ERC20(_token).transferFrom(msg.sender, address(this), _amount);                 // Must collect tokens
            ERC20(_token).transfer(burnAddress, _amount);                                   // Burn token
            uint gasPrice = tx.gasprice; uint _endGas = gasleft();                          // Stop counting gas
            uint _gasUsed = (_startGas - _endGas) + 20000;                                  // Calculate gas and add gas overhead
            _eth = _gasUsed * gasPrice;                                                     // Attribute gas burnt
        } else {
            ERC20(_token).transferFrom(msg.sender, address(this), _amount);                 // Must collect tokens
            ERC20(_token).approve(_ex, _amount);                                            // Approve Exchange contract to transfer
            _eth = UniswapExchange(_ex).tokenToEthTransferInput(
                    _amount, 1, block.timestamp + 1000, burnAddress);                       // Uniswap Exchange Transfer function
        }
        _recordBurn(msg.sender, _member, currentEra, currentDay, _eth);
    }
    // Get Token Exchange
    function getExchange(address token ) public view returns (address){
        address exchangeToReturn = address(0);
        address exchangeFound = UniswapFactory(registryAddress).getExchange(token);         // Try UniSwap V1
        if (exchangeFound != address(0)) {
            exchangeToReturn = exchangeFound;
        }
        return exchangeToReturn;
    }
    // Internal - Records burn
    function _recordBurn(address _payer, address _member, uint _era, uint _day, uint _eth) private {
        if (mapEraDay_MemberUnits[_era][_day][_member] == 0){                               // If hasn't contributed to this Day yet
            mapMemberEra_Days[_member][_era].push(_day);                                    // Add it
        }
        mapEraDay_MemberUnits[_era][_day][_member] += _eth;                                 // Add member's share
        mapEraDay_UnitsRemaining[_era][_day] += _eth;                                       // Add to total historicals
        mapEraDay_Units[_era][_day] += _eth;                                                // Add to total outstanding
        totalBurnt += _eth;                                                                 // Add to total burnt
        emit Burn(_payer, _member, _era, _day, _eth);                                       // Burn event
        _updateEmission();                                                                  // Update emission Schedule
    }
    // Allows adding an excluded address, once per Era
    function addExcluded(address excluded) external {                   
        _transfer(msg.sender, address(this), mapEra_Emission[1]/16);                        // Pay fee of 128 Vether
        mapAddress_Excluded[excluded] = true;                                               // Add desired address
    }
    //======================================WITHDRAWAL======================================//
    // Used to efficiently track participation in each era
    function getDaysContributedForEra(address member, uint era) public view returns(uint){
        return mapMemberEra_Days[member][era].length;
    }
    // Call to withdraw a claim
    function withdrawShare(uint era, uint day) external {
        _withdrawShare(era, day, msg.sender);                           
    }
    // Call to withdraw a claim for another member
    function withdrawShareForMember(uint era, uint day, address member) external {
        _withdrawShare(era, day, member);
    }
    // Internal - withdraw function
    function _withdrawShare (uint _era, uint _day, address _member) private {               // Update emission Schedule
        _updateEmission();
        if (_era < currentEra) {                                                            // Allow if in previous Era
            _processWithdrawal(_era, _day, _member);                                        // Process Withdrawal
        } else if (_era == currentEra) {                                                    // Handle if in current Era
            if (_day < currentDay) {                                                        // Allow only if in previous Day
                _processWithdrawal(_era, _day, _member);                                    // Process Withdrawal
            }
        }   
    }
    // Internal - Withdrawal function
    function _processWithdrawal (uint _era, uint _day, address _member) private {
        uint memberUnits = mapEraDay_MemberUnits[_era][_day][_member];                      // Get Member Units
        if (memberUnits == 0) {                                                             // Do nothing if 0 (prevents revert)
        } else {
            uint emissionToTransfer = getEmissionShare(_era, _day, _member);                // Get the emission Share for Member
            mapEraDay_MemberUnits[_era][_day][_member] = 0;                                 // Set to 0 since it will be withdrawn
            mapEraDay_UnitsRemaining[_era][_day] -= memberUnits;                            // Decrement Member Units
            mapEraDay_EmissionRemaining[_era][_day] -= emissionToTransfer;                  // Decrement emission
            _transfer(address(this), _member, emissionToTransfer);                          // ERC20 transfer function
            emit Withdrawal(msg.sender, _member, _era, _day, emissionToTransfer);           // Withdrawal Event
        }
    }
         // Get emission Share function
    function getEmissionShare(uint era, uint day, address member) public view returns (uint emissionShare) {
        uint memberUnits = mapEraDay_MemberUnits[era][day][member];                         // Get Member Units
        if (memberUnits == 0) {
            return 0;                                                                       // If 0, return 0
        } else {
            uint totalUnits = mapEraDay_UnitsRemaining[era][day];                           // Get Total Units
            uint emissionRemaining = mapEraDay_EmissionRemaining[era][day];                 // Get emission remaining for Day
            uint balance = balanceOf[address(this)];                                        // Find remaining balance
            if (emissionRemaining > balance) { emissionRemaining = balance; }               // In case less than required emission
            emissionShare = (emissionRemaining * memberUnits) / totalUnits;                 // Calculate share
            return  emissionShare;                            
        }
    }
    //======================================EMISSION========================================//
    // Internal - Update emission function
    function _updateEmission() private {
        uint _now = now;                                                                    // Find now()
        if (_now >= nextDayTime) {                                                          // If time passed the next Day time
            if (currentDay >= daysPerEra) {                                                 // If time passed the next Era time
                currentEra += 1; currentDay = 0;                                            // Increment Era, reset Day
                nextEraTime = _now + (secondsPerDay * daysPerEra);                          // Set next Era time
                emission = getNextEraEmission();                                            // Get correct emission
                mapEra_Emission[currentEra] = emission;                                     // Map emission to Era
                emit NewEra(currentEra, emission, nextEraTime);                             // Emit Event
            }
            currentDay += 1;                                                                // Increment Day
            nextDayTime = _now + secondsPerDay;                                             // Set next Day time
            emission = getDayEmission();                                                    // Check daily Dmission
            mapEraDay_Emission[currentEra][currentDay] = emission;                          // Map emission to Day
            mapEraDay_EmissionRemaining[currentEra][currentDay] = emission;                 // Map emission to Day
            emit NewDay(currentEra, currentDay, nextDayTime);                               // Emit Event
        }
    }
    // Calculate Era emission
    function getNextEraEmission() public view returns (uint) {
        if (emission > coin) {                                                              // Normal Emission Schedule
            return emission / 2;                                                            // Emissions: 2048 -> 1.0
        } else{                                                                             // Enters Fee Era
            return coin;                                                                    // Return 1.0 from fees
        }
    }
    // Calculate Day emission
    function getDayEmission() public view returns (uint) {
        uint balance = balanceOf[address(this)];                                            // Find remaining balance
        if (balance > emission) {                                                           // Balance is sufficient
            return emission;                                                                // Return emission
        } else {                                                                            // Balance has dropped low
            return balance;                                                                 // Return full balance
        }
    }
}

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":"payer","type":"address"},{"indexed":true,"internalType":"address","name":"member","type":"address"},{"indexed":false,"internalType":"uint256","name":"era","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"day","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"units","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"era","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"day","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"NewDay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"era","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"emission","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"NewEra","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"member","type":"address"},{"indexed":false,"internalType":"uint256","name":"era","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"day","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Withdrawal","type":"event"},{"inputs":[{"internalType":"address","name":"excluded","type":"address"}],"name":"addExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"name":"burnEtherForMember","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"member","type":"address"}],"name":"burnTokensForMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentDay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentEra","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"daysPerEra","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDayEmission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"era","type":"uint256"}],"name":"getDaysContributedForEra","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"era","type":"uint256"},{"internalType":"uint256","name":"day","type":"uint256"},{"internalType":"address","name":"member","type":"address"}],"name":"getEmissionShare","outputs":[{"internalType":"uint256","name":"emissionShare","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getExchange","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextEraEmission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mapAddress_Excluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapEraDay_Emission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapEraDay_EmissionRemaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"mapEraDay_MemberUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapEraDay_Units","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapEraDay_UnitsRemaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapEra_Emission","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapMemberEra_Days","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextDayTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextEraTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"registryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"secondsPerDay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurnt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"era","type":"uint256"},{"internalType":"uint256","name":"day","type":"uint256"}],"name":"withdrawShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"era","type":"uint256"},{"internalType":"uint256","name":"day","type":"uint256"},{"internalType":"address","name":"member","type":"address"}],"name":"withdrawShareForMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040518060400160405280600681526020017f5665746865720000000000000000000000000000000000000000000000000000815250600090805190602001906200005f92919062000378565b506040518060400160405280600481526020017f564554480000000000000000000000000000000000000000000000000000000081525060019080519060200190620000ad92919062000378565b506012600281905550600254600a0a600102600681905550600654620f424002600381905550600654610800026007819055506001600881905550600160098190555042600c8190555060f4600a81905550620148e8600b81905550730111011001100001011011000111010101100101600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c0a47dfe034b400b47bdad5fecda2621de6c4d95601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040518082815260200191505060405180910390a3600a54600b5402600c5401600d81905550600b54600c5401600e819055506001601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600754601360006008548152602001908152602001600020819055506007546017600060085481526020019081526020016000206000600954815260200190815260200160002081905550600754601660006008548152602001908152602001600020600060095481526020019081526020016000208190555062000427565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003bb57805160ff1916838001178555620003ec565b82800160010185558215620003ec579182015b82811115620003eb578251825591602001919060010190620003ce565b5b509050620003fb9190620003ff565b5090565b6200042491905b808211156200042057600081600090555060010162000406565b5090565b90565b612ad680620004376000396000f3fe60806040526004361061023f5760003560e01c806377217a891161012e578063a9321573116100ab578063dc3222a61161006f578063dc3222a614610e6a578063dd62ed3e14610ed9578063e82481cf14610f5e578063ed9aab5114610f89578063fee05d6214610fe0576102df565b8063a932157314610c89578063bdf7566114610cda578063c31842e114610d53578063d10d7f8c14610db8578063dac679ec14610e11576102df565b8063966ff650116100f2578063966ff65014610b3c578063973628f614610b67578063a5a1ba2114610b92578063a7f0b3de14610beb578063a9059cbb14610c16576102df565b806377217a891461098e578063827c049e14610a075780638454ed2714610a3257806389b86db514610a8157806395d89b4114610aac576102df565b8063313ce567116101bc5780635c9302c9116101805780635c9302c91461082357806360b292591461084e57806363809953146108a757806370a08231146108d257806370d5ae0514610937576102df565b8063313ce567146106705780633ac1c8631461069b5780633db9a7ec146106c65780634bc561821461073f5780634f8eddb2146107ba576102df565b806313114a9d1161020357806313114a9d146104fe57806318160ddd14610529578063227cb58c1461055457806323b872dd146105985780632a423be81461062b576102df565b806306f2bf62146102e457806306fdde0314610375578063090bbb0114610405578063095ea7b3146104305780630d1118ce146104a3576102df565b366102df57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180600001905060006040518083038185875af1925050503d80600081146102c4576040519150601f19603f3d011682016040523d82523d6000602084013e6102c9565b606091505b5050506102dd33336008546009543461100b565b005b600080fd5b3480156102f057600080fd5b506103336004803603602081101561030757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611254565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038157600080fd5b5061038a61137b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041157600080fd5b5061041a611419565b6040518082815260200191505060405180910390f35b34801561043c57600080fd5b506104896004803603604081101561045357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061141f565b604051808215151515815260200191505060405180910390f35b3480156104af57600080fd5b506104fc600480360360408110156104c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611511565b005b34801561050a57600080fd5b50610513611520565b6040518082815260200191505060405180910390f35b34801561053557600080fd5b5061053e611526565b6040518082815260200191505060405180910390f35b6105966004803603602081101561056a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061152c565b005b3480156105a457600080fd5b50610611600480360360608110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115c8565b604051808215151515815260200191505060405180910390f35b34801561063757600080fd5b5061066e6004803603604081101561064e57600080fd5b81019080803590602001909291908035906020019092919050505061173f565b005b34801561067c57600080fd5b5061068561174e565b6040518082815260200191505060405180910390f35b3480156106a757600080fd5b506106b0611754565b6040518082815260200191505060405180910390f35b3480156106d257600080fd5b50610729600480360360608110156106e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061175a565b6040518082815260200191505060405180910390f35b34801561074b57600080fd5b506107b86004803603606081101561076257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611795565b005b3480156107c657600080fd5b50610809600480360360208110156107dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117a5565b604051808215151515815260200191505060405180910390f35b34801561082f57600080fd5b506108386117c5565b6040518082815260200191505060405180910390f35b34801561085a57600080fd5b506108916004803603604081101561087157600080fd5b8101908080359060200190929190803590602001909291905050506117cb565b6040518082815260200191505060405180910390f35b3480156108b357600080fd5b506108bc6117f0565b6040518082815260200191505060405180910390f35b3480156108de57600080fd5b50610921600480360360208110156108f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117f6565b6040518082815260200191505060405180910390f35b34801561094357600080fd5b5061094c61180e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561099a57600080fd5b506109f1600480360360608110156109b157600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611834565b6040518082815260200191505060405180910390f35b348015610a1357600080fd5b50610a1c611866565b6040518082815260200191505060405180910390f35b348015610a3e57600080fd5b50610a6b60048036036020811015610a5557600080fd5b810190808035906020019092919050505061186c565b6040518082815260200191505060405180910390f35b348015610a8d57600080fd5b50610a96611884565b6040518082815260200191505060405180910390f35b348015610ab857600080fd5b50610ac16118af565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b01578082015181840152602081019050610ae6565b50505050905090810190601f168015610b2e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b4857600080fd5b50610b5161194d565b6040518082815260200191505060405180910390f35b348015610b7357600080fd5b50610b7c611953565b6040518082815260200191505060405180910390f35b348015610b9e57600080fd5b50610bd560048036036040811015610bb557600080fd5b810190808035906020019092919080359060200190929190505050611959565b6040518082815260200191505060405180910390f35b348015610bf757600080fd5b50610c0061197e565b6040518082815260200191505060405180910390f35b348015610c2257600080fd5b50610c6f60048036036040811015610c3957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611984565b604051808215151515815260200191505060405180910390f35b348015610c9557600080fd5b50610cd860048036036020811015610cac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061199b565b005b348015610ce657600080fd5b50610d3d60048036036060811015610cfd57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a1f565b6040518082815260200191505060405180910390f35b348015610d5f57600080fd5b50610db660048036036060811015610d7657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b58565b005b348015610dc457600080fd5b50610dfb60048036036040811015610ddb57600080fd5b810190808035906020019092919080359060200190929190505050611b68565b6040518082815260200191505060405180910390f35b348015610e1d57600080fd5b50610e5460048036036040811015610e3457600080fd5b810190808035906020019092919080359060200190929190505050611b8d565b6040518082815260200191505060405180910390f35b348015610e7657600080fd5b50610ec360048036036040811015610e8d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bb2565b6040518082815260200191505060405180910390f35b348015610ee557600080fd5b50610f4860048036036040811015610efc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c10565b6040518082815260200191505060405180910390f35b348015610f6a57600080fd5b50610f73611c35565b6040518082815260200191505060405180910390f35b348015610f9557600080fd5b50610f9e611c97565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610fec57600080fd5b50610ff5611cbd565b6040518082815260200191505060405180910390f35b600060186000858152602001908152602001600020600084815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156110ed57601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208290806001815401808255809150506001900390600052602060002001600090919091909150555b8060186000858152602001908152602001600020600084815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080601560008581526020019081526020016000206000848152602001908152602001600020600082825401925050819055508060146000858152602001908152602001600020600084815260200190815260200160002060008282540192505081905550806012600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f4cf25bc1d991c17529c25213d3cc0cda295eeaad5f13f361969b12ea48015f9085858560405180848152602001838152602001828152602001935050505060405180910390a361124d611cc3565b5050505050565b600080600090506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306f2bf62856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156112fc57600080fd5b505afa158015611310573d6000803e3d6000fd5b505050506040513d602081101561132657600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611371578091505b8192505050919050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114115780601f106113e657610100808354040283529160200191611411565b820191906000526020600020905b8154815290600101906020018083116113f457829003601f168201915b505050505081565b600d5481565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b61151c828233611e55565b5050565b60115481565b60035481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180600001905060006040518083038185875af1925050503d80600081146115ac576040519150601f19603f3d011682016040523d82523d6000602084013e6115b1565b606091505b5050506115c533826008546009543461100b565b50565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561169f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612a806021913960400191505060405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555061173484848461236a565b600190509392505050565b61174a828233612799565b5050565b60025481565b600a5481565b6019602052826000526040600020602052816000526040600020818154811061177f57fe5b9060005260206000200160009250925050505481565b6117a0838383611e55565b505050565b601a6020528060005260406000206000915054906101000a900460ff1681565b60095481565b6014602052816000526040600020602052806000526040600020600091509150505481565b600b5481565b60046020528060005260406000206000915090505481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b60075481565b60136020528060005260406000206000915090505481565b600060065460075411156118a65760026007548161189e57fe5b0490506118ac565b60065490505b90565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119455780601f1061191a57610100808354040283529160200191611945565b820191906000526020600020905b81548152906001019060200180831161192857829003601f168201915b505050505081565b60125481565b60085481565b6017602052816000526040600020602052806000526040600020600091509150505481565b600c5481565b600061199133848461236a565b6001905092915050565b6119c433306010601360006001815260200190815260200160002054816119be57fe5b0461236a565b6001601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060186000868152602001908152602001600020600085815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415611a99576000915050611b51565b600060156000878152602001908152602001600020600086815260200190815260200160002054905060006017600088815260200190815260200160002060008781526020019081526020016000205490506000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080821115611b3b578091505b8284830281611b4657fe5b049450849450505050505b9392505050565b611b63838383612799565b505050565b6016602052816000526040600020602052806000526040600020600091509150505481565b6015602052816000526040600020602052806000526040600020600091509150505481565b6000601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002080549050905092915050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600080600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600754811115611c8f57600754915050611c94565b809150505b90565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b6000429050600e548110611e5257600a5460095410611d7c5760016008600082825401925050819055506000600981905550600a54600b54028101600d81905550611d0c611884565b600781905550600754601360006008548152602001908152602001600020819055507f9d472bcf372fce01fd875c3296e8e5ae0a08bfca42dedac19e202271ce8f39c5600854600754600d5460405180848152602001838152602001828152602001935050505060405180910390a15b6001600960008282540192505081905550600b548101600e81905550611da0611c35565b600781905550600754601660006008548152602001908152602001600020600060095481526020019081526020016000208190555060075460176000600854815260200190815260200160002060006009548152602001908152602001600020819055507f80fb1b49fb696967f7276660614bc3eda9d5de84b0589b1ba3c8a3997831b9bd600854600954600e5460405180848152602001838152602001828152602001935050505060405180910390a15b50565b600080611e6185611254565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561209c5760005a90508573ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611f5857600080fd5b505af1158015611f6c573d6000803e3d6000fd5b505050506040513d6020811015611f8257600080fd5b8101908080519060200190929190505050508573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561203d57600080fd5b505af1158015612051573d6000803e3d6000fd5b505050506040513d602081101561206757600080fd5b81019080805190602001909291905050505060003a905060005a90506000614e20828503019050828102955050505050612352565b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561215757600080fd5b505af115801561216b573d6000803e3d6000fd5b505050506040513d602081101561218157600080fd5b8101908080519060200190929190505050508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b382866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561221a57600080fd5b505af115801561222e573d6000803e3d6000fd5b505050506040513d602081101561224457600080fd5b8101908080519060200190929190505050508073ffffffffffffffffffffffffffffffffffffffff16637237e0318560016103e84201600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518563ffffffff1660e01b8152600401808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050602060405180830381600087803b15801561231457600080fd5b505af1158015612328573d6000803e3d6000fd5b505050506040513d602081101561233e57600080fd5b810190808051906020019092919050505091505b61236333846008546009548661100b565b5050505050565b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561241f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d757374206e6f742073656e64206d6f7265207468616e2062616c616e63650081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015612515576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f42616c616e6365206f766572666c6f770000000000000000000000000000000081525060200191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600061256f8484846127e2565b9050808203600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806011600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a3601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127285750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612793573073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b50505050565b6127a1611cc3565b6008548310156127bb576127b68383836128a9565b6127dd565b6008548314156127dc576009548210156127db576127da8383836128a9565b5b5b5b505050565b6000601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128855750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561289357600090506128a2565b6103e8828161289e57fe5b0490505b9392505050565b600060186000858152602001908152602001600020600084815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141561291d57612a79565b600061292a858585611a1f565b9050600060186000878152602001908152602001600020600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601560008781526020019081526020016000206000868152602001908152602001600020600082825403925050819055508060176000878152602001908152602001600020600086815260200190815260200160002060008282540392505081905550612a0230848361236a565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f0373e649c2cd6407bd569d5c66304cce4b4977c361734b811045f83c7bfe8c8b87878560405180848152602001838152602001828152602001935050505060405180910390a3505b5050505056fe4d757374206e6f742073656e64206d6f7265207468616e20616c6c6f77616e6365a264697066735822122052f4476f906d989576e6d0c9b9a5d172e7ca945547353315e181b9aa535ceee164736f6c63430006040033

Deployed Bytecode

0x60806040526004361061023f5760003560e01c806377217a891161012e578063a9321573116100ab578063dc3222a61161006f578063dc3222a614610e6a578063dd62ed3e14610ed9578063e82481cf14610f5e578063ed9aab5114610f89578063fee05d6214610fe0576102df565b8063a932157314610c89578063bdf7566114610cda578063c31842e114610d53578063d10d7f8c14610db8578063dac679ec14610e11576102df565b8063966ff650116100f2578063966ff65014610b3c578063973628f614610b67578063a5a1ba2114610b92578063a7f0b3de14610beb578063a9059cbb14610c16576102df565b806377217a891461098e578063827c049e14610a075780638454ed2714610a3257806389b86db514610a8157806395d89b4114610aac576102df565b8063313ce567116101bc5780635c9302c9116101805780635c9302c91461082357806360b292591461084e57806363809953146108a757806370a08231146108d257806370d5ae0514610937576102df565b8063313ce567146106705780633ac1c8631461069b5780633db9a7ec146106c65780634bc561821461073f5780634f8eddb2146107ba576102df565b806313114a9d1161020357806313114a9d146104fe57806318160ddd14610529578063227cb58c1461055457806323b872dd146105985780632a423be81461062b576102df565b806306f2bf62146102e457806306fdde0314610375578063090bbb0114610405578063095ea7b3146104305780630d1118ce146104a3576102df565b366102df57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180600001905060006040518083038185875af1925050503d80600081146102c4576040519150601f19603f3d011682016040523d82523d6000602084013e6102c9565b606091505b5050506102dd33336008546009543461100b565b005b600080fd5b3480156102f057600080fd5b506103336004803603602081101561030757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611254565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038157600080fd5b5061038a61137b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041157600080fd5b5061041a611419565b6040518082815260200191505060405180910390f35b34801561043c57600080fd5b506104896004803603604081101561045357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061141f565b604051808215151515815260200191505060405180910390f35b3480156104af57600080fd5b506104fc600480360360408110156104c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611511565b005b34801561050a57600080fd5b50610513611520565b6040518082815260200191505060405180910390f35b34801561053557600080fd5b5061053e611526565b6040518082815260200191505060405180910390f35b6105966004803603602081101561056a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061152c565b005b3480156105a457600080fd5b50610611600480360360608110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115c8565b604051808215151515815260200191505060405180910390f35b34801561063757600080fd5b5061066e6004803603604081101561064e57600080fd5b81019080803590602001909291908035906020019092919050505061173f565b005b34801561067c57600080fd5b5061068561174e565b6040518082815260200191505060405180910390f35b3480156106a757600080fd5b506106b0611754565b6040518082815260200191505060405180910390f35b3480156106d257600080fd5b50610729600480360360608110156106e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061175a565b6040518082815260200191505060405180910390f35b34801561074b57600080fd5b506107b86004803603606081101561076257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611795565b005b3480156107c657600080fd5b50610809600480360360208110156107dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117a5565b604051808215151515815260200191505060405180910390f35b34801561082f57600080fd5b506108386117c5565b6040518082815260200191505060405180910390f35b34801561085a57600080fd5b506108916004803603604081101561087157600080fd5b8101908080359060200190929190803590602001909291905050506117cb565b6040518082815260200191505060405180910390f35b3480156108b357600080fd5b506108bc6117f0565b6040518082815260200191505060405180910390f35b3480156108de57600080fd5b50610921600480360360208110156108f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117f6565b6040518082815260200191505060405180910390f35b34801561094357600080fd5b5061094c61180e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561099a57600080fd5b506109f1600480360360608110156109b157600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611834565b6040518082815260200191505060405180910390f35b348015610a1357600080fd5b50610a1c611866565b6040518082815260200191505060405180910390f35b348015610a3e57600080fd5b50610a6b60048036036020811015610a5557600080fd5b810190808035906020019092919050505061186c565b6040518082815260200191505060405180910390f35b348015610a8d57600080fd5b50610a96611884565b6040518082815260200191505060405180910390f35b348015610ab857600080fd5b50610ac16118af565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b01578082015181840152602081019050610ae6565b50505050905090810190601f168015610b2e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b4857600080fd5b50610b5161194d565b6040518082815260200191505060405180910390f35b348015610b7357600080fd5b50610b7c611953565b6040518082815260200191505060405180910390f35b348015610b9e57600080fd5b50610bd560048036036040811015610bb557600080fd5b810190808035906020019092919080359060200190929190505050611959565b6040518082815260200191505060405180910390f35b348015610bf757600080fd5b50610c0061197e565b6040518082815260200191505060405180910390f35b348015610c2257600080fd5b50610c6f60048036036040811015610c3957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611984565b604051808215151515815260200191505060405180910390f35b348015610c9557600080fd5b50610cd860048036036020811015610cac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061199b565b005b348015610ce657600080fd5b50610d3d60048036036060811015610cfd57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a1f565b6040518082815260200191505060405180910390f35b348015610d5f57600080fd5b50610db660048036036060811015610d7657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b58565b005b348015610dc457600080fd5b50610dfb60048036036040811015610ddb57600080fd5b810190808035906020019092919080359060200190929190505050611b68565b6040518082815260200191505060405180910390f35b348015610e1d57600080fd5b50610e5460048036036040811015610e3457600080fd5b810190808035906020019092919080359060200190929190505050611b8d565b6040518082815260200191505060405180910390f35b348015610e7657600080fd5b50610ec360048036036040811015610e8d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bb2565b6040518082815260200191505060405180910390f35b348015610ee557600080fd5b50610f4860048036036040811015610efc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c10565b6040518082815260200191505060405180910390f35b348015610f6a57600080fd5b50610f73611c35565b6040518082815260200191505060405180910390f35b348015610f9557600080fd5b50610f9e611c97565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610fec57600080fd5b50610ff5611cbd565b6040518082815260200191505060405180910390f35b600060186000858152602001908152602001600020600084815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156110ed57601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208290806001815401808255809150506001900390600052602060002001600090919091909150555b8060186000858152602001908152602001600020600084815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080601560008581526020019081526020016000206000848152602001908152602001600020600082825401925050819055508060146000858152602001908152602001600020600084815260200190815260200160002060008282540192505081905550806012600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f4cf25bc1d991c17529c25213d3cc0cda295eeaad5f13f361969b12ea48015f9085858560405180848152602001838152602001828152602001935050505060405180910390a361124d611cc3565b5050505050565b600080600090506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306f2bf62856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156112fc57600080fd5b505afa158015611310573d6000803e3d6000fd5b505050506040513d602081101561132657600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611371578091505b8192505050919050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114115780601f106113e657610100808354040283529160200191611411565b820191906000526020600020905b8154815290600101906020018083116113f457829003601f168201915b505050505081565b600d5481565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b61151c828233611e55565b5050565b60115481565b60035481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405180600001905060006040518083038185875af1925050503d80600081146115ac576040519150601f19603f3d011682016040523d82523d6000602084013e6115b1565b606091505b5050506115c533826008546009543461100b565b50565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561169f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612a806021913960400191505060405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555061173484848461236a565b600190509392505050565b61174a828233612799565b5050565b60025481565b600a5481565b6019602052826000526040600020602052816000526040600020818154811061177f57fe5b9060005260206000200160009250925050505481565b6117a0838383611e55565b505050565b601a6020528060005260406000206000915054906101000a900460ff1681565b60095481565b6014602052816000526040600020602052806000526040600020600091509150505481565b600b5481565b60046020528060005260406000206000915090505481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b60075481565b60136020528060005260406000206000915090505481565b600060065460075411156118a65760026007548161189e57fe5b0490506118ac565b60065490505b90565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119455780601f1061191a57610100808354040283529160200191611945565b820191906000526020600020905b81548152906001019060200180831161192857829003601f168201915b505050505081565b60125481565b60085481565b6017602052816000526040600020602052806000526040600020600091509150505481565b600c5481565b600061199133848461236a565b6001905092915050565b6119c433306010601360006001815260200190815260200160002054816119be57fe5b0461236a565b6001601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060186000868152602001908152602001600020600085815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415611a99576000915050611b51565b600060156000878152602001908152602001600020600086815260200190815260200160002054905060006017600088815260200190815260200160002060008781526020019081526020016000205490506000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080821115611b3b578091505b8284830281611b4657fe5b049450849450505050505b9392505050565b611b63838383612799565b505050565b6016602052816000526040600020602052806000526040600020600091509150505481565b6015602052816000526040600020602052806000526040600020600091509150505481565b6000601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002080549050905092915050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600080600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600754811115611c8f57600754915050611c94565b809150505b90565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b6000429050600e548110611e5257600a5460095410611d7c5760016008600082825401925050819055506000600981905550600a54600b54028101600d81905550611d0c611884565b600781905550600754601360006008548152602001908152602001600020819055507f9d472bcf372fce01fd875c3296e8e5ae0a08bfca42dedac19e202271ce8f39c5600854600754600d5460405180848152602001838152602001828152602001935050505060405180910390a15b6001600960008282540192505081905550600b548101600e81905550611da0611c35565b600781905550600754601660006008548152602001908152602001600020600060095481526020019081526020016000208190555060075460176000600854815260200190815260200160002060006009548152602001908152602001600020819055507f80fb1b49fb696967f7276660614bc3eda9d5de84b0589b1ba3c8a3997831b9bd600854600954600e5460405180848152602001838152602001828152602001935050505060405180910390a15b50565b600080611e6185611254565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561209c5760005a90508573ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611f5857600080fd5b505af1158015611f6c573d6000803e3d6000fd5b505050506040513d6020811015611f8257600080fd5b8101908080519060200190929190505050508573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561203d57600080fd5b505af1158015612051573d6000803e3d6000fd5b505050506040513d602081101561206757600080fd5b81019080805190602001909291905050505060003a905060005a90506000614e20828503019050828102955050505050612352565b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561215757600080fd5b505af115801561216b573d6000803e3d6000fd5b505050506040513d602081101561218157600080fd5b8101908080519060200190929190505050508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b382866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561221a57600080fd5b505af115801561222e573d6000803e3d6000fd5b505050506040513d602081101561224457600080fd5b8101908080519060200190929190505050508073ffffffffffffffffffffffffffffffffffffffff16637237e0318560016103e84201600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518563ffffffff1660e01b8152600401808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050602060405180830381600087803b15801561231457600080fd5b505af1158015612328573d6000803e3d6000fd5b505050506040513d602081101561233e57600080fd5b810190808051906020019092919050505091505b61236333846008546009548661100b565b5050505050565b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561241f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d757374206e6f742073656e64206d6f7265207468616e2062616c616e63650081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015612515576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f42616c616e6365206f766572666c6f770000000000000000000000000000000081525060200191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600061256f8484846127e2565b9050808203600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806011600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a3601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127285750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612793573073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b50505050565b6127a1611cc3565b6008548310156127bb576127b68383836128a9565b6127dd565b6008548314156127dc576009548210156127db576127da8383836128a9565b5b5b5b505050565b6000601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128855750601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561289357600090506128a2565b6103e8828161289e57fe5b0490505b9392505050565b600060186000858152602001908152602001600020600084815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081141561291d57612a79565b600061292a858585611a1f565b9050600060186000878152602001908152602001600020600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601560008781526020019081526020016000206000868152602001908152602001600020600082825403925050819055508060176000878152602001908152602001600020600086815260200190815260200160002060008282540392505081905550612a0230848361236a565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f0373e649c2cd6407bd569d5c66304cce4b4977c361734b811045f83c7bfe8c8b87878560405180848152602001838152602001828152602001935050505060405180910390a3505b5050505056fe4d757374206e6f742073656e64206d6f7265207468616e20616c6c6f77616e6365a264697066735822122052f4476f906d989576e6d0c9b9a5d172e7ca945547353315e181b9aa535ceee164736f6c63430006040033

Deployed Bytecode Sourcemap

1090:17503:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7288:11;;;;;;;;;;;:16;;7311:9;7288:37;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;7288:37:0;;7395:70;7407:10;7419;7431;;7443;;7455:9;7395:11;:70::i;:::-;1090:17503;;12:1:-1;9;2:12;9922:369:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9922:369:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;9922:369:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1148:18;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1148:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1148:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1608:23;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1608:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4992:216;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4992:216:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;4992:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7863:173;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7863:173:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;7863:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1741:21;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1741:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1217:32;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1217:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7546:284;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;7546:284:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5250:306;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5250:306:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;5250:306:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12100:134;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12100:134:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;12100:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1195:20;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1195:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1531:22;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1531:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2505:64;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2505:64:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2505:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8083:198;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8083:198:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;8083:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2620:49;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2620:49:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2620:49:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1502:22;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1502:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1927:57;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1927:57:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1927:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1555:25;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1555:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1280:50;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1280:50:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1280:50:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1663:34;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1663:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2386:81;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2386:81:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2386:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1451:20;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1451:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1817:42;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1817:42:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1817:42:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17352:544;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17352:544:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1168:20;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1168:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1168:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:22;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1764:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1478;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1478:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2271:69;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2271:69:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2271:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1587:19;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1587:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4801:154;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4801:154:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;4801:154:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11442:309;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11442:309:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;11442:309:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;14417:1063;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14417:1063:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;14417:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12292:128;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12292:128:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;12292:128:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2156:60;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2156:60:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2156:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2039:66;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2039:66:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2039:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11913:148;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11913:148:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;11913:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1337:70;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1337:70:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1337:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17933:657;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17933:657:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1704:30;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1704:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1633:23;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1633:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10329:1051;10485:1;10439:21;:27;10461:4;10439:27;;;;;;;;;;;:33;10467:4;10439:33;;;;;;;;;;;:42;10473:7;10439:42;;;;;;;;;;;;;;;;:47;10435:238;;;10573:17;:26;10591:7;10573:26;;;;;;;;;;;;;;;:32;10600:4;10573:32;;;;;;;;;;;10611:4;10573:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;10573:43:0;;;;;;;;;;;;;;;;;;;10435:238;10729:4;10683:21;:27;10705:4;10683:27;;;;;;;;;;;:33;10711:4;10683:33;;;;;;;;;;;:42;10717:7;10683:42;;;;;;;;;;;;;;;;:50;;;;;;;;;;;10838:4;10798:24;:30;10823:4;10798:30;;;;;;;;;;;:36;10829:4;10798:36;;;;;;;;;;;;:44;;;;;;;;;;;10950:4;10919:15;:21;10935:4;10919:21;;;;;;;;;;;:27;10941:4;10919:27;;;;;;;;;;;;:35;;;;;;;;;;;11054:4;11040:10;;:18;;;;;;;;;;;11173:7;11160:39;;11165:6;11160:39;;;11182:4;11188;11194;11160:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11262:17;:15;:17::i;:::-;10329:1051;;;;;:::o;9922:369::-;9980:7;9999:24;10034:1;9999:37;;10047:21;10086:15;;;;;;;;;;;10071:43;;;10115:5;10071:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10071:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10071:50:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;10071:50:0;;;;;;;;;;;;;;;;10047:74;;10187:1;10162:27;;:13;:27;;;10158:92;;10225:13;10206:32;;10158:92;10267:16;10260:23;;;;9922:369;;;:::o;1148:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1608:23::-;;;;:::o;4992:216::-;5063:12;5121:5;5088:9;:21;5098:10;5088:21;;;;;;;;;;;;;;;:30;5110:7;5088:30;;;;;;;;;;;;;;;:38;;;;5163:7;5142:36;;5151:10;5142:36;;;5172:5;5142:36;;;;;;;;;;;;;;;;;;5196:4;5189:11;;4992:216;;;;:::o;7863:173::-;7931:38;7943:5;7950:6;7958:10;7931:11;:38::i;:::-;7863:173;;:::o;1741:21::-;;;;:::o;1217:32::-;;;;:::o;7546:284::-;7618:11;;;;;;;;;;;:16;;7641:9;7618:37;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;7618:37:0;;7725:66;7737:10;7749:6;7757:10;;7769;;7781:9;7725:11;:66::i;:::-;7546:284;:::o;5250:306::-;5335:12;5377:9;:15;5387:4;5377:15;;;;;;;;;;;;;;;:27;5393:10;5377:27;;;;;;;;;;;;;;;;5368:5;:36;;5360:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5484:5;5453:9;:15;5463:4;5453:15;;;;;;;;;;;;;;;:27;5469:10;5453:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;5500:26;5510:4;5516:2;5520:5;5500:9;:26::i;:::-;5544:4;5537:11;;5250:306;;;;;:::o;12100:134::-;12163:36;12178:3;12183;12188:10;12163:14;:36::i;:::-;12100:134;;:::o;1195:20::-;;;;:::o;1531:22::-;;;;:::o;2505:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8083:198::-;8176:34;8188:5;8195:6;8203;8176:11;:34::i;:::-;8083:198;;;:::o;2620:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;1502:22::-;;;;:::o;1927:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1555:25::-;;;;:::o;1280:50::-;;;;;;;;;;;;;;;;;:::o;1663:34::-;;;;;;;;;;;;;:::o;2386:81::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1451:20::-;;;;:::o;1817:42::-;;;;;;;;;;;;;;;;;:::o;17352:544::-;17403:4;17435;;17424:8;;:15;17420:469;;;17563:1;17552:8;;:12;;;;;;17545:19;;;;17420:469;17782:4;;17775:11;;17352:544;;:::o;1168:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1764:22::-;;;;:::o;1478:::-;;;;:::o;2271:69::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1587:19::-;;;;:::o;4801:154::-;4868:12;4893:32;4903:10;4915:2;4919:5;4893:9;:32::i;:::-;4943:4;4936:11;;4801:154;;;;:::o;11442:309::-;11520:59;11530:10;11550:4;11576:2;11557:15;:18;11573:1;11557:18;;;;;;;;;;;;:21;;;;;;11520:9;:59::i;:::-;11670:4;11638:19;:29;11658:8;11638:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;11442:309;:::o;14417:1063::-;14500:18;14531:16;14550:21;:26;14572:3;14550:26;;;;;;;;;;;:31;14577:3;14550:31;;;;;;;;;;;:39;14582:6;14550:39;;;;;;;;;;;;;;;;14531:58;;14663:1;14648:11;:16;14644:829;;;14688:1;14681:8;;;;;14644:829;14810:15;14828:24;:29;14853:3;14828:29;;;;;;;;;;;:34;14858:3;14828:34;;;;;;;;;;;;14810:52;;14922:22;14947:27;:32;14975:3;14947:32;;;;;;;;;;;:37;14980:3;14947:37;;;;;;;;;;;;14922:62;;15049:12;15064:9;:24;15082:4;15064:24;;;;;;;;;;;;;;;;15049:39;;15192:7;15172:17;:27;15168:65;;;15223:7;15203:27;;15168:65;15352:10;15337:11;15317:17;:31;15316:46;;;;;;15300:62;;15420:13;15412:21;;;;;;14417:1063;;;;;;:::o;12292:128::-;12380:32;12395:3;12400;12405:6;12380:14;:32::i;:::-;12292:128;;;:::o;2156:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2039:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11913:148::-;11993:4;12016:17;:25;12034:6;12016:25;;;;;;;;;;;;;;;:30;12042:3;12016:30;;;;;;;;;;;:37;;;;12009:44;;11913:148;;;;:::o;1337:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17933:657::-;17980:4;17997:12;18012:9;:24;18030:4;18012:24;;;;;;;;;;;;;;;;17997:39;;18130:8;;18120:7;:18;18116:467;;;18245:8;;18238:15;;;;;18116:467;18477:7;18470:14;;;17933:657;;:::o;1704:30::-;;;;;;;;;;;;;:::o;1633:23::-;;;;:::o;15626:1689::-;15672:9;15684:3;15672:15;;15791:11;;15783:4;:19;15779:1529;;15930:10;;15916;;:24;15912:705;;16059:1;16045:10;;:15;;;;;;;;;;;16075:1;16062:10;:14;;;;16204:10;;16188:13;;:26;16180:4;:35;16166:11;:49;;;;16291:20;:18;:20::i;:::-;16280:8;:31;;;;16427:8;;16397:15;:27;16413:10;;16397:27;;;;;;;;;;;:38;;;;16518:41;16525:10;;16537:8;;16547:11;;16518:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15912:705;16645:1;16631:10;;:15;;;;;;;;;;;16762:13;;16755:4;:20;16741:11;:34;;;;16866:16;:14;:16::i;:::-;16855:8;:27;;;;17017:8;;16972:18;:30;16991:10;;16972:30;;;;;;;;;;;:42;17003:10;;16972:42;;;;;;;;;;;:53;;;;17142:8;;17088:27;:39;17116:10;;17088:39;;;;;;;;;;;:51;17128:10;;17088:51;;;;;;;;;;;:62;;;;17209:43;17216:10;;17228;;17240:11;;17209:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15779:1529;15626:1689;:::o;8321:1568::-;8409:9;8420:11;8434:19;8446:6;8434:11;:19::i;:::-;8420:33;;8537:1;8522:17;;:3;:17;;;8518:1291;;;8648:14;8665:9;8648:26;;8769:6;8763:26;;;8790:10;8810:4;8817:7;8763:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8763:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8763:62:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;8763:62:0;;;;;;;;;;;;;;;;;8885:6;8879:22;;;8902:11;;;;;;;;;;;8915:7;8879:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8879:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8879:44:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;8879:44:0;;;;;;;;;;;;;;;;;8986:13;9002:11;8986:27;;9015:12;9030:9;9015:24;;9100:13;9140:5;9129:7;9117:9;:19;9116:29;9100:45;;9249:8;9238;:19;9231:26;;8518:1291;;;;;;;9371:6;9365:26;;;9392:10;9412:4;9419:7;9365:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9365:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9365:62:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;9365:62:0;;;;;;;;;;;;;;;;;9487:6;9481:21;;;9503:3;9508:7;9481:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9481:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9481:35:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;9481:35:0;;;;;;;;;;;;;;;;;9638:3;9622:44;;;9689:7;9698:1;9719:4;9701:15;:22;9725:11;;;;;;;;;;;9622:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9622:115:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9622:115:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;9622:115:0;;;;;;;;;;;;;;;;9615:122;;8518:1291;9819:62;9831:10;9843:7;9852:10;;9864;;9876:4;9819:11;:62::i;:::-;8321:1568;;;;;:::o;5620:1037::-;5727:6;5707:9;:16;5717:5;5707:16;;;;;;;;;;;;;;;;:26;;5699:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5815:9;:14;5825:3;5815:14;;;;;;;;;;;;;;;;5805:6;5788:9;:14;5798:3;5788:14;;;;;;;;;;;;;;;;:23;:41;;5780:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5881:6;5861:9;:16;5871:5;5861:16;;;;;;;;;;;;;;;;:26;;;;;;;;;;;5898:9;5910:27;5918:5;5925:3;5930:6;5910:7;:27::i;:::-;5898:39;;6037:4;6028:6;:13;6009:9;:14;6019:3;6009:14;;;;;;;;;;;;;;;;:33;;;;;;;;;;;6149:4;6121:9;:24;6139:4;6121:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;6246:4;6233:9;;:17;;;;;;;;;;;6371:3;6355:37;;6364:5;6355:37;;;6386:4;6377:6;:13;6355:37;;;;;;;;;;;;;;;;;;6466:19;:26;6486:5;6466:26;;;;;;;;;;;;;;;;;;;;;;;;;6465:27;:56;;;;;6497:19;:24;6517:3;6497:24;;;;;;;;;;;;;;;;;;;;;;;;;6496:25;6465:56;6461:189;;;6567:4;6543:36;;6552:5;6543:36;;;6574:4;6543:36;;;;;;;;;;;;;;;;;;6461:189;5620:1037;;;;:::o;12463:777::-;12588:17;:15;:17::i;:::-;12627:10;;12620:4;:17;12616:614;;;12741:39;12760:4;12766;12772:7;12741:18;:39::i;:::-;12616:614;;;12871:10;;12863:4;:18;12859:371;;;12988:10;;12981:4;:17;12977:242;;;13107:39;13126:4;13132;13138:7;13107:18;:39::i;:::-;12977:242;12859:371;12616:614;12463:777;;;:::o;6692:423::-;6772:4;6793:19;:26;6813:5;6793:26;;;;;;;;;;;;;;;;;;;;;;;;;:54;;;;6823:19;:24;6843:3;6823:24;;;;;;;;;;;;;;;;;;;;;;;;;6793:54;6789:319;;;6870:1;6863:8;;;;6789:319;7014:4;7005:6;:13;;;;;;6997:22;;6692:423;;;;;;:::o;13285:1085::-;13372:16;13391:21;:27;13413:4;13391:27;;;;;;;;;;;:33;13419:4;13391:33;;;;;;;;;;;:42;13425:7;13391:42;;;;;;;;;;;;;;;;13372:61;;13504:1;13489:11;:16;13485:878;;;;;;13637:23;13663:37;13680:4;13686;13692:7;13663:16;:37::i;:::-;13637:63;;13812:1;13767:21;:27;13789:4;13767:27;;;;;;;;;;;:33;13795:4;13767:33;;;;;;;;;;;:42;13801:7;13767:42;;;;;;;;;;;;;;;:46;;;;13939:11;13899:24;:30;13924:4;13899:30;;;;;;;;;;;:36;13930:4;13899:36;;;;;;;;;;;;:51;;;;;;;;;;;14061:18;14018:27;:33;14046:4;14018:33;;;;;;;;;;;:39;14052:4;14018:39;;;;;;;;;;;;:61;;;;;;;;;;;14133:53;14151:4;14158:7;14167:18;14133:9;:53::i;:::-;14281:7;14258:63;;14269:10;14258:63;;;14290:4;14296;14302:18;14258:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13485:878;;13285:1085;;;;:::o

Swarm Source

ipfs://52f4476f906d989576e6d0c9b9a5d172e7ca945547353315e181b9aa535ceee1
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.